Add support to deploy zun
This patch adds zun to the integrated repo, so that deployers were able to use it out of the box and we have integrated tests Depends-On: https://review.opendev.org/692406 Change-Id: I7785964668679d3f97a36daa83043f6c10a3d7ac
This commit is contained in:
parent
49cc6c656c
commit
b4665609e2
7
etc/openstack_deploy/conf.d/zun.yml.aio
Normal file
7
etc/openstack_deploy/conf.d/zun.yml.aio
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
zun-infra_hosts:
|
||||
aio1:
|
||||
ip: 172.29.236.100
|
||||
zun-compute_hosts:
|
||||
aio1:
|
||||
ip: 172.29.236.100
|
9
etc/openstack_deploy/conf.d/zun.yml.example
Normal file
9
etc/openstack_deploy/conf.d/zun.yml.example
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
# The infra nodes that will be running the zun services
|
||||
zun-infra_hosts:
|
||||
infra1:
|
||||
ip: 172.20.236.111
|
||||
infra2:
|
||||
ip: 172.20.236.112
|
||||
infra3:
|
||||
ip: 172.20.236.113
|
@ -153,3 +153,9 @@ container_skel:
|
||||
utility_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
zun_api_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
zun_compute_container:
|
||||
properties:
|
||||
is_metal: true
|
||||
|
@ -295,3 +295,14 @@ placement_galera_password:
|
||||
ironic_inspector_container_mysql_password:
|
||||
ironic_inspector_service_password:
|
||||
ironic_inspector_swift_password:
|
||||
|
||||
# zun passwords
|
||||
zun_oslomsg_rpc_password:
|
||||
zun_galera_password:
|
||||
zun_service_password:
|
||||
zun_kuryr_service_password:
|
||||
#NOTE: Please uncomment those
|
||||
# if you want to split rpc and notify users
|
||||
# Please also wire the appropriate userid in
|
||||
# your user variables.
|
||||
#zun_oslomsg_notify_password:
|
||||
|
36
inventory/env.d/zun.yml
Normal file
36
inventory/env.d/zun.yml
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
component_skel:
|
||||
zun_api:
|
||||
belongs_to:
|
||||
- zun_all
|
||||
zun_compute:
|
||||
belongs_to:
|
||||
- zun_all
|
||||
|
||||
container_skel:
|
||||
zun_api_container:
|
||||
belongs_to:
|
||||
- zun-infra_containers
|
||||
contains:
|
||||
- zun_api
|
||||
zun_compute_container:
|
||||
belongs_to:
|
||||
- zun-compute_containers
|
||||
contains:
|
||||
- zun_compute
|
||||
properties:
|
||||
is_metal: true
|
||||
|
||||
physical_skel:
|
||||
zun-compute_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
zun-compute_hosts:
|
||||
belongs_to:
|
||||
- hosts
|
||||
zun-infra_containers:
|
||||
belongs_to:
|
||||
- all_containers
|
||||
zun-infra_hosts:
|
||||
belongs_to:
|
||||
- hosts
|
@ -439,3 +439,12 @@ haproxy_default_services:
|
||||
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||
- "httplog"
|
||||
haproxy_service_enabled: "{{ groups['panko_all'] is defined and groups['panko_all'] | length > 0 }}"
|
||||
- service:
|
||||
haproxy_service_name: zun_api
|
||||
haproxy_backend_nodes: "{{ groups['zun_api'] | default([]) }}"
|
||||
haproxy_ssl: "{{ haproxy_ssl }}"
|
||||
haproxy_port: 9517
|
||||
haproxy_balance_type: http
|
||||
haproxy_backend_options:
|
||||
- "httpchk GET /v1 HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||
haproxy_service_enabled: "{{ groups['zun_api'] is defined and groups['zun_api'] | length > 0 }}"
|
||||
|
@ -249,3 +249,9 @@ swift_remote
|
||||
[tacker_all]
|
||||
|
||||
[trove_all]
|
||||
|
||||
[zun_all:children]
|
||||
zun_api
|
||||
zun_compute
|
||||
[zun_api]
|
||||
[zun_compute]
|
||||
|
@ -322,3 +322,15 @@ blazar_nova_git_repo: https://opendev.org/openstack/blazar-nova
|
||||
blazar_nova_git_install_branch: 9f030ebc27572909b9315f1a6dd88f36c00ae72c # HEAD as of 08.03.2020
|
||||
blazar_nova_git_project_group: blazar_all
|
||||
blazar_nova_git_track_branch: master
|
||||
|
||||
## Zun service
|
||||
zun_git_repo: https://opendev.org/openstack/zun
|
||||
zun_git_install_branch: 499a547007dc3d8a79230d3a3fade12efdc93dcf # HEAD as of 31.10.2019
|
||||
zun_git_project_group: zun_all
|
||||
zun_git_track_branch: master
|
||||
|
||||
## Zun kyrir service
|
||||
zun_kuryr_git_repo: https://opendev.org/openstack/kuryr-libnetwork
|
||||
zun_kuryr_git_install_branch: fc7cc09604041e628d9a48777aad77f666dea8a1 # HEAD as of 31.10.2019
|
||||
zun_kuryr_git_project_group: zun_all
|
||||
zun_kuryr_git_track_branch: master
|
||||
|
60
playbooks/os-zun-install.yml
Normal file
60
playbooks/os-zun-install.yml
Normal file
@ -0,0 +1,60 @@
|
||||
---
|
||||
# Copyright 2019, VEXXHOST, Inc
|
||||
#
|
||||
# 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.
|
||||
|
||||
- name: Install the zun components
|
||||
hosts: zun_all
|
||||
gather_facts: "{{ osa_gather_facts | default(True) }}"
|
||||
user: root
|
||||
vars_files:
|
||||
- "defaults/repo_packages/openstack_services.yml"
|
||||
- "defaults/{{ install_method }}_install.yml"
|
||||
pre_tasks:
|
||||
# In order to ensure that any container, software or
|
||||
# config file changes which causes a container/service
|
||||
# restart do not cause an unexpected outage, we drain
|
||||
# the load balancer back end for this container.
|
||||
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
|
||||
vars:
|
||||
haproxy_backend: zun_api-back
|
||||
haproxy_state: disabled
|
||||
when:
|
||||
- "'zun_api' in group_names"
|
||||
- "groups['zun_api'] | length > 1"
|
||||
|
||||
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
|
||||
when: not is_metal
|
||||
|
||||
- include_tasks: common-tasks/unbound-clients.yml
|
||||
when:
|
||||
- hostvars['localhost']['resolvconf_enabled'] | bool
|
||||
|
||||
roles:
|
||||
- role: "os_zun"
|
||||
|
||||
post_tasks:
|
||||
# Now that container changes are done, we can set
|
||||
# the load balancer back end for this container
|
||||
# to available again.
|
||||
- include_tasks: common-tasks/haproxy-endpoint-manage.yml
|
||||
vars:
|
||||
haproxy_backend: zun_api-back
|
||||
haproxy_state: enabled
|
||||
when:
|
||||
- "'zun_api' in group_names"
|
||||
- "groups['zun_api'] | length > 1"
|
||||
|
||||
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||
tags:
|
||||
- zun
|
@ -39,6 +39,7 @@
|
||||
- import_playbook: os-manila-install.yml
|
||||
- import_playbook: os-mistral-install.yml
|
||||
- import_playbook: os-murano-install.yml
|
||||
- import_playbook: os-zun-install.yml
|
||||
|
||||
# This is not an OpenStack service, but integrates with Keystone and must be
|
||||
# deployed afterward.
|
||||
|
4
releasenotes/notes/add-zun-to-repo-169a09b4ab52c1f7.yaml
Normal file
4
releasenotes/notes/add-zun-to-repo-169a09b4ab52c1f7.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
---
|
||||
features:
|
||||
- A new playbook ``os-zun-install.yml`` has been added which will deploy the zun
|
||||
service to hosts assigned to the host group ``zun-infra_hosts``.
|
@ -188,6 +188,9 @@
|
||||
- src: user_variables_calico.yml.j2
|
||||
dest: user_variables_calico.yml
|
||||
condition: "{{ 'calico' in bootstrap_host_scenarios_expanded }}"
|
||||
- src: user_variables_zun.yml.j2
|
||||
dest: user_variables_zun.yml
|
||||
condition: "{{ 'zun' in bootstrap_host_scenarios_expanded }}"
|
||||
|
||||
- name: Copy modified cinder-volume env.d file for ceph scenario
|
||||
copy:
|
||||
|
@ -0,0 +1,21 @@
|
||||
---
|
||||
# Copyright 2020, VEXXHOST, Inc.
|
||||
#
|
||||
# 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.
|
||||
|
||||
tempest_test_whitelist:
|
||||
- zun_tempest_plugin.tests.tempest.api
|
||||
|
||||
tempest_tempest_conf_overrides:
|
||||
container_service:
|
||||
min_microversion: 1.12
|
@ -488,7 +488,18 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
||||
'unbound_hosts',
|
||||
'utility',
|
||||
'utility_all',
|
||||
'utility_container'
|
||||
'utility_container',
|
||||
'zun-infra_all',
|
||||
'zun-infra_containers',
|
||||
'zun-infra_hosts',
|
||||
'zun_all',
|
||||
'zun_api',
|
||||
'zun_api_container',
|
||||
'zun_compute',
|
||||
'zun-compute_containers',
|
||||
'zun-compute_hosts',
|
||||
'zun-compute_all',
|
||||
'zun_compute_container',
|
||||
]
|
||||
|
||||
@classmethod
|
||||
|
Loading…
x
Reference in New Issue
Block a user