diff --git a/kayobe/cli/commands.py b/kayobe/cli/commands.py index 62aff0fcc..6157a4638 100644 --- a/kayobe/cli/commands.py +++ b/kayobe/cli/commands.py @@ -127,7 +127,9 @@ class ControlHostUpgrade(KayobeAnsibleMixin, VaultMixin, Command): def take_action(self, parsed_args): self.app.LOG.debug("Upgrading Kayobe control host") - utils.galaxy_install("ansible/requirements.yml", "ansible/roles") + # Use force to upgrade roles. + utils.galaxy_install("ansible/requirements.yml", "ansible/roles", + force=True) playbooks = _build_playbook_list("bootstrap") self.run_kayobe_playbooks(parsed_args, playbooks) playbooks = _build_playbook_list("kolla-ansible") diff --git a/kayobe/utils.py b/kayobe/utils.py index 08d4c1d0b..6e41a0287 100644 --- a/kayobe/utils.py +++ b/kayobe/utils.py @@ -36,11 +36,13 @@ def yum_install(packages): sys.exit(e.returncode) -def galaxy_install(role_file, roles_path): +def galaxy_install(role_file, roles_path, force=False): """Install Ansible roles via Ansible Galaxy.""" cmd = ["ansible-galaxy", "install"] cmd += ["--roles-path", roles_path] cmd += ["--role-file", role_file] + if force: + cmd += ["--force"] try: run_command(cmd) except subprocess.CalledProcessError as e: