openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #11062
Nova idear, thoughts wanted.
-
To:
openstack <openstack@xxxxxxxxxxxxxxxxxxx>
-
From:
Joshua Harlow <harlowja@xxxxxxxxxxxxx>
-
Date:
Wed, 2 May 2012 20:35:17 -0700
-
Accept-language:
en-US
-
Acceptlanguage:
en-US
-
Thread-index:
Ac0o3cHsO5LqWvIwFEin5aSkUs3Itg==
-
Thread-topic:
Nova idear, thoughts wanted.
Hi all,
I was thinking today about how nova-compute could become more pluggable.
I was wondering if there had been any thought into how say each method, say in the compute-manager could almost become a set of stages in a pipeline.
For example the run instance method is really doing the following steps:
run_instance:
steps:
- check_instance_not_already_created
- check_image_size
- notify_about_instance_usage
- instance_update(BUILDING)
- allocate_network
- prep_block_device
- spawn:
- instance_update(BUILD)
- driver_spawn
- instance_update(ACTIVE)
on_failure:
- deallocate_network
This reminds me slightly of what devstackpy (to be renamed soon) does but instead of via code, actions are partially defined via config/persona/.... Now say if the above steps are plugins (similar to say a paste pipeline) then it becomes easy for company Y to add special sauce Z before or after stage W. I was just wondering what people thought about this. It sort of makes nova more of a orchestrator that loads plugins that perform various pipelines, where in nova's case those pipelines are VM related.
Comments welcome. This might already have been thought of, but if so, that's ok also :-)
-Josh
Follow ups