
All references to Gentoo, SUSE, Debian stretch and Centos-7 are removed. Conditional tasks, ternary operators and variables are simplified where possible OS specific variables files are generalised where possible Change-Id: I2defac928ff0081b262ba31bdb9981274f13b32b
120 lines
3.5 KiB
YAML
120 lines
3.5 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.
|
|
|
|
# Due to https://github.com/ansible/ansible-modules-extras/issues/2691
|
|
# this uses the LXC CLI tools to ensure that we get logging.
|
|
# TODO(odyssey4me): revisit this once the bug is fixed and released
|
|
- name: Stop Container
|
|
command: >
|
|
lxc-stop --name {{ inventory_hostname }}
|
|
--logfile {{ lxc_container_log_path }}/lxc-{{ inventory_hostname }}.log
|
|
--logpriority {{ (debug | bool) | ternary('DEBUG', 'INFO') }}
|
|
notify:
|
|
- Start Container
|
|
delegate_to: "{{ physical_host }}"
|
|
register: container_stop
|
|
changed_when: true
|
|
failed_when: not container_stop.rc in [0, 2]
|
|
until: container_stop.rc in [0, 2]
|
|
retries: 3
|
|
delay: 2
|
|
when:
|
|
- lxc_container_allow_restarts | bool
|
|
listen: Lxc container restart
|
|
|
|
# Due to https://github.com/ansible/ansible-modules-extras/issues/2691
|
|
# this uses the LXC CLI tools to ensure that we get logging.
|
|
# TODO(odyssey4me): revisit this once the bug is fixed and released
|
|
- name: Start Container
|
|
command: >
|
|
lxc-start --daemon --name {{ inventory_hostname }}
|
|
--logfile {{ lxc_container_log_path }}/lxc-{{ inventory_hostname }}.log
|
|
--logpriority {{ (debug | bool) | ternary('DEBUG', 'INFO') }}
|
|
delegate_to: "{{ physical_host }}"
|
|
register: container_start
|
|
until: container_start is success
|
|
retries: 3
|
|
listen: Lxc container restart
|
|
|
|
- name: Wait for container tmpfiles-setup finish
|
|
raw: systemctl list-units systemd-tmpfiles-setup.service --no-legend | grep 'exited' >/dev/null
|
|
register: systemd_tmpfiles
|
|
until: systemd_tmpfiles.rc == 0
|
|
retries: 20
|
|
delay: 2
|
|
changed_when: false
|
|
listen: Lxc container restart
|
|
|
|
- name: Flush addresses
|
|
command: "ip addr flush {{ item.value.interface }}"
|
|
with_dict: "{{ lxc_container_networks_combined }}"
|
|
failed_when: false
|
|
when:
|
|
- item.value.interface is defined
|
|
listen: Restart networkd
|
|
|
|
- name: Restart systemd-networkd
|
|
systemd:
|
|
name: systemd-networkd
|
|
state: restarted
|
|
enabled: true
|
|
daemon_reload: true
|
|
listen: Restart networkd
|
|
|
|
- name: Enable resolved
|
|
systemd:
|
|
name: systemd-resolved
|
|
state: started
|
|
enabled: true
|
|
daemon_reload: true
|
|
when:
|
|
- lxc_container_enable_resolved | bool
|
|
|
|
- name: Enable dbus
|
|
systemd:
|
|
name: dbus
|
|
state: started
|
|
enabled: true
|
|
daemon_reload: true
|
|
|
|
- name: Reload systemd daemon
|
|
systemd:
|
|
daemon_reload: true
|
|
|
|
- name: Start hostnamed
|
|
systemd:
|
|
name: systemd-hostnamed
|
|
state: started
|
|
enabled: true
|
|
daemon_reload: true
|
|
listen: Enable hostnamed
|
|
|
|
- name: Set hostnamectl name
|
|
command: "/usr/bin/hostnamectl --static --pretty --transient set-hostname {{ inventory_hostname | replace('_', '-') | quote }}"
|
|
changed_when: false
|
|
listen: Enable hostnamed
|
|
|
|
- name: Enable container sysctl service
|
|
service:
|
|
name: "sysctl-container"
|
|
state: started
|
|
enabled: yes
|
|
daemon_reload: yes
|
|
remote_user: root
|
|
register: _sysctl_service_started
|
|
until: _sysctl_service_started is success
|
|
retries: 5
|
|
delay: 5
|