Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
c0cf61d
Remove duplicate description of filename key
priteau Sep 24, 2024
d8c9a9b
Merge "Remove duplicate description of filename key" into stable/2024.1
Oct 23, 2024
2784506
Bump stackhpc.linux to v1.3.0
priteau Oct 10, 2024
b3c0362
Bump stackhpc.openstack collection to 0.2.2
priteau Oct 10, 2024
bd47742
Fix group and mode of /var/log/journal
priteau Oct 2, 2024
e7d855c
Merge "Bump stackhpc.openstack collection to 0.2.2" into stable/2024.1
Oct 24, 2024
2b50bda
Merge "Fix group and mode of /var/log/journal" into stable/2024.1
Oct 25, 2024
2642c9c
Merge branch 'stackhpc/2024.1' into upstream/2024.1-2024-10-28
priteau Oct 28, 2024
f46391f
Merge pull request #336 from stackhpc/upstream/2024.1-2024-10-28
priteau Oct 28, 2024
dec7114
CI: Skip test_ntp_clock_synchronized on Ubuntu 24.04
priteau Oct 26, 2024
77c1ad1
Add support for building the proxysql image
priteau Oct 25, 2024
3c1ff0c
CI: Fix Ubuntu 24.04 version check
priteau Oct 31, 2024
b070274
Add support for customising Neutron physical network names
markgoddard Jun 19, 2024
ac988cb
Merge pull request #338 from stackhpc/upstream/2024.1-2024-11-04
priteau Nov 4, 2024
ef09015
Merge pull request #337 from stackhpc/feature/2024.1/physnet-names
priteau Nov 4, 2024
f6992fd
CI: Replace deprecated distro.linux_distribution
priteau Oct 31, 2024
aa60ba1
nvue: Use StackHPC fork
mnasiadka Oct 1, 2024
6b63a64
Merge pull request #340 from stackhpc/nvue-fork-caracal
priteau Nov 6, 2024
2c12fc6
Merge "CI: Replace deprecated distro.linux_distribution" into stable/…
Nov 6, 2024
fdc82bf
Merge pull request #342 from stackhpc/upstream/2024.1-2024-11-11
priteau Nov 12, 2024
4e07e04
Add internal VIP address to no_proxy
mnasiadka Jun 26, 2024
31204ce
Revert "nvue: Use StackHPC fork"
mnasiadka Nov 12, 2024
58e448e
Merge pull request #344 from stackhpc/2024_1_nvue_fork_revert
mnasiadka Nov 12, 2024
e8208bd
nvue: Update collection version to 1.2.6
mnasiadka Nov 12, 2024
71fa3c3
Merge pull request #346 from stackhpc/2024_1_nvue_bump
mnasiadka Nov 12, 2024
a794f10
Merge pull request #350 from stackhpc/upstream/2024.1-2024-11-18
priteau Nov 18, 2024
b571925
Ensure ironic-python-agent matches ironic-lib
m-bull Nov 21, 2024
1ed7724
CI: use quay.io/podman/hello due too dockerhub rate limits
bbezak Nov 25, 2024
4c2b79f
Merge "Ensure ironic-python-agent matches ironic-lib" into stable/2024.1
Nov 28, 2024
d20514b
CI: test database backup
priteau Oct 31, 2024
354b1d8
Merge pull request #351 from stackhpc/upstream/2024.1-2024-12-02
Alex-Welsh Dec 3, 2024
e0fe638
Merge pull request #354 from stackhpc/upstream/2024.1-2024-12-09
priteau Dec 9, 2024
9da82a9
Fix slurp upgrades due to 2023.1 branch name change
jovial Jan 8, 2025
606518b
Get the list of ironic nodes - use correct scope
darmach Sep 27, 2024
8909733
Fix overcloud deprovision hosts list in prompt
MoteHue Dec 13, 2024
4e47a02
Merge "Fix overcloud deprovision hosts list in prompt" into stable/20…
Jan 10, 2025
535ce2d
Merge pull request #360 from stackhpc/upstream/2024.1-2025-01-13
priteau Jan 13, 2025
53a5241
Fix release note link
priteau Jan 13, 2025
badebdc
Fix release note markup
priteau Jan 13, 2025
318b733
Merge "Fix release note link" into stable/2024.1
Jan 14, 2025
e5f46b8
Support IPA download with authenticated requests
priteau Jan 14, 2025
81961a5
Bump version of MichaelRigart.interfaces
jovial Nov 11, 2024
4799492
CI: pin to ansible-compat<25.0.0
MoteHue Jan 15, 2025
e29c88f
Merge "Support IPA download with authenticated requests" into stable/…
Jan 15, 2025
e6c285f
Merge pull request #364 from stackhpc/upstream/2024.1-2025-01-16
priteau Jan 16, 2025
9dd9dda
Merge "Bump version of MichaelRigart.interfaces" into stable/2024.1
Jan 16, 2025
b1b58fc
Merge pull request #365 from stackhpc/upstream/2024.1-2025-01-16
priteau Jan 16, 2025
770d535
infra-vm: efficiently handle `hostvars` during deploy and destroy
jackhodgkiss Jan 8, 2025
955f4ca
Fix Depends-On
MoteHue Jan 22, 2025
0ed034d
Add ovn-sb-db-relay Ansible group in overcloud
mnasiadka Jan 29, 2025
cc6ec6e
Merge pull request #379 from stackhpc/ovn_sb_relay
mnasiadka Jan 30, 2025
f195e4f
Add ovn_sb_db_relay feature flag
mnasiadka Jan 30, 2025
5028138
Merge pull request #380 from stackhpc/ovn_sb_relay
mnasiadka Jan 30, 2025
d467d5e
CI: create ansible.cfg for pre-upgrade deployment
priteau Feb 10, 2025
4474fb5
Merge pull request #389 from stackhpc/upstream/2024.1-2025-02-24
priteau Feb 24, 2025
e57200e
Support forcing time synchronisation
priteau Oct 7, 2024
95ca25a
Merge pull request #391 from stackhpc/upstream/2024.1-2025-03-03
priteau Mar 3, 2025
a4f623b
Replace pause with chronyc waitsync in ntp sync
priteau Feb 6, 2025
dd92924
Bump Michael.Rigart.Interfaces version to 1.15.3
technowhizz Mar 4, 2025
4b9eba8
Merge "Bump Michael.Rigart.Interfaces version to 1.15.3" into stable/…
Mar 5, 2025
2c07eb4
Merge pull request #394 from stackhpc/upstream/2024.1-2025-03-10
priteau Mar 10, 2025
b95f39f
Merge "CI: create ansible.cfg for pre-upgrade deployment" into stable…
Mar 11, 2025
90ec809
Merge pull request #395 from stackhpc/upstream/2024.1-2025-03-17
priteau Mar 17, 2025
1590345
Add dynamic-login to default ipa elements
mnasiadka Mar 20, 2024
67520b4
Merge pull request #397 from stackhpc/ipa-dynamic-login
mnasiadka Mar 18, 2025
f087c5f
Bump version of stackhpc.linux collection
jovial Mar 12, 2025
48d2276
Bump MichaelRigart.interfaces to v1.15.4
priteau Mar 18, 2025
aeea8b6
Merge "infra-vm: efficiently handle `hostvars` during deploy and dest…
Mar 28, 2025
cea564b
Merge pull request #399 from stackhpc/upstream/2024.1-2025-03-31
priteau Mar 31, 2025
9030073
Add support for passing type to MichaelRigart.interfaces
jovial Nov 22, 2024
3dc8629
Make internal network optional
jovial Nov 22, 2024
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
7 changes: 5 additions & 2 deletions ansible/inventory/group_vars/all/ipa
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,14 @@ ipa_builder_source_version: "{{ openstack_branch }}"
ipa_build_dib_host_packages_extra: []

