-
Type: Story
-
Status: Resolved (View Workflow)
-
Priority: Blocker
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: MaaS
-
Labels:None
-
Story Points:2
-
Sprint:QP Sprint #2
-
Epic Link:
Users trying to set up a physical pod using all supported versions of CORD are reporting errors like this from the install:
TASK [compute-node : Discovery Fabric Interfaces] *********************************************************************************************************************************** Thursday 29 March 2018 09:30:14 -0600 (0:00:00.095) 0:00:53.384 ******** fatal: [head1]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'bus_types'\n\nThe error appears to have be en in '/users/acb/cord/build/maas/roles/compute-node/tasks/networking.yml': line 58, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offend ing line appears to be:\n\n\n- name: Discovery Fabric Interfaces\n ^ here\n"} to retry, use: --limit @/users/acb/cord/build/maas/head-node.retry
The issue is that the Ansible PPA has upgraded the default Ansible version to 2.5.0. This new Ansible changes the semantics of this task (in build/maas/roles/compute-node/tasks/main.yml):
- name: Merge Compute Node Properties set_fact: compute_node: "{{compute_node|combine(compute_node_update,recursive=True)}}" when: "not already_encrypted"
Previously the combine filter preserved variables whose values were set using `default(omit)`. Now it prunes them, resulting in the 'dict object' has no attribute error.