openstack-ansible-lxc_hosts/tasks/lxc_install_zypper.yml
Markos Chandras 6b89578369 SUSE: Determine the build number on the fly
openSUSE changed the way the base container tarballs are being named so
we need to parse the Dockerfile to find out which build is available
for download.

Change-Id: Ib64dcbc960df7d369d202ce8cf7bdc29b3ee0e0a
Link: https://github.com/openSUSE/docker-containers-build/issues/29
2018-04-19 14:52:18 +01:00

74 lines
2.1 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) 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
- include_tasks: lxc_apparmor.yml
- name: Flush handler to reload apparmor profiles
meta: flush_handlers
- name: Enable lxc service
service:
name: lxc
enabled: "yes"
tags:
- lxc_hosts-config
- name: Determine latest openSUSE container build information
uri:
url: "{{ _lxc_hosts_container_image_url_base }}/Dockerfile"
return_content: true
register: _lxc_opensuse_image_build_info
- name: Set fact for openSUSE container build information
set_fact:
opensuse_image_build_info: "{{ _lxc_opensuse_image_build_info.content|regex_search('Version: (.*)', '\\1')|join(' ') }}"