# List of default Diskimage Builder (DIB) elements to use when building IPA
# images. Default is ["centos", "enable-serial-console",
# images. Default is ["centos", "dynamic-login", "enable-serial-console",
# "ironic-python-agent-ramdisk"] when os_distribution is "rocky", and
# ["ubuntu", "enable-serial-console", "ironic-python-agent-ramdisk"] otherwise.
# ["ubuntu", "dynamic-login", "enable-serial-console",
# "ironic-python-agent-ramdisk"] otherwise.
ipa_build_dib_elements_default:
# TODO(mattcrees): Use {{ os_distribution }} here when Rocky IPA builds work.
- "{{ 'centos' if os_distribution == 'rocky' else os_distribution }}"
- dynamic-login
- enable-serial-console
- ironic-python-agent-ramdisk

Expand All @@ -50,6 +52,7 @@ ipa_build_dib_env_default:
DIB_RELEASE: "{{ '9-stream' if os_distribution == 'rocky' else os_release }}"
DIB_REPOLOCATION_ironic_python_agent: "{{ ipa_build_source_url }}"
DIB_REPOREF_ironic_python_agent: "{{ ipa_build_source_version }}"
DIB_REPOREF_requirements: "{{ ipa_build_source_version }}"

# Dictionary of additional environment variables to provide to Diskimage
# Builder (DIB) during IPA image build.
Expand Down
5 changes: 5 additions & 0 deletions ansible/inventory/group_vars/all/kolla
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@ overcloud_container_image_regex_map:
enabled: "{{ kolla_enable_placement | bool }}"
- regex: ^prometheus
enabled: "{{ kolla_enable_prometheus | bool }}"
- regex: ^proxysql
enabled: "{{ kolla_enable_proxysql | bool }}"
- regex: ^qdrouterd
enabled: "{{ kolla_enable_qdrouterd | bool }}"
- regex: ^rabbitmq
Expand Down Expand Up @@ -400,6 +402,7 @@ kolla_overcloud_inventory_pass_through_host_vars_default:
- "kolla_external_vip_interface"
- "kolla_neutron_external_interfaces"
- "kolla_neutron_bridge_names"
- "kolla_neutron_physical_networks"

