I am trying to use Heat as an provisioning tool on multiple Cloud providers, lets say HpCloud and Rackspace. I got local keystone, heat-api and heat-engine servers. My scenario is: if i submit a template with 2 compute instances, i want them to be distributed on each providers.
It's a little difficult, because heat-engine reuses my local keystone to retrieve the endpoint and credentials, which are different for each external providers. My guess was to use the Environment to store every external credentials in the parameters, and precise in the resource_registry a binding for every instances: parameters: HpCloudUserName: foo HpCloudPassword: foo HpCloudAuthUrl: http://foo.org RackspaceUserName: bar RackspacePassword: bar RackspaceAuthUrl: http://bar.org resource_registry: resources: my_instance_1: "AWS::EC2::Instance" : "HpCloud::Nova::Compute" my_instance_2: "AWS::EC2::Instance" : "Rackspace::Compute::Server" Then, i code some new python plugins, that will handle this 2 new type, take the corresponding credentials in the environment, and call the novaclient with the correct arguments. But my problem is that this solution seems overkill, as i will have to add a new python class for every type i want to use, multiply by the number of externals providers. Even if i can factorize the code, in the end i just want to customize the credentials and auth endpoint. Do you known if there is a better way to achieve this goal, or simply if Heat shouldn't be use for this ?. Thanks in advance! Geoffroy
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp