Add support to deploy murano
Needed-By: https://review.opendev.org/677830 Depends-On: https://review.opendev.org/682896 Change-Id: If40e2aa07af9ae3099aeb8f1c58388765d3ddd33
This commit is contained in:
parent
88360784d3
commit
0ff6e1fb34
@ -148,6 +148,11 @@
|
|||||||
src: https://opendev.org/openstack/openstack-ansible-os_mistral
|
src: https://opendev.org/openstack/openstack-ansible-os_mistral
|
||||||
version: master
|
version: master
|
||||||
trackbranch: master
|
trackbranch: master
|
||||||
|
- name: os_murano
|
||||||
|
scm: git
|
||||||
|
src: https://opendev.org/openstack/openstack-ansible-os_murano
|
||||||
|
version: master
|
||||||
|
trackbranch: master
|
||||||
- name: os_neutron
|
- name: os_neutron
|
||||||
scm: git
|
scm: git
|
||||||
src: https://opendev.org/openstack/openstack-ansible-os_neutron
|
src: https://opendev.org/openstack/openstack-ansible-os_neutron
|
||||||
|
3
etc/openstack_deploy/conf.d/murano.yml.aio
Normal file
3
etc/openstack_deploy/conf.d/murano.yml.aio
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
murano-infra_hosts:
|
||||||
|
aio1:
|
||||||
|
ip: 172.29.236.100
|
8
etc/openstack_deploy/conf.d/murano.yml.example
Normal file
8
etc/openstack_deploy/conf.d/murano.yml.example
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# The infra nodes that will be running the murano services
|
||||||
|
murano-infra_hosts:
|
||||||
|
infra1:
|
||||||
|
ip: 172.20.236.111
|
||||||
|
infra2:
|
||||||
|
ip: 172.20.236.112
|
||||||
|
infra3:
|
||||||
|
ip: 172.20.236.113
|
@ -87,6 +87,9 @@ container_skel:
|
|||||||
mistral_container:
|
mistral_container:
|
||||||
properties:
|
properties:
|
||||||
is_metal: true
|
is_metal: true
|
||||||
|
murano_container:
|
||||||
|
properties:
|
||||||
|
is_metal: true
|
||||||
neutron_agents_container:
|
neutron_agents_container:
|
||||||
properties:
|
properties:
|
||||||
is_metal: true
|
is_metal: true
|
||||||
|
@ -197,6 +197,11 @@ mistral_service_password:
|
|||||||
mistral_galera_password:
|
mistral_galera_password:
|
||||||
mistral_oslomsg_rpc_password:
|
mistral_oslomsg_rpc_password:
|
||||||
|
|
||||||
|
# Murano Options
|
||||||
|
murano_service_password:
|
||||||
|
murano_galera_password:
|
||||||
|
murano_oslomsg_rpc_password:
|
||||||
|
|
||||||
## Rally Options:
|
## Rally Options:
|
||||||
rally_galera_password:
|
rally_galera_password:
|
||||||
|
|
||||||
|
39
inventory/env.d/murano.yml
Normal file
39
inventory/env.d/murano.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
---
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
component_skel:
|
||||||
|
murano_api:
|
||||||
|
belongs_to:
|
||||||
|
- murano_all
|
||||||
|
murano_engine:
|
||||||
|
belongs_to:
|
||||||
|
- murano_all
|
||||||
|
|
||||||
|
container_skel:
|
||||||
|
murano_container:
|
||||||
|
belongs_to:
|
||||||
|
- os-infra_containers
|
||||||
|
- murano-infra_containers
|
||||||
|
contains:
|
||||||
|
- murano_api
|
||||||
|
- murano_engine
|
||||||
|
|
||||||
|
physical_skel:
|
||||||
|
murano-infra_containers:
|
||||||
|
belongs_to:
|
||||||
|
- all_containers
|
||||||
|
murano-infra_hosts:
|
||||||
|
belongs_to:
|
||||||
|
- hosts
|
@ -291,6 +291,17 @@ haproxy_default_services:
|
|||||||
haproxy_backend_options:
|
haproxy_backend_options:
|
||||||
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
- "httpchk GET / HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||||
haproxy_service_enabled: "{{ groups['mistral_all'] is defined and groups['mistral_all'] | length > 0 }}"
|
haproxy_service_enabled: "{{ groups['mistral_all'] is defined and groups['mistral_all'] | length > 0 }}"
|
||||||
|
- service:
|
||||||
|
haproxy_service_name: murano
|
||||||
|
haproxy_backend_nodes: "{{ groups['murano_all'] | default([]) }}"
|
||||||
|
haproxy_ssl: "{{ haproxy_ssl }}"
|
||||||
|
haproxy_port: 8082
|
||||||
|
haproxy_balance_type: http
|
||||||
|
haproxy_backend_options:
|
||||||
|
- "httpchk GET /v1 HTTP/1.0\\r\\nUser-agent:\\ osa-haproxy-healthcheck"
|
||||||
|
haproxy_backend_httpcheck_options:
|
||||||
|
- "expect status 401"
|
||||||
|
haproxy_service_enabled: "{{ groups['murano_all'] is defined and groups['murano_all'] | length > 0 }}"
|
||||||
- service:
|
- service:
|
||||||
haproxy_service_name: trove
|
haproxy_service_name: trove
|
||||||
haproxy_backend_nodes: "{{ groups['trove_api'] | default([]) }}"
|
haproxy_backend_nodes: "{{ groups['trove_api'] | default([]) }}"
|
||||||
|
26
inventory/group_vars/murano_all.yml
Normal file
26
inventory/group_vars/murano_all.yml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
---
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
murano_service_port: 8082
|
||||||
|
murano_service_proto: http
|
||||||
|
murano_service_publicuri_proto: "{{ openstack_service_publicuri_proto | default(murano_service_proto) }}"
|
||||||
|
murano_service_publicurl: "{{ murano_service_publicuri_proto }}://{{ external_lb_vip_address }}:{{ murano_service_port }}"
|
||||||
|
murano_service_internaluri_proto: "{{ openstack_service_internaluri_proto | default(murano_service_proto) }}"
|
||||||
|
murano_service_internalurl: "{{ murano_service_internaluri_proto }}://{{ internal_lb_vip_address }}:{{ murano_service_port }}"
|
||||||
|
murano_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(murano_service_proto) }}"
|
||||||
|
murano_service_adminurl: "{{ murano_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ murano_service_port }}"
|
||||||
|
murano_service_region: "{{ service_region }}"
|
||||||
|
|
||||||
|
|
@ -163,6 +163,11 @@ mistral_notifier
|
|||||||
[mistral_executor]
|
[mistral_executor]
|
||||||
[mistral_notifier]
|
[mistral_notifier]
|
||||||
|
|
||||||
|
[murano_all:children]
|
||||||
|
murano_api
|
||||||
|
murano_engine
|
||||||
|
[murano_api]
|
||||||
|
[murano_engine]
|
||||||
|
|
||||||
[neutron_all:children]
|
[neutron_all:children]
|
||||||
neutron_agent
|
neutron_agent
|
||||||
|
@ -44,6 +44,7 @@ keystone_install_method: distro
|
|||||||
keystone_bin: /usr/bin
|
keystone_bin: /usr/bin
|
||||||
magnum_install_method: distro
|
magnum_install_method: distro
|
||||||
masakari_install_method: distro
|
masakari_install_method: distro
|
||||||
|
murano_install_method: distro
|
||||||
monasca_install_method: distro
|
monasca_install_method: distro
|
||||||
monasca-agent_install_method: distro
|
monasca-agent_install_method: distro
|
||||||
monasca-ui_install_method: distro
|
monasca-ui_install_method: distro
|
||||||
|
@ -250,6 +250,12 @@ mistral_git_install_branch: e4f62dab1d6160f2a41cd05b0ec893d7dcc55989 # HEAD as
|
|||||||
mistral_git_project_group: mistral_all
|
mistral_git_project_group: mistral_all
|
||||||
mistral_git_track_branch: master
|
mistral_git_track_branch: master
|
||||||
|
|
||||||
|
## Murano service
|
||||||
|
murano_git_repo: https://opendev.org/openstack/murano
|
||||||
|
murano_git_install_branch: f278aac4a836d20a7b8d01e290b5cf402a65ed3a # HEAD as of 22.08.2019
|
||||||
|
murano_git_project_group: murano_all
|
||||||
|
murano_git_track_branch: master
|
||||||
|
|
||||||
## Trove service
|
## Trove service
|
||||||
trove_git_repo: https://opendev.org/openstack/trove
|
trove_git_repo: https://opendev.org/openstack/trove
|
||||||
trove_git_install_branch: cdac6278aff0ad564a881d16368bbdf9be732b99 # HEAD as of 30.09.2019
|
trove_git_install_branch: cdac6278aff0ad564a881d16368bbdf9be732b99 # HEAD as of 30.09.2019
|
||||||
|
41
playbooks/os-murano-install.yml
Normal file
41
playbooks/os-murano-install.yml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
---
|
||||||
|
# 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 murano components
|
||||||
|
hosts: murano_all
|
||||||
|
gather_facts: "{{ osa_gather_facts | default(True) }}"
|
||||||
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||||
|
user: root
|
||||||
|
vars_files:
|
||||||
|
- "defaults/{{ install_method }}_install.yml"
|
||||||
|
tags:
|
||||||
|
- murano
|
||||||
|
pre_tasks:
|
||||||
|
- 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
|
||||||
|
|
||||||
|
- name: Configure package proxy cache
|
||||||
|
include_tasks: common-tasks/package-cache-proxy.yml
|
||||||
|
when: install_method == "source"
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: "os_murano"
|
||||||
|
- role: "system_crontab_coordination"
|
||||||
|
tags:
|
||||||
|
- crontab
|
@ -38,6 +38,7 @@
|
|||||||
- import_playbook: os-masakari-install.yml
|
- import_playbook: os-masakari-install.yml
|
||||||
- import_playbook: os-manila-install.yml
|
- import_playbook: os-manila-install.yml
|
||||||
- import_playbook: os-mistral-install.yml
|
- import_playbook: os-mistral-install.yml
|
||||||
|
- import_playbook: os-murano-install.yml
|
||||||
|
|
||||||
# This is not an OpenStack service, but integrates with Keystone and must be
|
# This is not an OpenStack service, but integrates with Keystone and must be
|
||||||
# deployed afterward.
|
# deployed afterward.
|
||||||
|
4
releasenotes/notes/add-murano-to-repo-ffsdgsdhgb332
Normal file
4
releasenotes/notes/add-murano-to-repo-ffsdgsdhgb332
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- A new playbook ``os-murano-install.yml`` has been added which will deploy the new murano
|
||||||
|
service to hosts assigned to the host group ``murano-infra_hosts``.
|
@ -179,6 +179,9 @@
|
|||||||
- src: user_variables_manila.yml.j2
|
- src: user_variables_manila.yml.j2
|
||||||
dest: user_variables_manila.yml
|
dest: user_variables_manila.yml
|
||||||
condition: "{{ 'manila' in bootstrap_host_scenarios_expanded }}"
|
condition: "{{ 'manila' in bootstrap_host_scenarios_expanded }}"
|
||||||
|
- src: user_variables_murano.yml.j2
|
||||||
|
dest: user_variables_murano.yml
|
||||||
|
condition: "{{ 'murano' in bootstrap_host_scenarios_expanded }}"
|
||||||
- src: user_variables_calico.yml.j2
|
- src: user_variables_calico.yml.j2
|
||||||
dest: user_variables_calico.yml
|
dest: user_variables_calico.yml
|
||||||
condition: "{{ 'calico' in bootstrap_host_scenarios_expanded }}"
|
condition: "{{ 'calico' in bootstrap_host_scenarios_expanded }}"
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
tempest_test_whitelist:
|
||||||
|
- murano_tempest_tests.tests.api.application_catalog
|
||||||
|
|
||||||
|
tempest_tempest_conf_overrides:
|
||||||
|
application_catalog:
|
||||||
|
deployment_tests: True
|
||||||
|
endpoint_type: internalURL
|
||||||
|
linux_image: cirros
|
||||||
|
|
||||||
|
tempest_flavors:
|
||||||
|
- name: m1.tiny
|
||||||
|
id: 203
|
||||||
|
ram: 256
|
||||||
|
disk: 5
|
||||||
|
vcpus: 1
|
@ -38,6 +38,9 @@ bootstrap_host_scenarios_expanded: |-
|
|||||||
{% if 'ironic' in bootstrap_host_scenarios %}
|
{% if 'ironic' in bootstrap_host_scenarios %}
|
||||||
{% set _ = scenario_list.extend(['swift']) %}
|
{% set _ = scenario_list.extend(['swift']) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if 'murano' in bootstrap_host_scenarios %}
|
||||||
|
{% set _ = scenario_list.extend(['heat']) %}
|
||||||
|
{% endif %}
|
||||||
{% if 'telemetry' in bootstrap_host_scenarios %}
|
{% if 'telemetry' in bootstrap_host_scenarios %}
|
||||||
{% set _ = scenario_list.extend(['aodh', 'ceilometer', 'gnocchi', 'panko']) %}
|
{% set _ = scenario_list.extend(['aodh', 'ceilometer', 'gnocchi', 'panko']) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -309,6 +309,13 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
|||||||
'mistral_engine',
|
'mistral_engine',
|
||||||
'mistral_executor',
|
'mistral_executor',
|
||||||
'mistral_notifier',
|
'mistral_notifier',
|
||||||
|
'murano-infra_all',
|
||||||
|
'murano-infra_containers',
|
||||||
|
'murano-infra_hosts',
|
||||||
|
'murano_all',
|
||||||
|
'murano_container',
|
||||||
|
'murano_api',
|
||||||
|
'murano_engine',
|
||||||
'mano_all',
|
'mano_all',
|
||||||
'mano_containers',
|
'mano_containers',
|
||||||
'mano_hosts',
|
'mano_hosts',
|
||||||
|
Loading…
Reference in New Issue
Block a user