# List of names of additional host variables to pass through from kayobe hosts
# to kolla-ansible hosts, if set. See also
Expand Down Expand Up @@ -430,6 +433,7 @@ kolla_overcloud_inventory_pass_through_host_vars_map_default:
kolla_tunnel_interface: "tunnel_interface"
kolla_neutron_external_interfaces: "neutron_external_interface"
kolla_neutron_bridge_names: "neutron_bridge_name"
kolla_neutron_physical_networks: "neutron_physical_networks"

# Dict mapping names of additional variables in
# kolla_overcloud_inventory_pass_through_host_vars to the variable to use in
Expand Down Expand Up @@ -508,6 +512,7 @@ kolla_enable_mariadb: "yes"
kolla_enable_memcached: "yes"
kolla_enable_neutron: "{{ kolla_enable_openstack_core | bool }}"
kolla_enable_nova: "{{ kolla_enable_openstack_core | bool }}"
kolla_enable_proxysql: "no"
kolla_enable_rabbitmq: "yes"

# OpenStack services can be enabled or disabled with these options
Expand Down
1 change: 1 addition & 0 deletions ansible/inventory/group_vars/all/proxy
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ no_proxy:
- "127.0.0.1"
- "localhost"
- "{{ ('http://' ~ docker_registry) | urlsplit('hostname') if docker_registry else '' }}"
- "{{ kolla_internal_vip_address }}"
14 changes: 14 additions & 0 deletions ansible/inventory/group_vars/all/time
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,17 @@ chrony_ntp_servers:

# Synchronise hardware clock with system time. Default is true.
chrony_rtcsync_enabled: true

