Better functional tests for monasca-api.
- This patch returns status code 200 if keystone auth token is retrieved. - Minor adjustments to the keystone middleware sections. - Adjustments in user naming in service endpoint creations. Change-Id: Ifbb356634b29f1586c44e1135a761bf1f6adddb0
This commit is contained in:
parent
8b86e74dd7
commit
a67b4c9673
|
@ -1,6 +0,0 @@
|
|||
CHANGES
|
||||
=======
|
||||
|
||||
* Role skeleton for os_monasca
|
||||
* Initial Commit
|
||||
* Initial commit
|
|
@ -42,11 +42,14 @@ monasca_auth_url: "{{ keystone_service_internalurl }}"
|
|||
monasca_keystone_auth_plugin: password
|
||||
monasca_service_tenant_name: monasca
|
||||
monasca_service_project_name: monasca
|
||||
monasca_project_domain_name: default
|
||||
monasca_user_domain_name: default
|
||||
|
||||
monasca_service_description: "Monasca Monitoring Service"
|
||||
monasca_service_name: monasca
|
||||
monasca_service_type: monitoring
|
||||
monasca_agent_user_name: monasca-agent
|
||||
monasca_regular_user_name: monasca-user
|
||||
monasca_admin_username: monasca-admin
|
||||
monasca_regular_username: monasca-user
|
||||
monasca_service_admin_role_names: admin
|
||||
monasca_backend_database: "influxdb"
|
||||
|
||||
|
@ -59,12 +62,6 @@ monasca_api_requirements_git_repo: https://git.openstack.org/openstack/requireme
|
|||
monasca_api_requirements_git_install_branch: master
|
||||
monasca_api_metrics_driver: "monasca_api.common.repositories.influxdb.metrics_repository:MetricsRepository"
|
||||
|
||||
monasca_events_api_service_port: 8072
|
||||
monasca_events_api_git_repo: "https://git.openstack.org/openstack/monasca-events-api"
|
||||
monasca_events_api_git_install_branch: master
|
||||
monasca_events_api_requirements_git_repo: https://git.openstack.org/openstack/requirements
|
||||
monasca_events_api_requirements_git_install_branch: master
|
||||
|
||||
monasca_log_api_service_port: 5607
|
||||
monasca_log_api_git_repo: "https://git.openstack.org/openstack/monasca-log-api"
|
||||
monasca_log_api_git_install_branch: master
|
||||
|
@ -108,7 +105,6 @@ monasca_python_client_requirements_git_install_branch: master
|
|||
|
||||
monasca_developer_constraints:
|
||||
- "git+{{ monasca_api_git_repo }}@{{ monasca_api_git_install_branch }}#egg=monasca-api"
|
||||
- "git+{{ monasca_events_api_git_repo }}@{{ monasca_events_api_git_install_branch }}#egg=monasca-events-api"
|
||||
- "git+{{ monasca_log_api_git_repo }}@{{ monasca_log_api_git_install_branch }}#egg=monasca-log-api"
|
||||
- "git+{{ monasca_ceilometer_git_repo }}@{{ monasca_ceilometer_git_install_branch }}#egg=monasca-ceilometer"
|
||||
- "git+{{ monasca_common_git_repo }}@{{ monasca_common_git_install_branch }}#egg=monasca-common"
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
- monasca-service-add
|
||||
- monasca-setup
|
||||
|
||||
- name: Ensure the monasca-agent user exists
|
||||
- name: Ensure the monasca admin user exists
|
||||
keystone:
|
||||
command: "ensure_user"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
|
@ -63,12 +63,12 @@
|
|||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
user_name: "{{ monasca_agent_user_name }}"
|
||||
user_name: "{{ monasca_admin_username }}"
|
||||
tenant_name: "{{ monasca_service_tenant_name }}"
|
||||
password: "{{ monasca_agent_user_password }}"
|
||||
password: "{{ monasca_admin_password }}"
|
||||
project_name: "{{ monasca_service_project_name }}"
|
||||
register: add_monasca_agent_user
|
||||
until: add_monasca_agent_user |success
|
||||
register: add_monasca_admin_user
|
||||
until: add_monasca_admin_user |success
|
||||
retries: 5
|
||||
delay: 2
|
||||
tags:
|
||||
|
@ -77,7 +77,7 @@
|
|||
- monasca-user-add
|
||||
- monasca-setup
|
||||
|
||||
- name: Ensure the monasca regular user exists
|
||||
- name: Ensure the monasca read only user exists
|
||||
keystone:
|
||||
command: "ensure_user"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
|
@ -85,7 +85,7 @@
|
|||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
user_name: "{{ monasca_regular_user_name }}"
|
||||
user_name: "{{ monasca_regular_username }}"
|
||||
tenant_name: "{{ monasca_service_tenant_name }}"
|
||||
password: "{{ monasca_regular_user_password }}"
|
||||
project_name: "{{ monasca_service_project_name }}"
|
||||
|
@ -99,20 +99,20 @@
|
|||
- monasca-user-add
|
||||
- monasca-setup
|
||||
|
||||
- name: Ensure the monasca-agent user has the admin role
|
||||
- name: Ensure the monasca admin user has the admin role
|
||||
keystone:
|
||||
command: "ensure_user_role"
|
||||
endpoint: "{{ keystone_service_adminurl }}"
|
||||
login_user: "{{ keystone_admin_user_name }}"
|
||||
login_password: "{{ keystone_auth_admin_password }}"
|
||||
login_project_name: "{{ keystone_admin_tenant_name }}"
|
||||
user_name: "{{ monasca_agent_user_name }}"
|
||||
user_name: "{{ monasca_admin_username }}"
|
||||
tenant_name: "{{ monasca_service_tenant_name }}"
|
||||
role_name: "{{ item }}"
|
||||
insecure: "{{ keystone_service_adminuri_insecure }}"
|
||||
project_name: "{{ monasca_service_project_name }}"
|
||||
register: ensure_monasca_agent_roles
|
||||
until: ensure_monasca_agent_roles |success
|
||||
register: ensure_monasca_admin_roles
|
||||
until: ensure_monasca_admin_roles |success
|
||||
retries: 5
|
||||
delay: 2
|
||||
with_items: "{{ monasca_service_admin_role_names }}"
|
||||
|
|
|
@ -20,9 +20,9 @@ dimension_names = monasca_api.v2.reference.metrics:DimensionNames
|
|||
notification_method_types = monasca_api.v2.reference.notificationstype:NotificationsType
|
||||
|
||||
[security]
|
||||
default_authorized_roles = user, domainuser, domainadmin, {{ monasca_regular_user_name }}
|
||||
agent_authorized_roles = {{ monasca_agent_user_name }}
|
||||
read_only_authorized_roles = monasca-read-only-user
|
||||
default_authorized_roles = user, domainuser, domainadmin, {{ monasca_regular_username }}
|
||||
agent_authorized_roles = {{ monasca_admin_username }}
|
||||
read_only_authorized_roles = {{ monasca_regular_username }}
|
||||
delegate_authorized_roles = admin
|
||||
|
||||
[messaging]
|
||||
|
@ -72,12 +72,11 @@ url = "mysql+pymysql://{{ monasca_galera_user }}:{{ monasca_galera_password }}@{
|
|||
|
||||
[keystone_authtoken]
|
||||
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
||||
auth_plugin = {{ monasca_keystone_auth_plugin }}
|
||||
auth_url = {{ keystone_service_adminuri }}
|
||||
identity_uri = {{ keystone_service_adminuri }}
|
||||
auth_url = {{ keystone_service_internaluri }}
|
||||
auth_uri = {{ keystone_service_internaluri }}
|
||||
project_domain_id = {{ monasca_service_project_domain_id }}
|
||||
user_domain_id = {{ monasca_service_user_domain_id }}
|
||||
project_name = {{ monasca_service_project_name }}
|
||||
username = {{ monasca_service_user_name }}
|
||||
password = {{ monasca_service_password }}
|
||||
region_name = {{ keystone_service_region }}
|
||||
auth_type = {{ monasca_keystone_auth_plugin }}
|
||||
project_domain_name = {{ monasca_project_domain_name }}
|
||||
user_domain_name = {{ monasca_user_domain_name }}
|
||||
username = {{ monasca_admin_username }}
|
||||
password = {{ monasca_admin_password }}
|
||||
|
|
|
@ -9,18 +9,6 @@ region = {{ keystone_service_region }}
|
|||
topics = logs
|
||||
kafka_url = {{ kafka_hosts }}
|
||||
|
||||
[keystone_authtoken]
|
||||
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
||||
auth_plugin = {{ monasca_keystone_auth_plugin }}
|
||||
auth_url = {{ keystone_service_adminuri }}
|
||||
auth_uri = {{ keystone_service_internaluri }}
|
||||
project_domain_id = {{ monasca_service_project_domain_id }}
|
||||
user_domain_id = {{ monasca_service_user_domain_id }}
|
||||
project_name = {{ monasca_service_project_name }}
|
||||
username = {{ monasca_service_user_name }}
|
||||
password = {{ monasca_service_password }}
|
||||
region_name = {{ keystone_service_region }}
|
||||
|
||||
[kafka_healthcheck]
|
||||
kafka_url = {{ kafka_hosts }}
|
||||
kafka_topics = log
|
||||
|
@ -28,11 +16,22 @@ kafka_topics = log
|
|||
[roles_middleware]
|
||||
path = /v2.0/log
|
||||
path = /v3.0/logs
|
||||
default_roles = user, domainuser, domainadmin, {{ monasca_regular_user_name }}
|
||||
agent_roles = {{ monasca_agent_user_name }}, admin
|
||||
default_roles = user, domainuser, domainadmin, {{ monasca_regular_username }}
|
||||
agent_roles = {{ monasca_admin_username }}, admin
|
||||
|
||||
[dispatcher]
|
||||
logs = monasca_log_api.reference.v2.logs:Logs
|
||||
logs_v3 = monasca_log_api.reference.v3.logs:Logs
|
||||
versions = monasca_log_api.reference.versions:Versions
|
||||
healthchecks = monasca_log_api.reference.healthchecks:HealthChecks
|
||||
|
||||
[keystone_authtoken]
|
||||
insecure = {{ keystone_service_internaluri_insecure | bool }}
|
||||
identity_uri = {{ keystone_service_adminuri }}
|
||||
auth_url = {{ keystone_service_internaluri }}
|
||||
auth_uri = {{ keystone_service_internaluri }}
|
||||
auth_type = {{ monasca_keystone_auth_plugin }}
|
||||
pproject_domain_name = {{ monasca_project_domain_name }}
|
||||
user_domain_name = {{ monasca_user_domain_name }}
|
||||
username = {{ monasca_admin_username }}
|
||||
password = {{ monasca_admin_password }}
|
||||
|
|
|
@ -18,24 +18,36 @@
|
|||
# Reference: https://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md
|
||||
|
||||
- name: Playbook for functional testing monasca
|
||||
hosts: monasca_api
|
||||
hosts: monasca_all
|
||||
user: root
|
||||
gather_facts: false
|
||||
vars:
|
||||
monasca_api: "http://localhost:{{ monasca_api_service_port }}"
|
||||
tasks:
|
||||
- name: Install httplib2 so we can use the uri module
|
||||
- name: Install openstackclient
|
||||
pip:
|
||||
name: httplib2
|
||||
name: "python-openstackclient"
|
||||
|
||||
- name: Validate that auth is required
|
||||
uri:
|
||||
url: "{{ monasca_api }}"
|
||||
status_code: 401
|
||||
|
||||
- name: Get auth token
|
||||
shell: >
|
||||
. /root/openrc && openstack token issue --format yaml | awk '/^id\:/ {print $2}'
|
||||
register: get_keystone_token
|
||||
|
||||
- name: set token
|
||||
set_fact:
|
||||
keystone_token: "{{ get_keystone_token.stdout }}"
|
||||
|
||||
- name: Check the monasca-api
|
||||
uri:
|
||||
url: "http://localhost:8070"
|
||||
status_code: 401
|
||||
register: result
|
||||
until:
|
||||
- result is defined
|
||||
- result.status is defined
|
||||
- result.status == 401
|
||||
retries: 5
|
||||
delay: 10
|
||||
url: "{{ monasca_api }}"
|
||||
HEADER_X-Auth-Token: "{{ keystone_token }}"
|
||||
status_code: 200,300
|
||||
|
||||
vars_files:
|
||||
- common/test-vars.yml
|
||||
- test-vars.yml
|
||||
- common/test-vars.yml
|
||||
- test-vars.yml
|
||||
|
|
|
@ -17,6 +17,8 @@
|
|||
# (c) 2016 Paul Stevens <paul.stevens@is.co.za>
|
||||
monasca_developer_mode: True
|
||||
monasca_galera_address: "{{ hostvars[groups['galera_all'][0]]['ansible_host'] }}"
|
||||
external_lb_vip_address: "{{ hostvars[groups['keystone_all'][0]]['ansible_host'] }}"
|
||||
internal_lb_vip_address: "{{ hostvars[groups['keystone_all'][0]]['ansible_host'] }}"
|
||||
monasca_galera_database: monasca
|
||||
monasca_galera_user: monasca
|
||||
monasca_galera_password: "secrete"
|
||||
|
@ -28,24 +30,23 @@ monasca_rabbitmq_password: "secrete"
|
|||
monasca_rabbitmq_userid: monasca
|
||||
monasca_rabbitmq_vhost: /monasca
|
||||
monasca_api_requirements_git_install_branch: master
|
||||
monasca_events_api_requirements_git_install_branch: master
|
||||
monasca_log_api_requirements_git_install_branch: master
|
||||
monasca_ceilometer_requirements_git_install_branch: master
|
||||
monasca_common_requirements_git_install_branch: master
|
||||
monasca_transform_requirements_git_install_branch: master
|
||||
monasca_notification_requirements_git_install_branch: master
|
||||
monasca_analytics_requirements_git_install_branch: master
|
||||
monasca_persister_requirements_git_install_branch: master
|
||||
monasca_python_client_requirements_git_install_branch: master
|
||||
monasca_service_password: "secrete"
|
||||
monasca_regular_user_password: "secrete"
|
||||
monasca_agent_user_password: "secrete"
|
||||
monasca_service_project_domain_id: default
|
||||
monasca_admin_password: "secrete"
|
||||
monasca_project_domain_name: default
|
||||
monasca_user_domain_name: default
|
||||
monasca_service_project_name: service
|
||||
monasca_service_region: RegionOne
|
||||
monasca_service_user_domain_id: default
|
||||
monasca_service_user_name: monasca
|
||||
monasca_service_port: 8070
|
||||
monasca_api_service_port: 8070
|
||||
monasca_log_api_service_port: 5607
|
||||
monasca_venv_tag: untagged
|
||||
monasca_bin: "/openstack/venvs/monasca-{{ monasca_venv_tag }}/bin"
|
||||
storm_nimbus_enabled: true
|
||||
|
@ -61,3 +62,9 @@ monasca_grafana_admin_password: "secrete"
|
|||
monasca_grafana_galera_password: "secrete"
|
||||
monasca_grafana_galera_database: grafana
|
||||
monasca_grafana_galera_username: grafana
|
||||
grafana_mysql_host: "{{ monasca_galera_address }}"
|
||||
grafana_admin_password: "{{ monasca_grafana_admin_password }}"
|
||||
grafana_mysql_db: "{{ monasca_grafana_galera_database }}"
|
||||
grafana_mysql_user: "{{ monasca_grafana_galera_username }}"
|
||||
grafana_mysql_password: "{{ monasca_grafana_galera_password }}"
|
||||
grafana_keystone_url: "{{ keystone_service_internaluri }}"
|
||||
|
|
Loading…
Reference in New Issue