97267d902a
The role itself depends on physical host facts being collected, but the collection occurring in the playbook does not accommodate --limit containername, it will require --limit containername:physicalhost in order for the required facts to be collected. To allow limit to target only the containers being created, the fact collection has been moved to the role and the module is executed against the physical_host using delegation. Depends-On: https://review.openstack.org/#/c/554105/ Change-Id: Idc0ae7913b3ea9374caa41a207fab8c72f42bf41
67 lines
2.2 KiB
YAML
67 lines
2.2 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: Set lxc containers group
|
|
hosts: "{{ container_group | default('all_containers') }}"
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Add hosts to dynamic inventory group
|
|
group_by:
|
|
key: lxc_containers
|
|
parents: all_lxc_containers
|
|
when:
|
|
- container_tech == 'lxc'
|
|
tags:
|
|
- always
|
|
- lxc-containers-create
|
|
|
|
- name: Create container(s)
|
|
hosts: all_lxc_containers
|
|
gather_facts: false
|
|
user: root
|
|
roles:
|
|
- role: "lxc_container_create"
|
|
post_tasks:
|
|
- name: Wait for container connectivity
|
|
wait_for_connection:
|
|
connect_timeout: "{{ lxc_container_wait_params.connect_timeout | default(omit) }}"
|
|
delay: "{{ lxc_container_wait_params.delay | default(omit) }}"
|
|
sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}"
|
|
timeout: "{{ lxc_container_wait_params.timeout | default(omit) }}"
|
|
- name: Set local facts for new container(s)
|
|
setup:
|
|
filter: ansible_local
|
|
gather_subset: "!all"
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- lxc-containers-create
|
|
|
|
- name: Configure containers default software
|
|
hosts: all_lxc_containers
|
|
gather_facts: true
|
|
user: root
|
|
pre_tasks:
|
|
- include: common-tasks/package-cache-proxy.yml
|
|
- include: common-tasks/set-upper-constraints.yml
|
|
- include: common-tasks/set-pip-upstream-url.yml
|
|
roles:
|
|
- role: "openstack_hosts"
|
|
is_container: true
|
|
vars_files:
|
|
- defaults/repo_packages/openstack_services.yml
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- lxc-containers-create
|