aeolusproject / conductor

Aeolus Conductor
http://www.aeolusproject.org/
Apache License 2.0
32 stars 27 forks source link

Implement new SimpleForms across Conductor #189

Open aathomas opened 11 years ago

ifarkas commented 11 years ago

Current status implemented everywhere except:

sseago commented 11 years ago

On 01/10/2013 06:17 AM, Jaromír Coufal wrote:

General question:

  • Do we want to allow to create HWP without filling at least one of the following fields: Memory, CPU, Storage, Architecture?

This should be allowed. For HWPs, an empty value has a meaning -- an empty value matches anything, so it acts as a wildcard. Essentially, leaving a value nil means "I don't care" We make use of this particularly with storage, since some providers don't expose storage in the HWPs, the only way to match those providers is to "not care" about storage, meaning it's left blank. A totally empty HWP will match any provider HWP -- essentially saying that the user has no specific sizing requirements for an instance. Although an edge case (possibly useful for testing, etc.), it's not a case we want to prevent.

Scott

Some observations:

  • Wrong input types for: Memory, CPU, Storage (expected is number type)
  • Missing validations for: o Name (length) o Memory (size) o CPU (count) o Storage (size)
  • I would expect some hints for fields (lentgh of the name, not negative memory, etc.)
  • For CPU, add Note: Number of required CPUs. o (considering if help to the label wouldn't be helpful?)

That's all from UI (visual and functional) point of view. Needs to have a code check by someone else too. Test passed :)

— Reply to this email directly or view it on GitHub https://github.com/aeolusproject/conductor/issues/189#issuecomment-12090415.

jcoufal commented 11 years ago

I understand Scott. If I don't care about any property, I leave it empty. What I am concerned about is the logic of creating an empty hardware profile. From my point of view it should be more logical, if user doesn't care about HW, that he would skip HW selection during launching AppForm Blueprint instead of creating an empty profile and choosing it.

I don't say, that it's big deal if we allow user to create an empty HW profile. It's just more general question if this makes sense.

sseago commented 11 years ago

On 01/10/2013 12:19 PM, Jaromír Coufal wrote:

I understand Scott. If I don't care about any property, I leave it empty. What I am concerned about is the logic of creating an empty hardware profile. From my point of view it should be more logical, if user doesn't care about HW, that he would skip HW selection during launching AppForm Blueprint instead of creating an empty profile and choosing it.

I don't say, that it's big deal if we allow user to create an empty HW profile. It's just more general question if this makes sense.

— Reply to this email directly or view it on GitHub https://github.com/aeolusproject/conductor/issues/189#issuecomment-12107866.

So the issue here is that it's the administrator that decides what HWPs are available to users. Hence, an administrator would be allowed to set an "anything/everything matches" HWP. That's why HWP selection is required for launch. I don't have a strong opinion here, but it seems a little odd to me that any combination of nil and filled-in options are allowed except for "leave it all nil" -- especially since, as long as all provider HWPs specify RAM and CPU, an "all blank" HWP would be practically equivalent to a HWP with 1 CPU and everything else blank.

But again, if everyone else feels strongly that we should dis-allow all-blank HWPs that's OK with me -- especially given the almost-equivalent workarounds.

Scott

ifarkas commented 11 years ago

Also worth noting that HWPs are not only used to launch a deployment but you can't even create a Deployable without specifying the associated HWP. The XML would be invalid if you would try that.

I don't have a strong opinion if that's a good thing or not, but I think that defining HWP of an instance is one of the most fundamental thing in cloud infrastructure. So requiring the user to explicitly say "I don't care" is the way it should remain.