Add panko to integrated build

In order to enable the testing of the complete telemetry
stack, we add panko to the integrated build.

Change-Id: Ica12e3c0a586609bf5a3e5b50905922932a0bbce
This commit is contained in:
Jesse Pretorius 2019-03-26 19:37:27 +00:00 committed by Dmitriy Rabotjagov
parent b1f0ba9260
commit 48266cefb5
16 changed files with 181 additions and 1 deletions

View File

@ -163,6 +163,11 @@
src: https://git.openstack.org/openstack/openstack-ansible-os_octavia
version: master
trackbranch: master
- name: os_panko
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_panko
version: master
trackbranch: master
- name: os_rally
scm: git
src: https://git.openstack.org/openstack/openstack-ansible-os_rally

View File

@ -160,6 +160,8 @@ OpenStack service roles
- :role_docs:`os_octavia`
- :role_docs:`os_panko`
- :role_docs:`os_rally`
- :role_docs:`os_sahara`

View File

@ -315,6 +315,15 @@
<td></td>
<td></td>
</tr>
<tr class="warning">
<td>os_panko</td>
<td>Rocky</td>
<td>Inclubated</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr >
<td>os_rally</td>
<td>Newton</td>
@ -475,4 +484,4 @@
<td>pip_lock_down</td>
<td>Liberty</td>
<td>Newton</td>
</tr></table>
</tr></table>

View File

@ -0,0 +1,3 @@
event-infra_hosts:
aio1:
ip: 172.29.236.100

View File

@ -0,0 +1,8 @@
# The infra nodes that will be running the event services
event-infra_hosts:
infra1:
ip: 172.20.236.111
infra2:
ip: 172.20.236.112
infra3:
ip: 172.20.236.113

View File

@ -90,6 +90,9 @@ container_skel:
octavia_server_container:
properties:
is_metal: true
panko_container:
properties:
is_metal: true
repo_container:
properties:
is_metal: true

View File

@ -270,3 +270,7 @@ congress_oslomsg_rpc_password:
# your user variables.
#congress_oslomsg_notify_password:
congress_service_password:
## panko passwords
panko_container_db_password:
panko_service_password:

36
inventory/env.d/panko.yml Normal file
View File

@ -0,0 +1,36 @@
---
# 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:
panko_api:
belongs_to:
- panko_all
container_skel:
panko_container:
belongs_to:
- event-infra_containers
contains:
- panko_api
properties:
service_name: panko
physical_skel:
event-infra_containers:
belongs_to:
- all_containers
event-infra_hosts:
belongs_to:
- hosts

View File

@ -0,0 +1,15 @@
---
#
# 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.
panko_service_region: "{{ service_region }}"

View File

@ -401,3 +401,14 @@ haproxy_default_services:
haproxy_backend_options:
- tcpka
haproxy_service_enabled: "{{ (neutron_plugin_type == 'ml2.ovn') and (groups['neutron_ovn_northd'] is defined and groups['neutron_ovn_northd'] | length > 0) }}"
- service:
haproxy_service_name: panko_api
haproxy_backend_nodes: "{{ groups['panko_api'] | default([]) }}"
haproxy_ssl: "{{ haproxy_ssl }}"
haproxy_port: 8777
haproxy_balance_type: http
haproxy_backend_options:
- "forwardfor"
- "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 }}"

View File

@ -0,0 +1,24 @@
---
#
# 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.
panko_service_in_ldap: "{{ service_ldap_backend_enabled }}"
panko_service_publicuri: "{{ openstack_service_publicuri_proto|default(panko_service_proto) }}://{{ external_lb_vip_address }}:{{ panko_service_port }}"
# Ensure that the package state matches the global setting
panko_package_state: "{{ package_state }}"
# venv fetch configuration
panko_venv_tag: "{{ venv_tag }}"
panko_venv_download_url: "{{ venv_base_download_url }}/panko-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz"

View File

@ -197,6 +197,9 @@ nova_scheduler
[octavia_all]
[panko_all:children]
panko_api
[rsyslog_all]
[sahara_all:children]

View File

@ -288,12 +288,20 @@ octavia_git_project_group: octavia_all
octavia_git_track_branch: master
## Panko service
panko_git_repo: https://git.openstack.org/openstack/panko
panko_git_install_branch: 91f809625560d770f39299f782eff2b56ec84874 # HEAD as of 23.03.2019
panko_git_project_group: panko_all
panko_git_track_branch: master
## Tacker service
tacker_git_repo: https://git.openstack.org/openstack/tacker
tacker_git_install_branch: 1a3c02772442a358baea762e9a67721efdd56595 # HEAD as of 23.03.2019
tacker_git_project_group: tacker_all
tacker_git_track_branch: master
## Congress service
congress_git_repo: https://git.openstack.org/openstack/congress
congress_git_install_branch: 030eed8c5519d44a69b3b458cf5169086852ae0d # HEAD as of 23.03.2019

View File

@ -0,0 +1,42 @@
---
#
# 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 panko components
hosts: panko_all
gather_facts: "{{ osa_gather_facts | default(True) }}"
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
vars_files:
- "defaults/repo_packages/openstack_services.yml"
- "defaults/{{ install_method }}_install.yml"
tags:
- panko
pre_tasks:
- include_tasks: "common-tasks/os-{{ container_tech | default('lxc') }}-container-setup.yml"
when: not is_metal
- include_tasks: common-tasks/os-log-dir-setup.yml
vars:
log_dirs:
- src: "/openstack/log/{{ inventory_hostname }}-panko"
dest: "/var/log/panko"
roles:
- role: "os_panko"
post_tasks:
- include_tasks: "common-tasks/rsyslog-client.yml"
vars:
rsyslog_client_log_rotate_file: panko_log_rotate
rsyslog_client_log_dir: "/var/log/panko"
rsyslog_client_config_name: "99-panko-rsyslog-client.conf"

View File

@ -26,6 +26,7 @@
- import_playbook: os-swift-install.yml
- import_playbook: os-ceilometer-install.yml
- import_playbook: os-aodh-install.yml
- import_playbook: os-panko-install.yml
- import_playbook: os-ironic-install.yml
- import_playbook: os-magnum-install.yml
- import_playbook: os-trove-install.yml

View File

@ -207,6 +207,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'etcd_container',
'etcd_containers',
'etcd_hosts',
'event-infra_all',
'event-infra_containers',
'event-infra_hosts',
'galera',
'galera_all',
'galera_container',
@ -308,6 +311,9 @@ class TestAnsibleInventoryFormatConstraints(unittest.TestCase):
'octavia-health-manager',
'octavia-infra_containers',
'octavia-infra_all',
'panko_all',
'panko_api',
'panko_container',
'policy_all',
'policy_containers',
'policy_hosts',