openstack-ansible/playbooks/containers-lxc-create.yml
Logan V 97267d902a Do not collect physical host facts in playbook
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
2018-03-18 22:45:37 -05:00

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