Hi.
We encounter problems deploying EC2 instances using CLI. Foreman is working
fine, and allows us to deploy instanced without any problem. We are using
1.10.2, and unless it is a known bug (which I was unable to find) - I do
not expect we will currently upgrade.
When running the following CLI command:
hammer -d -v --show-ids -u "$USERNAME" -p "$PASS" host create --name
"testhost" --environment "Production" --hostgroup "admin"
–compute-resource "E2E_Amazon" --provision-method image --image
"bl-rhel-6.7-hvm.x86_64-ami22" --operatingsystem-id "2" --enabled true
–managed true --interface
"managed=true,primary=true,provision=true,subnet_id=5,domain_id=1"
–compute-attributes="flavor_id=m3.large,image_id=ami-b061acd0,availability_zones=us-west-2a,security_group_ids=["",
"sg-53a7d034"],managed_ip=private,subnet_id=subnet-f6f51280"
–compute-profile-id 2
We get the following result:
Could not create the host:
Invalid IP Address
The interesting parts:
While using web interface, we see in the logs the following JSON:
"host"=>{"name"=>"test-take2", "hostgroup_id"=>"1",
"compute_resource_id"=>"1", "compute_profile_id"=>"2",
"puppetclass_ids"=>[""], "managed"=>"true",
"progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed",
"interfaces_attributes"=>{"0"=>{"_destroy"=>"0", "type"=>"Nic::Managed",
"mac"=>"", "identifier"=>"", "name"=>"test-take2", "domain_id"=>"1",
"subnet_id"=>"5", "ip"=>"", "managed"=>"1", "primary"=>"1",
"provision"=>"1", "execution"=>"1", "virtual"=>"0", "tag"=>"",
"attached_to"=>""}}, "compute_attributes"=>{"flavor_id"=>"m3.large",
"availability_zone"=>"us-west-2a", "subnet_id"=>"subnet-f6f51280",
"security_group_ids"=>["", "sg-53a7d034"], "managed_ip"=>"private",
"image_id"=>"ami-b061acd0"}, "architecture_id"=>"1",
"operatingsystem_id"=>"2", "provision_method"=>"image", "build"=>"1",
"disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"4-Users",
"enabled"=>"1", "model_id"=>"", "comment"=>"", "overwrite"=>"false"},
"capabilities"=>"image", "provider"=>"EC2"}
The JSON while running the CLI command is:
Parameters: {"host"=>{"name"=>"testhost", "environment_id"=>1,
"operatingsystem_id"=>2, "compute_resource_id"=>1, "hostgroup_id"=>10,
"image_id"=>2, "build"=>true, "enabled"=>true, "provision_method"=>"image",
"managed"=>true, "compute_profile_id"=>2,
"compute_attributes"=>{"flavor_id"=>"m3.large", "image_id"=>"ami-b061acd0",
"availability_zones"=>"us-west-2a", "security_group_ids"=>["sg-53a7d034"],
"managed_ip"=>"private", "subnet_id"=>"subnet-f6f51280",
"volumes_attributes"=>{}}, "overwrite"=>true,
"host_parameters_attributes"=>{},
"interfaces_attributes"=>{"0"=>{"managed"=>"true", "primary"=>"true",
"provision"=>"true", "subnet_id"=>"5", "domain_id"=>"1"}}}, "apiv"=>"v2"}
I will happily provide more debug info, if requested. I have no idea why it
requires IP address, while we cannot have one. When attempted to specify
the IP 0.0.0.0, it failed for the reverse DNS smart proxy, and for a
justified reason.
Thanks!!!
Etzion