# Force synchronisation from NTP sources. This methods may jump the clock by
# large values which can cause issues with some software. Disabled by default.
ntp_force_sync: false

# Maximum number of tries used by the `chronyc waitsync` command. Only used
# when ntp_force_sync is true. Default is 60 which waits for a maximum of 10
# minutes (60 times 10 seconds).
chrony_waitsync_max_tries: 60

# Maximum correction used by the `chronyc waitsync` command. Only used when
# ntp_force_sync is true. Default is 0.01 which waits for the remaining
# correction to be less than 10 milliseconds.
chrony_waitsync_max_correction: 0.01
4 changes: 2 additions & 2 deletions ansible/kolla-ansible.yml
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,11 @@
- var_name: "kolla_network_interface"
description: "Default network"
network: "{{ internal_net_name }}"
required: True
required: False
- var_name: "kolla_api_interface"
description: "API network"
network: "{{ internal_net_name }}"
required: True
required: False
- var_name: "kolla_storage_interface"
description: "Storage network"
network: "{{ storage_net_name }}"
Expand Down
4 changes: 2 additions & 2 deletions ansible/logging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@
file:
path: /var/log/journal
owner: "root"
group: "root"
mode: 0755
group: "systemd-journal"
mode: 02755
state: directory
notify: Flush journal to disk
when: journald_storage == "persistent"
Expand Down
2 changes: 1 addition & 1 deletion ansible/overcloud-deprovision.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
- name: confirm_deprovision
prompt: |
The following hosts will be deprovisioned:
{{ play_hosts | join(', ') }}
{{ play_hosts | intersect(groups['overcloud'] | default([])) | join(', ') }}
If you want to proceed type: yes
default: "no"
private: false
Expand Down
20 changes: 20 additions & 0 deletions ansible/roles/image-download/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,23 @@ image_download_dest:
# Host from which to fetch the image.
# Only used when image_download_path is set.
image_download_host: "{{ inventory_hostname }}"

# Username for Digest, Basic or WSSE authentication. Default is unset, in which
# case the parameter is omitted.
image_download_url_username:

# Password for Digest, Basic or WSSE authentication. Default is unset, in which
# case the parameter is omitted.
image_download_url_password:

# Force sending the Basic authentication header upon initial request. Useful if
# the remote endpoint does not respond with HTTP 401 to the initial
# unauthenticated request. Must be a boolean. Default is unset, in which case
# the parameter is omitted.
image_download_force_basic_auth:

# List of header names that will not be sent on subsequent redirected requests.
# Set to ['Authorization'] if being redirected from an authenticated endpoint
# to an unauthenticated endpoint. Default is unset, in which case the parameter
# is omitted.
image_download_unredirected_headers:
8 changes: 8 additions & 0 deletions ansible/roles/image-download/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
uri:
url: "{{ image_download_checksum_url }}"
return_content: true
url_username: "{{ image_download_url_username or omit }}"
url_password: "{{ image_download_url_password or omit }}"
force_basic_auth: "{{ image_download_force_basic_auth or omit }}"
unredirected_headers: "{{ image_download_unredirected_headers or omit }}"
register: expected_checksum
until: expected_checksum is successful
retries: 3
Expand All @@ -35,6 +39,10 @@
# Always download the image if we have no checksum to compare with.
force: "{{ expected_checksum is skipped }}"
backup: true
url_username: "{{ image_download_url_username or omit }}"
url_password: "{{ image_download_url_password or omit }}"
force_basic_auth: "{{ image_download_force_basic_auth or omit }}"
unredirected_headers: "{{ image_download_unredirected_headers or omit }}"
register: result
until: result is successful
retries: 3
Expand Down
29 changes: 13 additions & 16 deletions ansible/roles/infra-vms/tasks/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
include_role:
name: jriguera.configdrive
vars:
configdrive_os_family: "{{ vm_hostvars.infra_vm_os_family }}"
configdrive_os_family: "{{ vm_os_family }}"
configdrive_uuid: "{{ vm_name | to_uuid }}"
# Must set configdrive_instance_dir when using a loop
# https://github.com/jriguera/ansible-role-configdrive/blob/8438592c84585c86e62ae07e526d3da53629b377/tasks/main.yml#L17
Expand All @@ -16,13 +16,10 @@
configdrive_volume_path: "{{ image_cache_path }}"
configdrive_config_dir_delete: False
configdrive_resolv:
domain: "{{ vm_hostvars.resolv_domain | default }}"
search: "{{ vm_hostvars.resolv_search | default }}"
dns: "{{ vm_hostvars.resolv_nameservers | default([]) }}"
configdrive_network_device_list: >
{{ vm_hostvars.network_interfaces |
map('net_configdrive_network_device', vm_hostvars.inventory_hostname) |
list }}
domain: "{{ vm_resolv_domain | default }}"
search: "{{ vm_resolv_search | default }}"
dns: "{{ vm_resolv_nameservers | default([]) }}"
configdrive_network_device_list: "{{ vm_network_device_list }}"

