Ensure package cache is updated for nspawn containers
Due to differences in the way the containers are created, the package cache must be forcefully updated after creation. If this is not done then apt thinks that it's up to date and fails package installs. We also ensure that the quota is rescanned to ensure that it is up to date. The playbook arrangement is also updated to standardise to the same pattern as the others. Depends-On: https://review.openstack.org/593033 Change-Id: I44ea902b0785bdeec4565e926105d24fae18500f Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
This commit is contained in:
parent
1e8ba763e8
commit
9d10db61d0
@ -17,9 +17,13 @@
|
|||||||
hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}"
|
hosts: "{{ nspawn_host_group | default('nspawn_hosts') }}"
|
||||||
gather_facts: true
|
gather_facts: true
|
||||||
|
|
||||||
|
|
||||||
- name: Set nspawn containers group
|
- name: Set nspawn containers group
|
||||||
hosts: "{{ container_group | default('all_containers') }}"
|
hosts: "{{ container_group | default('all_containers') }}"
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
|
tags:
|
||||||
|
- always
|
||||||
|
- nspawn-containers-create
|
||||||
tasks:
|
tasks:
|
||||||
- name: Add hosts to dynamic inventory group
|
- name: Add hosts to dynamic inventory group
|
||||||
group_by:
|
group_by:
|
||||||
@ -27,14 +31,15 @@
|
|||||||
parents: all_nspawn_containers
|
parents: all_nspawn_containers
|
||||||
when:
|
when:
|
||||||
- container_tech == 'nspawn'
|
- container_tech == 'nspawn'
|
||||||
tags:
|
|
||||||
- always
|
|
||||||
- nspawn-containers-create
|
|
||||||
|
|
||||||
- name: Create container(s)
|
- name: Create container(s)
|
||||||
hosts: all_nspawn_containers
|
hosts: all_nspawn_containers
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
user: root
|
user: root
|
||||||
|
environment: "{{ deployment_environment_variables | default({}) }}"
|
||||||
|
tags:
|
||||||
|
- nspawn-containers-create
|
||||||
roles:
|
roles:
|
||||||
- role: "nspawn_container_create"
|
- role: "nspawn_container_create"
|
||||||
post_tasks:
|
post_tasks:
|
||||||
@ -45,6 +50,52 @@
|
|||||||
sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}"
|
sleep: "{{ lxc_container_wait_params.sleep | default(omit) }}"
|
||||||
timeout: "{{ lxc_container_wait_params.timeout | 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: Configure containers default software
|
||||||
|
hosts: all_nspawn_containers
|
||||||
|
gather_facts: true
|
||||||
|
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,
|
# When using gather_facts with smart gathering,
|
||||||
# the facts aren't fully updated unless they
|
# the facts aren't fully updated unless they
|
||||||
# are old. Using the setup module in a task
|
# are old. Using the setup module in a task
|
||||||
@ -56,26 +107,13 @@
|
|||||||
- name: Gather facts for new container(s)
|
- name: Gather facts for new container(s)
|
||||||
setup:
|
setup:
|
||||||
gather_subset: "network,hardware,virtual"
|
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/package-cache-proxy.yml
|
||||||
when: install_method == "source"
|
when: install_method == "source"
|
||||||
|
|
||||||
- include: common-tasks/set-pip-vars.yml
|
- include: common-tasks/set-pip-vars.yml
|
||||||
when: install_method == "source"
|
when: install_method == "source"
|
||||||
roles:
|
roles:
|
||||||
- role: "openstack_hosts"
|
- role: "openstack_hosts"
|
||||||
is_container: true
|
is_container: true
|
||||||
cache_timeout: 0
|
|
||||||
vars_files:
|
|
||||||
- defaults/repo_packages/openstack_services.yml
|
|
||||||
- "defaults/{{ install_method }}_install.yml"
|
|
||||||
environment: "{{ deployment_environment_variables | default({}) }}"
|
|
||||||
tags:
|
|
||||||
- nspawn-containers-create
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user