cd17cb20d7
Now that we no longer use our own keystone module, but instead make use of the ansible runtime venv's shade library and upstream ansible modules, we can eliminate this package/library being installed on the host. To do this, we also ensure that the functional test now uses the Ansible runtime venv for all OpenStack modules, and we use the native Ansible OpenStack modules instead of our own. Change-Id: I0ecb55308a846ad0f1bb05c10b9e0aad3da15449
167 lines
5.5 KiB
YAML
167 lines
5.5 KiB
YAML
---
|
|
# Copyright 2016, Rackspace US, Inc.
|
|
#
|
|
# 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: Setup for swift functional tests
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: no
|
|
vars_files:
|
|
- common/test-vars.yml
|
|
vars:
|
|
ansible_python_interpreter: "{{ ansible_playbook_python }}"
|
|
tasks:
|
|
- name: Add test projects
|
|
os_project:
|
|
cloud: default
|
|
state: present
|
|
name: "{{ item }}"
|
|
domain_id: "default"
|
|
endpoint_type: admin
|
|
verify: "{{ not keystone_service_adminuri_insecure }}"
|
|
register: _add_test_projects
|
|
until: _add_test_projects is success
|
|
retries: 5
|
|
delay: 10
|
|
with_items:
|
|
- "test1"
|
|
- "test2"
|
|
- "test5"
|
|
- "test6"
|
|
when: groups['keystone_all'] is defined
|
|
|
|
- name: Add test roles
|
|
os_keystone_role:
|
|
cloud: default
|
|
state: present
|
|
name: "{{ item }}"
|
|
endpoint_type: admin
|
|
verify: "{{ not keystone_service_adminuri_insecure }}"
|
|
register: add_test_roles
|
|
until: add_test_roles is success
|
|
retries: 5
|
|
delay: 10
|
|
with_items:
|
|
- "test-role"
|
|
- "test5"
|
|
when: groups['keystone_all'] is defined
|
|
|
|
- name: Add test users
|
|
os_user:
|
|
cloud: default
|
|
state: present
|
|
name: "{{ item.user_name }}"
|
|
password: "{{ item.password }}"
|
|
domain: default
|
|
default_project: "{{ item.project_name }}"
|
|
endpoint_type: admin
|
|
verify: "{{ not keystone_service_adminuri_insecure }}"
|
|
register: add_test_users
|
|
until: add_test_users is success
|
|
retries: 5
|
|
delay: 10
|
|
no_log: True
|
|
with_items:
|
|
- { user_name: "test1", project_name: "test1", password: "test1" }
|
|
- { user_name: "test2", project_name: "test2", password: "test2" }
|
|
- { user_name: "test3", project_name: "test1", password: "test3" }
|
|
- { user_name: "test5", project_name: "test5", password: "test5" }
|
|
- { user_name: "test6", project_name: "test6", password: "test6" }
|
|
when: groups['keystone_all'] is defined
|
|
|
|
- name: Add service user to admin role
|
|
os_user_role:
|
|
cloud: default
|
|
state: present
|
|
user: "{{ item.user_name }}"
|
|
role: "{{ item.role_name }}"
|
|
project: "{{ item.project_name }}"
|
|
endpoint_type: admin
|
|
verify: "{{ not keystone_service_adminuri_insecure }}"
|
|
register: add_test_user_roles
|
|
until: add_test_user_roles is success
|
|
retries: 5
|
|
delay: 10
|
|
with_items:
|
|
- { user_name: "test1", project_name: "test1", role_name: "admin" }
|
|
- { user_name: "test2", project_name: "test2", role_name: "admin" }
|
|
- { user_name: "test3", project_name: "test1", role_name: "test-role" }
|
|
- { user_name: "test5", project_name: "test5", role_name: "test5" }
|
|
- { user_name: "test6", project_name: "test6", role_name: "ResellerAdmin" }
|
|
when: groups['keystone_all'] is defined
|
|
|
|
- name: Run Swift functional tests
|
|
hosts: swift_proxy[0]
|
|
user: root
|
|
gather_facts: true
|
|
vars_files:
|
|
- common/test-vars.yml
|
|
tasks:
|
|
- name: Clone swift repository on proxy-host
|
|
git:
|
|
repo: "https://git.openstack.org/openstack/swift"
|
|
dest: "/opt/swift"
|
|
update: yes
|
|
clone: yes
|
|
version: "{{ swift_git_install_branch }}"
|
|
|
|
- name: Install requirements for swift
|
|
pip:
|
|
requirements: "{{ item }}"
|
|
virtualenv: "{{ swift_venv_bin | dirname }}"
|
|
extra_args: >-
|
|
{{ swift_developer_mode | ternary(pip_install_developer_constraints | default('--constraint /opt/developer-pip-constraints.txt'), '') }}
|
|
{{ (pip_install_upper_constraints is defined) | ternary('--constraint ' + pip_install_upper_constraints | default(''),'') }}
|
|
{{ pip_install_options | default('') }}
|
|
with_items:
|
|
- "/opt/swift/test-requirements.txt"
|
|
|
|
- name: Setup test.conf for testing
|
|
template:
|
|
src: "swift_test.conf.j2"
|
|
dest: "/etc/swift/test.conf"
|
|
owner: "swift"
|
|
group: "swift"
|
|
- name: Create swap file for swift-storage hosts
|
|
command: dd if=/dev/zero of=/swift_swap bs=1M count=1024
|
|
when:
|
|
- inventory_hostname in groups['swift_hosts']
|
|
|
|
- name: Make swap for swift-storage hosts
|
|
command: mkswap /swift_swap
|
|
when:
|
|
- inventory_hostname in groups['swift_hosts']
|
|
|
|
- name: Add swap to fstab for swift-storage hosts
|
|
lineinfile:
|
|
dest: /etc/fstab
|
|
regexp: "swift_swap"
|
|
line: "/swift_swap none swap sw 0 0"
|
|
state: present
|
|
when:
|
|
- inventory_hostname in groups['swift_hosts']
|
|
|
|
- name: Turn swap on for swift-storage hosts
|
|
command: swapon -a
|
|
when:
|
|
- inventory_hostname in groups['swift_hosts']
|
|
|
|
- name: Run functional tests for swift
|
|
shell: "source /openstack/venvs/swift-untagged/bin/activate && ./.functests"
|
|
args:
|
|
chdir: "/opt/swift/"
|
|
executable: "/bin/bash"
|
|
tags:
|
|
- skip_ansible_lint
|