Bug #2328
closedForeman should wait for Ovirt/RHEV VM to be fully created
Description
Not sure if this is a foreman or fog issue. RHEV VM creation takes a few seconds for the virtual disk to be created. Attempt to power on the host immediately, either by checking "Power ON this machine" or manually clicking on Power On button will result in an error.
----
Started POST "/hosts" for 10.3.235.125 at Fri Mar 15 13:45:53 -0400 2013
Processing by HostsController#create as
Parameters: {"authenticity_token"=>"f+sbUv96r00Uymzi1n/P7RifiK+pQXt7vCD0prGBVLQ=", "capabilities"=>"build", "utf8"=>"✓", "host"=>{"hostgroup_id"=>"1", "managed"=>"true", "domain_id"=>"1", "build"=>"1", "enabled"=>"1", "comment"=>"", "overwrite"=>"false", "updated_at"=>"1363369507", "mac"=>"", "name"=>"vnguyen-test101", "disk"=>"", "root_pass"=>"[FILTERED]", "compute_resource_id"=>"2", "medium_id"=>"6", "puppetclass_ids"=>[""], "progress_report_id"=>"[FILTERED]", "ip"=>"10.16.23.143", "interfaces_attributes"=>{"new_interfaces"=>{"domain_id"=>"1", "_destroy"=>"false", "mac"=>"", "name"=>"", "provider"=>"IPMI", "ip"=>"", "type"=>"Nic::Managed"}}, "model_id"=>"", "environment_id"=>"1", "operatingsystem_id"=>"1", "architecture_id"=>"2", "is_owned_by"=>"", "puppet_proxy_id"=>"1", "compute_attributes"=>{"cores"=>"1", "start"=>"1", "template"=>"00000000-0000-0000-0000-000000000000", "memory"=>"805306368", "interfaces_attributes"=>{"new_1363369539236"=>{"name"=>"eth0", "network"=>"00000000-0000-0000-0000-000000000009", "_delete"=>""}, "new_interfaces"=>{"name"=>"", "network"=>"00000000-0000-0000-0000-000000000009", "_delete"=>""}}, "cluster"=>"fcb97476-3365-11e2-94d7-5254009cc188", "volumes_attributes"=>{"new_volumes"=>{"storage_domain"=>"7d2f995a-4d6a-4897-b6e8-14cf6a82dee3", "id"=>"", "size_gb"=>"", "_delete"=>""}, "new_1363369542157"=>{"storage_domain"=>"7d2f995a-4d6a-4897-b6e8-14cf6a82dee3", "id"=>"", "size_gb"=>"6", "_delete"=>""}}}, "subnet_id"=>"3", "provision_method"=>"build", "ptable_id"=>"1"}}
Adding Compute instance for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com
Create DHCP reservation for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com-00:1a:4a:10:17:79/10.16.23.143
Add DNS A record for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com/10.16.23.143
Add DNS PTR record for 10.16.23.143/vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com
Add the TFTP configuration for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com
Fetching required TFTP boot files for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com
Powering up Compute instance for vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com
Failed to power up a compute rhevm (oVirt) instance vnguyen-test101.bc.jonqe.lab.eng.bos.redhat.com: Cannot run VM: The disks vnguyen-test101-bc-jonqe-lab-eng-bos-redhat-com_Disk1 are locked. Please try again in a few minutes./usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.15/lib/rbovirt.rb:137:in `handle_fault'
/usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.15/lib/rbovirt.rb:83:in `http_post'
/usr/lib/ruby/gems/1.8/gems/rbovirt-0.0.15/lib/client/vm_api.rb:74:in `vm_action'
/usr/lib/ruby/gems/1.8/gems/fog-1.9.0/lib/fog/ovirt/requests/compute/vm_action.rb:10:in `vm_action'
/usr/lib/ruby/gems/1.8/gems/fog-1.9.0/lib/fog/ovirt/models/compute/server.rb:88:in `start'
/usr/share/foreman/lib/foreman/model/ovirt.rb:94:in `start_vm'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/associations/association_proxy.rb:227:in `send'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/associations/association_proxy.rb:227:in `method_missing'
/usr/share/foreman/app/models/orchestration/compute.rb:110:in `setComputePowerUp'
/usr/share/foreman/app/models/orchestration.rb:151:in `send'
/usr/share/foreman/app/models/orchestration.rb:151:in `execute'
/usr/share/foreman/app/models/orchestration.rb:91:in `process'
/usr/share/foreman/app/models/orchestration.rb:83:in `each'
/usr/share/foreman/app/models/orchestration.rb:83:in `process'
/usr/share/foreman/app/models/orchestration.rb:21:in `on_save'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.20/lib/active_support/callbacks.rb:520:in `_run_save_callbacks'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/callbacks.rb:273:in `create_or_update'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/persistence.rb:40:in `save'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/validations.rb:43:in `save'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/attribute_methods/dirty.rb:21:in `save'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:240:in `save'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:292:in `with_transaction_returning_status'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/connection_adapters/abstract/database_statements.rb:139:in `transaction'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:207:in `transaction'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:290:in `with_transaction_returning_status'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:240:in `save'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:251:in `rollback_active_record_state!'
/usr/lib/ruby/gems/1.8/gems/activerecord-3.0.20/lib/active_record/transactions.rb:239:in `save'
/usr/share/foreman/app/controllers/hosts_controller.rb:89:in `create'