Adding Designate to integrated repo.
Change-Id: I92208c81bde9efbd832951004b28791c429a1e12
This commit is contained in:
parent
723049ce29
commit
835bec6c36
@ -166,3 +166,7 @@
|
|||||||
scm: git
|
scm: git
|
||||||
src: https://github.com/logan2211/ansible-resolvconf
|
src: https://github.com/logan2211/ansible-resolvconf
|
||||||
version: master
|
version: master
|
||||||
|
- name: os_designate
|
||||||
|
scm: git
|
||||||
|
src: https://git.openstack.org/openstack/openstack-ansible-os_designate
|
||||||
|
version: master
|
||||||
|
@ -39,6 +39,8 @@ OpenStack service roles
|
|||||||
|
|
||||||
- `os_cinder <http://docs.openstack.org/developer/openstack-ansible-os_cinder>`_
|
- `os_cinder <http://docs.openstack.org/developer/openstack-ansible-os_cinder>`_
|
||||||
|
|
||||||
|
- `os_designate <http://docs.openstack.org/developer/openstack-ansible-os_designate>`_
|
||||||
|
|
||||||
- `os_glance <http://docs.openstack.org/developer/openstack-ansible-os_glance>`_
|
- `os_glance <http://docs.openstack.org/developer/openstack-ansible-os_glance>`_
|
||||||
|
|
||||||
- `os_gnocchi <http://docs.openstack.org/developer/openstack-ansible-os_gnocchi>`_
|
- `os_gnocchi <http://docs.openstack.org/developer/openstack-ansible-os_gnocchi>`_
|
||||||
@ -90,7 +92,3 @@ Other roles
|
|||||||
- `openstack_hosts <http://docs.openstack.org/developer/openstack-ansible-openstack_hosts>`_
|
- `openstack_hosts <http://docs.openstack.org/developer/openstack-ansible-openstack_hosts>`_
|
||||||
|
|
||||||
- `rsyslog_client <http://docs.openstack.org/developer/openstack-ansible-rsyslog_client>`_
|
- `rsyslog_client <http://docs.openstack.org/developer/openstack-ansible-rsyslog_client>`_
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
etc/openstack_deploy/conf.d/designate.yml.aio
Normal file
4
etc/openstack_deploy/conf.d/designate.yml.aio
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
dnsaas_hosts:
|
||||||
|
aio1:
|
||||||
|
ip: 172.29.236.100
|
8
etc/openstack_deploy/conf.d/designate.yml.example
Normal file
8
etc/openstack_deploy/conf.d/designate.yml.example
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# The infra nodes that will be running the dnsaas services
|
||||||
|
dnsaas_hosts:
|
||||||
|
infra1:
|
||||||
|
ip: 172.20.236.111
|
||||||
|
infra2:
|
||||||
|
ip: 172.20.236.112
|
||||||
|
infra3:
|
||||||
|
ip: 172.20.236.113
|
@ -139,3 +139,9 @@ trove_regular_user_password:
|
|||||||
barbican_galera_password:
|
barbican_galera_password:
|
||||||
barbican_rabbitmq_password:
|
barbican_rabbitmq_password:
|
||||||
barbican_service_password:
|
barbican_service_password:
|
||||||
|
|
||||||
|
## Designate Options
|
||||||
|
designate_galera_password:
|
||||||
|
designate_pool_manager_galera_password:
|
||||||
|
designate_rabbitmq_password:
|
||||||
|
designate_service_password:
|
||||||
|
@ -63,6 +63,13 @@ cinder_git_dest: "/opt/cinder_{{ cinder_git_install_branch | replace('/', '_') }
|
|||||||
cinder_git_project_group: cinder_all
|
cinder_git_project_group: cinder_all
|
||||||
|
|
||||||
|
|
||||||
|
## Designate service
|
||||||
|
designate_git_repo: https://git.openstack.org/openstack/designate
|
||||||
|
designate_git_install_branch: 7dd477815ebea4f7cdf230dec7f2a3e19605a3bb # HEAD of "master" as of 12.10.2016
|
||||||
|
designate_git_dest: "/opt/designate_{{ designate_git_install_branch | replace('/', '_') }}"
|
||||||
|
designate_git_project_group: designate_all
|
||||||
|
|
||||||
|
|
||||||
## Glance service
|
## Glance service
|
||||||
glance_git_repo: https://git.openstack.org/openstack/glance
|
glance_git_repo: https://git.openstack.org/openstack/glance
|
||||||
glance_git_install_branch: 7a89cf7d26c478f7400a3d8ab27ad6429a299deb # HEAD of "master" as of 12.10.2016
|
glance_git_install_branch: 7a89cf7d26c478f7400a3d8ab27ad6429a299deb # HEAD of "master" as of 12.10.2016
|
||||||
|
56
playbooks/inventory/env.d/designate.yml
Normal file
56
playbooks/inventory/env.d/designate.yml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
---
|
||||||
|
# Copyright 2016, Tata Consultancy Services
|
||||||
|
#
|
||||||
|
# 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:
|
||||||
|
designate_api:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
designate_central:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
designate_mdns:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
designate_pool_manager:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
designate_zone_manager:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
designate_sink:
|
||||||
|
belongs_to:
|
||||||
|
- designate_all
|
||||||
|
|
||||||
|
container_skel:
|
||||||
|
designate_container:
|
||||||
|
belongs_to:
|
||||||
|
- dnsaas_containers
|
||||||
|
contains:
|
||||||
|
- designate_api
|
||||||
|
- designate_central
|
||||||
|
- designate_mdns
|
||||||
|
- designate_pool_manager
|
||||||
|
- designate_zone_manager
|
||||||
|
- designate_sink
|
||||||
|
properties:
|
||||||
|
service_name: designate
|
||||||
|
|
||||||
|
physical_skel:
|
||||||
|
dnsaas_containers:
|
||||||
|
belongs_to:
|
||||||
|
- all_containers
|
||||||
|
dnsaas_hosts:
|
||||||
|
belongs_to:
|
||||||
|
- hosts
|
@ -332,6 +332,8 @@ neutron_rabbitmq_telemetry_servers: "{{ neutron_rabbitmq_servers }}"
|
|||||||
neutron_rabbitmq_telemetry_use_ssl: "{{ neutron_rabbitmq_use_ssl }}"
|
neutron_rabbitmq_telemetry_use_ssl: "{{ neutron_rabbitmq_use_ssl }}"
|
||||||
neutron_rabbitmq_telemetry_host_group: "{{ neutron_rabbitmq_host_group }}"
|
neutron_rabbitmq_telemetry_host_group: "{{ neutron_rabbitmq_host_group }}"
|
||||||
|
|
||||||
|
# If there are any Designate hosts in the environment, then enable its usage
|
||||||
|
neutron_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
|
||||||
# If there are any Ceilometer hosts in the environment, then enable its usage
|
# If there are any Ceilometer hosts in the environment, then enable its usage
|
||||||
neutron_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"
|
neutron_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"
|
||||||
|
|
||||||
@ -375,6 +377,8 @@ nova_rabbitmq_telemetry_servers: "{{ nova_rabbitmq_servers }}"
|
|||||||
nova_rabbitmq_telemetry_use_ssl: "{{ nova_rabbitmq_use_ssl }}"
|
nova_rabbitmq_telemetry_use_ssl: "{{ nova_rabbitmq_use_ssl }}"
|
||||||
nova_rabbitmq_telemetry_host_group: "{{ nova_rabbitmq_host_group }}"
|
nova_rabbitmq_telemetry_host_group: "{{ nova_rabbitmq_host_group }}"
|
||||||
|
|
||||||
|
# If there are any Designate hosts in the environment, then enable its usage
|
||||||
|
nova_designate_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) }}"
|
||||||
# If there are any Ceilometer hosts in the environment, then enable its usage
|
# If there are any Ceilometer hosts in the environment, then enable its usage
|
||||||
nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"
|
nova_ceilometer_enabled: "{{ (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"
|
||||||
|
|
||||||
|
52
playbooks/inventory/group_vars/designate_all.yml
Normal file
52
playbooks/inventory/group_vars/designate_all.yml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
# Copyright 2016 Internet Solutions (Pty) Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
designate_service_port: 9001
|
||||||
|
designate_service_proto: http
|
||||||
|
designate_service_adminuri_proto: "{{ openstack_service_adminuri_proto | default(designate_service_proto) }}"
|
||||||
|
designate_service_adminuri: "{{ designate_service_adminuri_proto }}://{{ internal_lb_vip_address }}:{{ designate_service_port }}"
|
||||||
|
designate_service_adminurl: "{{ designate_service_adminuri }}"
|
||||||
|
designate_service_region: "{{ service_region }}"
|
||||||
|
|
||||||
|
# Galera
|
||||||
|
designate_galera_address: "{{ galera_address }}"
|
||||||
|
designate_galera_user: designate
|
||||||
|
designate_galera_database_name: designate
|
||||||
|
designate_pool_manager_galera_user: designate_pool_manager
|
||||||
|
designate_pool_manager_galera_address: "{{ galera_address }}"
|
||||||
|
designate_pool_manager_galera_database_name: designate_pool_manager
|
||||||
|
|
||||||
|
# RPC
|
||||||
|
designate_rabbitmq_userid: designate
|
||||||
|
designate_rabbitmq_vhost: /designate
|
||||||
|
designate_rabbitmq_port: "{{ rabbitmq_port }}"
|
||||||
|
designate_rabbitmq_servers: "{{ rabbitmq_servers }}"
|
||||||
|
designate_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}"
|
||||||
|
designate_rabbitmq_host_group: "{{ rabbitmq_host_group }}"
|
||||||
|
|
||||||
|
# Telemetry notifications
|
||||||
|
designate_rabbitmq_telemetry_userid: "{{ designate_rabbitmq_userid }}"
|
||||||
|
designate_rabbitmq_telemetry_password: "{{ designate_rabbitmq_password }}"
|
||||||
|
designate_rabbitmq_telemetry_vhost: "{{ designate_rabbitmq_vhost }}"
|
||||||
|
designate_rabbitmq_telemetry_port: "{{ designate_rabbitmq_port }}"
|
||||||
|
designate_rabbitmq_telemetry_servers: "{{ designate_rabbitmq_servers }}"
|
||||||
|
designate_rabbitmq_telemetry_use_ssl: "{{ designate_rabbitmq_use_ssl }}"
|
||||||
|
designate_rabbitmq_telemetry_host_group: "{{ designate_rabbitmq_host_group }}"
|
||||||
|
|
||||||
|
# If there are any Ceilometer hosts in the environment, then enable its usage
|
||||||
|
designate_ceilometer_enabled: "{{ (groups['designate_all'] is defined) and (groups['designate_all'] | length > 0) and (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"
|
||||||
|
|
||||||
|
# Ensure that the package state matches the global setting
|
||||||
|
designate_package_state: "{{ package_state }}"
|
86
playbooks/os-designate-install.yml
Normal file
86
playbooks/os-designate-install.yml
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
---
|
||||||
|
# Copyright 2016 Internet Solutions (Pty) Ltd
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# (c) 2016 Donovan Francesco <donovan.francesco@is.co.za>
|
||||||
|
# (c) 2016 Paul Stevens <paul.stevens@is.co.za>
|
||||||
|
|
||||||
|
- name: Install designate server
|
||||||
|
hosts: designate_all
|
||||||
|
gather_facts: "{{ gather_facts | default(True) }}"
|
||||||
|
user: root
|
||||||
|
pre_tasks:
|
||||||
|
- include: common-tasks/os-lxc-container-setup.yml
|
||||||
|
- include: common-tasks/rabbitmq-vhost-user.yml
|
||||||
|
static: no
|
||||||
|
vars:
|
||||||
|
user: "{{ designate_rabbitmq_userid }}"
|
||||||
|
password: "{{ designate_rabbitmq_password }}"
|
||||||
|
vhost: "{{ designate_rabbitmq_vhost }}"
|
||||||
|
_rabbitmq_host_group: "{{ designate_rabbitmq_host_group }}"
|
||||||
|
when:
|
||||||
|
- inventory_hostname == groups['designate_all'][0]
|
||||||
|
- groups[designate_rabbitmq_host_group] | length > 0
|
||||||
|
- include: common-tasks/rabbitmq-vhost-user.yml
|
||||||
|
static: no
|
||||||
|
vars:
|
||||||
|
user: "{{ designate_rabbitmq_telemetry_userid }}"
|
||||||
|
password: "{{ designate_rabbitmq_telemetry_password }}"
|
||||||
|
vhost: "{{ designate_rabbitmq_telemetry_vhost }}"
|
||||||
|
_rabbitmq_host_group: "{{ designate_rabbitmq_telemetry_host_group }}"
|
||||||
|
when:
|
||||||
|
- designate_ceilometer_enabled | bool
|
||||||
|
- inventory_hostname == groups['designate_all'][0]
|
||||||
|
- groups[designate_rabbitmq_telemetry_host_group] is defined
|
||||||
|
- groups[designate_rabbitmq_telemetry_host_group] | length > 0
|
||||||
|
- groups[designate_rabbitmq_telemetry_host_group] != groups[designate_rabbitmq_host_group]
|
||||||
|
- include: common-tasks/os-log-dir-setup.yml
|
||||||
|
vars:
|
||||||
|
log_dirs:
|
||||||
|
- src: "/openstack/log/{{ inventory_hostname }}-designate"
|
||||||
|
dest: "/var/log/designate"
|
||||||
|
- include: common-tasks/mysql-db-user.yml
|
||||||
|
static: no
|
||||||
|
vars:
|
||||||
|
user_name: "{{ designate_galera_user }}"
|
||||||
|
password: "{{ designate_galera_password }}"
|
||||||
|
login_host: "{{ designate_galera_address }}"
|
||||||
|
db_name: "{{ designate_galera_database_name }}"
|
||||||
|
when: inventory_hostname == groups['designate_all'][0]
|
||||||
|
- include: common-tasks/mysql-db-user.yml
|
||||||
|
static: no
|
||||||
|
vars:
|
||||||
|
user_name: "{{ designate_pool_manager_galera_user }}"
|
||||||
|
password: "{{ designate_pool_manager_galera_password }}"
|
||||||
|
login_host: "{{ designate_pool_manager_galera_address }}"
|
||||||
|
db_name: "{{ designate_pool_manager_galera_database_name }}"
|
||||||
|
when: inventory_hostname == groups['designate_all'][0]
|
||||||
|
- include: common-tasks/package-cache-proxy.yml
|
||||||
|
roles:
|
||||||
|
- role: "os_designate"
|
||||||
|
designate_venv_tag: "{{ openstack_release }}"
|
||||||
|
designate_venv_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ ansible_distribution | lower }}/designate-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz"
|
||||||
|
- role: "openstack_openrc"
|
||||||
|
tags:
|
||||||
|
- openrc
|
||||||
|
- role: "rsyslog_client"
|
||||||
|
rsyslog_client_log_rotate_file: designate_log_rotate
|
||||||
|
rsyslog_client_log_dir: "/var/log/designate"
|
||||||
|
rsyslog_client_config_name: "99-designate-rsyslog-client.conf"
|
||||||
|
tags:
|
||||||
|
- rsyslog
|
||||||
|
vars:
|
||||||
|
is_metal: "{{ properties.is_metal|default(false) }}"
|
||||||
|
tags:
|
||||||
|
- designate
|
@ -268,3 +268,12 @@ haproxy_default_services:
|
|||||||
haproxy_balance_type: tcp
|
haproxy_balance_type: tcp
|
||||||
haproxy_backend_options:
|
haproxy_backend_options:
|
||||||
- tcp-check
|
- tcp-check
|
||||||
|
- service:
|
||||||
|
haproxy_service_name: designate_api
|
||||||
|
haproxy_backend_nodes: "{{ groups['designate_api'] | default([]) }}"
|
||||||
|
haproxy_port: 9001
|
||||||
|
haproxy_balance_type: http
|
||||||
|
haproxy_backend_options:
|
||||||
|
- "forwardfor"
|
||||||
|
- "httpchk /versions"
|
||||||
|
- "httplog"
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Experimental support has been added to allow the deployment of
|
||||||
|
the OpenStack Designate service when hosts are present in the host
|
||||||
|
group ``dnsaas_hosts``.
|
@ -167,6 +167,17 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
|
|||||||
'dashboard_hosts',
|
'dashboard_hosts',
|
||||||
'database_containers',
|
'database_containers',
|
||||||
'database_hosts',
|
'database_hosts',
|
||||||
|
'dnsaas_all',
|
||||||
|
'dnsaas_containers',
|
||||||
|
'dnsaas_hosts',
|
||||||
|
'designate_all',
|
||||||
|
'designate_container',
|
||||||
|
'designate_api',
|
||||||
|
'designate_central',
|
||||||
|
'designate_mdns',
|
||||||
|
'designate_pool_manager',
|
||||||
|
'designate_zone_manager',
|
||||||
|
'designate_sink',
|
||||||
'galera',
|
'galera',
|
||||||
'galera_all',
|
'galera_all',
|
||||||
'galera_container',
|
'galera_container',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user