Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions ansible/inventory/group_vars/all/proxy
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@ https_proxy: ""

# List of domains, hostnames, IP addresses and networks for which no proxy is
# used. Defaults to ["127.0.0.1", "localhost", "{{ ('http://' ~
# docker_registry) | urlsplit('hostname') }}"] if docker_registry is set, or
# ["127.0.0.1", "localhost"] otherwise. This is configured only if either
# http_proxy or https_proxy is set.
# docker_registry) | urlsplit('hostname') if docker_registry else '' }}",
# "{{ kolla_internal_vip_address }}", "{{ lookup('vars',
# provision_oc_net_name ~ '_ips', default={})[groups.seed[0]] |
# default('', true) if groups.seed | default([]) | length else '' }}"].
# This is configured only if either http_proxy or https_proxy is set.
no_proxy:
- "127.0.0.1"
- "localhost"
- "{{ ('http://' ~ docker_registry) | urlsplit('hostname') if docker_registry else '' }}"
- "{{ kolla_internal_vip_address }}"
- "{{ lookup('vars', provision_oc_net_name ~ '_ips', default={})[groups.seed[0]] | default('', true) if groups.seed | default([]) | length else '' }}"
2 changes: 2 additions & 0 deletions dev/overcloud-test-baremetal.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
3 changes: 3 additions & 0 deletions dev/overcloud-test-inspect.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ source "${PARENT}/functions"

function main {
config_init
# Test Redfish as well
overcloud_test_inspect red0

overcloud_test_inspect tk0
}

Expand Down
29 changes: 28 additions & 1 deletion dev/tenks-deploy-config-compute-libvirt-on-host.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -19,17 +20,43 @@ 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
count: 2
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
Expand Down
29 changes: 28 additions & 1 deletion dev/tenks-deploy-config-compute.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -19,17 +20,43 @@ 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
count: 2
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
Expand Down
9 changes: 5 additions & 4 deletions etc/kayobe/proxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@

# List of domains, hostnames, IP addresses and networks for which no proxy is
# used. Defaults to ["127.0.0.1", "localhost", "{{ ('http://' ~
# docker_registry) | urlsplit('hostname') }}","{{ kolla_internal_vip_address
# }}"] if docker_registry is set, or ["127.0.0.1", "localhost","{{
# kolla_internal_vip_address }}"] otherwise. This is configured only if either
# http_proxy or https_proxy is set.
# docker_registry) | urlsplit('hostname') if docker_registry else '' }}",
# "{{ kolla_internal_vip_address }}", "{{ lookup('vars',
# provision_oc_net_name ~ '_ips', default={})[groups.seed[0]] |
# default('', true) if groups.seed | default([]) | length else '' }}"].
# This is configured only if either http_proxy or https_proxy is set.
#no_proxy:

###############################################################################
Expand Down
1 change: 1 addition & 0 deletions playbooks/kayobe-overcloud-base/baremetal.j2
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
hv100
tk0
tk1
red0
6 changes: 6 additions & 0 deletions playbooks/kayobe-overcloud-upgrade-base/run.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
fixes:
- |
Fixes an issue where seed service deployment could fail with a
``DiscoveryFailure`` error when an HTTP proxy is configured. The seed's
provisioning IP address is now included in the default ``no_proxy`` list,
preventing the proxy from intercepting requests to seed services such as
Ironic.
`LP#2154438 <https://bugs.launchpad.net/kayobe/+bug/2154438>`__
2 changes: 1 addition & 1 deletion roles/kayobe-ci-prep/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@

- name: Install kernel-modules-extra for running kernel
ansible.builtin.dnf:
name: "kernel-modules-extra"
name: "kernel-modules-extra-{{ ansible_facts.kernel }}"
state: present

when: ansible_facts.os_family == 'RedHat'
Expand Down