diff --git a/ansible/inventory/group_vars/all/container-engine b/ansible/inventory/group_vars/all/container-engine index d74e6b4d3..29f7b3106 100644 --- a/ansible/inventory/group_vars/all/container-engine +++ b/ansible/inventory/group_vars/all/container-engine @@ -15,22 +15,6 @@ container_engine_volumes_path: "{{ podman_volumes_path if container_engine == 'p # Name of the docker storage driver. Default is 'overlay2'. docker_storage_driver: overlay2 -# Name of the docker storage LVM volume group. -docker_storage_volume_group: data - -# Name of the docker storage data LVM volume. -docker_storage_volume_thinpool: docker-thinpool - -# Size of the docker storage data LVM volume (see lvol module size argument). -docker_storage_volume_thinpool_size: 20%VG - -# Name of the docker storage metadata LVM volume. -docker_storage_volume_thinpool_meta: docker-thinpoolmeta - -# Size of the docker storage metadata LVM volume (see lvol module size -# argument). -docker_storage_volume_thinpool_meta_size: 1%VG - # URL of docker registry docker_registry: diff --git a/ansible/inventory/group_vars/all/kolla b/ansible/inventory/group_vars/all/kolla index 329929105..6a104abf1 100644 --- a/ansible/inventory/group_vars/all/kolla +++ b/ansible/inventory/group_vars/all/kolla @@ -174,6 +174,8 @@ overcloud_container_image_regex_map: enabled: "{{ kolla_enable_heat | bool }}" - regex: ^horizon enabled: "{{ kolla_enable_horizon | bool }}" + - regex: ^httpd + enabled: "{{ kolla_enable_ironic | bool or kolla_enable_keystone | bool or kolla_enable_letsencrypt | bool }}" - regex: ^ironic enabled: "{{ kolla_enable_ironic | bool }}" - regex: ironic-neutron-agent diff --git a/ansible/roles/manage-containers/tasks/reconfigure.yml b/ansible/roles/manage-containers/tasks/reconfigure.yml new file mode 100644 index 000000000..f670a5b78 --- /dev/null +++ b/ansible/roles/manage-containers/tasks/reconfigure.yml @@ -0,0 +1,2 @@ +--- +- include_tasks: deploy.yml diff --git a/dev/overcloud-test-baremetal.sh b/dev/overcloud-test-baremetal.sh index 3c99055e4..602b2bf41 100755 --- a/dev/overcloud-test-baremetal.sh +++ b/dev/overcloud-test-baremetal.sh @@ -11,6 +11,8 @@ source "${PARENT}/functions" function main { config_init overcloud_test bm1 test-rc provision-net + # Test Redfish as well + overcloud_test bm2 test-rc-red provision-net } main diff --git a/dev/overcloud-test-inspect.sh b/dev/overcloud-test-inspect.sh index ea6aec667..b603b1911 100755 --- a/dev/overcloud-test-inspect.sh +++ b/dev/overcloud-test-inspect.sh @@ -10,6 +10,9 @@ source "${PARENT}/functions" function main { config_init + # Test Redfish as well + overcloud_test_inspect red0 + overcloud_test_inspect tk0 } diff --git a/dev/tenks-deploy-config-compute-libvirt-on-host.yml b/dev/tenks-deploy-config-compute-libvirt-on-host.yml index 53f53d325..158ac9288 100644 --- a/dev/tenks-deploy-config-compute-libvirt-on-host.yml +++ b/dev/tenks-deploy-config-compute-libvirt-on-host.yml @@ -9,7 +9,8 @@ node_types: volumes: # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 - - capacity: 4GiB + # The cloud image seems to fill a 4GiB disk, so allow 6. + - capacity: 6GiB physical_networks: - physnet1 console_log_enabled: true @@ -19,6 +20,24 @@ node_types: # Stream IPA doesn't fail with "Fatal glibc error: CPU does not support # x86-64-v2". cpu_mode: maximum + type1: + memory_mb: 3072 + vcpus: 1 + volumes: + # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: + # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 + # The cloud image seems to fill a 4GiB disk, so allow 6. + - capacity: 6GiB + physical_networks: + - physnet1 + console_log_enabled: true + # We seem to hit issues with missing cpu features in CI as a result of using host-model, e.g: + # https://zuul.opendev.org/t/openstack/build/02c33ab51664419a88a5a54ad22852a9/log/primary/system_logs/libvirt/qemu/tk0.txt.gz#38 + # NOTE(bbezak): Force QEMU to expose x86-64‑v2 features, so the CentOS + # Stream IPA doesn't fail with "Fatal glibc error: CPU does not support + # x86-64-v2". + cpu_mode: maximum + ironic_driver: redfish specs: - type: type0 @@ -26,10 +45,18 @@ specs: ironic_config: resource_class: test-rc network_interface: flat + - type: type1 + count: 1 + node_name_prefix: red + ironic_config: + resource_class: test-rc-red + network_interface: flat nova_flavors: - resource_class: test-rc node_type: type0 + - resource_class: test-rc-red + node_type: type1 physnet_mappings: physnet1: breth1 diff --git a/dev/tenks-deploy-config-compute.yml b/dev/tenks-deploy-config-compute.yml index feb46439a..bd53f78c9 100644 --- a/dev/tenks-deploy-config-compute.yml +++ b/dev/tenks-deploy-config-compute.yml @@ -9,7 +9,8 @@ node_types: volumes: # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 - - capacity: 4GiB + # The cloud image seems to fill a 4GiB disk, so allow 6. + - capacity: 6GiB physical_networks: - physnet1 console_log_enabled: true @@ -19,6 +20,24 @@ node_types: # Stream IPA doesn't fail with "Fatal glibc error: CPU does not support # x86-64-v2". cpu_mode: maximum + type1: + memory_mb: 3072 + vcpus: 1 + volumes: + # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: + # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 + # The cloud image seems to fill a 4GiB disk, so allow 6. + - capacity: 6GiB + physical_networks: + - physnet1 + console_log_enabled: true + # We seem to hit issues with missing cpu features in CI as a result of using host-model, e.g: + # https://zuul.opendev.org/t/openstack/build/02c33ab51664419a88a5a54ad22852a9/log/primary/system_logs/libvirt/qemu/tk0.txt.gz#38 + # NOTE(bbezak): Force QEMU to expose x86-64‑v2 features, so the CentOS + # Stream IPA doesn't fail with "Fatal glibc error: CPU does not support + # x86-64-v2". + cpu_mode: maximum + ironic_driver: redfish specs: - type: type0 @@ -26,10 +45,18 @@ specs: ironic_config: resource_class: test-rc network_interface: flat + - type: type1 + count: 1 + node_name_prefix: red + ironic_config: + resource_class: test-rc-red + network_interface: flat nova_flavors: - resource_class: test-rc node_type: type0 + - resource_class: test-rc-red + node_type: type1 physnet_mappings: physnet1: breth1 diff --git a/doc/source/contributor/automated.rst b/doc/source/contributor/automated.rst index 316588b4a..42eeb8f23 100644 --- a/doc/source/contributor/automated.rst +++ b/doc/source/contributor/automated.rst @@ -144,6 +144,13 @@ plane:: Upon successful completion of this script, the control plane will be active. +.. note:: + + When running Kayobe commands, such as ``kayobe overcloud service deploy``, it + is important to use the ``--use-test-images`` flag to enable the use of Kolla + test images. This is due to the fact that the Kolla images used are from the + quay.io/openstack.kolla namespace, which are meant for testing purposes only. + Testing ------- diff --git a/etc/kayobe/container-engine.yml b/etc/kayobe/container-engine.yml index 8bb696819..48ea969b3 100644 --- a/etc/kayobe/container-engine.yml +++ b/etc/kayobe/container-engine.yml @@ -15,22 +15,6 @@ # Name of the docker storage driver. Default is 'overlay2'. #docker_storage_driver: -# Name of the docker storage LVM volume group. -#docker_storage_volume_group: - -# Name of the docker storage data LVM volume. -#docker_storage_volume_thinpool: - -# Size of the docker storage data LVM volume (see lvol module size argument). -#docker_storage_volume_thinpool_size: - -# Name of the docker storage metadata LVM volume. -#docker_storage_volume_thinpool_meta: - -# Size of the docker storage metadata LVM volume (see lvol module size -# argument). -#docker_storage_volume_thinpool_meta_size: - # URL of docker registry #docker_registry: diff --git a/playbooks/kayobe-overcloud-base/baremetal.j2 b/playbooks/kayobe-overcloud-base/baremetal.j2 index 47920424d..131639eb3 100644 --- a/playbooks/kayobe-overcloud-base/baremetal.j2 +++ b/playbooks/kayobe-overcloud-base/baremetal.j2 @@ -2,3 +2,4 @@ hv100 tk0 tk1 +red0 diff --git a/playbooks/kayobe-overcloud-upgrade-base/run.yml b/playbooks/kayobe-overcloud-upgrade-base/run.yml index 820536979..123d5686b 100644 --- a/playbooks/kayobe-overcloud-upgrade-base/run.yml +++ b/playbooks/kayobe-overcloud-upgrade-base/run.yml @@ -90,6 +90,12 @@ cmd: "{{ kayobe_src_dir }}/dev/overcloud-upgrade.sh &> {{ logs_dir }}/ansible/overcloud-upgrade" executable: /bin/bash + # Upgrading restarts libvirt, which breaks sushy-emulator. + - name: Restart sushy-emulator + shell: + cmd: "systemctl restart sushy_emulator.service" + become: true + # Remove unused Docker images to avoid reaching full disk - name: Remove unused Docker images shell: diff --git a/releasenotes/notes/add-missing-reconfigure.yml-59284aa138189c9a.yaml b/releasenotes/notes/add-missing-reconfigure.yml-59284aa138189c9a.yaml new file mode 100644 index 000000000..1d9eb29f4 --- /dev/null +++ b/releasenotes/notes/add-missing-reconfigure.yml-59284aa138189c9a.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fixes an error in the manage-containers role that occurred when running + ``kayobe overcloud service reconfigure``. + `LP#2160941 `__ diff --git a/releasenotes/notes/make-httpd-buildable-8e459a51224966c0.yaml b/releasenotes/notes/make-httpd-buildable-8e459a51224966c0.yaml new file mode 100644 index 000000000..5c199426f --- /dev/null +++ b/releasenotes/notes/make-httpd-buildable-8e459a51224966c0.yaml @@ -0,0 +1,16 @@ +--- +fixes: + - | + Fixes a bug where the httpd image does not get built with ``kayobe + overcloud container image build``. + `LP#2161615 `__ + + This image was introduced in Kolla from `change 954707 + `__. + + The httpd image will be built by default when any of following variables + are set to true: + + * kolla_enable_ironic + * kolla_enable_keystone + * kolla_enable_letsencrypt diff --git a/roles/kayobe-ci-prep/tasks/main.yml b/roles/kayobe-ci-prep/tasks/main.yml index 942a1988a..faea392e8 100644 --- a/roles/kayobe-ci-prep/tasks/main.yml +++ b/roles/kayobe-ci-prep/tasks/main.yml @@ -62,5 +62,10 @@ - openssl-devel when: not kayobe_control_host_become | bool + - name: Install kernel-modules-extra for running kernel + ansible.builtin.dnf: + name: "kernel-modules-extra" + state: present + when: ansible_facts.os_family == 'RedHat' become: true