f4e74ea714
When the new containers are built, we currently only collect a minimal amount of facts afterwards. This patch ensures that a broader set of facts are updated to ensure that we have the updated distribution information, networking and storage facts. We do this for both types of containers to ensure consistency in the approach. Related-Bug: 1765438 Change-Id: I620e35d0942a6d4a55e05ae441d0e6ee2e4a67c4
78 lines
2.6 KiB
YAML
78 lines
2.6 KiB
YAML
---
|
|
# Copyright 2017, 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: Gather nspawn container host facts
|
|
hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}"
|
|
gather_facts: true
|
|
|
|
- name: Set nspawn containers group
|
|
hosts: "{{ container_group | default('all_containers') }}"
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Add hosts to dynamic inventory group
|
|
group_by:
|
|
key: nspawn_containers
|
|
parents: all_nspawn_containers
|
|
when:
|
|
- container_tech == 'nspawn'
|
|
tags:
|
|
- always
|
|
- nspawn-containers-create
|
|
|
|
- name: Create container(s)
|
|
hosts: all_nspawn_containers
|
|
gather_facts: false
|
|
user: root
|
|
roles:
|
|
- role: "nspawn_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) }}"
|
|
|
|
# When using gather_facts with smart gathering,
|
|
# the facts aren't fully updated unless they
|
|
# are old. Using the setup module in a task
|
|
# does a more thorough collection.
|
|
# Given we've just created the container, it is
|
|
# best that we do a full collection of facts -
|
|
# otherwise we end up with a stale set which
|
|
# has stuff like the hostname = localhost.
|
|
- name: Gather facts for new container(s)
|
|
setup:
|
|
gather_subset: "network,hardware,virtual"
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- nspawn-containers-create
|
|
|
|
- name: Configure containers default software
|
|
hosts: all_nspawn_containers
|
|
gather_facts: true
|
|
user: root
|
|
pre_tasks:
|
|
- include: common-tasks/package-cache-proxy.yml
|
|
- include: common-tasks/set-pip-vars.yml
|
|
roles:
|
|
- role: "openstack_hosts"
|
|
is_container: true
|
|
vars_files:
|
|
- defaults/repo_packages/openstack_services.yml
|
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
tags:
|
|
- nspawn-containers-create
|