Remove references to unsupported operating systems
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: I42e40adc20a122ea5bba292b1f6fea9e79b3c365
This commit is contained in:
parent
f0ed7234cb
commit
f1ed3f5dc9
@ -45,24 +45,12 @@ default_bind_mount_logs: true
|
||||
# in order to create a more sensible repo name for the distro.
|
||||
os_distro_version: "{{ (ansible_facts['distribution'] | lower) | replace(' ', '_') }}-{{ ansible_facts['distribution_version'].split('.')[:2] | join('.') }}-{{ ansible_facts['architecture'] | lower }}"
|
||||
|
||||
# Set the systemd prefix based on the base OS.
|
||||
systemd_utils_distro_prefix:
|
||||
apt: "/lib/systemd"
|
||||
yum: "/lib/systemd"
|
||||
dnf: "/lib/systemd"
|
||||
zypper: "/usr/lib/systemd"
|
||||
|
||||
systemd_utils_prefix: "{{ systemd_utils_distro_prefix[ansible_facts['pkg_mgr']] }}"
|
||||
|
||||
openstack_lock_dir: "/run/lock"
|
||||
|
||||
# Ensure that the package state matches the global setting
|
||||
rsyslog_client_package_state: "{{ package_state }}"
|
||||
# At this time there's no suitable package available for systemd-journal-remote/gateway
|
||||
# When installing on SUSE 42.x. For now this playbook will omit suse when the package
|
||||
# manager is "zypper". When a suitable package is available on SUSE this should be removed.
|
||||
rsyslog_client_enabled: "{{ ansible_facts['pkg_mgr'] == 'zypper' }}"
|
||||
rsyslog_server_enabled: "{{ ansible_facts['pkg_mgr'] == 'zypper' }}"
|
||||
rsyslog_client_enabled: False
|
||||
rsyslog_server_enabled: False
|
||||
|
||||
# URL for the frozen internal openstack repo.
|
||||
repo_server_port: 8181
|
||||
|
@ -22,7 +22,7 @@ osd_group_name: ceph-osd
|
||||
rgw_group_name: ceph-rgw
|
||||
mds_group_name: ceph-mds
|
||||
nfs_group_name: ceph-nfs
|
||||
ceph_origin: "{{ (ansible_facts['pkg_mgr'] == 'zypper') | ternary('distro', 'repository') }}"
|
||||
ceph_origin: repository
|
||||
ceph_repository: community
|
||||
# The _stable_release var is used by both the OSA ceph_client role and the
|
||||
# ceph-ansible roles. It is defaulted in ceph_client but set here to keep the
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
ceph_conf_overrides_rgw:
|
||||
"client.rgw.{{ hostvars[inventory_hostname]['ansible_hostname'] }}.rgw0":
|
||||
"client.rgw.{{ hostvars[inventory_hostname]['ansible_facts']['hostname'] }}.rgw0":
|
||||
# OpenStack integration with Keystone
|
||||
rgw_keystone_url: "{{ keystone_service_adminuri }}"
|
||||
rgw_keystone_api_version: 3
|
||||
|
@ -30,7 +30,7 @@ utility_venv_bin: "/openstack/venvs/utility-{{ openstack_release }}/bin"
|
||||
utility_distro_packages:
|
||||
- git
|
||||
- bash-completion
|
||||
- "{{ (ansible_pkg_mgr == 'apt') | ternary('debianutils', 'which') }}"
|
||||
- "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('debianutils', 'which') }}"
|
||||
|
||||
# Distribution packages needed for the utility pip package wheel build
|
||||
_utility_devel_distro_packages_debian:
|
||||
|
@ -63,7 +63,7 @@
|
||||
owner: "root"
|
||||
mode: "0755"
|
||||
when:
|
||||
- ansible_facts['pkg_mgr'] in ['yum', 'dnf']
|
||||
- ansible_facts['pkg_mgr'] == 'dnf'
|
||||
- ansible_facts['service_mgr'] == 'systemd'
|
||||
|
||||
- name: Add systemd override for PrivateDevices
|
||||
@ -73,7 +73,7 @@
|
||||
[Service]
|
||||
PrivateDevices=false
|
||||
when:
|
||||
- ansible_facts['pkg_mgr'] in ['yum', 'dnf']
|
||||
- ansible_facts['pkg_mgr'] == 'dnf'
|
||||
- ansible_facts['service_mgr'] == 'systemd'
|
||||
|
||||
roles:
|
||||
|
@ -28,7 +28,7 @@
|
||||
name: libselinux-python3
|
||||
state: present
|
||||
when:
|
||||
- ansible_facts['pkg_mgr'] in ['yum', 'dnf']
|
||||
- ansible_facts['pkg_mgr'] == 'dnf'
|
||||
|
||||
# Set the priority of the ceph community apt repo either above or below that of UCA or distro sources
|
||||
- name: Set apt package pins
|
||||
|
@ -29,14 +29,6 @@
|
||||
name: systemd-journald
|
||||
state: restarted
|
||||
pre_tasks:
|
||||
# At this time there's no suitable package available for systemd-journal-remote/gateway
|
||||
# When installing on SUSE 42.x. For now this playbook will omit suse when the package
|
||||
# manager is "zypper". When a suitable package is available on SUSE this should be removed.
|
||||
- name: Omit suse from this playbook
|
||||
meta: end_play
|
||||
when:
|
||||
- ansible_facts['pkg_mgr'] == 'zypper'
|
||||
|
||||
- name: Skip playbook if log_hosts group is empty
|
||||
meta: end_play
|
||||
when:
|
||||
@ -104,7 +96,7 @@
|
||||
enabled: "{{ (ansible_host != systemd_journal_remote_target) | ternary('no', 'yes') }}"
|
||||
state: "{{ (ansible_host != systemd_journal_remote_target) | ternary('stopped', 'started') }}"
|
||||
execstarts: >-
|
||||
{{ systemd_utils_prefix }}/systemd-journal-remote
|
||||
/lib/systemd/systemd-journal-remote
|
||||
--listen-http=-3
|
||||
--split-mode=host
|
||||
--compress
|
||||
@ -118,7 +110,7 @@
|
||||
enabled: "{{ (ansible_host == systemd_journal_remote_target) | ternary('no', 'yes') }}"
|
||||
state: "{{ (ansible_host == systemd_journal_remote_target) | ternary('stopped', 'started') }}"
|
||||
execstarts: >-
|
||||
{{ systemd_utils_prefix }}/systemd-journal-upload
|
||||
/lib/systemd/systemd-journal-upload
|
||||
--save-state
|
||||
--merge
|
||||
--url=http://{{ systemd_journal_remote_target }}:19532
|
||||
|
@ -88,7 +88,7 @@
|
||||
package:
|
||||
name: "{{ utility_distro_packages | default([]) }}"
|
||||
state: "{{ utility_package_state }}"
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] in ['apt', 'zypper']) | ternary('yes', omit) }}"
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
|
||||
cache_valid_time: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary(cache_timeout, omit) }}"
|
||||
register: install_packages
|
||||
until: install_packages is success
|
||||
|
@ -90,12 +90,6 @@ case ${DISTRO_ID} in
|
||||
python3-apt python3-venv \
|
||||
python3-minimal wget
|
||||
;;
|
||||
opensuse*)
|
||||
zypper -n install -l git-core curl autoconf gcc gcc-c++ \
|
||||
netcat-openbsd python python-xml python-devel gcc \
|
||||
libffi-devel libopenssl-devel python-setuptools \
|
||||
patterns-devel-python-devel_python3
|
||||
;;
|
||||
esac
|
||||
|
||||
# Load nodepool PIP mirror settings
|
||||
|
@ -81,30 +81,15 @@ function repo_information {
|
||||
[[ "${1}" != "host" ]] && lxc_cmd="lxc-attach --name ${1} --" || lxc_cmd=""
|
||||
echo "Collecting list of installed packages and enabled repositories for \"${1}\""
|
||||
# Redhat package debugging
|
||||
if eval sudo ${lxc_cmd} which yum &>/dev/null || eval sudo ${lxc_cmd} which dnf &>/dev/null; then
|
||||
# Prefer dnf over yum for CentOS.
|
||||
eval sudo ${lxc_cmd} which dnf &>/dev/null && RHT_PKG_MGR='dnf' || RHT_PKG_MGR='yum'
|
||||
eval sudo ${lxc_cmd} $RHT_PKG_MGR repolist -v > "${WORKING_DIR}/logs/redhat-rpm-repolist-${1}-${TS}.txt" || true
|
||||
eval sudo ${lxc_cmd} $RHT_PKG_MGR list installed > "${WORKING_DIR}/logs/redhat-rpm-list-installed-${1}-${TS}.txt" || true
|
||||
|
||||
# SUSE package debugging
|
||||
elif eval sudo ${lxc_cmd} which zypper &>/dev/null; then
|
||||
eval sudo ${lxc_cmd} zypper lr -d > "${WORKING_DIR}/logs/suse-zypper-repolist-${1}-${TS}.txt" || true
|
||||
eval sudo ${lxc_cmd} zypper --disable-repositories pa -i > "${WORKING_DIR}/logs/suse-zypper-list-installed-${1}-${TS}.txt" || true
|
||||
if eval sudo ${lxc_cmd} which dnf &>/dev/null; then
|
||||
eval sudo ${lxc_cmd} dnf repolist -v > "${WORKING_DIR}/logs/redhat-rpm-repolist-${1}-${TS}.txt" || true
|
||||
eval sudo ${lxc_cmd} dnf list installed > "${WORKING_DIR}/logs/redhat-rpm-list-installed-${1}-${TS}.txt" || true
|
||||
|
||||
# Ubuntu package debugging
|
||||
elif eval sudo ${lxc_cmd} which apt-get &> /dev/null; then
|
||||
eval sudo ${lxc_cmd} apt-cache policy | grep http | awk '{print $1" "$2" "$3}' | sort -u > "${WORKING_DIR}/logs/ubuntu-apt-repolist-${1}-${TS}.txt" || true
|
||||
eval sudo ${lxc_cmd} apt list --installed > "${WORKING_DIR}/logs/ubuntu-apt-list-installed-${1}-${TS}.txt" || true
|
||||
|
||||
# Gentoo package debugging
|
||||
elif eval sudo ${lxc_cmd} which emerge &> /dev/null; then
|
||||
# list installed packages
|
||||
eval sudo ${lxc_cmd} equery list "*" > "${WORKING_DIR}/logs/gentoo-portage-list-installed-${1}-${TS}.txt" || true
|
||||
# list only packages called for install (not dependancies)
|
||||
eval sudo ${lxc_cmd} cat /var/lib/portage/world > "${WORKING_DIR}/logs/gentoo-portage-list-manual-installed-${1}-${TS}.txt" || true
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function store_artifacts {
|
||||
|
@ -217,9 +217,6 @@ function run_dstat {
|
||||
apt-get update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get -y install dstat
|
||||
;;
|
||||
opensuse)
|
||||
zypper -n install -l dstat
|
||||
;;
|
||||
esac
|
||||
|
||||
# https://stackoverflow.com/a/20338327 executing in ()& decouples the dstat
|
||||
@ -334,7 +331,7 @@ function get_instance_info {
|
||||
|
||||
determine_distro
|
||||
case ${DISTRO_ID} in
|
||||
centos|rhel|fedora|opensuse)
|
||||
centos|rhel)
|
||||
rpm -qa | sort > \
|
||||
"/openstack/log/instance-info/host_packages_info_${TS}.log" || true
|
||||
;;
|
||||
|
@ -26,9 +26,7 @@
|
||||
vars:
|
||||
sftp_subsystem:
|
||||
'apt': 'sftp /usr/lib/openssh/sftp-server'
|
||||
'yum': 'sftp /usr/libexec/openssh/sftp-server'
|
||||
'dnf': 'sftp /usr/libexec/openssh/sftp-server'
|
||||
'zypper': 'sftp /usr/lib/ssh/sftp-server'
|
||||
sshd:
|
||||
ListenAddress:
|
||||
- 0.0.0.0
|
||||
|
@ -118,18 +118,10 @@ bootstrap_host_network_utils:
|
||||
iptables: /sbin/iptables
|
||||
ethtool: /sbin/ethtool
|
||||
ip: /sbin/ip
|
||||
yum:
|
||||
iptables: /usr/sbin/iptables
|
||||
ethtool: /usr/sbin/ethtool
|
||||
ip: /usr/sbin/ip
|
||||
dnf:
|
||||
iptables: /usr/sbin/iptables
|
||||
ethtool: /usr/sbin/ethtool
|
||||
ip: /usr/sbin/ip
|
||||
zypper:
|
||||
iptables: /usr/sbin/iptables
|
||||
ethtool: /sbin/ethtool
|
||||
ip: /sbin/ip
|
||||
#
|
||||
bootstrap_host_iptables_path: "{{ bootstrap_host_network_utils[ansible_facts['pkg_mgr']]['iptables'] }}"
|
||||
bootstrap_host_ethtool_path: "{{ bootstrap_host_network_utils[ansible_facts['pkg_mgr']]['ethtool'] }}"
|
||||
|
@ -24,7 +24,7 @@
|
||||
package:
|
||||
name: "{{ packages_install }}"
|
||||
state: present
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] in ['apt', 'zypper']) | ternary('yes', omit) }}"
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
|
||||
tags:
|
||||
- install-packages
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
package:
|
||||
name: "{{ packages_install_zfs }}"
|
||||
state: present
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] in ['apt', 'zypper']) | ternary('yes', omit) }}"
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
|
||||
tags:
|
||||
- install-packages
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
package:
|
||||
name: squid
|
||||
state: present
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] in ['apt', 'zypper']) | ternary('yes', omit) }}"
|
||||
update_cache: "{{ (ansible_facts['pkg_mgr'] == 'apt') | ternary('yes', omit) }}"
|
||||
notify: Restart squid
|
||||
tags:
|
||||
- install-packages
|
||||
|
@ -1,35 +0,0 @@
|
||||
---
|
||||
# Copyright 2015, Rackspace US, Inc.
|
||||
# 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.
|
||||
|
||||
packages_install:
|
||||
- bridge-utils
|
||||
- btrfsprogs
|
||||
- curl
|
||||
- dbus-1
|
||||
- ethtool
|
||||
- git-core
|
||||
- iptables
|
||||
- lvm2
|
||||
- python3
|
||||
- python3-devel
|
||||
- vim
|
||||
- vlan
|
||||
- xfsprogs
|
||||
|
||||
packages_remove: []
|
||||
|
||||
rc_local: /etc/rc.d/boot.local
|
||||
rc_local_insert_before: EOF
|
@ -28,7 +28,7 @@
|
||||
regexp: 'https'
|
||||
replace: "http"
|
||||
when:
|
||||
- ansible_distribution_release in ['focal']
|
||||
- ansible_facts['distribution_release'] in ['focal']
|
||||
|
||||
- name: Remove package excludes for yum/dnf
|
||||
lineinfile:
|
||||
|
Loading…
Reference in New Issue
Block a user