EC2 driver should have some form of conditionals
|Assignee:||Javi Fontan||% Done:|
|Category:||Drivers - Auth|
|Target version:||Release 1.4|
Currently, it's possible to put information for local deployment as well as EC2 deployment in the same VM definition, like you've written in the documentation here:
If using Eucalyptus to provide a local EC2-like cloud, it's possible to
change the EC2_URL in /etc/one/vmm_ec2/vmm_ec2rc and then use OpenNebula
to deploy instances there.
It's even possible to teach OpenNebula to know about both a local
Eucalyptus cloud as well as Amazon's EC2 at the same time. It requires creating a copy of the one_vmm_ec2 script, etc., but it's possible.
However, the VM definition language does not let me specify that "if vmm = EC2: AMI = 'ami-123456', else if vmm = Eucalyptus: AMI = 'emi-34567'".
It would be very nice if there was a way to put information for both EC2 and my local Eucalyptus in the same vm definition so that OpenNebula can take care of deploying things for me so that I don't have to worry about whether my local cloud is saturated, etc. etc., because I can leave all of that up to OpenNebula.
I'm not sure how to accomplish this, though.
#3 Updated by Ruben S. Montero over 11 years ago
- An attribute to store EC2 cloud that should be used with that specific EC2 description
- The driver should pick the EC2 description based on the target host.
So we could have a description file with:
... EC2 = [ CLOUD="amazon", AMI="ami-f34aaa2", AUTHORIZED_PORTS="22" ] EC2 = [ CLOUD="eucalyptus", AMI="ami-e123456", AUTHORIZED_PORTS="22" ]
eucalyptus should be added with
onehost create. In this way when the scheduler assigns a VM to, let say,
amazon the driver will known which EC2 description it should pick.