diff --git a/kayobe/cli/commands.py b/kayobe/cli/commands.py index 9278f28da..b5d59a07b 100644 --- a/kayobe/cli/commands.py +++ b/kayobe/cli/commands.py @@ -578,8 +578,6 @@ class OvercloudInventoryDiscover(KayobeAnsibleMixin, VaultMixin, Command): * Query the ironic inventory on the seed, and use this to populate kayobe's ansible inventory. * Allocate IP addresses for all configured networks. - * Configure the bifrost service with host variables for provisioning the - overcloud hosts. * Update the kolla-ansible configuration for the new overcloud hosts. """ @@ -593,9 +591,7 @@ class OvercloudInventoryDiscover(KayobeAnsibleMixin, VaultMixin, Command): # If necessary, allocate IP addresses for the discovered hosts. self.run_kayobe_playbook(parsed_args, "ansible/ip-allocation.yml") - # Now populate the Kolla Ansible and Bifrost inventories. - self.run_kayobe_playbook(parsed_args, - "ansible/kolla-bifrost-hostvars.yml") + # Now populate the Kolla Ansible inventory. self.run_kayobe_playbook(parsed_args, "ansible/kolla-ansible.yml", tags="config") @@ -652,7 +648,8 @@ class OvercloudHardwareInspect(KayobeAnsibleMixin, VaultMixin, Command): def take_action(self, parsed_args): self.app.LOG.debug("Inspecting overcloud") - playbooks = _build_playbook_list("overcloud-hardware-inspect") + playbooks = _build_playbook_list("kolla-bifrost-hostvars", + "overcloud-hardware-inspect") self.run_kayobe_playbooks(parsed_args, playbooks) @@ -666,7 +663,8 @@ class OvercloudProvision(KayobeAnsibleMixin, VaultMixin, Command): def take_action(self, parsed_args): self.app.LOG.debug("Provisioning overcloud") - playbooks = _build_playbook_list("overcloud-provision") + playbooks = _build_playbook_list("kolla-bifrost-hostvars", + "overcloud-provision") self.run_kayobe_playbooks(parsed_args, playbooks) diff --git a/kayobe/tests/unit/cli/test_commands.py b/kayobe/tests/unit/cli/test_commands.py index 28cd7cbcc..1d0b3238a 100644 --- a/kayobe/tests/unit/cli/test_commands.py +++ b/kayobe/tests/unit/cli/test_commands.py @@ -650,7 +650,7 @@ class TestCase(unittest.TestCase): "run_kayobe_playbooks") @mock.patch.object(commands.KollaAnsibleMixin, "run_kolla_ansible_seed") - def test_service_deploy(self, mock_kolla_run, mock_run): + def test_seed_service_deploy(self, mock_kolla_run, mock_run): command = commands.SeedServiceDeploy(TestApp(), []) parser = command.get_parser("test") parsed_args = parser.parse_args([]) @@ -688,6 +688,95 @@ class TestCase(unittest.TestCase): ] self.assertEqual(expected_calls, mock_kolla_run.call_args_list) + @mock.patch.object(commands.KayobeAnsibleMixin, + "run_kayobe_playbook") + def test_overcloud_inventory_discover(self, mock_run): + command = commands.OvercloudInventoryDiscover(TestApp(), []) + parser = command.get_parser("test") + parsed_args = parser.parse_args([]) + + result = command.run(parsed_args) + self.assertEqual(0, result) + + expected_calls = [ + mock.call( + mock.ANY, + 'ansible/overcloud-inventory-discover.yml', + ), + mock.call( + mock.ANY, + 'ansible/ip-allocation.yml', + ), + mock.call( + mock.ANY, + 'ansible/kolla-ansible.yml', + tags="config", + ), + ] + self.assertEqual(expected_calls, mock_run.call_args_list) + + @mock.patch.object(commands.KayobeAnsibleMixin, + "run_kayobe_playbooks") + def test_overcloud_hardware_inspect(self, mock_run): + command = commands.OvercloudHardwareInspect(TestApp(), []) + parser = command.get_parser("test") + parsed_args = parser.parse_args([]) + + result = command.run(parsed_args) + self.assertEqual(0, result) + + expected_calls = [ + mock.call( + mock.ANY, + [ + 'ansible/kolla-bifrost-hostvars.yml', + 'ansible/overcloud-hardware-inspect.yml', + ], + ), + ] + self.assertEqual(expected_calls, mock_run.call_args_list) + + @mock.patch.object(commands.KayobeAnsibleMixin, + "run_kayobe_playbooks") + def test_overcloud_provision(self, mock_run): + command = commands.OvercloudProvision(TestApp(), []) + parser = command.get_parser("test") + parsed_args = parser.parse_args([]) + + result = command.run(parsed_args) + self.assertEqual(0, result) + + expected_calls = [ + mock.call( + mock.ANY, + [ + 'ansible/kolla-bifrost-hostvars.yml', + 'ansible/overcloud-provision.yml', + ], + ), + ] + self.assertEqual(expected_calls, mock_run.call_args_list) + + @mock.patch.object(commands.KayobeAnsibleMixin, + "run_kayobe_playbooks") + def test_overcloud_deprovision(self, mock_run): + command = commands.OvercloudDeprovision(TestApp(), []) + parser = command.get_parser("test") + parsed_args = parser.parse_args([]) + + result = command.run(parsed_args) + self.assertEqual(0, result) + + expected_calls = [ + mock.call( + mock.ANY, + [ + 'ansible/overcloud-deprovision.yml', + ], + ), + ] + self.assertEqual(expected_calls, mock_run.call_args_list) + @mock.patch.object(commands.KayobeAnsibleMixin, "run_kayobe_config_dump") @mock.patch.object(commands.KayobeAnsibleMixin,