Files
openstack-ansible/playbooks/roles/os_tempest/tasks/tempest_resources.yml
Kevin Carter 33f0c13ef4 Updated repository for minimum viable kilo install
* Updated Keystone wsgi and paste files from upstream.
* Updated all clients in the openstack_client.yml file.
* Kilo services are tracking the head of master.
* Removed pinned middleware because they're pinned else where.
* Added additional service references for neutron vpnaas, fwaas, and
  lbaas which have now been moved into their own repos and no longer
  exist within the core neutron repository.
* The neutron vpnaas, fwaas, and lbaas have been removed from the
  basic plugins being loaded and a comment has been added to describe
  how one might add them back in.
* Updated rootwrap filters for neutron dhcp and l3.
* Updated heat policy.json
* Added the `python-libguestfs` to the nova-compute installation
  packages.
* Updates all services to point to the latest kilo tag

Services updated due to deprecated configs:
* Keystone
* Glance
* Nova
* Neutron (is still using the deprecated nova auth plugin)
* Heat
* Tempest

Items for future work post initial release:
* roles/os_neutron/files/post-up-checksum-rules:25:
  TODO(cloudnull) remove this script once the bug is fixed.
* roles/rabbitmq_server/tasks/rabbitmq_cluster_join.yml:17:
  TODO(someone): implement a more robust way of checking

Implements: blueprint minimal-kilo

Closes-Bug: 1428421
Closes-Bug: 1428431
Closes-Bug: 1428437
Closes-Bug: 1428445
Closes-Bug: 1428451
Closes-Bug: 1428469
Closes-Bug: 1428639

Change-Id: I28a305d9e40a9cf70148ef7d7b00d467a65ca076
2015-04-03 12:57:10 -05:00

260 lines
6.5 KiB
YAML

---
# Copyright 2014, 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: Ensure cirros image
glance:
command: 'image-create'
openrc_path: /root/openrc
image_name: cirros
image_url: 'http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img'
image_container_format: bare
image_disk_format: qcow2
image_is_public: True
tags:
- tempest-setup
- tempest-config
- name: Store glance image id
set_fact:
tempest_glance_image_id: "{{ glance_images.cirros.id }}"
tags:
- tempest-setup
- tempest-config
- name: Ensure tempest tenants
keystone:
command: ensure_tenant
tenant_name: "{{ item }}"
description: "{{ item }} Tenant"
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
register: add_service
until: add_service|success
retries: 5
delay: 10
with_items:
- demo
- alt_demo
tags:
- tempest-setup
- name: Ensure tempest users
keystone:
command: ensure_user
tenant_name: "{{ item }}"
user_name: "{{ item }}"
password: "{{ item }}"
description: "{{ item }} User"
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
register: add_service
until: add_service|success
retries: 5
delay: 10
with_items:
- demo
- alt_demo
tags:
- tempest-setup
- name: Ensure tempest users have heat_stack_owners role
keystone:
command: ensure_user_role
tenant_name: "{{ item }}"
user_name: "{{ item }}"
role_name: heat_stack_owner
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
register: add_service
until: add_service|success
retries: 5
delay: 10
with_items:
- demo
- alt_demo
tags:
- tempest-setup
- name: Ensure reseller_admin role
keystone:
command: ensure_role
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
role_name: "reseller_admin"
register: add_service
until: add_service|success
retries: 5
delay: 10
tags:
- tempest-setup
- name: Ensure remote_image role exists
keystone:
command: ensure_role
role_name: remote_image
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
register: add_service
until: add_service|success
retries: 5
delay: 10
tags:
- tempest-setup
- name: Get demo tenant id
keystone:
command: get_tenant
tenant_name: demo
endpoint: "{{ keystone_service_internalurl }}"
login_tenant_name: "{{ keystone_service_tenant_name }}"
login_user: "{{ keystone_service_user_name }}"
login_password: "{{ keystone_auth_admin_password }}"
register: add_service
until: add_service|success
retries: 5
delay: 10
tags:
- tempest-setup
- tempest-config
- name: Store demo tenant id
set_fact:
keystone_demo_tenant_id: "{{ keystone_facts.id }}"
tags:
- tempest-setup
- tempest-config
- name: Ensure private network exists
neutron:
command: create_network
openrc_path: /root/openrc
net_name: private
tenant_id: "{{ keystone_demo_tenant_id }}"
tags:
- tempest-setup
- tempest-config
- name: Store neutron private network id
set_fact:
tempest_neutron_private_network_id: "{{ neutron_networks.private.id }}"
tags:
- tempest-setup
- tempest-config
- name: Ensure public network exists
neutron:
command: create_network
openrc_path: /root/openrc
net_name: public
provider_network_type: flat
provider_physical_network: flat
router_external: true
tags:
- tempest-setup
- tempest-config
- name: Store neutron public network id
set_fact:
tempest_neutron_public_network_id: "{{ neutron_networks.public.id }}"
tags:
- tempest-setup
- tempest-config
- name: Ensure private subnet exists
neutron:
command: create_subnet
openrc_path: /root/openrc
net_name: private
subnet_name: private-subnet
cidr: "{{ tempest_private_subnet_cidr }}"
tenant_id: "{{ keystone_demo_tenant_id }}"
tags:
- tempest-setup
- name: Ensure public subnet exists
neutron:
command: create_subnet
openrc_path: /root/openrc
net_name: public
subnet_name: public-subnet
cidr: "{{ tempest_public_subnet_cidr }}"
tags:
- tempest-setup
- name: Create router
neutron:
command: create_router
openrc_path: /root/openrc
router_name: router
external_gateway_info: public
tenant_id: "{{ keystone_demo_tenant_id }}"
tags:
- tempest-setup
- name: Add private subnet to router
neutron:
command: add_router_interface
openrc_path: /root/openrc
router_name: router
subnet_name: private-subnet
tags:
- tempest-setup
- name: Check if tempest flavor 201 exists
shell: |
. /root/openrc
nova flavor-show tempest1
register: tempest1
failed_when: False
changed_when: tempest1.rc != 0
tags:
- tempest-setup
- name: Create tempest flavor 201
shell: |
. /root/openrc
nova flavor-create tempest1 201 256 1 1
when: tempest1.rc != 0
tags:
- tempest-setup
- name: Check if tempest flavor 202 exists
shell: |
. /root/openrc
nova flavor-show tempest2
register: tempest2
failed_when: False
changed_when: tempest2.rc != 0
tags:
- tempest-setup
- name: Create tempest flavor 202
shell: |
. /root/openrc
nova flavor-create tempest2 202 512 1 1
when: tempest2.rc != 0
tags:
- tempest-setup