Integrate Congress with OSA.

- Tests minimum tempest's congress tests.

Change-Id: Id0c4a4bb4c01757da671a495613141ad738573dd
Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
This commit is contained in:
Taseer Ahmed 2017-10-19 16:01:06 +05:00 committed by Jean-Philippe Evrard
parent a08b85cbdf
commit eee6c77180
14 changed files with 188 additions and 2 deletions

View File

@ -70,6 +70,10 @@
scm: git scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_cinder src: https://git.openstack.org/openstack/openstack-ansible-os_cinder
version: master version: master
- name: os_congress
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_congress
version: master
- name: os_designate - name: os_designate
scm: git scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_designate src: https://git.openstack.org/openstack/openstack-ansible-os_designate

View File

@ -0,0 +1,4 @@
---
policy_hosts:
aio1:
ip: 172.29.236.100

View File

@ -163,3 +163,7 @@ tacker_container_mysql_password:
## Ceph RadosGW Keystone password ## Ceph RadosGW Keystone password
radosgw_admin_password: radosgw_admin_password:
## Congress options
congress_container_mysql_password:
congress_service_password:

View File

@ -0,0 +1,36 @@
---
# Copyright 2017, taseer94@gmail.com
#
# 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:
congress_server:
belongs_to:
- congress_all
container_skel:
congress_container:
belongs_to:
- policy_containers
contains:
- congress_server
physical_skel:
policy_containers:
belongs_to:
- all_containers
policy_hosts:
belongs_to:
- hosts

View File

@ -0,0 +1,29 @@
---
# Copyright 2017, taseer94@gmail.com
#
# 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.
congress_service_region: "{{ service_region }}"
congress_service_in_ldap: "{{ service_ldap_backend_enabled }}"
# MariaDB details for the congress service
congress_galera_user: congress
congress_galera_database: congress
congress_galera_address: "{{ galera_address }}"
# Ensure that the package state matches the global setting
congress_package_state: "{{ package_state }}"
# venv fetch configuration
congress_venv_tag: "{{ venv_tag }}"
congress_venv_download_url: "{{ venv_base_download_url }}/congress-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz"

View File

@ -238,3 +238,9 @@ molteniron_git_project_group: molteniron_all
tacker_git_repo: https://git.openstack.org/openstack/tacker tacker_git_repo: https://git.openstack.org/openstack/tacker
tacker_git_install_branch: 1df345f8dc984d84df362980703616d78a3465b6 # HEAD of "master" as of 16.02.2018 tacker_git_install_branch: 1df345f8dc984d84df362980703616d78a3465b6 # HEAD of "master" as of 16.02.2018
tacker_git_project_group: tacker_all tacker_git_project_group: tacker_all
## Congress service
congress_git_repo: https://git.openstack.org/openstack/congress
congress_git_install_branch: d3abc388515ba6456944093a6accde003dfea33f # HEAD of "master" as of 16.02.2018
congress_git_project_group: congress_all

View File

@ -0,0 +1,58 @@
---
# Copyright 2017, taseer94@gmail.com
#
# 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 congress components
hosts: congress_all
gather_facts: "{{ gather_facts | default(True) }}"
max_fail_percentage: 20
user: root
pre_tasks:
- include: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
- include: common-tasks/mysql-db-user.yml
vars:
user_name: "{{ congress_galera_user }}"
password: "{{ congress_container_mysql_password }}"
login_host: "{{ congress_galera_address }}"
db_name: "{{ congress_galera_database }}"
run_once: yes
- name: Configure log directories (on metal)
include: common-tasks/os-log-dir-setup.yml
vars:
log_dirs:
- src: "/openstack/log/{{ inventory_hostname }}-congress"
dest: "/var/log/congress"
- include: common-tasks/unbound-clients.yml
static: no
when:
- hostvars['localhost']['resolvconf_enabled'] | bool
- name: Configure package proxy cache
include: common-tasks/package-cache-proxy.yml
roles:
- role: "os_congress"
- role: "openstack_openrc"
tags:
- openrc
- role: "rsyslog_client"
rsyslog_client_log_rotate_file: congress_log_rotate
rsyslog_client_log_dir: "/var/log/congress"
rsyslog_client_config_name: "99-congress-rsyslog-client.conf"
tags:
- rsyslog
- role: "system_crontab_coordination"
tags:
- crontab

