[SOLVED] Oneflow does not work to deploy in EC2

Hi

I have a complete defined JSON service http://pastebin.com/G2ZjrNYQ to deploy 3 machines, the images has been tested and the templates ( http://pastebin.com/zabH5eL0 ) has been deployed one by one and all works perfectly:

  onetemplate create xxxx
  onetemplate instantiate xxxx

  426 oneadmin oneadmin ec2-Worker        runn  0.0      0K eu-west-1    0d 15h38
  425 oneadmin oneadmin ec2-NameNode      runn  0.0      0K eu-west-1    0d 15h36
  424 oneadmin oneadmin ec2-Resource      runn  0.0      0K eu-west-1    0d 15h34

But at the moment to deploy the service with Oneflow it starts fine deploying the two first machines but the last one always fail. There is not a problem of the machine templates because these as I mentioned were tested, I tried to figure out what can be the problem but I still do not get the solution, it is very weird problem…

I did recover to the oneflow service but nothing

   852 oneadmin oneadmin Worker_0_(servi runn 0.07      0K eu-west-1    0d 15h38
   853 oneadmin oneadmin NameNode_0_(ser runn  0.0      0K eu-west-1    0d 15h38
   856 oneadmin oneadmin Resource_1_(ser fail    0      0K eu-west-1    0d 00h06

Any help?

Could you check oned.log and the vm log (/var/log/one/856.log)?

This is the log http://pastebin.com/zyiqVw3M but it is not true about the image, it is not the problem, it is the same image used in the other machines and works perfectly.

En oned.log appears the same error…

An AMI is tied to a region, so probably the OpenNebula scheduler is trying to deploy the instance in a different region, to avoid this you can set a SCHED_REQUIREMENT. You can specify this using the VM template wizard and selecting the host/hosts where you want this VM to be deployed.

Do u mean this

EC2=[
AMI=“ami-42ab8428”,
BLOCKDEVICEMAPPING="/dev/sdh=:20",
INSTANCETYPE=“m1.small”,
KEYPAIR=“virginia-hadoop”,
HOST=“us-east-1”]

in the EC2 section of the template or:

SCHED_REQUIREMENTS=“PUBLIC_CLOUD=YES” … anything here as HOST?

We have a problem with the wizard so we are doing this templates manually.

Yes, you can use both ways:

a) If you specify the HOST attribute inside the EC2 section, you can define different AMIs for different Host/Regions. Therefore, the scheduler will be able to choose between different Hosts and use the VM will be deployed using the specific section for that Host.

The HOST attribute must match the OpenNebula Host name.

http://docs.opennebula.org/4.14/advanced_administration/cloud_bursting/ec2g.html#multi-ec2-site-region-account-support

b) You can add the Host Id in the SCHED_REQUIREMENTS expressions, this way you are forcing the scheduler to deploy the VM in a specific Host:

SCHED_REQUIREMENTS="PUBLIC_CLOUD=YES & ID=19"

Ok, that was the problem , we had a mismatch between the HOST attribute and the OpenNebula HOST Name, thanks for the clearly explanation, all is working now.

Finally I left the second approach, using the

SCHED_REQUIREMENTS="PUBLIC_CLOUD=YES & ID=19"

Cheers