- name: "[{{ vm_name }}] Set a fact containing the configdrive image path"
set_fact:
Expand Down Expand Up @@ -56,7 +53,7 @@
- name: "[{{ vm_name }}] Stat image files"
stat:
path: "{{ image_cache_path }}/{{ item.image | basename }}"
with_items: "{{ vm_hostvars.infra_vm_volumes | selectattr('image', 'defined') }}"
with_items: "{{ vm_volumes | selectattr('image', 'defined') }}"
register: image_stat_result

- name: "[{{ vm_name }}] Fix image ownership"
Expand All @@ -75,7 +72,7 @@
vm_configdrive_device: cdrom
vm_configdrive_volume:
name: "{{ vm_name }}-configdrive"
pool: "{{ vm_hostvars.infra_vm_pool }}"
pool: "{{ vm_pool }}"
# Round size up to next multiple of 4096.
capacity: "{{ (stat_result.stat.size + 4095) // 4096 * 4096 }}"
device: "{{ vm_configdrive_device }}"
Expand All @@ -85,10 +82,10 @@
libvirt_vm_image_cache_path: "{{ image_cache_path }}"
libvirt_vms:
- name: "{{ vm_name }}"
boot_firmware: "{{ vm_hostvars.infra_vm_boot_firmware | default }}"
machine: "{{ vm_hostvars.infra_vm_machine | default }}"
memory_mb: "{{ vm_hostvars.infra_vm_memory_mb }}"
vcpus: "{{ vm_hostvars.infra_vm_vcpus }}"
volumes: "{{ vm_hostvars.infra_vm_volumes + [vm_configdrive_volume] }}"
interfaces: "{{ vm_hostvars.infra_vm_interfaces }}"
boot_firmware: "{{ vm_boot_firmware | default }}"
machine: "{{ vm_machine | default }}"
memory_mb: "{{ vm_memory_mb }}"
vcpus: "{{ vm_vcpus }}"
volumes: "{{ vm_volumes + [vm_configdrive_volume] }}"
interfaces: "{{ vm_interfaces }}"
console_log_enabled: true
10 changes: 5 additions & 5 deletions ansible/roles/infra-vms/tasks/destroy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
vars:
infra_vm_configdrive_volume:
name: "{{ vm_name }}-configdrive"
pool: "{{ hostvars[vm_hostvars.infra_vm_hypervisor].infra_vm_pool }}"
pool: "{{ vm_pool }}"
libvirt_vms:
- name: "{{ vm_name }}"
boot_firmware: "{{ vm_hostvars.infra_vm_boot_firmware | default }}"
memory_mb: "{{ vm_hostvars.infra_vm_memory_mb }}"
vcpus: "{{ vm_hostvars.infra_vm_vcpus }}"
volumes: "{{ vm_hostvars.infra_vm_volumes + [infra_vm_configdrive_volume] }}"
boot_firmware: "{{ vm_boot_firmware | default }}"
memory_mb: "{{ vm_memory_mb }}"
vcpus: "{{ vm_vcpus }}"
volumes: "{{ vm_volumes + [infra_vm_configdrive_volume] }}"
state: "absent"
become: True
17 changes: 15 additions & 2 deletions ansible/roles/infra-vms/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,21 @@
- name: "{{ infra_vm_action | capitalize }} infra VMs (loop)"
include_tasks: "{{ infra_vm_action }}.yml"
vars:
vm_name: "{{ vm_hostvars.infra_vm_name }}"
vm_hostvars: "{{ hostvars[vm_item] }}"
vm_name: "{{ hostvars[vm_item].infra_vm_name }}"
vm_os_family: "{{ hostvars[vm_item].infra_vm_os_family }}"
vm_resolv_domain: "{{ hostvars[vm_item].resolv_domain }}"
vm_resolv_search: "{{ hostvars[vm_item].resolv_search }}"
vm_resolv_nameservers: "{{ hostvars[vm_item].resolv_nameservers }}"
vm_network_device_list: "{{ hostvars[vm_item].network_interfaces |
map('net_configdrive_network_device', hostvars[vm_item].inventory_hostname) |
list }}"
vm_volumes: "{{ hostvars[vm_item].infra_vm_volumes }}"
vm_pool: "{{ hostvars[vm_item].infra_vm_pool }}"
vm_boot_firmware: "{{ hostvars[vm_item].infra_vm_boot_firmware }}"
vm_machine: "{{ hostvars[vm_item].infra_vm_machine }}"
vm_memory_mb: "{{ hostvars[vm_item].infra_vm_memory_mb }}"
vm_vcpus: "{{ hostvars[vm_item].infra_vm_vcpus }}"
vm_interfaces: "{{ hostvars[vm_item].infra_vm_interfaces }}"
loop: "{{ infra_vm_vms }}"
when: (infra_vm_action == "deploy" and vm_name not in all_vms.list_vms) or infra_vm_action == "destroy"
loop_control:
Expand Down
11 changes: 9 additions & 2 deletions ansible/roles/ipa-images/tasks/set-driver-info.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,19 @@
set_fact:
ipa_images_ramdisk_uuid: "{{ ipa_images_glance.results[1].images[0].id }}"

