I have a simple ansible tower job which creates an AWS EC2 instance. From automate, this error is triggered from `job.normalized_live_status`. I can also trigger this from the rails console per below, with the single entry in evm.log [----] E, [2018-05-29T16:34:22.427519 #27095:eb710c] ERROR -- : MIQ(ManageIQ::Providers::AnsibleTower::AutomationManager::Job#refresh_ems) Refreshing job(AWS Create Instance, ems_ref=404), error: wrong constant name ::Dev::Xvda irb(main):024:0> x = ManageIQ::Providers::AnsibleTower::AutomationManager::Job.where(ems_ref: 404).first => #<ManageIQ::Providers::AnsibleTower::AutomationManager::Job id: 99000000000091, name: "AWS Create Instance", type: "ManageIQ::Providers::AnsibleTower::AutomationManag...", description: nil, status: "pending", ems_ref: "404", ancestry: nil, ems_id: 99000000000004, orchestration_template_id: 99000000000015, created_at: "2018-05-29 19:26:04", updated_at: "2018-05-29 19:26:04", retired: nil, retires_on: nil, retirement_warn: nil, retirement_last_warn: nil, retirement_state: nil, retirement_requester: nil, status_reason: nil, cloud_tenant_id: nil, resource_group: nil, start_time: nil, finish_time: nil, configuration_script_base_id: nil, verbosity: 0, hosts: nil> irb(main):025:0> x.refresh_ems MiqException::MiqOrchestrationUpdateError: wrong constant name ::Dev::Xvda from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:169:in `const_set' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:169:in `hash_to_model' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:61:in `convert_value' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `block in initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `each' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `collect' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:41:in `initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:171:in `new' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:171:in `hash_to_model' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:61:in `convert_value' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `block in initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `each' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `collect' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/hash_model.rb:85:in `initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:41:in `initialize' ... 17 levels... from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/base_model.rb:41:in `initialize' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/collection.rb:70:in `new' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/collection.rb:70:in `build_object' from /opt/rh/cfme-gemset/gems/ansible_tower_client-0.13.0/lib/ansible_tower_client/collection.rb:31:in `find' from /opt/rh/cfme-gemset/bundler/gems/cfme-providers-ansible_tower-890dc706bd81/app/models/manageiq/providers/ansible_tower/shared/automation_manager/job.rb:76:in `block in refresh_ems' from /var/www/miq/vmdb/app/models/provider.rb:49:in `with_provider_connection' from /opt/rh/cfme-gemset/bundler/gems/cfme-providers-ansible_tower-890dc706bd81/app/models/manageiq/providers/ansible_tower/shared/automation_manager.rb:5:in `with_provider_connection' from /opt/rh/cfme-gemset/bundler/gems/cfme-providers-ansible_tower-890dc706bd81/app/models/manageiq/providers/ansible_tower/shared/automation_manager/job.rb:75:in `refresh_ems' from (irb):25 from /opt/rh/cfme-gemset/gems/railties-5.0.6/lib/rails/commands/console.rb:65:in `start' from /opt/rh/cfme-gemset/gems/railties-5.0.6/lib/rails/commands/console_helper.rb:9:in `start' from /opt/rh/cfme-gemset/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:78:in `console' from /opt/rh/cfme-gemset/gems/railties-5.0.6/lib/rails/commands/commands_tasks.rb:49:in `run_command!' from /opt/rh/cfme-gemset/gems/railties-5.0.6/lib/rails/commands.rb:18:in `<top (required)>' from bin/rails:4:in `require' from bin/rails:4:in `<main>' In tower, the job has finished fine. I theorize the low level tower libraries are trying to do magic manipulation of the job results. Note: The job outputs "stats", which may be the weirdness. (I can't believe I'm the first one to create an ec2 instance with a /dev/xvda in it.
Some quick testing this morning demonstrates to me that this problem does not occur if I remove the "set_stats" task in the referenced playbook.
https://github.com/ansible/ansible_tower_client_ruby/pull/105
New commit detected on ansible/ansible_tower_client_ruby/master: https://github.com/ManageIQ/ansible_tower_client/commit/6993b251c28551e9af52ef38d406b4019a035245 commit 6993b251c28551e9af52ef38d406b4019a035245 Author: Bill Wei <bilwei> AuthorDate: Wed May 30 17:37:38 2018 -0400 Commit: Bill Wei <bilwei> CommitDate: Wed May 30 17:37:38 2018 -0400 Replace all characters that cannot be used as method or class name fixes https://bugzilla.redhat.com/show_bug.cgi?id=1583844 lib/ansible_tower_client/hash_model.rb | 3 +- spec/base_model_spec.rb | 4 +- 2 files changed, 5 insertions(+), 2 deletions(-)
New commit detected on ManageIQ/manageiq-providers-ansible_tower/master: https://github.com/ManageIQ/manageiq-providers-ansible_tower/commit/12b7b48257f9a4e04051ab6fed06d0d8ae94287d commit 12b7b48257f9a4e04051ab6fed06d0d8ae94287d Author: Bill Wei <bilwei> AuthorDate: Thu Jul 12 15:16:22 2018 -0400 Commit: Bill Wei <bilwei> CommitDate: Thu Jul 12 15:16:22 2018 -0400 ansible tower client gem dependency updated to 0.17 fixes https://bugzilla.redhat.com/show_bug.cgi?id=1583844 manageiq-providers-ansible_tower.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
1)Verified that Ansible Tower Client gem dependency has been updated to 0.19 on a 5.10.0.32 appliance. Snippet from /var/www/miq/vmdb/Gemfile.lock GIT remote: git.lab.eng.rdu2.redhat.com:cloudforms/cfme-providers-ansible_tower revision: 35fb111634e6bfb0b7d444b4a9cb220bb2746f33 branch: 5.10.z specs: manageiq-providers-ansible_tower (0.1.0) ansible_tower_client (~> 0.19) 2)Unable to reproduce issue on an appliance without the fix.Marking BZ as VERIFIED.