openstack-ansible/playbooks/containers-nspawn-create.yml
Jonathan Rosser 1b18926bbf Remove package cache proxy cleanup
This should have been removed in Train so it's really time to
get rid of these tasks now. The package cache was retired in Rocky.

Change-Id: I98d527b8e804685b8d933de2dc5e2efeb78bbd31
2020-07-21 08:48:50 +01:00

121 lines
3.5 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 host facts
hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}"
gather_facts: true
tags:
- always
- name: Set nspawn containers group
hosts: "{{ container_group | default('all_containers') }}"
gather_facts: false
tags:
- always
- nspawn-containers-create
tasks:
- name: Add hosts to dynamic inventory group
group_by:
key: nspawn_containers
parents: all_nspawn_containers
when:
- container_tech == 'nspawn'
- name: Create container(s)
hosts: all_nspawn_containers
gather_facts: false
user: root
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- nspawn-containers-create
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) }}"
- name: Rescan storage quotas
hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}"
gather_facts: false
tags:
- nspawn-containers-create
tasks:
- name: Rescan quotas
command: "btrfs quota rescan -w /var/lib/machines"
changed_when: false
- name: Gather nspawn containers facts
hosts: all_nspawn_containers
gather_facts: true
tags:
- always
- name: Configure containers default software
hosts: all_nspawn_containers
gather_facts: false
user: root
vars_files:
- defaults/repo_packages/openstack_services.yml
- "defaults/{{ install_method }}_install.yml"
environment: "{{ deployment_environment_variables | default({}) }}"
tags:
- nspawn-containers-create
pre_tasks:
- name: Update package cache (apt)
package:
update_cache: yes
force_apt_get: yes
force: yes
register: cache_update
until: cache_update is success
retries: 5
delay: 15
when:
- ansible_pkg_mgr == 'apt'
- name: Update package cache (zypper)
zypper_repository:
repo: '*'
runrefresh: yes
register: cache_update
until: cache_update is success
retries: 5
delay: 15
when:
- ansible_pkg_mgr == 'zypper'
# 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"
roles:
- role: "openstack_hosts"
is_container: true