View File

@ -44,7 +44,7 @@
# 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.
- include: ceph-rgw-install.yml - include: ceph-rgw-install.yml
- include: os-congress-install.yml
- include: os-tempest-install.yml - include: os-tempest-install.yml
when: (tempest_install | default(False)) | bool or (tempest_run | default(False)) | bool when: (tempest_install | default(False)) | bool or (tempest_run | default(False)) | bool

View File

@ -47,6 +47,9 @@ bootstrap_user_variables_extra_templates:
ceph: ceph:
- src: user_variables_ceph.yml.j2 - src: user_variables_ceph.yml.j2
dest: user_variables_ceph.yml dest: user_variables_ceph.yml
congress:
- src: user_variables_congress.yml.j2
dest: user_variables_congress.yml
translations: translations:
- src: user_variables_translations.yml.j2 - src: user_variables_translations.yml.j2
dest: user_variables_translations.yml dest: user_variables_translations.yml

View File

@ -0,0 +1,21 @@
# Copyright 2018, Taseer Ahmed <taseer94@gmail.com>
#
# 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_plugins:
- name: congress-tempest-plugin
repo: https://github.com/openstack/congress-tempest-plugin
branch: 15a14c3c8ee844db53571d28f86eafe8bc5fc02b # HEAD of "master" as of 16.02.2018
tempest_whitelist:
- congress_tempest_plugin.tests.scenario.test_congress_basic_ops

View File

@ -179,6 +179,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'compute_all', 'compute_all',
'compute_containers', 'compute_containers',
'compute_hosts', 'compute_hosts',
'congress_all',
'congress_container',
'congress_server',
'dashboard_all', 'dashboard_all',
'dashboard_containers', 'dashboard_containers',
'dashboard_hosts', 'dashboard_hosts',
@ -280,6 +283,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'octavia-health-manager', 'octavia-health-manager',
'octavia-infra_containers', 'octavia-infra_containers',
'octavia-infra_all', 'octavia-infra_all',
'policy_all',
'policy_containers',
'policy_hosts',
'powervm-compute_containers', 'powervm-compute_containers',
'powervm-compute_hosts', 'powervm-compute_hosts',
'qemu-compute_containers', 'qemu-compute_containers',

View File

@ -52,6 +52,12 @@ confd_overrides:
- name: keystone.yml.aio - name: keystone.yml.aio
- name: neutron.yml.aio - name: neutron.yml.aio
- name: nova.yml.aio - name: nova.yml.aio
congress:
- name: haproxy.yml.aio
- name: nova.yml.aio
- name: neutron.yml.aio
- name: keystone.yml.aio
- name: congress.yml.aio
translations: translations:
- name: haproxy.yml.aio - name: haproxy.yml.aio
- name: cinder.yml.aio - name: cinder.yml.aio

View File

@ -112,6 +112,14 @@
action: deploy action: deploy
scenario: translations scenario: translations
- job:
name: openstack-ansible-deploy-congress-ubuntu-xenial
parent: openstack-ansible-deploy-aio_lxc-ubuntu-xenial
voting: false
vars:
action: deploy
scenario: congress
# centos # centos
- job: - job:
name: openstack-ansible-deploy-aio_lxc-centos-7 name: openstack-ansible-deploy-aio_lxc-centos-7

View File

@ -33,6 +33,7 @@
- openstack-ansible-deploy-octavia-ubuntu-xenial - openstack-ansible-deploy-octavia-ubuntu-xenial
- openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-xenial - openstack-ansible-deploy_with_ansible_devel-aio-ubuntu-xenial
- openstack-ansible-deploy-aio_nspawn-centos-7 - openstack-ansible-deploy-aio_nspawn-centos-7
- openstack-ansible-deploy-congress-ubuntu-xenial
gate: gate:
jobs: jobs:
- openstack-ansible-linters - openstack-ansible-linters