Remove unsupported OS
Do some role cleanup to path for not supported OS, like gentoo or suse. Change-Id: Icebce8e00485aa892ff3bbcbbf9652abc77a1c99
This commit is contained in:
parent
15c1522eab
commit
5b5159c0b2
|
@ -26,7 +26,7 @@
|
|||
gcc
|
||||
|
||||
# Base requirements for Ubuntu
|
||||
git-core [platform:dpkg platform:suse]
|
||||
git-core [platform:dpkg]
|
||||
libssl-dev [platform:dpkg]
|
||||
libffi-dev [platform:dpkg]
|
||||
python3 [platform:dpkg]
|
||||
|
@ -35,15 +35,12 @@ python3-dev [platform:dpkg]
|
|||
|
||||
# Base requirements for RPM distros
|
||||
gcc-c++ [platform:rpm]
|
||||
git [platform:rpm !platform:suse]
|
||||
git [platform:rpm]
|
||||
libffi-devel [platform:rpm]
|
||||
openssl-devel [platform:rpm]
|
||||
python3-dnf [platform:fedora]
|
||||
python3-devel [platform:rpm]
|
||||
|
||||
# Base requirements for Gentoo
|
||||
git [platform:gentoo]
|
||||
|
||||
# For SELinux
|
||||
libselinux-python3 [platform:redhat]
|
||||
libsemanage-python3 [platform:redhat]
|
||||
|
|
|
@ -158,14 +158,6 @@ openstack_hosts_rdo_repo_url: "{{ openstack_hosts_rdo_mirror_url }}/centos{{ ans
|
|||
openstack_hosts_rdo_deps_url: "{{ openstack_hosts_rdo_mirror_url }}/centos{{ ansible_distribution_major_version }}-master/deps/latest/"
|
||||
openstack_hosts_power_tool_enable: "{{ ('manila_all' in groups or 'gnocchi_all' in groups or install_method | default('source') == 'distro') }}"
|
||||
|
||||
# Default opensuse mirrors URLs
|
||||
opensuse_mirror: "http://download.opensuse.org"
|
||||
opensuse_mirror_obs: "{{ opensuse_mirror }}"
|
||||
# If mirrored to a different folder, we need to keep this as overridable.
|
||||
opensuse_repo_oss_url: "{{ opensuse_mirror }}/distribution/leap/{{ ansible_distribution_version }}/repo/oss/"
|
||||
opensuse_repo_update_url: "{{ opensuse_mirror }}/update/leap/{{ ansible_distribution_version }}/oss/"
|
||||
opensuse_obs_cloud_repo_url: "{{ opensuse_mirror_obs }}/repositories/Cloud:/OpenStack:/Master/openSUSE_Leap_{{ ansible_distribution_version }}"
|
||||
|
||||
# Keep a history of systemd journals on disk after reboots
|
||||
openstack_host_keep_journals: yes
|
||||
|
||||
|
|
|
@ -18,24 +18,18 @@ galaxy_info:
|
|||
description: Base host setup for a OpenStack Private Cloud host
|
||||
company: Rackspace
|
||||
license: Apache2
|
||||
min_ansible_version: 2.4
|
||||
min_ansible_version: 2.9
|
||||
platforms:
|
||||
- name: Debian
|
||||
versions:
|
||||
- stretch
|
||||
- buster
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- xenial
|
||||
- bionic
|
||||
- focal
|
||||
- name: EL
|
||||
versions:
|
||||
- 7
|
||||
- name: opensuse
|
||||
versions:
|
||||
- 15
|
||||
- name: gentoo
|
||||
versions:
|
||||
- all
|
||||
- 8
|
||||
categories:
|
||||
- cloud
|
||||
- host
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
---
|
||||
# Copyright 2018, Matthew Thode
|
||||
#
|
||||
# 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: Set up portage make.confd directory
|
||||
file:
|
||||
path: /etc/portage/make.confd
|
||||
state: directory
|
||||
mode: '0755'
|
||||
owner: root
|
||||
group: root
|
||||
|
||||
- name: add make.conf values
|
||||
lineinfile:
|
||||
path: /etc/portage/make.conf
|
||||
line: "{{ item }}"
|
||||
insertafter: "EOF"
|
||||
with_items: "{{ openstack_host_gentoo_make_conf | list }}"
|
||||
|
||||
- name: Set use flags for default packages
|
||||
lineinfile:
|
||||
path: /etc/portage/package.use/osa_openstack_host
|
||||
line: "{{ item }}"
|
||||
state: present
|
||||
mode: '0644'
|
||||
create: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items: "{{ openstack_host_distro_use_flags | list }}"
|
||||
|
||||
- name: Set package keywords
|
||||
lineinfile:
|
||||
path: /etc/portage/package.keywords/osa_openstack_host
|
||||
line: "{{ item }}"
|
||||
state: present
|
||||
mode: '0644'
|
||||
create: yes
|
||||
owner: root
|
||||
group: root
|
||||
with_items: "{{ openstack_host_distro_keywords | list }}"
|
||||
|
||||
- name: Remove the blacklisted packages
|
||||
package:
|
||||
name: "{{ openstack_hosts_package_list | selectattr('state','equalto','absent') | map(attribute='name') | list }}"
|
||||
state: absent
|
||||
|
||||
- name: If a keyfile is provided, copy the gpg keyfile to the key location
|
||||
copy:
|
||||
src: "{{ item.keyfile }}"
|
||||
dest: "{{ item.key }}"
|
||||
with_items: "{{ openstack_hosts_package_repos_keys | selectattr('keyfile','defined') | list }}"
|
||||
|
||||
- name: Add requirement packages (repositories gpg keys, toolkits...)
|
||||
zypper:
|
||||
name: "{{ openstack_hosts_package_list | rejectattr('state','equalto','absent') | map(attribute='name') | list }}"
|
||||
state: "{{ openstack_hosts_package_state }}"
|
||||
when:
|
||||
- (openstack_hosts_package_list | rejectattr('state','equalto','absent') | map(attribute='name') | list | length) > 0
|
|
@ -1,111 +0,0 @@
|
|||
---
|
||||
# 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.
|
||||
|
||||
# NOTE(hwoarang) snapper make take significant amount of CPU time
|
||||
# when executing zypper over and over so it's best to disable the
|
||||
# background comparison process. Snapper may need further tuning
|
||||
# for example reducing the number of snapshots to keep, disable daily
|
||||
# cleanup job etc but these may come later in the future if needed.
|
||||
- name: Check if Snapper root configuration file exists
|
||||
stat:
|
||||
path: "/etc/snapper/configs/root"
|
||||
register: snapper_root_config
|
||||
|
||||
- name: Disable background snapshot comparisons on Snapper
|
||||
lineinfile:
|
||||
path: "/etc/snapper/configs/root"
|
||||
regexp: '^BACKGROUND_COMPARISON=.*'
|
||||
line: 'BACKGROUND_COMPARISON="no"'
|
||||
state: present
|
||||
when:
|
||||
- snapper_root_config.stat.exists
|
||||
|
||||
# NOTE(nicolasbock) The gettext-runtime-mini package conflicts with
|
||||
# gettext-runtime. But removing it with zypper will also remove
|
||||
# grub2. We call `rpm` directly to remove _only_ gettext-runtime-mini.
|
||||
- name: Remove gettext-runtime-mini without removing grub2
|
||||
shell: |
|
||||
return_code=0
|
||||
if rpm --query --info gettext-runtime-mini; then
|
||||
rpm --erase --verbose --nodeps gettext-runtime-mini
|
||||
return_code=2
|
||||
fi
|
||||
exit ${return_code}
|
||||
args:
|
||||
executable: /bin/bash
|
||||
warn: false
|
||||
register: _remove_gettext_runtime_mini
|
||||
changed_when: _remove_gettext_runtime_mini.rc == 2
|
||||
failed_when: _remove_gettext_runtime_mini.rc not in [0, 2]
|
||||
|
||||
- name: If a keyfile is provided, copy the gpg keyfile to the key location
|
||||
copy:
|
||||
src: "{{ item.keyfile }}"
|
||||
dest: "{{ item.key }}"
|
||||
with_items: "{{ openstack_hosts_package_repos_keys | selectattr('keyfile','defined') | list }}"
|
||||
|
||||
- name: Add/Remove repositories gpg keys manually
|
||||
rpm_key:
|
||||
key: "{{ key.key }}"
|
||||
state: "{{ key.state | default('present') }}"
|
||||
validate_certs: "{{ key.validate_certs | default(omit) }}"
|
||||
with_items: "{{ openstack_hosts_package_repos_keys }}"
|
||||
loop_control:
|
||||
loop_var: key
|
||||
register: _add_rpm_keys
|
||||
until: _add_rpm_keys is success
|
||||
retries: 5
|
||||
delay: 2
|
||||
|
||||
- name: Add/Remove/Update acceptable repository vendors
|
||||
template:
|
||||
src: osa.vendors.j2
|
||||
dest: /etc/zypp/vendors.d/osa.vendors
|
||||
owner: root
|
||||
group: root
|
||||
mode: 0644
|
||||
|
||||
- name: Add requirement packages (repositories gpg keys, toolkits...)
|
||||
zypper:
|
||||
name: "{{ openstack_hosts_package_list | rejectattr('state','equalto','absent') | map(attribute='name') | list }}"
|
||||
state: "{{ openstack_hosts_package_state }}"
|
||||
when:
|
||||
- (openstack_hosts_package_list | rejectattr('state','equalto','absent') | map(attribute='name') | list | length) > 0
|
||||
|
||||
- name: Add/Remove/Update standard and user defined repositories
|
||||
zypper_repository:
|
||||
repo: "{{ repo.repo }}"
|
||||
state: "{{ repo.state | default('present') }}"
|
||||
name: "{{ repo.name | default(omit) }}"
|
||||
enabled: "{{ repo.enabled | default(omit) }}"
|
||||
disable_gpg_check: "{{ repo.disable_gpg_check | default(omit) }}"
|
||||
description: "{{ repo.description | default(omit) }}"
|
||||
autorefresh: "{{ repo.autorefresh | default(omit) }}"
|
||||
auto_import_keys: "{{ repo.auto_import_keys | default(omit) }}"
|
||||
priority: "{{ repo.priority | default(omit) }}"
|
||||
with_items: "{{ openstack_hosts_package_repos }}"
|
||||
loop_control:
|
||||
loop_var: repo
|
||||
register: _adding_repo
|
||||
until: _adding_repo is success
|
||||
retries: 5
|
||||
delay: 2
|
||||
|
||||
- name: Refresh repositories if necessary
|
||||
zypper_repository:
|
||||
repo: '*'
|
||||
runrefresh: yes
|
||||
when:
|
||||
- _adding_repo is changed
|
|
@ -1,9 +0,0 @@
|
|||
# {{ ansible_managed }}
|
||||
|
||||
#crontab for sysstat
|
||||
|
||||
# Activity reports every 10 minutes everyday
|
||||
*/{{ openstack_host_sysstat_interval }} * * * * root [ -x /usr/lib64/sa/sa1 ] && exec /usr/lib64/sa/sa1 -S ALL 1 1
|
||||
|
||||
# Update reports every 6 hours
|
||||
55 {{ openstack_host_sysstat_statistics_hour }} * * * root [ -x /usr/lib64/sa/sa2 ] && exec /usr/lib64/sa/sa2 -A
|
|
@ -1,9 +0,0 @@
|
|||
# {{ ansible_managed }}
|
||||
|
||||
#crontab for sysstat
|
||||
|
||||
# Activity reports every 10 minutes everyday
|
||||
*/{{ openstack_host_sysstat_interval }} * * * * root [ -x /usr/lib64/sa/sa1 ] && exec /usr/lib64/sa/sa1 -S ALL 1 1
|
||||
|
||||
# Update reports every 6 hours
|
||||
55 {{ openstack_host_sysstat_statistics_hour }} * * * root [ -x /usr/lib64/sa/sa2 ] && exec /usr/lib64/sa/sa2 -A
|
104
vars/gentoo.yml
104
vars/gentoo.yml
|
@ -1,104 +0,0 @@
|
|||
---
|
||||
# Copyright 2016, 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.
|
||||
|
||||
openstack_host_required_kernel: 4.14.65
|
||||
openstack_host_sysstat_file: /etc/sysstat
|
||||
openstack_host_sysstat_cron_file: /etc/cron.d/sysstat
|
||||
openstack_host_cron_template: sysstat.cron.gentoo.j2
|
||||
openstack_host_module_file: /etc/modprobe.d/openstack-ansible.conf
|
||||
|
||||
openstack_host_sysstat_cron_mode: '0644'
|
||||
|
||||
## Kernel modules loaded on hosts
|
||||
openstack_host_kernel_modules:
|
||||
- name: 8021q
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.4', '>=')) | ternary('br_netfilter', '') }}"
|
||||
- name: dm_multipath
|
||||
- name: dm_snapshot
|
||||
- name: ebtables
|
||||
- name: ip6table_filter
|
||||
- name: ip6_tables
|
||||
- name: ip_tables
|
||||
- name: ipt_MASQUERADE
|
||||
- name: ipt_REJECT
|
||||
- name: iptable_filter
|
||||
- name: iptable_mangle
|
||||
- name: iptable_nat
|
||||
- name: ip_vs
|
||||
- name: iscsi_tcp
|
||||
- name: nf_conntrack
|
||||
- name: nf_conntrack_ipv4
|
||||
- name: nf_conntrack_ipv6
|
||||
- name: nf_defrag_ipv4
|
||||
- name: nf_nat
|
||||
- name: nf_nat_ipv4
|
||||
# TODO (odyssey4me): revise the minimum kernel version once this kernel version is commonplace
|
||||
# If we end up with more requirements like this, then we should change the approach.
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.4.0-0', '<')) | ternary('scsi_dh', '') }}"
|
||||
- name: vhost_net
|
||||
- name: x_tables
|
||||
|
||||
## Package configuration
|
||||
openstack_host_distro_use_flags:
|
||||
- "app-admin/rsyslog openssl"
|
||||
# once rabbitmq-server-3.7.10 is stable, remove the following line
|
||||
- "dev-lang/erlang smp -wxwidgets"
|
||||
- "dev-lang/python sqlite"
|
||||
- "dev-db/mariadb galera sst-xtrabackup"
|
||||
|
||||
openstack_host_distro_keywords:
|
||||
- "~net-misc/rabbitmq-server-3.7.9 ~amd64"
|
||||
- "~dev-lang/elixir-1.6.6 ~amd64"
|
||||
- "~dev-db/mariadb-10.3.12 ~amd64"
|
||||
- "~dev-db/percona-toolkit-3.0.13 ~amd64"
|
||||
- "~dev-db/percona-xtrabackup-bin-2.4.12 ~amd64" # because non-bin needs old glibc
|
||||
- "~sys-cluster/galera-25.3.25 ~amd64"
|
||||
- "~app-arch/qpress-1.1 ~amd64"
|
||||
- "~dev-python/junit-xml-1.8 ~amd64"
|
||||
|
||||
openstack_host_gentoo_make_conf:
|
||||
- "FEATURES=\"binpkg-multi-instance buildpkg -ccache cgroup clean-logs -collision-protect fixlafiles ipc-sandbox multilib-strict network-sandbox news parallel-fetch parallel-install sign -stricter unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync webrsync-gpg xattr -fail-clean -loadpolicy\""
|
||||
- "EMERGE_DEFAULT_OPTS=\"--quiet-build --jobs=5 --binpkg-respect-use --rebuilt-binaries=y --usepkg --with-bdeps=y --binpkg-changed-deps=y\""
|
||||
|
||||
|
||||
## Base packages
|
||||
_openstack_host_distro_packages:
|
||||
- dev-python/virtualenv
|
||||
|
||||
## Bare metal base packages
|
||||
_openstack_host_metal_distro_packages:
|
||||
- net-misc/bridge-utils
|
||||
- net-misc/curl
|
||||
- sys-apps/dstat
|
||||
- net-firewall/ebtables
|
||||
- net-firewall/iptables
|
||||
- sys-apps/irqbalance
|
||||
- sys-apps/kmod
|
||||
- sys-fs/lvm2
|
||||
- net-misc/rsync
|
||||
- app-admin/rsyslog
|
||||
- app-admin/sysstat
|
||||
- app-admin/sudo
|
||||
- sys-process/time
|
||||
- net-misc/vconfig
|
||||
- net-misc/wget
|
||||
|
||||
## Not used in Gentoo but needed for various tasks
|
||||
_package_repos_keys: []
|
||||
_package_list: []
|
||||
_package_repos: []
|
||||
|
||||
_openstack_host_ca_location: /usr/local/share/ca-certificates/
|
|
@ -1,121 +0,0 @@
|
|||
---
|
||||
# Copyright 2016, 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.
|
||||
|
||||
## Defined required kernel
|
||||
openstack_host_required_kernel: 3.10.0-327.13.1.el7.x86_64
|
||||
openstack_host_sysstat_file: /etc/sysconfig/sysstat
|
||||
openstack_host_sysstat_cron_file: /etc/cron.d/sysstat
|
||||
openstack_host_cron_template: sysstat.cron.redhat.j2
|
||||
openstack_host_module_file: /etc/modules-load.d/openstack-ansible.conf
|
||||
|
||||
openstack_host_sysstat_cron_mode: '0600'
|
||||
|
||||
## Kernel modules loaded on hosts
|
||||
openstack_host_kernel_modules:
|
||||
- name: 8021q
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('3.10.0-514', '>=')) | ternary('br_netfilter', '') }}"
|
||||
- name: dm_multipath
|
||||
- name: dm_snapshot
|
||||
- name: ebtables
|
||||
- name: ip6table_filter
|
||||
- name: ip6_tables
|
||||
- name: ip_tables
|
||||
- name: ipt_MASQUERADE
|
||||
- name: ipt_REJECT
|
||||
- name: iptable_filter
|
||||
- name: iptable_mangle
|
||||
- name: iptable_nat
|
||||
- name: ip_vs
|
||||
- name: iscsi_tcp
|
||||
- name: nf_conntrack
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.19', '<=')) | ternary('nf_conntrack_ipv4' ,'') }}"
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.19', '<=')) | ternary('nf_conntrack_ipv6' ,'') }}"
|
||||
- name: nf_defrag_ipv4
|
||||
- name: nf_nat
|
||||
- name: nf_nat_ipv4
|
||||
- name: vhost_net
|
||||
|
||||
## Base packages
|
||||
_openstack_host_distro_packages:
|
||||
- python-virtualenv
|
||||
- python3-devel
|
||||
|
||||
## Bare metal base packages
|
||||
_openstack_host_metal_distro_packages:
|
||||
- bridge-utils
|
||||
- cronie
|
||||
- curl
|
||||
- device-mapper-event
|
||||
- dstat
|
||||
- ebtables
|
||||
- git
|
||||
- iptables
|
||||
- irqbalance
|
||||
- kmod-libs
|
||||
- kmod
|
||||
- libselinux-python
|
||||
- lvm2
|
||||
- policycoreutils-python
|
||||
- rsync
|
||||
- rsyslog
|
||||
- sysstat
|
||||
- sudo
|
||||
- time
|
||||
- wget
|
||||
- yum-plugin-rpm-warm-cache
|
||||
- yum-utils
|
||||
|
||||
_package_repos_keys:
|
||||
- name: openstack-queens
|
||||
key: /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
|
||||
keyfile: "gpg/764429E6"
|
||||
- name: rdo-qemu-ev
|
||||
key: /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization-RDO
|
||||
keyfile: "gpg/61E8806C"
|
||||
|
||||
_package_list:
|
||||
- name: epel-release
|
||||
state: absent
|
||||
- name: yum-plugin-priorities
|
||||
state: present
|
||||
- name: yum-utils
|
||||
state: present
|
||||
- name: "centos-openstack-release-*"
|
||||
state: absent
|
||||
- name: centos-release-ceph-jewel
|
||||
state: absent
|
||||
- name: centos-release-qemu-ev
|
||||
state: absent
|
||||
- name: centos-release-storage-common
|
||||
state: absent
|
||||
|
||||
_package_repos:
|
||||
- name: rdo-qemu-ev
|
||||
file: rdo
|
||||
description: "RDO CentOS-$releasever - QEMU EV"
|
||||
baseurl: "{{ openstack_hosts_centos_mirror_url }}/7/virt/$basearch/kvm-common/"
|
||||
gpgcheck: yes
|
||||
- name: rdo-current-passed-ci
|
||||
file: rdo
|
||||
description: rdo-current-passed-ci
|
||||
baseurl: "{{ openstack_hosts_rdo_repo_url }}"
|
||||
gpgcheck: no
|
||||
- name: rdo-deps
|
||||
file: rdo
|
||||
description: rdo-deps
|
||||
baseurl: "{{ openstack_hosts_rdo_deps_url }}"
|
||||
gpgcheck: no
|
||||
|
||||
_openstack_host_ca_location: /etc/pki/ca-trust/source/anchors/
|
134
vars/suse.yml
134
vars/suse.yml
|
@ -1,134 +0,0 @@
|
|||
---
|
||||
# Copyright 2016, 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.
|
||||
|
||||
# We support Leap 42.1 onwards so we pick a rather old 4.1 kernel
|
||||
openstack_host_required_kernel: 4.1.15
|
||||
openstack_host_sysstat_file: /etc/sysstat/sysstat
|
||||
# NOTE(mhayden): OpenSUSE automatically symlinks /etc/sysstat/sysstat.cron to
|
||||
# /etc/cron.d/sysstat via a systemd unit file. If you write directly to
|
||||
# /etc/cron.d/sysstat in this role, OpenSUSE will overwrite the file and break
|
||||
# the idempotency check.
|
||||
openstack_host_sysstat_cron_file: /etc/sysstat/sysstat.cron
|
||||
openstack_host_cron_template: sysstat.cron.suse.j2
|
||||
openstack_host_module_file: /etc/modules-load.d/openstack-ansible.conf
|
||||
|
||||
openstack_host_sysstat_cron_mode: '0644'
|
||||
|
||||
## Kernel modules loaded on hosts
|
||||
openstack_host_kernel_modules:
|
||||
- name: 8021q
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.4', '>=')) | ternary('br_netfilter', '') }}"
|
||||
- name: dm_multipath
|
||||
- name: dm_snapshot
|
||||
- name: ebtables
|
||||
- name: ip6table_filter
|
||||
- name: ip6_tables
|
||||
- name: ip_tables
|
||||
- name: ipt_MASQUERADE
|
||||
- name: ipt_REJECT
|
||||
- name: iptable_filter
|
||||
- name: iptable_mangle
|
||||
- name: iptable_nat
|
||||
- name: ip_vs
|
||||
- name: iscsi_tcp
|
||||
- name: nf_conntrack
|
||||
- name: nf_conntrack_ipv4
|
||||
- name: nf_conntrack_ipv6
|
||||
- name: nf_defrag_ipv4
|
||||
- name: nf_nat
|
||||
- name: nf_nat_ipv4
|
||||
# TODO (odyssey4me): revise the minimum kernel version once this kernel version is commonplace
|
||||
# If we end up with more requirements like this, then we should change the approach.
|
||||
- name: "{{ (hostvars[inventory_hostname]['ansible_kernel'] is version('4.4.0-0', '<')) | ternary('scsi_dh', '') }}"
|
||||
- name: vhost_net
|
||||
- name: x_tables
|
||||
|
||||
## Base packages
|
||||
_openstack_host_distro_packages:
|
||||
- python-setuptools # python-virtualenv does not work without this package
|
||||
- python-virtualenv
|
||||
- "{{ (ansible_distribution_version is version ('42', '>=')) | ternary('python-virtualenv', 'system-user-nobody') }}" # system-user-nobody only exists in Leap 15 onwards
|
||||
- python3-systemd # this can be removed once the oslo.log package has a dependency on python3-systemd
|
||||
|
||||
## Bare metal base packages
|
||||
_openstack_host_metal_distro_packages:
|
||||
- bridge-utils
|
||||
- "{{ (ansible_distribution_version is version ('42', '>=')) | ternary('patterns-openSUSE-devel_basis', 'patterns-devel-base-devel_basis') }}"
|
||||
- curl
|
||||
- device-mapper
|
||||
- dstat
|
||||
- ebtables
|
||||
- iptables
|
||||
- irqbalance
|
||||
- libkmod2
|
||||
- kmod
|
||||
- lvm2
|
||||
- rsync
|
||||
- rsyslog
|
||||
- sysstat
|
||||
- sudo
|
||||
- time
|
||||
- wget
|
||||
|
||||
_package_repos_keys: []
|
||||
## example:
|
||||
# - key: "http://url_to_gpg_key"
|
||||
# validate_certs:
|
||||
# state:
|
||||
# - key: "/tmp/file1"
|
||||
# keyfile: "gpg/file1"
|
||||
# validate_certs:
|
||||
# state:
|
||||
|
||||
_package_list:
|
||||
- name: systemd-logger
|
||||
state: absent # conflicts with rsyslog
|
||||
|
||||
## full example:
|
||||
#_package_repos:
|
||||
# - repo:
|
||||
# state:
|
||||
# name:
|
||||
# enabled:
|
||||
# disable_gpg_check:
|
||||
# description:
|
||||
# autorefresh:
|
||||
# auto_import_keys:
|
||||
_package_repos:
|
||||
- name: "repo-oss"
|
||||
repo: "{{ opensuse_repo_oss_url }}"
|
||||
auto_import_keys: yes
|
||||
autorefresh: no
|
||||
- name: "repo-update"
|
||||
repo: "{{ opensuse_repo_update_url }}"
|
||||
auto_import_keys: yes
|
||||
autorefresh: yes
|
||||
- name: "OBS:Cloud:OpenStack:Master"
|
||||
repo: "{{ opensuse_obs_cloud_repo_url }}"
|
||||
auto_import_keys: yes
|
||||
autorefresh: yes
|
||||
|
||||
_package_vendors:
|
||||
## https://en.opensuse.org/SDB:Vendor_change_update#Allowing_Vendor_change_for_selected_repositories
|
||||
# - suse
|
||||
# - opensuse
|
||||
# - obs://build.suse.deb
|
||||
# - Packman
|
||||
# - http://packman.links2linux.de
|
||||
- openSUSE
|
||||
- obs://build.opensuse.org/Cloud:OpenStack
|
||||
|
||||
_openstack_host_ca_location: /etc/pki/trust/anchors/
|
|
@ -1,97 +0,0 @@
|
|||
---
|
||||
# Copyright 2016, 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.
|
||||
|
||||
## Defined required kernel
|
||||
openstack_host_required_kernel: 4.4.0-0-generic
|
||||
openstack_host_sysstat_file: /etc/default/sysstat
|
||||
openstack_host_sysstat_cron_file: /etc/cron.d/sysstat
|
||||
openstack_host_cron_template: sysstat.cron.debian.j2
|
||||
openstack_host_module_file: /etc/modules
|
||||
|
||||
## Kernel modules loaded on hosts
|
||||
openstack_host_kernel_modules:
|
||||
- name: 8021q
|
||||
- name: br_netfilter
|
||||
- name: dm_multipath
|
||||
- name: dm_snapshot
|
||||
- name: ebtables
|
||||
- name: ip6table_filter
|
||||
- name: ip6_tables
|
||||
- name: ip_tables
|
||||
- name: ipt_MASQUERADE
|
||||
- name: ipt_REJECT
|
||||
- name: iptable_filter
|
||||
- name: iptable_mangle
|
||||
- name: iptable_nat
|
||||
- name: ip_vs
|
||||
- name: iscsi_tcp
|
||||
- name: nbd
|
||||
- name: nf_conntrack
|
||||
- name: nf_conntrack_ipv4
|
||||
- name: nf_conntrack_ipv6
|
||||
- name: nf_defrag_ipv4
|
||||
- name: nf_nat
|
||||
- name: nf_nat_ipv4
|
||||
- name: vhost_net
|
||||
- name: x_tables
|
||||
|
||||
## Base packages
|
||||
_openstack_host_distro_packages:
|
||||
- python3-virtualenv
|
||||
- python-virtualenv
|
||||
- virtualenv
|
||||
|
||||
## Bare metal base packages
|
||||
_openstack_host_metal_distro_packages:
|
||||
- apparmor-utils
|
||||
- apt-transport-https
|
||||
- bridge-utils
|
||||
- cgroup-lite
|
||||
- curl
|
||||
- dmeventd
|
||||
- dstat
|
||||
- ebtables
|
||||
- htop
|
||||
- iptables
|
||||
- irqbalance
|
||||
- libkmod2
|
||||
- lvm2
|
||||
- python-software-properties
|
||||
- rsync
|
||||
- rsyslog
|
||||
- sysstat
|
||||
- time
|
||||
- vlan
|
||||
- wget
|
||||
|
||||
_package_repos_keys: []
|
||||
## example:
|
||||
# - id:
|
||||
# file:
|
||||
# keyserver:
|
||||
# url:
|
||||
# state:
|
||||
|
||||
_package_list:
|
||||
- name: ubuntu-cloud-keyring
|
||||
state: "{{ openstack_hosts_package_state }}"
|
||||
|
||||
_package_repos:
|
||||
# Implement the current UCA repo configuration
|
||||
- repo: "deb {{ apt_repo_url | default('http://ubuntu-cloud.archive.canonical.com/ubuntu') }} {{ ansible_lsb.codename }}-updates/queens main"
|
||||
state: present
|
||||
filename: "uca"
|
||||
|
||||
_openstack_host_ca_location: /usr/local/share/ca-certificates/
|
Loading…
Reference in New Issue