- name: Change system scope to all for Ironic operations
set_fact:
ipa_images_ironic_openstack_auth_env: "{{ ipa_images_openstack_auth_env |
combine ({ 'OS_PROJECT_NAME': omit }) |
combine ({ 'OS_PROJECT_DOMAIN_NAME': omit }) |
combine ({ 'OS_SYSTEM_SCOPE': 'all' }) }}"

- name: Get a list of ironic nodes
command: |
{{ ipa_images_venv }}/bin/openstack baremetal node list --fields name uuid driver_info -f json
register: ipa_images_ironic_node_list
changed_when: False
environment: "{{ ipa_images_openstack_auth_env }}"
environment: "{{ ipa_images_ironic_openstack_auth_env }}"

- name: Make sure openstack nodes are in baremetal-compute group
add_host:
Expand Down Expand Up @@ -59,4 +66,4 @@
when:
item["Driver Info"].deploy_kernel != ipa_images_kernel_uuid or
item["Driver Info"].deploy_ramdisk != ipa_images_ramdisk_uuid
environment: "{{ ipa_images_openstack_auth_env }}"
environment: "{{ ipa_images_ironic_openstack_auth_env }}"
6 changes: 6 additions & 0 deletions ansible/roles/kolla-ansible-host-vars/tests/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
kolla_dns_interface: "eth5"
kolla_neutron_external_interfaces: "eth6,eth7"
kolla_neutron_bridge_names: "br0,br1"
kolla_neutron_physical_networks: "physnet1,physnet2"
kolla_provision_interface: "eth8"
kolla_inspector_dnsmasq_interface: "eth9"
kolla_tunnel_interface: "eth10"
Expand All @@ -32,6 +33,7 @@
kolla_storage_interface: "eth3"
kolla_neutron_external_interfaces: "eth4,eth5"
kolla_neutron_bridge_names: "br0,br1"
kolla_neutron_physical_networks: "physnet2,physnet3"
kolla_tunnel_interface: "eth6"

