openstack-ansible/playbooks/lxc-hosts-setup.yml
Jesse Pretorius b8b149130c If /var/log/lxc exists, move it to the log aggregation parent
In https://review.openstack.org/344721 the log aggregation link
was added for lxc logs to ensure that the logs are collected
in a central place.

This patch ensures that any pre-existing folder (which may exist
due to the playbook being run when upgrading) is moved to the
right place. This ensures that previous logs are kept and that
upgrades execute without failure.

Change-Id: I35a9b3176a79caf9cee177442fa6b3d79e057ea9
2016-07-25 23:47:20 +00:00

49 lines
1.8 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: Basic lxc host setup
hosts: "{{ lxc_host_group|default('hosts') }}"
gather_facts: "{{ gather_facts | default(True) }}"
max_fail_percentage: 20
user: root
pre_tasks:
- name: Check the state of the default LXC service log directory
stat:
path: "/var/log/lxc"
register: _lxc_log_dir
- name: Move the existing folder to the log aggregation parent
command: "mv /var/log/lxc /openstack/log/{{ inventory_hostname }}-lxc"
when:
- _lxc_log_dir.stat.isdir is defined
- _lxc_log_dir.stat.isdir | bool
- name: Create the new LXC service log directory
file:
path: "/openstack/log/{{ inventory_hostname }}-lxc"
state: directory
- name: Create the LXC service log aggregation link
file:
src: "/openstack/log/{{ inventory_hostname }}-lxc"
dest: "/var/log/lxc"
state: "link"
roles:
- { role: "lxc_hosts", tags: [ "lxc-host", "host-setup" ] }
- role: "rsyslog_client"
rsyslog_client_log_rotate_file: lxc_log_rotate
rsyslog_client_log_dir: "/var/log/lxc"
rsyslog_client_config_name: "99-lxc-rsyslog-client.conf"
tags:
- "lxc-rsyslog-client"
- "rsyslog-client"