Description of problem: Similarly to bz1495318, it is possible for a ':' to be present in an key returned from Azure. This causes refreshes to fail consistently. Errors are similar to: NameError: wrong constant name AzureAutomationRunbookUtilities:120:name from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:244:in `const_defined?' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:244:in `nested_object' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:235:in `block in __setobj__' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:225:in `each' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:225:in `__setobj__' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:119:in `initialize' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:248:in `new' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:248:in `nested_object' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:235:in `block in __setobj__' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:225:in `each' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:225:in `__setobj__' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:119:in `initialize' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:248:in `new' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:248:in `nested_object' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:235:in `block in __setobj__' from /opt/rh/cfme-gemset/gems/azure-armrest-0.9.1/lib/azure/armrest/model/base_model.rb:225:in `each' Or any other 'wrong constant name' that possesses a colon. This is easily fixed (Daniel already did this for '$'). To resolve this, we just turn ':' to '_' so it is callable. Version-Release number of selected component (if applicable): 5.8.3.2 How reproducible: Every Time Steps to Reproduce: 1. Have an Azure template configuration that has a colon in a key name 2. Exception will occur as colon cannot be converted to key symbol Actual results: Exception should not occur when keys contain colons. Expected results: Keys with ':' should be converted to '_'.
PR submitted at https://github.com/ManageIQ/azure-armrest/pull/358
PR was subitted by Robb and merged. Thanks Robb! I'll need to push out a new release of azure-armrest, then update the gemspec as a PR.
Link to PR in question: https://github.com/ManageIQ/azure-armrest/pull/358
https://github.com/ManageIQ/manageiq-providers-azure/pull/211