openstack-ansible-lxc_hosts/tasks/lxc_install_zypper.yml
Andy McCrae eee919ad21 Fix lxc_net configuration for CentOS/SUSE
For CentOS/Red Hat and SUSE the network post-up/post-down scripts are
configured after the bridge has been brought up, and the handlers have
been flushed.

We need to configure the post-up and post-down scripts before the
restart bridge handler is flushed, so that dnsmasq is configured and
running before we attempt to install packages into the container.

Change-Id: Ifdb52624ed792665c858b3cdd4eec4b6aa365b1e
2017-09-12 15:39:09 -06:00

96 lines
2.5 KiB
YAML

---
# Copyright 2017, SUSE LINUX GmbH.
#
# 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: Add zypper containers repository
zypper_repository:
auto_import_keys: yes
autorefresh: yes
name: "{{ item.name }}"
repo: "{{ item.uri }}"
runrefresh: yes
with_items: "{{ lxc_hosts_external_repo }}"
tags:
- lxc_hosts-config
- name: Install zypper packages
zypper:
name: "{{ lxc_hosts_distro_packages }}"
state: "{{ lxc_hosts_package_state }}"
register: install_packages
until: install_packages|success
retries: 5
delay: 2
tags:
- lxc-packages
# NOTE(hwoarang) default dnsmasq profile is too restrictive so we
# need to adjust it for neutron.
- name: Relax dnsmasq apparmor profile
blockinfile:
path: "/etc/apparmor.d/local/usr.sbin.dnsmasq"
block: |-
/etc/neutron/** r,
/var/log/neutron/** rw,
/var/lib/neutron/** rw,
capability chown,
marker: "# {mark} ANSIBLE MANAGED BLOCK"
notify:
- Start apparmor
- Reload apparmor
tags:
- lxc-files
- lxc-apparmor
- lxc_hosts-config
- name: Drop lxc-openstack apparmor profile
template:
src: "lxc-openstack.apparmor.j2"
dest: "/etc/apparmor.d/lxc/lxc-openstack"
owner: "root"
group: "root"
mode: "0644"
notify:
- Start apparmor
- Reload apparmor
tags:
- lxc-files
- lxc-apparmor
- lxc_hosts-config
# NOTE(hwoarang) The newuidmap and newgidmap binaries do not have setuid bit
# set and that causes lxc-2.X.X to fail. As such, make sure the files have
# the correct mode.
# https://bugzilla.opensuse.org/show_bug.cgi?id=1054609
- name: Set setuid bit for newuidmap and newgidmap binaries (bsc#1054609)
file:
path: "{{ item }}"
mode: 04755
with_items:
- "/usr/bin/newuidmap"
- "/usr/bin/newgidmap"
tags:
- lxc-files
- lxc_hosts-config
- name: Flush handler to reload apparmor profiles
meta: flush_handlers
- name: Enable lxc service
service:
name: lxc
enabled: "yes"
tags:
- lxc_hosts-config