diff --git a/ansible/dnf.yml b/ansible/dnf.yml index 3a106c13f603fc2ec02aa601e30c5eb38676d97e..c31ed272c0806d0a2815869be40fe91fe4167b89 100644 --- a/ansible/dnf.yml +++ b/ansible/dnf.yml @@ -1,6 +1,8 @@ --- - name: Ensure DNF repos are configured hosts: seed-hypervisor:seed:overcloud + vars: + ansible_python_interpreter: /usr/libexec/platform-python tags: - dnf tasks: diff --git a/kayobe/cli/commands.py b/kayobe/cli/commands.py index b4a2a60095343c5005af88ef376df2e32126842c..011e8f2c000f08a6de60d29e9664878da49f5ba4 100644 --- a/kayobe/cli/commands.py +++ b/kayobe/cli/commands.py @@ -406,11 +406,11 @@ class SeedHypervisorHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, * Allocate IP addresses for all configured networks. * Add the host to SSH known hosts. * Configure a user account for use by kayobe for SSH access. + * Configure package repos. + * Configure a PyPI mirror. * Optionally, create a virtualenv for remote target hosts. * Optionally, wipe unmounted disk partitions (--wipe-disks). * Configure user accounts, group associations, and authorised SSH keys. - * Configure a PyPI mirror. - * Configure package repos. * Configure the host's network interfaces. * Set sysctl parameters. * Configure timezone. @@ -448,11 +448,11 @@ class SeedHypervisorHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, playbooks = _build_playbook_list( "ssh-known-host", "kayobe-ansible-user", - "pip", "kayobe-target-venv") + "dnf", "pip", "kayobe-target-venv") if parsed_args.wipe_disks: playbooks += _build_playbook_list("wipe-disks") playbooks += _build_playbook_list( - "users", "dnf", "dev-tools", "network", "sysctl", "timezone", + "users", "dev-tools", "network", "sysctl", "timezone", "mdadm", "luks", "lvm", "seed-hypervisor-libvirt-host") self.run_kayobe_playbooks(parsed_args, playbooks, limit="seed-hypervisor") @@ -560,11 +560,11 @@ class SeedHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin, * Allocate IP addresses for all configured networks. * Add the host to SSH known hosts. * Configure a user account for use by kayobe for SSH access. + * Configure package repos. + * Configure a PyPI mirror. * Optionally, create a virtualenv for remote target hosts. * Optionally, wipe unmounted disk partitions (--wipe-disks). * Configure user accounts, group associations, and authorised SSH keys. - * Configure a PyPI mirror. - * Configure package repos. * Disable SELinux. * Configure the host's network interfaces. * Set sysctl parameters. @@ -599,11 +599,11 @@ class SeedHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin, # Run kayobe playbooks. playbooks = _build_playbook_list( "ssh-known-host", "kayobe-ansible-user", - "pip", "kayobe-target-venv") + "dnf", "pip", "kayobe-target-venv") if parsed_args.wipe_disks: playbooks += _build_playbook_list("wipe-disks") playbooks += _build_playbook_list( - "users", "dnf", "dev-tools", "disable-selinux", "network", + "users", "dev-tools", "disable-selinux", "network", "sysctl", "ip-routing", "snat", "disable-glean", "timezone", "mdadm", "luks", "lvm", "docker-devicemapper", "kolla-ansible-user", "kolla-pip", "kolla-target-venv") @@ -931,11 +931,11 @@ class OvercloudHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin, * Allocate IP addresses for all configured networks. * Add the host to SSH known hosts. * Configure a user account for use by kayobe for SSH access. + * Configure package repos. + * Configure a PyPI mirror. * Optionally, create a virtualenv for remote target hosts. * Optionally, wipe unmounted disk partitions (--wipe-disks). * Configure user accounts, group associations, and authorised SSH keys. - * Configure a PyPI mirror. - * Configure package repos. * Disable SELinux. * Configure the host's network interfaces. * Set sysctl parameters. @@ -968,11 +968,11 @@ class OvercloudHostConfigure(KollaAnsibleMixin, KayobeAnsibleMixin, VaultMixin, # Kayobe playbooks. playbooks = _build_playbook_list( "ssh-known-host", "kayobe-ansible-user", - "pip", "kayobe-target-venv") + "dnf", "pip", "kayobe-target-venv") if parsed_args.wipe_disks: playbooks += _build_playbook_list("wipe-disks") playbooks += _build_playbook_list( - "users", "dnf", "dev-tools", "disable-selinux", "network", + "users", "dev-tools", "disable-selinux", "network", "sysctl", "disable-glean", "disable-cloud-init", "timezone", "mdadm", "luks", "lvm", "docker-devicemapper", "kolla-ansible-user", "kolla-pip", "kolla-target-venv") diff --git a/kayobe/tests/unit/cli/test_commands.py b/kayobe/tests/unit/cli/test_commands.py index 8293fcf6fac4491049a614fc29e6985136709546..aebb7edf3d1e8248043139709c72b730dad6481c 100644 --- a/kayobe/tests/unit/cli/test_commands.py +++ b/kayobe/tests/unit/cli/test_commands.py @@ -317,11 +317,11 @@ class TestCase(unittest.TestCase): utils.get_data_files_path("ansible", "ssh-known-host.yml"), utils.get_data_files_path( "ansible", "kayobe-ansible-user.yml"), + utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "pip.yml"), utils.get_data_files_path( "ansible", "kayobe-target-venv.yml"), utils.get_data_files_path("ansible", "users.yml"), - utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "dev-tools.yml"), utils.get_data_files_path("ansible", "network.yml"), utils.get_data_files_path("ansible", "sysctl.yml"), @@ -485,11 +485,11 @@ class TestCase(unittest.TestCase): utils.get_data_files_path("ansible", "ssh-known-host.yml"), utils.get_data_files_path( "ansible", "kayobe-ansible-user.yml"), + utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "pip.yml"), utils.get_data_files_path( "ansible", "kayobe-target-venv.yml"), utils.get_data_files_path("ansible", "users.yml"), - utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "dev-tools.yml"), utils.get_data_files_path( "ansible", "disable-selinux.yml"), @@ -1003,11 +1003,11 @@ class TestCase(unittest.TestCase): utils.get_data_files_path("ansible", "ssh-known-host.yml"), utils.get_data_files_path( "ansible", "kayobe-ansible-user.yml"), + utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "pip.yml"), utils.get_data_files_path( "ansible", "kayobe-target-venv.yml"), utils.get_data_files_path("ansible", "users.yml"), - utils.get_data_files_path("ansible", "dnf.yml"), utils.get_data_files_path("ansible", "dev-tools.yml"), utils.get_data_files_path( "ansible", "disable-selinux.yml"), diff --git a/releasenotes/notes/bugfix-dnf-proxy-cd934867c3d64388.yaml b/releasenotes/notes/bugfix-dnf-proxy-cd934867c3d64388.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e4e60d235d07dce31a4382f31d2e42810f758be4 --- /dev/null +++ b/releasenotes/notes/bugfix-dnf-proxy-cd934867c3d64388.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fix an issue when dnf proxy is set and python3-pip package fails during + host configure.