Fix functional tests for Blazar

The functional test check the responsiveness of the Blazar API. A
return of 204 code from the API verifies the success.

Rest of the changes ensure compliance with all the standards required
to make the linter and docs tests pass.

Change-Id: I640877817ad1ae312436932af87ad15094616f12
This commit is contained in:
Taseer Ahmed 2018-05-31 11:47:39 +05:00 committed by Taseer
parent 41910f2ab7
commit 0ad0677d26
10 changed files with 52 additions and 21 deletions

View File

@ -42,6 +42,9 @@ blazar_pip_install_args: >-
blazar_venv_tag: "{{ venv_tag | default('untagged') }}"
blazar_bin: "/openstack/venvs/blazar-{{ blazar_venv_tag }}/bin"
# venv_download, even when true, will use the fallback method of building the
# venv from scratch if the venv download fails.
blazar_venv_download: "{{ not blazar_developer_mode | bool }}"
blazar_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/blazar.tgz
blazar_etc_dir: /etc/blazar
blazar_config_option: "--config-file {{ blazar_etc_dir }}/blazar.conf"
@ -49,7 +52,9 @@ blazar_config_option: "--config-file {{ blazar_etc_dir }}/blazar.conf"
## Common PIP requirements
blazar_pip_packages:
- blazar
- blazar-nova
- osprofiler
- pymysql
- python-blazarclient
- systemd-python
@ -69,10 +74,12 @@ blazar_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'
blazar_galera_address: "{{ galera_address | default('127.0.0.1') }}"
blazar_galera_database: blazar
blazar_galera_user: blazar
blazar_galera_use_ssl: "{{ galera_use_ssl | default(False) }}"
blazar_galera_ssl_ca_cert: "{{ galera_ssl_ca_cert | default('/etc/ssl/certs/galera-ca.pem') }}"
## Service Type and Data
blazar_service_region: RegionOne
blazar_service_name: blazar
blazar_service_region: RegionOne
blazar_service_proto: http
blazar_service_type: policy
blazar_service_description: "blazar service"
@ -97,11 +104,13 @@ blazar_services:
service_name: blazar-api
execstarts: "{{ blazar_bin }}/blazar-api {{ blazar_config_option }}"
init_config_overrides: "{{ blazar_api_init_config_overrides }}"
start_order: 1
blazar-manager:
group: blazar_all
service_name: blazar-manager
execstarts: "{{ blazar_bin }}/blazar-manager {{ blazar_config_option }}"
init_config_overrides: "{{ blazar_manager_init_config_overrides }}"
start_order: 2
## Keystone
blazar_service_project_domain_id: default
@ -112,9 +121,28 @@ blazar_keystone_auth_plugin: password
blazar_service_in_ldap: false
## Oslo Messaging
blazar_messaging_enabled: true
# RPC
blazar_oslomsg_rpc_transport: rabbit
blazar_oslomsg_rpc_servers: 127.0.0.1
blazar_oslomsg_rpc_port: 5672
blazar_oslomsg_rpc_use_ssl: False
blazar_oslomsg_rpc_userid: blazar
keystone_oslomsg_rpc_vhost: /blazar
# Notify
blazar_oslomsg_notify_transport: rabbit
blazar_oslomsg_notify_servers: 127.0.0.1
blazar_oslomsg_notify_port: 5672
blazar_oslomsg_notify_use_ssl: False
blazar_oslomsg_notify_userid: blazar
blazar_oslomsg_notify_vhost: /blazar
blazar_role_name: admin
blazar_bind_address: 0.0.0.0
blazar_service_port: 9800
blazar_service_port: 1234
blazar_program_name: blazar-server
## Tunable overrides

View File

@ -29,7 +29,7 @@ galaxy_info:
galaxy_tags:
- cloud
- python
- congress
- blazar
- development
- openstack
dependencies:

View File

@ -43,7 +43,7 @@
- name: Create blazar database schema
command: >
{{ blazar_bin }}/blazar-db-manage
--config-file {{ blazar_conf_dir }}/blazar.conf upgrade head
--config-file {{ blazar_etc_dir }}/blazar.conf upgrade head
become: yes
become_user: "{{ blazar_system_user_name }}"
changed_when: False

View File

@ -68,12 +68,12 @@
- include_tasks: blazar_db_setup.yml
when:
- "inventory_hostname == ((groups['blazar']| intersect(ansible_play_hosts)) | list)[0]"
- "inventory_hostname == ((groups['blazar_all']| intersect(ansible_play_hosts)) | list)[0]"
tags:
- blazar-config
- include_tasks: blazar_service_setup.yml
when:
- "inventory_hostname == ((groups['blazar']| intersect(ansible_play_hosts)) | list)[0]"
- "inventory_hostname == ((groups['blazar_all']| intersect(ansible_play_hosts)) | list)[0]"
tags:
- blazar-config

View File

@ -17,4 +17,4 @@ password={{ blazar_service_password }}
auth_url={{ keystone_service_adminuri }}
[database]
connection = mysql+pymysql://{{ blazar_galera_user }}:{{ blazar_container_mysql_password }}@{{ blazar_galera_address }}/{{ blazar_galera_database }}?charset=utf8{% if blazar_galera_use_ssl | bool %}&ssl_ca={{ blazar_galera_ssl_ca_cert }}{% endif %}
connection = mysql+pymysql://{{ blazar_galera_user }}:{{ blazar_container_mysql_password }}@{{ blazar_galera_address }}/{{ blazar_galera_database }}?charset=utf8{% if blazar_galera_use_ssl | bool %}&ssl_ca={{ blazar_galera_ssl_ca_cert }}{% endif %}

View File

@ -1,33 +1,33 @@
[all]
localhost
infra1
openstack1
blazar1
[all_containers]
infra1
openstack1
blazar1
[rabbitmq_all]
infra1
[galera_all]
infra1
[memcached_all]
infra1
[rabbitmq_all]
infra1
[service_all:children]
rabbitmq_all
galera_all
memcached_all
[keystone_all]
infra1
[blazar_all]
blazar1
openstack1
[utility_all]
blazar1
openstack1
[blazar_all]
blazar1

View File

@ -15,6 +15,8 @@
# Use the tests repo values
blazar_galera_address: "{{ test_galera_host }}"
blazar_rabbitmq_vhost: /blazar
blazar_rabbitmq_userid: blazar
# Required settings with no defaults
blazar_service_password: "secrete"

View File

@ -16,13 +16,13 @@
- name: Ensure blazar APIs are reachable
hosts: blazar_all
user: root
gather_facts: false
gather_facts: False
tasks:
- name: check blazar api
uri:
url: http://localhost:9900
status_code: 200
url: http://localhost:1234
status_code: 204
register: result
until: result.status == 200
until: result.status == 204
retries: 5
delay: 10

View File

@ -12,6 +12,7 @@ commands =
/usr/bin/find . -type f -name "*.pyc" -delete
passenv =
HOME
USER
http_proxy
HTTP_PROXY
https_proxy

View File

@ -20,8 +20,8 @@
check:
jobs:
- openstack-ansible-linters
- openstack-ansible-functional-ubuntu-xenial:
voting: false
- openstack-ansible-functional-ubuntu-xenial
gate:
jobs:
- openstack-ansible-linters
- openstack-ansible-functional-ubuntu-xenial