Re-add freezer to inventory
This adds a minimal requirement sceleton to enable os_freezer deployment and testing with AIO. Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_horizon/+/975513 Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-os_tempest/+/981239 Needed-By: https://review.opendev.org/c/openstack/openstack-ansible-os_freezer/+/975794 Needed-By: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/975793 Change-Id: I9f2ee74979466fff3c09b5dc4179f4a51162529d Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
This commit is contained in:
@@ -161,6 +161,12 @@
|
||||
version: master
|
||||
trackbranch: master
|
||||
shallow_since: '2025-12-03'
|
||||
- name: os_freezer
|
||||
scm: git
|
||||
src: https://opendev.org/openstack/openstack-ansible-os_freezer
|
||||
version: master
|
||||
trackbranch: master
|
||||
shallow_since:
|
||||
- name: os_glance
|
||||
scm: git
|
||||
src: https://opendev.org/openstack/openstack-ansible-os_glance
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
backup_infra_hosts:
|
||||
aio1:
|
||||
ip: {{ bootstrap_host_public_address }}
|
||||
management_ip: {{ bootstrap_host_management_address }}
|
||||
|
||||
backup_runner_hosts:
|
||||
aio1:
|
||||
ip: {{ bootstrap_host_public_address }}
|
||||
management_ip: {{ bootstrap_host_management_address }}
|
||||
@@ -0,0 +1,14 @@
|
||||
# The infra nodes that will be running the Freezer services
|
||||
backup_infra_hosts:
|
||||
infra1:
|
||||
ip: 172.20.236.111
|
||||
infra2:
|
||||
ip: 172.20.236.112
|
||||
infra3:
|
||||
ip: 172.20.236.113
|
||||
|
||||
backup_runner_hosts:
|
||||
storage1:
|
||||
ip: 172.29.236.13
|
||||
storage2:
|
||||
ip: 172.29.236.14
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
# This file contains an example to show how to deploy
|
||||
# the freezer-scheduler service to run inside of the utility container.
|
||||
|
||||
container_skel:
|
||||
utility_container:
|
||||
contains:
|
||||
- utility
|
||||
- freezer_scheduler
|
||||
@@ -91,6 +91,10 @@ cloudkitty_oslomsg_rpc_password:
|
||||
# your user variables.
|
||||
#cloudkitty_oslomsg_notify_password:
|
||||
|
||||
## Freezer Options
|
||||
freezer_service_password:
|
||||
freezer_galera_password:
|
||||
|
||||
## Glance Options
|
||||
glance_container_mysql_password:
|
||||
glance_service_password:
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
# Copyright 2026, Cleura AB.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
component_skel:
|
||||
freezer_api:
|
||||
belongs_to:
|
||||
- freezer_all
|
||||
freezer_scheduler:
|
||||
belongs_to:
|
||||
- freezer_all
|
||||
|
||||
container_skel:
|
||||
freezer_api_container:
|
||||
belongs_to:
|
||||
- backup_infra_containers
|
||||
contains:
|
||||
- freezer_api
|
||||
freezer_scheduler_container:
|
||||
belongs_to:
|
||||
- backup_runner_containers
|
||||
contains:
|
||||
- freezer_scheduler
|
||||
|
||||
|
||||
physical_skel:
|
||||
backup_infra_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
backup_infra_hosts:
|
||||
belongs_to:
|
||||
- hosts
|
||||
|
||||
backup_runner_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
backup_runner_hosts:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
# Copyright 2023, Cleura AB
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
haproxy_freezer_api_service:
|
||||
haproxy_service_name: freezer_api
|
||||
haproxy_backend_nodes: "{{ groups['freezer_api'] | default([]) }}"
|
||||
haproxy_ssl: "{{ haproxy_ssl }}"
|
||||
haproxy_ssl_all_vips: "{{ haproxy_ssl_all_vips }}"
|
||||
haproxy_port: 9090
|
||||
haproxy_balance_type: http
|
||||
haproxy_backend_options:
|
||||
- "forwardfor"
|
||||
- "httplog"
|
||||
haproxy_backend_httpcheck_options:
|
||||
- 'send hdr User-Agent "osa-haproxy-healthcheck" meth GET uri /healthcheck'
|
||||
haproxy_backend_ssl: "{{ freezer_backend_ssl | default(openstack_service_backend_ssl) }}"
|
||||
haproxy_backend_ca: "{{ freezer_haproxy_backend_ca | default(openstack_haproxy_backend_ca) }}"
|
||||
haproxy_accept_both_protocols: "{{ freezer_accept_both_protocols | default(openstack_service_accept_both_protocols) }}"
|
||||
haproxy_service_enabled: "{{ groups['freezer_api'] is defined and groups['freezer_api'] | length > 0 }}"
|
||||
|
||||
freezer_haproxy_services:
|
||||
- "{{ haproxy_freezer_api_service | combine(haproxy_freezer_api_service_overrides | default({})) }}"
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# Copyright 2023, Cleura AB
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
### HEAD as of 08.12.2025 ###
|
||||
|
||||
freezer_api_git_repo: "{{ openstack_opendev_base_url }}/openstack/freezer-api"
|
||||
freezer_api_git_install_branch: master
|
||||
freezer_api_git_track_branch: master
|
||||
|
||||
freezer_scheduler_git_repo: "{{ openstack_opendev_base_url }}/openstack/freezer"
|
||||
freezer_scheduler_git_install_branch: master
|
||||
freezer_scheduler_git_track_branch: master
|
||||
@@ -40,6 +40,11 @@ designate_dashboard_git_repo: "{{ openstack_opendev_base_url }}/openstack/design
|
||||
designate_dashboard_git_install_branch: f235f5e601a909c49d040cd1f9e512661e56d8fd
|
||||
designate_dashboard_git_track_branch: master
|
||||
|
||||
## Horizon Freezer dashboard plugin
|
||||
freezer_dashboard_git_repo: "{{ openstack_opendev_base_url }}/openstack/freezer-web-ui"
|
||||
freezer_dashboard_git_install_branch: master
|
||||
freezer_dashboard_git_track_branch: master
|
||||
|
||||
## Horizon Heat dashboard plugin
|
||||
heat_dashboard_git_repo: "{{ openstack_opendev_base_url }}/openstack/heat-dashboard"
|
||||
heat_dashboard_git_install_branch: d47d1b136f3cc9619a06a00c6867abb8701d878e
|
||||
|
||||
@@ -39,6 +39,10 @@ tempest_plugin_designate_git_repo: "{{ openstack_opendev_base_url }}/openstack/d
|
||||
tempest_plugin_designate_git_install_branch: 88fc51f6327a4b8ac50078380d0fc91eca7eb449
|
||||
tempest_plugin_designate_git_track_branch: master
|
||||
|
||||
tempest_plugin_freezer_git_repo: "{{ openstack_opendev_base_url }}/openstack/freezer-tempest-plugin"
|
||||
tempest_plugin_freezer_git_install_branch: master
|
||||
tempest_plugin_freezer_git_track_branch: master
|
||||
|
||||
tempest_plugin_glance_git_repo: "{{ openstack_opendev_base_url }}/openstack/glance-tempest-plugin"
|
||||
tempest_plugin_glance_git_install_branch: 54889708741080bd7d7119730a68873ca51d686c
|
||||
tempest_plugin_glance_git_track_branch: master
|
||||
|
||||
@@ -166,6 +166,9 @@
|
||||
- src: user_variables_blazar.yml.j2
|
||||
dest: user_variables_blazar.yml
|
||||
condition: "{{ 'blazar' in bootstrap_host_scenarios_expanded }}"
|
||||
- src: user_variables_freezer.yml.j2
|
||||
dest: user_variables_freezer.yml
|
||||
condition: "{{ 'freezer' in bootstrap_host_scenarios_expanded }}"
|
||||
- src: user_variables_magnum.yml.j2
|
||||
dest: user_variables_magnum.yml
|
||||
condition: "{{ 'magnum' in bootstrap_host_scenarios_expanded }}"
|
||||
@@ -197,13 +200,20 @@
|
||||
dest: user_variables_tls.yml
|
||||
condition: "{{ 'tls' in bootstrap_host_scenarios_expanded }}"
|
||||
|
||||
- name: Copy modified cinder-volume env.d file for ceph scenario
|
||||
- name: Copy modified env.d files for scenarios
|
||||
ansible.builtin.copy:
|
||||
src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/cinder-volume.yml.container.example"
|
||||
dest: "/etc/openstack_deploy/env.d/cinder-volume.yml"
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: "0644"
|
||||
when:
|
||||
- "'ceph' in bootstrap_host_scenarios_expanded"
|
||||
- item.condition | default(true)
|
||||
with_items:
|
||||
- src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/cinder-volume.yml.container.example"
|
||||
dest: "/etc/openstack_deploy/env.d/cinder-volume.yml"
|
||||
condition: "{{ 'ceph' in bootstrap_host_scenarios_expanded }}"
|
||||
- src: "{{ playbook_dir }}/../etc/openstack_deploy/env.d/freezer-scheduler.yml.utility.example"
|
||||
dest: "/etc/openstack_deploy/env.d/freezer-scheduler.yml"
|
||||
condition: "{{ 'freezer' in bootstrap_host_scenarios_expanded }}"
|
||||
|
||||
- name: Create user-space overrides
|
||||
ansible.builtin.lineinfile:
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cinder_service_backup_program_enabled: true
|
||||
horizon_enable_cinder_backup: true
|
||||
|
||||
tempest_test_includelist_freezer:
|
||||
- freezer_tempest_plugin.tests.freezer.scenario.test_backups
|
||||
@@ -51,7 +51,8 @@ bootstrap_host_scenarios_expanded: |-
|
||||
('validate' in bootstrap_host_scenarios and ('integrated' in bootstrap_host_scenarios or 'plugins' in bootstrap_host_scenarios)) %}
|
||||
{% set _ = scenario_list.extend(['zookeeper']) %}
|
||||
{% endif %}
|
||||
{% if 'ironic' in bootstrap_host_scenarios %}
|
||||
{% if 'ironic' in bootstrap_host_scenarios or
|
||||
'freezer' in bootstrap_host_scenarios %}
|
||||
{% set _ = scenario_list.extend(['swift']) %}
|
||||
{% endif %}
|
||||
{% if ('magnum' in bootstrap_host_scenarios) %}
|
||||
|
||||
@@ -145,6 +145,12 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
||||
'aodh_api',
|
||||
'aodh_container',
|
||||
'aodh_listener',
|
||||
'backup_infra_all',
|
||||
'backup_infra_containers',
|
||||
'backup_infra_hosts',
|
||||
'backup_runner_all',
|
||||
'backup_runner_containers',
|
||||
'backup_runner_hosts',
|
||||
'barbican_all',
|
||||
'barbican_api',
|
||||
'barbican_container',
|
||||
@@ -223,6 +229,11 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
||||
'designate_worker',
|
||||
'designate_producer',
|
||||
'designate_sink',
|
||||
'freezer_all',
|
||||
'freezer_api',
|
||||
'freezer_api_container',
|
||||
'freezer_scheduler',
|
||||
'freezer_scheduler_container',
|
||||
'galera',
|
||||
'galera_all',
|
||||
'galera_container',
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
- name: openstack/openstack-ansible-os_blazar
|
||||
- name: openstack/openstack-ansible-os_ceilometer
|
||||
- name: openstack/openstack-ansible-os_cinder
|
||||
- name: openstack/openstack-ansible-os_freezer
|
||||
- name: openstack/openstack-ansible-os_designate
|
||||
- name: openstack/openstack-ansible-os_glance
|
||||
- name: openstack/openstack-ansible-os_gnocchi
|
||||
@@ -196,6 +197,7 @@
|
||||
- name: openstack/openstack-ansible-os_cloudkitty
|
||||
- name: openstack/openstack-ansible-os_cinder
|
||||
- name: openstack/openstack-ansible-os_designate
|
||||
- name: openstack/openstack-ansible-os_freezer
|
||||
- name: openstack/openstack-ansible-os_glance
|
||||
- name: openstack/openstack-ansible-os_gnocchi
|
||||
- name: openstack/openstack-ansible-os_heat
|
||||
@@ -237,6 +239,9 @@
|
||||
- name: openstack/cinder
|
||||
- name: openstack/cloudkitty
|
||||
- name: openstack/cloudkitty-dashboard
|
||||
- name: openstack/freezer
|
||||
- name: openstack/freezer-api
|
||||
- name: openstack/freezer-web-ui
|
||||
- name: openstack/designate
|
||||
- name: openstack/designate-dashboard
|
||||
- name: openstack/glance
|
||||
@@ -288,6 +293,7 @@
|
||||
- name: openstack/cinder-tempest-plugin
|
||||
- name: openstack/cloudkitty-tempest-plugin
|
||||
- name: openstack/designate-tempest-plugin
|
||||
- name: openstack/freezer-tempest-plugin
|
||||
- name: openstack/glance-tempest-plugin
|
||||
- name: openstack/heat-tempest-plugin
|
||||
- name: openstack/ironic-tempest-plugin
|
||||
|
||||
Reference in New Issue
Block a user