From c89f27772aefa43ef8b2d4a5f691a8f91c8d09f4 Mon Sep 17 00:00:00 2001 From: Travis Truman Date: Thu, 18 Aug 2016 16:59:51 -0400 Subject: [PATCH] Add play to deploy Rally to the utility containers This play allows deployers to install and configure Rally for post-deployment functional and performance testing Depends-On: I3d5cc822cc0d3c2b0b3ba7b05a9fe1b6b9e3a839 Change-Id: I1c4567649e4e35641610f27eaf3b8a57c8a722cc --- ansible-role-requirements.yml | 4 +++ etc/openstack_deploy/user_secrets.yml | 3 ++ .../repo_packages/openstack_services.yml | 6 ++++ .../inventory/group_vars/utility_all.yml | 4 +++ playbooks/os-rally-install.yml | 33 +++++++++++++++++++ .../notes/rally_play-82fa27d8ba2ce22d.yaml | 3 ++ 6 files changed, 53 insertions(+) create mode 100644 playbooks/os-rally-install.yml create mode 100644 releasenotes/notes/rally_play-82fa27d8ba2ce22d.yaml diff --git a/ansible-role-requirements.yml b/ansible-role-requirements.yml index 85750e3497..45d73afcbf 100644 --- a/ansible-role-requirements.yml +++ b/ansible-role-requirements.yml @@ -98,6 +98,10 @@ scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_nova version: master +- name: os_rally + scm: git + src: https://git.openstack.org/openstack/openstack-ansible-os_rally + version: master - name: os_swift scm: git src: https://git.openstack.org/openstack/openstack-ansible-os_swift diff --git a/etc/openstack_deploy/user_secrets.yml b/etc/openstack_deploy/user_secrets.yml index 8d43237b00..da0515c6b8 100644 --- a/etc/openstack_deploy/user_secrets.yml +++ b/etc/openstack_deploy/user_secrets.yml @@ -124,3 +124,6 @@ magnum_service_password: magnum_galera_password: magnum_rabbitmq_password: magnum_trustee_password: + +## Rally Options: +rally_galera_password: diff --git a/playbooks/defaults/repo_packages/openstack_services.yml b/playbooks/defaults/repo_packages/openstack_services.yml index e619167dc7..baff48fb3c 100644 --- a/playbooks/defaults/repo_packages/openstack_services.yml +++ b/playbooks/defaults/repo_packages/openstack_services.yml @@ -170,3 +170,9 @@ magnum_git_repo: https://git.openstack.org/openstack/magnum magnum_git_install_branch: 4dbe7716e721ad33603bd48b6e871d0a55e4448e # HEAD of "master" as of 15.08.2016 magnum_git_dest: "/opt/magnum_{{ magnum_git_install_branch | replace('/', '_') }}" magnum_git_project_group: magnum_all + +## Rally service +rally_git_repo: https://git.openstack.org/openstack/rally +rally_git_install_branch: 6c7975cd9ac997c5efe5932f301f0fb56f00818b # HEAD of "master" as of 18.08.2016 +rally_git_dest: "/opt/rally_{{ rally_git_install_branch | replace('/', '_') }}" +rally_git_project_group: utility_all diff --git a/playbooks/inventory/group_vars/utility_all.yml b/playbooks/inventory/group_vars/utility_all.yml index 909c9ee684..36d33208e7 100644 --- a/playbooks/inventory/group_vars/utility_all.yml +++ b/playbooks/inventory/group_vars/utility_all.yml @@ -54,3 +54,7 @@ utility_pip_packages: - python-swiftclient - python-memcached - pycrypto + +rally_galera_user: rally +rally_galera_database_name: rally +rally_galera_address: "{{ galera_address }}" diff --git a/playbooks/os-rally-install.yml b/playbooks/os-rally-install.yml new file mode 100644 index 0000000000..b47cf6abbd --- /dev/null +++ b/playbooks/os-rally-install.yml @@ -0,0 +1,33 @@ +--- +# Copyright 2016, Comcast Corp. +# +# 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: Installation and setup of Rally + hosts: utility_all + gather_facts: "{{ gather_facts | default(True) }}" + user: root + pre_tasks: + - include: common-tasks/mysql-db-user.yml + vars: + user_name: "{{ rally_galera_user }}" + password: "{{ rally_galera_password }}" + login_host: "{{ rally_galera_address }}" + db_name: "{{ rally_galera_database_name }}" + when: inventory_hostname == groups['utility_all'][0] + roles: + - role: "os_rally" + rally_venv_tag: "{{ openstack_release }}" + rally_venv_download_url: "{{ openstack_repo_url }}/venvs/{{ openstack_release }}/{{ ansible_distribution | lower }}/rally-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz" + vars: + pip_lock_to_internal_repo: "{{ (pip_links | length) >= 1 }}" diff --git a/releasenotes/notes/rally_play-82fa27d8ba2ce22d.yaml b/releasenotes/notes/rally_play-82fa27d8ba2ce22d.yaml new file mode 100644 index 0000000000..bfa7b930c8 --- /dev/null +++ b/releasenotes/notes/rally_play-82fa27d8ba2ce22d.yaml @@ -0,0 +1,3 @@ +--- +features: + - Added playbook for deploying Rally in the utility containers \ No newline at end of file