[openstack-dev] [Nova][Heat] scheduled-images blueprint

Angus Salkeld asalkeld at redhat.com
Wed May 1 06:43:34 UTC 2013


On 30/04/13 15:23 -0400, Russell Bryant wrote:
>Greetings,
>
>The following blueprint was proposed for the havana series:
>
>    https://blueprints.launchpad.net/nova/+spec/scheduled-images
>
>Based on the current design, I think the nova part of this needs to be
>deferred.  It does not seem appropriate to add an API extension that
>talks to a service that is not an integrated project, or at least incubated.
>
>Beyond that, I'm curious about the choice to implement this as a new
>service.  I definitely agree that this is not something that should be
>implemented inside of Nova.  However, I wonder if it makes sense as a
>feature in Heat.  It seems like an orchestration feature.

I'll point out some blueprints in a similar realm:

1) https://blueprints.launchpad.net/heat/+spec/stack-snapshot
    This is to snapshot the whole stack which is quite chalanging. But
    this together with a periodic/workflow service could give you the
    same functionality.
2) https://blueprints.launchpad.net/heat/+spec/instance-resize-update-stack
    implement UpdateStack support for the InstanceType property,
    such that an instance can be resized after it has been launched.
3) https://blueprints.launchpad.net/heat/+spec/rolling-updates
    Roll out changes in topology and/or configuration to a limited
    percentage of these instances and then wait to see if those initial
    rollouts produced failures or successes before deploying a larger
    percentage.

Not sure if _everyone_ wants (or should be forced) to use Heat?

It comes down to where we want the seperation of duties. Currently
when in doubt put-it-in-nova... Lucky you;)

One way to implement this in Heat would be to have a Resource type
provided by https://github.com/rackspace-titan/qonos/ (or similar)
that can do the scheduling/snapshotting:

"my_cool_server" {
   "Type": "AWS::EC2::Instance",
   ... bla bla ...
},
MyBackups {
   "Type": "OS::QONOS::TimedServerSnapshot",
   "Properties": {
     "Servers": [{"Ref": "my_cool_server"}],
     "PeriodInHours": 24
   }
}

In the TimedServerSnapshot resource plugin we could send a job to qonos to run the
snapshot. - Just an idea.

Patches welcome:)

-Angus

>
>Thoughts?
>
>-- 
>Russell Bryant
>
>_______________________________________________
>OpenStack-dev mailing list
>OpenStack-dev at lists.openstack.org
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list