diff --git a/ansible/roles/common/tasks/config.yml b/ansible/roles/common/tasks/config.yml index bc05249af1..ba850e038d 100644 --- a/ansible/roles/common/tasks/config.yml +++ b/ansible/roles/common/tasks/config.yml @@ -254,6 +254,7 @@ - { name: "prometheus", enabled: "{{ enable_prometheus | bool }}" } - { name: "proxysql", enabled: "{{ enable_proxysql | bool }}" } - { name: "rabbitmq", enabled: "{{ enable_rabbitmq | bool }}" } + - { name: "redis", enabled: "{{ enable_redis | bool }}" } - { name: "skyline", enabled: "{{ enable_skyline | bool }}" } - { name: "swift", enabled: "{{ enable_swift | bool }}" } - { name: "tacker", enabled: "{{ enable_tacker | bool }}" } diff --git a/ansible/roles/common/templates/cron-logrotate-redis.conf.j2 b/ansible/roles/common/templates/cron-logrotate-redis.conf.j2 new file mode 100644 index 0000000000..9fb4c5a500 --- /dev/null +++ b/ansible/roles/common/templates/cron-logrotate-redis.conf.j2 @@ -0,0 +1,3 @@ +"/var/log/kolla/redis/*.log" +{ +} diff --git a/ansible/roles/destroy/tasks/cleanup_host.yml b/ansible/roles/destroy/tasks/cleanup_host.yml index 3e55c7bb2c..38e7006906 100644 --- a/ansible/roles/destroy/tasks/cleanup_host.yml +++ b/ansible/roles/destroy/tasks/cleanup_host.yml @@ -14,6 +14,7 @@ kolla_dev_repos_directory: "{{ kolla_dev_repos_directory }}" opensearch_datadir_volume: "{{ opensearch_datadir_volume }}" destroy_include_dev: "{{ destroy_include_dev }}" + kolla_ansible_inventories: "{{ inventories_comma_separated.replace(',',' ') }}" - block: - name: Disable octavia-interface service diff --git a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 index f7eb73eb63..aa55625e93 100644 --- a/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 +++ b/ansible/roles/ironic/templates/ironic-dnsmasq.conf.j2 @@ -9,9 +9,8 @@ bind-interfaces {% set tag = item.tag | default('range_' ~ loop.index) %} {% set lease_time = item.lease_time | default(ironic_dnsmasq_dhcp_default_lease_time) %} dhcp-range=set:{{ tag }},{{ item.range }},{{ lease_time }} -{% if item.routers is defined %} -dhcp-option=tag:{{ tag }},option:router,{{ item.routers }} -{% endif %} +{% if item.routers is defined %}dhcp-option=tag:{{ tag }},option:router,{{ item.routers }}{% endif %} +{% if item.ntp_server is defined %}dhcp-option=tag:{{ tag }},option:ntp-server,{{ item.ntp_server }}{% endif %} {% endfor %} {% if api_address_family == 'ipv6' %} diff --git a/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2 b/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2 index f5c6f38a31..e3bbb2cd6a 100644 --- a/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2 +++ b/ansible/roles/loadbalancer/templates/proxysql/proxysql.yaml.j2 @@ -10,13 +10,13 @@ errorlog: "/var/log/kolla/proxysql/proxysql.log" admin_variables: admin_credentials: "{{ proxysql_admin_user }}:{{ proxysql_admin_password }}" - mysql_ifaces: "{{ api_interface_address }}:{{ proxysql_admin_port }};{{ kolla_internal_vip_address }}:{{ proxysql_admin_port }};/var/lib/kolla/proxysql/admin.sock" + mysql_ifaces: "{{ api_interface_address | put_address_in_context('url') }}:{{ proxysql_admin_port }};{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ proxysql_admin_port }};/var/lib/kolla/proxysql/admin.sock" stats_credentials: "{{ proxysql_stats_user }}:{{ proxysql_stats_password }}" mysql_variables: threads: {{ proxysql_workers }} max_connections: {{ proxysql_max_connections }} - interfaces: "{{ kolla_internal_vip_address }}:{{ database_port }}" + interfaces: "{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ database_port }}" monitor_username: "{{ mariadb_monitor_user }}" monitor_password: "{{ mariadb_monitor_password }}" @@ -30,7 +30,7 @@ mysql_servers: {% set WEIGHT = 10 %} {% endif %} - address: "{{ 'api' | kolla_address(host) }}" - port : {{ database_port }} + port : {{ mariadb_port }} hostgroup : {{ WRITER_GROUP }} max_connections: {{ proxysql_backend_max_connections }} max_replication_lag: {{ proxysql_backend_max_replication_lag }} diff --git a/ansible/roles/mariadb/defaults/main.yml b/ansible/roles/mariadb/defaults/main.yml index 8adb3e7403..eda1b5fcc9 100644 --- a/ansible/roles/mariadb/defaults/main.yml +++ b/ansible/roles/mariadb/defaults/main.yml @@ -121,7 +121,7 @@ mariadb_wsrep_extra_provider_options: [] # Backups #################### mariadb_backup_host: "{{ groups[mariadb_shard_group][0] }}" -mariadb_backup_database_schema: "PERCONA_SCHEMA" +mariadb_backup_database_schema: "mysql" mariadb_backup_database_user: "{% if mariadb_loadbalancer == 'haproxy' %}backup{% else %}{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}{% endif %}" mariadb_backup_type: "full" mariadb_backup_possible: "{{ mariadb_loadbalancer != 'haproxy' or inventory_hostname in mariadb_default_database_shard_hosts }}" diff --git a/ansible/roles/mariadb/tasks/register.yml b/ansible/roles/mariadb/tasks/register.yml index f99ddaff31..08edfd074e 100644 --- a/ansible/roles/mariadb/tasks/register.yml +++ b/ansible/roles/mariadb/tasks/register.yml @@ -33,21 +33,6 @@ when: - inventory_hostname == groups[mariadb_shard_group][0] -- name: Creating the Mariabackup database - become: true - kolla_toolbox: - container_engine: "{{ kolla_container_engine }}" - module_name: mysql_db - module_args: - login_host: "{{ api_interface_address }}" - login_port: "{{ mariadb_port }}" - login_user: "{{ mariadb_shard_database_user }}" - login_password: "{{ database_password }}" - name: "{{ mariadb_backup_database_schema }}" - when: - - enable_mariabackup | bool - - inventory_hostname == mariadb_backup_host - - name: Creating database backup user and setting permissions become: true kolla_toolbox: diff --git a/doc/source/reference/bare-metal/ironic-guide.rst b/doc/source/reference/bare-metal/ironic-guide.rst index bf57a8f146..62fc93673d 100644 --- a/doc/source/reference/bare-metal/ironic-guide.rst +++ b/doc/source/reference/bare-metal/ironic-guide.rst @@ -42,6 +42,16 @@ are possible by separating addresses with commas): - range: "192.168.5.100,192.168.5.110" routers: "192.168.5.1" +Together with an router there can be provided the NTP (time source) server. +For example it can be the same address as default router for the range: + +.. code-block:: yaml + + ironic_dnsmasq_dhcp_ranges: + - range: "192.168.5.100,192.168.5.110" + routers: "192.168.5.1" + ntp_server: "192.168.5.1" + To support DHCP relay, it is also possible to define a netmask in the range. It is advisable to also provide a router to allow the traffic to reach the Ironic server. diff --git a/releasenotes/notes/bug-2052706-dfbbc75fc72c74d1.yaml b/releasenotes/notes/bug-2052706-dfbbc75fc72c74d1.yaml new file mode 100644 index 0000000000..6bca1929df --- /dev/null +++ b/releasenotes/notes/bug-2052706-dfbbc75fc72c74d1.yaml @@ -0,0 +1,7 @@ +--- +fixes: + - | + Fixes kolla-ansible removing inventory file placed in + ``/etc/kolla/``. + See `LP#2052706 `__ + for more details. diff --git a/releasenotes/notes/bug-2081106-ef0df790780c612d.yaml b/releasenotes/notes/bug-2081106-ef0df790780c612d.yaml new file mode 100644 index 0000000000..2d618f0b76 --- /dev/null +++ b/releasenotes/notes/bug-2081106-ef0df790780c612d.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Fix ProxySQL unable to bind due to incorrect format + of IPv6 addresses in the `mysql_ifaces` configuration. + `LP#2081106 `__ diff --git a/releasenotes/notes/bug-2084523-a02f38eecf6c957a.yaml b/releasenotes/notes/bug-2084523-a02f38eecf6c957a.yaml new file mode 100644 index 0000000000..83a6d9df4f --- /dev/null +++ b/releasenotes/notes/bug-2084523-a02f38eecf6c957a.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Add missing logrotate config for redis. + `LP#2084523 `__ diff --git a/releasenotes/notes/ironic-inspector-multiple-ranges-ntp-32568dcf640a7fc1.yaml b/releasenotes/notes/ironic-inspector-multiple-ranges-ntp-32568dcf640a7fc1.yaml new file mode 100644 index 0000000000..adb060a469 --- /dev/null +++ b/releasenotes/notes/ironic-inspector-multiple-ranges-ntp-32568dcf640a7fc1.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds the ability to provide the NTP (time source) server for multiple DHCP + ranges in the Ironic Inspector DHCP server. diff --git a/releasenotes/notes/proxysql-template-mariadb-port-cf8f2d88c0962b75.yaml b/releasenotes/notes/proxysql-template-mariadb-port-cf8f2d88c0962b75.yaml new file mode 100644 index 0000000000..ed79549c47 --- /dev/null +++ b/releasenotes/notes/proxysql-template-mariadb-port-cf8f2d88c0962b75.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Updates ``proxysql.yaml.j2`` to use mariadb_port for backends. + This fixes setups where ``database_port`` and ``mariadb_port`` differ. diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh index 5cf7eba9a1..7fe235f458 100755 --- a/tests/setup_gate.sh +++ b/tests/setup_gate.sh @@ -80,7 +80,15 @@ function prepare_images { sudo tee -a /etc/kolla/kolla-build.conf <