- name: Test kolla-ansible-host-vars role extras
Expand Down Expand Up @@ -68,6 +70,7 @@
- "kolla_external_vip_interface"
- "kolla_neutron_external_interfaces"
- "kolla_neutron_bridge_names"
- "kolla_neutron_physical_networks"
kolla_ansible_pass_through_host_vars_map:
kolla_network_interface: "network_interface"
kolla_api_interface: "api_interface"
Expand All @@ -81,6 +84,7 @@
kolla_tunnel_interface: "tunnel_interface"
kolla_neutron_external_interfaces: "neutron_external_interface"
kolla_neutron_bridge_names: "neutron_bridge_name"
kolla_neutron_physical_networks: "neutron_physical_networks"
kolla_ansible_inventory_path: "{{ temp_path }}"

- name: Check whether inventory host vars files exist
Expand Down Expand Up @@ -125,6 +129,7 @@
kolla_external_vip_interface: "eth1"
neutron_external_interface: "eth6,eth7"
neutron_bridge_name: "br0,br1"
neutron_physical_networks: "physnet1,physnet2"
test-compute: |
---
ansible_host: "1.2.3.6"
Expand All @@ -134,6 +139,7 @@
tunnel_interface: "eth6"
neutron_external_interface: "eth4,eth5"
neutron_bridge_name: "br0,br1"
neutron_physical_networks: "physnet2,physnet3"

always:
- name: Ensure the temporary directory is removed
Expand Down
3 changes: 3 additions & 0 deletions ansible/roles/kolla-ansible/templates/overcloud-services.j2
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,9 @@ ovn-database
[ovn-sb-db:children]
ovn-database

[ovn-sb-db-relay:children]
ovn-database

[venus-api:children]
venus

Expand Down
1 change: 1 addition & 0 deletions ansible/roles/kolla-ansible/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ kolla_feature_flags:
- openvswitch
- osprofiler
- ovn
- ovn_sb_db_relay
- ovs_dpdk
- placement
- prometheus
Expand Down
5 changes: 4 additions & 1 deletion ansible/roles/ntp/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
ntp_actions: ["validate", "prepare", "deploy"]
ntp_actions: ["validate", "prepare", "deploy", "sync"]

# Do not jump clock by default
ntp_force_sync: False

ntp_service_disable_list:
- ntp.service
Expand Down
4 changes: 4 additions & 0 deletions ansible/roles/ntp/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@
- name: Deploy service
include_tasks: deploy.yml
when: '"deploy" in ntp_actions'

- name: Synchronise time
include_tasks: sync.yml
when: '"sync" in ntp_actions'
21 changes: 21 additions & 0 deletions ansible/roles/ntp/tasks/sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
# NOTE(priteau): We need to run handlers to restart chronyd before forcing
# clock synchronisation, or the system clock could appear as not synchronised
# during CI jobs because the tests run too quickly after the chronyd restart.
- meta: flush_handlers

- name: Force time synchronisation
become: True
block:
- name: Configure burst
command: chronyc 'burst 4/4'

- name: Step the clock
command: chronyc makestep

- name: Wait before hardware clock synchronisation
command: "chronyc waitsync {{ chrony_waitsync_max_tries }} {{ chrony_waitsync_max_correction }}"

- name: Force hardware clock synchronisation
command: hwclock --systohc
when: ntp_force_sync | bool
Loading