openstack-ansible-lxc_hosts/handlers/main.yml
Kevin Carter f179f21a66 Clean-up old systemd prep and allow machinctl to grow
The machinectl cache is currently set image to 16G by default. If
multiple container images are imported into the cache this may be too
small by default. This change sets the cache to "64G" by default allowing
the cache more room to grow by.

This change also disables the quota system once the limit has been set
The option `lxc_host_machine_quota_disabled` has been added to disable or
enable the quota system as needed. This is done after the default limit has
been set so an adequately sized sparce file can be created should it not
already exist.

> More documentation can be seen here [0] with regard to the set-limit
  option.

Because we support both modern and older systemd, the cache prep tasks
for old systemd have been updated so that deployers using earlier
versions of systemd can benefit from the ability to grow an existing
cache via playbook run.

[0] https://www.freedesktop.org/software/systemd/man/machinectl.html#set-limit%20%5BNAME%5D%20BYTES

Closes-Bug: #1745361
Change-Id: I85fefc6ce186bb6808ac37a9ea79a50e29671115
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-02-12 15:30:14 +00:00

98 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: Start apparmor
service:
name: "apparmor"
enabled: yes
state: "started"
- name: Reload apparmor
service:
name: "apparmor"
state: "reloaded"
- name: Init reload
command: "initctl reload-configuration"
- name: Restart dbus
service:
name: "dbus"
state: "reloaded"
- name: Restart machined
systemd:
name: "systemd-machined.service"
state: "restarted"
- name: Start machines mount
systemd:
daemon_reload: yes
name: "var-lib-machines.mount"
enabled: "yes"
state: "started"
- name: Restart irqbalance
service:
name: "irqbalance"
state: "restarted"
enabled: "yes"
daemon_reload: yes
- name: Restart bridge
shell: "ifdown {{ lxc_net_bridge }} || true"
notify:
- Bring bridge up
- Veth check
- name: Bring bridge up
command: "ifup {{ lxc_net_bridge }}"
- name: Veth check
command: "/usr/local/bin/lxc-veth-check"
- name: Reload systemd units
systemd:
# TODO(hwoarang): We only want to reload the units so the 'name'
# parameter can be removed when we move to Ansible 2.4
name: it_does_not_matter
daemon_reload: yes
- name: Remove generated apt keys from LXC host
file:
path: /root/repo.keys
state: absent
- name: Remove rootfs archive
file:
path: "/tmp/rootfs.tar.xz"
state: "absent"
- name: Remove metadata archive
file:
path: "/tmp/meta.tar.xz"
state: "absent"
- name: Restart dnsmasq
service:
name: "lxc-dnsmasq"
state: "restarted"
enabled: "yes"
daemon_reload: yes
register: _lxc_dnsmasq_service
until: _lxc_dnsmasq_service | success
retries: 5
delay: 5