Hi,
  When working with jclouds I've stumbled on a problem during GCE VM
creation. If I specify machine hardware by constraints, the framework can
find an obsolete hardware profile and the creation will fail (an obsolete
hardware profile in GCE means that one can't create new instance of this
platform, but there may still be instances running). I've opened JIRA
550<https://issues.apache.org/jira/browse/JCLOUDS-550>for it. What's
the recommended way to fix this? I can think of three ways:
  (a) don't advertise obsolete (and deleted) machine types in
computeService.listHardwareProfiles()
at all.
  (b) add the notion of an obsolete (as well as deleted and deprecated?)
profile to the base Hardware object and use it in TemplateBuilderImpl to
filter out these profiles.
  (c) try to use some subclassing/injections for the TemplateBuilder to
work differently for GCE than for others and to know about the hardware
states.
  I personally don't like (c) while as for (a) and (b) I don't have the
experience about possible side-effects to choose one. What's you advise
which solution is the best?

Mikołaj Zalewski

PS: choosing one of the hardware profiles from
computeService.listHardwareProfiles()
and passing it to TemplateBuilder.fromHardware() doesn't necessarily lead
to this profile being chosen, as only some fields from the parameter are
used as constraints and the id is not one of them. Is this a bug or a
feature?

Reply via email to