diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dda72f50a5..05a78c7f59 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,6 @@ or the name of a logical grouping of code. Examples: - library: add a placeholder module for the validate action plugin - site.yml: combine validate play with fact gathering play - - rhcs: bump version to 3.0 for stable 3.1 - Commits linked with an issue should trace them with : - Fixes: #2653 diff --git a/ceph-ansible.spec.in b/ceph-ansible.spec.in index fd53c0156a..42771cb60f 100644 --- a/ceph-ansible.spec.in +++ b/ceph-ansible.spec.in @@ -47,8 +47,6 @@ pushd %{buildroot}%{_datarootdir}/ceph-ansible %if ! 0%{?fedora} && ! 0%{?centos} # remove ability to install ceph community version rm roles/ceph-common/tasks/installs/redhat_{community,dev}_repository.yml - # Ship only the Red Hat Ceph Storage config (overwrite upstream settings) - cp group_vars/rhcs.yml.sample group_vars/all.yml.sample %endif popd diff --git a/docs/source/index.rst b/docs/source/index.rst index 3c3fc6e86b..1d20060d6d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -189,7 +189,6 @@ The following install options are also validated by the ``ceph-validate`` role: - ``ceph_origin`` set to ``distro`` - ``ceph_origin`` set to ``repository`` - ``ceph_origin`` set to ``local`` -- ``ceph_repository`` set to ``rhcs`` - ``ceph_repository`` set to ``dev`` - ``ceph_repository`` set to ``community`` diff --git a/docs/source/installation/non-containerized.rst b/docs/source/installation/non-containerized.rst index 3f13791986..d869214bde 100644 --- a/docs/source/installation/non-containerized.rst +++ b/docs/source/installation/non-containerized.rst @@ -5,7 +5,7 @@ The following are all of the available options for the installing Ceph through d We support 3 main installation methods, all managed by the ``ceph_origin`` variable: -- ``repository``: means that you will get Ceph installed through a new repository. Later below choose between ``community``, ``rhcs`` or ``dev``. These options will be exposed through the ``ceph_repository`` variable. +- ``repository``: means that you will get Ceph installed through a new repository. Later below choose between ``community`` or ``dev``. These options will be exposed through the ``ceph_repository`` variable. - ``distro``: means that no separate repo file will be added and you will get whatever version of Ceph is included in your Linux distro. - ``local``: means that the Ceph binaries will be copied over from the local machine (not well tested, use at your own risk) @@ -15,7 +15,6 @@ Origin: Repository If ``ceph_origin`` is set to ``repository``, you now have the choice between a couple of repositories controlled by the ``ceph_repository`` option: - ``community``: fetches packages from http://download.ceph.com, the official community Ceph repositories -- ``rhcs``: means you are a Red Hat customer - ``dev``: fetches packages from shaman, a gitbuilder based package system - ``uca``: fetches packages from Ubuntu Cloud Archive - ``custom``: fetches packages from a specific repository @@ -25,13 +24,6 @@ Community repository If ``ceph_repository`` is set to ``community``, packages you will be by default installed from http://download.ceph.com, this can be changed by tweaking ``ceph_mirror``. -RHCS repository -~~~~~~~~~~~~~~~ - -RHCS is the Red Hat Ceph Storage product from Red Hat, the enterprise version of Ceph. -If ``ceph_repository`` is set to ``rhcs``, packages you will be installed from Red Hat sources. - -To choose a specific version of RHCS you can set the ``ceph_rhcs_version`` variable accordingly, e.g: ``ceph_rhcs_version: 2``. UCA repository ~~~~~~~~~~~~~~ diff --git a/docs/source/testing/tox.rst b/docs/source/testing/tox.rst index 269c7be6b9..0ab61662d0 100644 --- a/docs/source/testing/tox.rst +++ b/docs/source/testing/tox.rst @@ -71,5 +71,5 @@ in the dynamic matrix that tox creates. Inside of ``{}`` you can include a comma of the *factor* name as those are used by tox as the separator between different factor sets. For example, if wanted to add a new test *factor* for the next Ceph release of luminious this is how you'd accomplish that. Currently, the first factor set in our ``envlist`` -is used to define the Ceph release (``{jewel,kraken,rhcs}-...``). To add luminous you'd change that to look like ``{luminous,kraken,rhcs}-...``. In the ``testenv`` section +is used to define the Ceph release (``{jewel,kraken}-...``). To add luminous you'd change that to look like ``{luminous,kraken}-...``. In the ``testenv`` section this is a subsection called ``setenv`` which allows you to provide environment variables to the tox environment and we support an environment variable called ``CEPH_STABLE_RELEASE``. To ensure that all the new tests that are created by adding the luminous *factor* you'd do this in that section: ``luminous: CEPH_STABLE_RELEASE=luminous``. diff --git a/generate_group_vars_sample.sh b/generate_group_vars_sample.sh index af5cc0554b..d631c565f3 100755 --- a/generate_group_vars_sample.sh +++ b/generate_group_vars_sample.sh @@ -47,12 +47,6 @@ generate_group_vars_file () { done } -rhcs_edits () { - tail -n +1 rhcs_edits.txt | while IFS= read -r option; do - sed -i "s|#${option% *} .*|${option}|" group_vars/rhcs.yml.sample - done -} - ######## # MAIN # ######## @@ -61,7 +55,7 @@ for role in "$basedir"/roles/ceph-*; do rolename=$(basename "$role") if [[ $rolename == "ceph-defaults" ]]; then - output="all.yml.sample rhcs.yml.sample" + output="all.yml.sample" elif [[ $rolename == "ceph-fetch-keys" ]]; then output="ceph-fetch-keys.yml.sample" elif [[ $rolename == "ceph-rbd-mirror" ]]; then @@ -82,5 +76,3 @@ for role in "$basedir"/roles/ceph-*; do generate_group_vars_file fi done - -rhcs_edits diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index bb91df2104..b13d243dff 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -32,6 +32,7 @@ dummy: # pacific: 16 # quincy: 17 # reef: 18 +# squid: 19 # dev: 99 @@ -128,7 +129,7 @@ dummy: # ORIGIN SOURCE # # Choose between: -# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs', 'dev' or 'obs' +# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'dev' or 'obs' # - 'distro' means that no separate repo file will be added # you will get whatever version of Ceph is included in your Linux distro. # 'local' means that the ceph binaries will be copied over from the local machine @@ -142,7 +143,6 @@ dummy: #ceph_repository: dummy #valid_ceph_repository: # - community -# - rhcs # - dev # - uca # - custom @@ -170,16 +170,6 @@ dummy: # for more info read: https://github.com/ceph/ceph-ansible/issues/305 # ceph_stable_distro_source: "{{ ansible_facts['distribution_release'] }}" - -# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 5.0) -# -# Enabled when ceph_repository == 'rhcs' -# -# This version is supported on RHEL 8 -# -#ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(5) }}" - - # REPOSITORY: UBUNTU CLOUD ARCHIVE # # Enabled when ceph_repository == 'uca' diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample deleted file mode 100644 index 0a002f2620..0000000000 --- a/group_vars/rhcs.yml.sample +++ /dev/null @@ -1,717 +0,0 @@ ---- -# Variables here are applicable to all host groups NOT roles - -# This sample file generated by generate_group_vars_sample.sh - -# Dummy variable to avoid error because ansible does not recognize the -# file as a good configuration file when no variable in it. -dummy: - -# You can override vars by using host or group vars - -########### -# GENERAL # -########### - -###################################### -# Releases name to number dictionary # -###################################### -#ceph_release_num: -# dumpling: 0.67 -# emperor: 0.72 -# firefly: 0.80 -# giant: 0.87 -# hammer: 0.94 -# infernalis: 9 -# jewel: 10 -# kraken: 11 -# luminous: 12 -# mimic: 13 -# nautilus: 14 -# octopus: 15 -# pacific: 16 -# quincy: 17 -# reef: 18 -# dev: 99 - - -# The 'cluster' variable determines the name of the cluster. -# Changing the default value to something else means that you will -# need to change all the command line calls as well, for example if -# your cluster name is 'foo': -# "ceph health" will become "ceph --cluster foo health" -# -# An easier way to handle this is to use the environment variable CEPH_ARGS -# So run: "export CEPH_ARGS="--cluster foo" -# With that you will be able to run "ceph health" normally -#cluster: ceph - -# Inventory host group variables -#mon_group_name: mons -#osd_group_name: osds -#rgw_group_name: rgws -#mds_group_name: mdss -#nfs_group_name: nfss -#rbdmirror_group_name: rbdmirrors -#client_group_name: clients -#mgr_group_name: mgrs -#rgwloadbalancer_group_name: rgwloadbalancers -#monitoring_group_name: monitoring -#adopt_label_group_names: -# - "{{ mon_group_name }}" -# - "{{ osd_group_name }}" -# - "{{ rgw_group_name }}" -# - "{{ mds_group_name }}" -# - "{{ nfs_group_name }}" -# - "{{ rbdmirror_group_name }}" -# - "{{ client_group_name }}" -# - "{{ mgr_group_name }}" -# - "{{ rgwloadbalancer_group_name }}" -# - "{{ monitoring_group_name }}" - -# If configure_firewall is true, then ansible will try to configure the -# appropriate firewalling rules so that Ceph daemons can communicate -# with each others. -#configure_firewall: true - -# Open ports on corresponding nodes if firewall is installed on it -#ceph_mon_firewall_zone: public -#ceph_mgr_firewall_zone: public -#ceph_osd_firewall_zone: public -#ceph_rgw_firewall_zone: public -#ceph_mds_firewall_zone: public -#ceph_nfs_firewall_zone: public -#ceph_rbdmirror_firewall_zone: public -#ceph_dashboard_firewall_zone: public -#ceph_rgwloadbalancer_firewall_zone: public - -# cephadm account for remote connections -#cephadm_ssh_user: root -#cephadm_ssh_priv_key_path: "/home/{{ cephadm_ssh_user }}/.ssh/id_rsa" -#cephadm_ssh_pub_key_path: "{{ cephadm_ssh_priv_key_path }}.pub" -#cephadm_mgmt_network: "{{ public_network }}" - -############ -# PACKAGES # -############ -#debian_package_dependencies: [] - -#centos_package_dependencies: -# - epel-release -# - "{{ (ansible_facts['distribution_major_version'] is version('8', '>=')) | ternary('python3-libselinux', 'libselinux-python') }}" - -#redhat_package_dependencies: [] - -#suse_package_dependencies: [] - -# Whether or not to install the ceph-test package. -#ceph_test: false - -# Enable the ntp service by default to avoid clock skew on ceph nodes -# Disable if an appropriate NTP client is already installed and configured -#ntp_service_enabled: true - -# Set type of NTP client daemon to use, valid entries are chronyd, ntpd or timesyncd -#ntp_daemon_type: chronyd - -# This variable determines if ceph packages can be updated. If False, the -# package resources will use "state=present". If True, they will use -# "state=latest". -#upgrade_ceph_packages: false - -#ceph_use_distro_backports: false # DEBIAN ONLY -#ceph_directories_mode: "0755" - -########### -# INSTALL # -########### -# ORIGIN SOURCE -# -# Choose between: -# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs', 'dev' or 'obs' -# - 'distro' means that no separate repo file will be added -# you will get whatever version of Ceph is included in your Linux distro. -# 'local' means that the ceph binaries will be copied over from the local machine -ceph_origin: repository -#valid_ceph_origins: -# - repository -# - distro -# - local - - -ceph_repository: rhcs -#valid_ceph_repository: -# - community -# - rhcs -# - dev -# - uca -# - custom -# - obs - - -# REPOSITORY: COMMUNITY VERSION -# -# Enabled when ceph_repository == 'community' -# -#ceph_mirror: https://download.ceph.com -#ceph_stable_key: https://download.ceph.com/keys/release.asc -#ceph_stable_release: reef -#ceph_stable_repo: "{{ ceph_mirror }}/debian-{{ ceph_stable_release }}" - -#nfs_ganesha_stable: true # use stable repos for nfs-ganesha -#centos_release_nfs: centos-release-nfs-ganesha4 -#nfs_ganesha_stable_deb_repo: http://ppa.launchpad.net/nfs-ganesha/nfs-ganesha-4/ubuntu -#nfs_ganesha_apt_keyserver: keyserver.ubuntu.com -#nfs_ganesha_apt_key_id: EA914D611053D07BD332E18010353E8834DC57CA -#libntirpc_stable_deb_repo: http://ppa.launchpad.net/nfs-ganesha/libntirpc-4/ubuntu - -# Use the option below to specify your applicable package tree, eg. when using non-LTS Ubuntu versions -# # for a list of available Debian distributions, visit http://download.ceph.com/debian-{{ ceph_stable_release }}/dists/ -# for more info read: https://github.com/ceph/ceph-ansible/issues/305 -# ceph_stable_distro_source: "{{ ansible_facts['distribution_release'] }}" - - -# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 5.0) -# -# Enabled when ceph_repository == 'rhcs' -# -# This version is supported on RHEL 8 -# -ceph_rhcs_version: 5 - - -# REPOSITORY: UBUNTU CLOUD ARCHIVE -# -# Enabled when ceph_repository == 'uca' -# -# This allows the install of Ceph from the Ubuntu Cloud Archive. The Ubuntu Cloud Archive -# usually has newer Ceph releases than the normal distro repository. -# -# -#ceph_stable_repo_uca: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -#ceph_stable_openstack_release_uca: queens -#ceph_stable_release_uca: "{{ ansible_facts['distribution_release'] }}-updates/{{ ceph_stable_openstack_release_uca }}" - -# REPOSITORY: openSUSE OBS -# -# Enabled when ceph_repository == 'obs' -# -# This allows the install of Ceph from the openSUSE OBS repository. The OBS repository -# usually has newer Ceph releases than the normal distro repository. -# -# -#ceph_obs_repo: "https://download.opensuse.org/repositories/filesystems:/ceph:/{{ ceph_stable_release }}/openSUSE_Leap_{{ ansible_facts['distribution_version'] }}/" - -# REPOSITORY: DEV -# -# Enabled when ceph_repository == 'dev' -# -#ceph_dev_branch: main # development branch you would like to use e.g: main, wip-hack -#ceph_dev_sha1: latest # distinct sha1 to use, defaults to 'latest' (as in latest built) - -#nfs_ganesha_dev: false # use development repos for nfs-ganesha - -# Set this to choose the version of ceph dev libraries used in the nfs-ganesha packages from shaman -# flavors so far include: ceph_main, ceph_jewel, ceph_kraken, ceph_luminous -#nfs_ganesha_flavor: "ceph_main" - - -# REPOSITORY: CUSTOM -# -# Enabled when ceph_repository == 'custom' -# -# Use a custom repository to install ceph. For RPM, ceph_custom_repo should be -# a URL to the .repo file to be installed on the targets. For deb, -# ceph_custom_repo should be the URL to the repo base. -# -# ceph_custom_key: https://server.domain.com/ceph-custom-repo/key.asc -#ceph_custom_repo: https://server.domain.com/ceph-custom-repo - - -# ORIGIN: LOCAL CEPH INSTALLATION -# -# Enabled when ceph_repository == 'local' -# -# Path to DESTDIR of the ceph install -# ceph_installation_dir: "/path/to/ceph_installation/" -# Whether or not to use installer script rundep_installer.sh -# This script takes in rundep and installs the packages line by line onto the machine -# If this is set to false then it is assumed that the machine ceph is being copied onto will already have -# all runtime dependencies installed -# use_installer: false -# Root directory for ceph-ansible -# ansible_dir: "/path/to/ceph-ansible" - - -###################### -# CEPH CONFIGURATION # -###################### - -## Ceph options -# -# Each cluster requires a unique, consistent filesystem ID. By -# default, the playbook generates one for you. -# If you want to customize how the fsid is -# generated, you may find it useful to disable fsid generation to -# avoid cluttering up your ansible repo. If you set `generate_fsid` to -# false, you *must* generate `fsid` in another way. -# ACTIVATE THE FSID VARIABLE FOR NON-VAGRANT DEPLOYMENT -#fsid: "{{ cluster_uuid.stdout }}" -#generate_fsid: true - -#ceph_conf_key_directory: /etc/ceph - -#ceph_uid: "{{ '64045' if not containerized_deployment | bool and ansible_facts['os_family'] == 'Debian' else '167' }}" - -# Permissions for keyring files in /etc/ceph -#ceph_keyring_permissions: '0600' - -#cephx: true - -## Client options -# -#rbd_cache: "true" -#rbd_cache_writethrough_until_flush: "true" -#rbd_concurrent_management_ops: 20 - -#rbd_client_directories: true # this will create rbd_client_log_path and rbd_client_admin_socket_path directories with proper permissions - -# Permissions for the rbd_client_log_path and -# rbd_client_admin_socket_path. Depending on your use case for Ceph -# you may want to change these values. The default, which is used if -# any of the variables are unset or set to a false value (like `null` -# or `false`) is to automatically determine what is appropriate for -# the Ceph version with non-OpenStack workloads -- ceph:ceph and 0770 -# for infernalis releases, and root:root and 1777 for pre-infernalis -# releases. -# -# For other use cases, including running Ceph with OpenStack, you'll -# want to set these differently: -# -# For OpenStack on RHEL, you'll want: -# rbd_client_directory_owner: "qemu" -# rbd_client_directory_group: "libvirtd" (or "libvirt", depending on your version of libvirt) -# rbd_client_directory_mode: "0755" -# -# For OpenStack on Ubuntu or Debian, set: -# rbd_client_directory_owner: "libvirt-qemu" -# rbd_client_directory_group: "kvm" -# rbd_client_directory_mode: "0755" -# -# If you set rbd_client_directory_mode, you must use a string (e.g., -# 'rbd_client_directory_mode: "0755"', *not* -# 'rbd_client_directory_mode: 0755', or Ansible will complain: mode -# must be in octal or symbolic form -#rbd_client_directory_owner: ceph -#rbd_client_directory_group: ceph -#rbd_client_directory_mode: "0770" - -#rbd_client_log_path: /var/log/ceph -#rbd_client_log_file: "{{ rbd_client_log_path }}/qemu-guest-$pid.log" # must be writable by QEMU and allowed by SELinux or AppArmor -#rbd_client_admin_socket_path: /var/run/ceph # must be writable by QEMU and allowed by SELinux or AppArmor - -## Monitor options -# -# You must define either monitor_interface, monitor_address or monitor_address_block. -# These variables must be defined at least in all.yml and overrided if needed (inventory host file or group_vars/*.yml). -# Eg. If you want to specify for each monitor which address the monitor will bind to you can set it in your **inventory host file** by using 'monitor_address' variable. -# Preference will go to monitor_address if both monitor_address and monitor_interface are defined. -#monitor_interface: interface -#monitor_address: x.x.x.x -#monitor_address_block: subnet -# set to either ipv4 or ipv6, whichever your network is using -#ip_version: ipv4 - -#mon_host_v1: -# enabled: true -# suffix: ':6789' -#mon_host_v2: -# suffix: ':3300' - -#enable_ceph_volume_debug: false - -########## -# CEPHFS # -########## -# When pg_autoscale_mode is set to True, you must add the target_size_ratio key with a correct value -# `pg_num` and `pgp_num` keys will be ignored, even if specified. -# eg: -# cephfs_data_pool: -# name: "{{ cephfs_data if cephfs_data is defined else 'cephfs_data' }}" -# target_size_ratio: 0.2 -#cephfs: cephfs # name of the ceph filesystem -#cephfs_data_pool: -# name: "{{ cephfs_data if cephfs_data is defined else 'cephfs_data' }}" -#cephfs_metadata_pool: -# name: "{{ cephfs_metadata if cephfs_metadata is defined else 'cephfs_metadata' }}" -#cephfs_pools: -# - "{{ cephfs_data_pool }}" -# - "{{ cephfs_metadata_pool }}" - -## OSD options -# -#lvmetad_disabled: false -#is_hci: false -#hci_safety_factor: 0.2 -#non_hci_safety_factor: 0.7 -#safety_factor: "{{ hci_safety_factor if is_hci | bool else non_hci_safety_factor }}" -#osd_memory_target: 4294967296 -#journal_size: 5120 # OSD journal size in MB -#block_db_size: -1 # block db size in bytes for the ceph-volume lvm batch. -1 means use the default of 'as big as possible'. -#public_network: 0.0.0.0/0 -#cluster_network: "{{ public_network | regex_replace(' ', '') }}" -#osd_mkfs_type: xfs -#osd_mkfs_options_xfs: -f -i size=2048 -#osd_mount_options_xfs: noatime,largeio,inode64,swalloc -#osd_objectstore: bluestore - -# Any device containing these patterns in their path will be excluded. -#osd_auto_discovery_exclude: "dm-*|loop*|md*|rbd*" - -## MDS options -# -#mds_max_mds: 1 - -## Rados Gateway options -# -#radosgw_frontend_type: beast # For additional frontends see: https://docs.ceph.com/en/latest/radosgw/frontends/ - -#radosgw_frontend_port: 8080 -# The server private key, public certificate and any other CA or intermediate certificates should be in one file, in PEM format. -#radosgw_frontend_ssl_certificate: "" -#radosgw_frontend_ssl_certificate_data: "" # certificate contents to be written to path defined by radosgw_frontend_ssl_certificate -#radosgw_frontend_options: "" -#radosgw_thread_pool_size: 512 - - -# You must define either radosgw_interface, radosgw_address. -# These variables must be defined at least in all.yml and overrided if needed (inventory host file or group_vars/*.yml). -# Eg. If you want to specify for each radosgw node which address the radosgw will bind to you can set it in your **inventory host file** by using 'radosgw_address' variable. -# Preference will go to radosgw_address if both radosgw_address and radosgw_interface are defined. -#radosgw_interface: interface -#radosgw_address: x.x.x.x -#radosgw_address_block: subnet -#radosgw_keystone_ssl: false # activate this when using keystone PKI keys -#radosgw_num_instances: 1 -# Rados Gateway options -#email_address: foo@bar.com - - -## Testing mode -# enable this mode _only_ when you have a single node -# if you don't want it keep the option commented -# common_single_host_mode: true - -## Handlers - restarting daemons after a config change -# if for whatever reasons the content of your ceph configuration changes -# ceph daemons will be restarted as well. At the moment, we can not detect -# which config option changed so all the daemons will be restarted. Although -# this restart will be serialized for each node, in between a health check -# will be performed so we make sure we don't move to the next node until -# ceph is not healthy -# Obviously between the checks (for monitors to be in quorum and for osd's pgs -# to be clean) we have to wait. These retries and delays can be configurable -# for both monitors and osds. -# -# Monitor handler checks -#handler_health_mon_check_retries: 10 -#handler_health_mon_check_delay: 20 -# -# OSD handler checks -#handler_health_osd_check_retries: 40 -#handler_health_osd_check_delay: 30 -#handler_health_osd_check: true -# -# MDS handler checks -#handler_health_mds_check_retries: 5 -#handler_health_mds_check_delay: 10 -# -# RGW handler checks -#handler_health_rgw_check_retries: 5 -#handler_health_rgw_check_delay: 10 - -# NFS handler checks -#handler_health_nfs_check_retries: 5 -#handler_health_nfs_check_delay: 10 - -# RBD MIRROR handler checks -#handler_health_rbd_mirror_check_retries: 5 -#handler_health_rbd_mirror_check_delay: 10 - -# MGR handler checks -#handler_health_mgr_check_retries: 5 -#handler_health_mgr_check_delay: 10 - -## health mon/osds check retries/delay: - -#health_mon_check_retries: 20 -#health_mon_check_delay: 10 -#health_osd_check_retries: 20 -#health_osd_check_delay: 10 - -############## -# RBD-MIRROR # -############## - -#ceph_rbd_mirror_pool: "rbd" - -############### -# NFS-GANESHA # -############### -# -# Access type options -# -# Enable NFS File access -# If set to true, then ganesha is set up to export the root of the -# Ceph filesystem, and ganesha's attribute and directory caching is disabled -# as much as possible since libcephfs clients also caches the same -# information. -# -# Set this to true to enable File access via NFS. Requires an MDS role. -#nfs_file_gw: false -# Set this to true to enable Object access via NFS. Requires an RGW role. -#nfs_obj_gw: "{{ False if groups.get(mon_group_name, []) | length == 0 else True }}" - - -################### -# CONFIG OVERRIDE # -################### - -# Ceph configuration file override. -# This allows you to specify more configuration options -# using an INI style format. -# -# When configuring RGWs, make sure you use the form [client.rgw.*] -# instead of [client.radosgw.*]. -# For more examples check the profiles directory of https://github.com/ceph/ceph-ansible. -# -# The following sections are supported: [global], [mon], [osd], [mds], [client] -# -# Example: -# ceph_conf_overrides: -# global: -# foo: 1234 -# bar: 5678 -# "client.rgw.{{ hostvars[groups.get(rgw_group_name)[0]]['ansible_facts']['hostname'] }}": -# rgw_zone: zone1 -# -#ceph_conf_overrides: {} - - -############# -# OS TUNING # -############# - -#disable_transparent_hugepage: "{{ false if osd_objectstore == 'bluestore' }}" -#os_tuning_params: -# - { name: fs.file-max, value: 26234859 } -# - { name: vm.zone_reclaim_mode, value: 0 } -# - { name: vm.swappiness, value: 10 } -# - { name: vm.min_free_kbytes, value: "{{ vm_min_free_kbytes }}" } - -# For Debian & Red Hat/CentOS installs set TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES -# Set this to a byte value (e.g. 134217728) -# A value of 0 will leave the package default. -#ceph_tcmalloc_max_total_thread_cache: 134217728 - - -########## -# DOCKER # -########## -ceph_docker_image: "rhceph/rhceph-5-rhel8" -ceph_docker_image_tag: "latest" -ceph_docker_registry: "registry.redhat.io" -ceph_docker_registry_auth: true -# ceph_docker_registry_username: -# ceph_docker_registry_password: -# ceph_docker_http_proxy: -# ceph_docker_https_proxy: -#ceph_docker_no_proxy: "localhost,127.0.0.1" -## Client only docker image - defaults to {{ ceph_docker_image }} -#ceph_client_docker_image: "{{ ceph_docker_image }}" -#ceph_client_docker_image_tag: "{{ ceph_docker_image_tag }}" -#ceph_client_docker_registry: "{{ ceph_docker_registry }}" -containerized_deployment: true -#container_binary: -#timeout_command: "{{ 'timeout --foreground -s KILL ' ~ docker_pull_timeout if (docker_pull_timeout != '0') and (ceph_docker_dev_image is undefined or not ceph_docker_dev_image) else '' }}" - - -# this is only here for usage with the rolling_update.yml playbook -# do not ever change this here -#rolling_update: false - -##################### -# Docker pull retry # -##################### -#docker_pull_retry: 3 -#docker_pull_timeout: "300s" - - -############# -# OPENSTACK # -############# -#openstack_config: false -# When pg_autoscale_mode is set to True, you must add the target_size_ratio key with a correct value -# `pg_num` and `pgp_num` keys will be ignored, even if specified. -# eg: -# openstack_glance_pool: -# name: "images" -# rule_name: "my_replicated_rule" -# application: "rbd" -# pg_autoscale_mode: false -# pg_num: 16 -# pgp_num: 16 -# target_size_ratio: 0.2 -#openstack_glance_pool: -# name: "images" -# application: "rbd" -#openstack_cinder_pool: -# name: "volumes" -# application: "rbd" -#openstack_nova_pool: -# name: "vms" -# application: "rbd" -#openstack_cinder_backup_pool: -# name: "backups" -# application: "rbd" -#openstack_gnocchi_pool: -# name: "metrics" -# application: "rbd" -#openstack_cephfs_data_pool: -# name: "manila_data" -# application: "cephfs" -#openstack_cephfs_metadata_pool: -# name: "manila_metadata" -# application: "cephfs" -#openstack_pools: -# - "{{ openstack_glance_pool }}" -# - "{{ openstack_cinder_pool }}" -# - "{{ openstack_nova_pool }}" -# - "{{ openstack_cinder_backup_pool }}" -# - "{{ openstack_gnocchi_pool }}" -# - "{{ openstack_cephfs_data_pool }}" -# - "{{ openstack_cephfs_metadata_pool }}" - - -# The value for 'key' can be a pre-generated key, -# e.g key: "AQDC2UxZH4yeLhAAgTaZb+4wDUlYOsr1OfZSpQ==" -# By default, keys will be auto-generated. -# -#openstack_keys: -# - { name: client.glance, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_cinder_pool.name }}, profile rbd pool={{ openstack_glance_pool.name }}"}, mode: "0600" } -# - { name: client.cinder, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_cinder_pool.name }}, profile rbd pool={{ openstack_nova_pool.name }}, profile rbd pool={{ openstack_glance_pool.name }}"}, mode: "0600" } -# - { name: client.cinder-backup, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_cinder_backup_pool.name }}"}, mode: "0600" } -# - { name: client.gnocchi, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_gnocchi_pool.name }}"}, mode: "0600", } -# - { name: client.openstack, caps: { mon: "profile rbd", osd: "profile rbd pool={{ openstack_glance_pool.name }}, profile rbd pool={{ openstack_nova_pool.name }}, profile rbd pool={{ openstack_cinder_pool.name }}, profile rbd pool={{ openstack_cinder_backup_pool.name }}"}, mode: "0600" } - - -############# -# DASHBOARD # -############# -#dashboard_enabled: true -# Choose http or https -# For https, you should set dashboard.crt/key and grafana.crt/key -# If you define the dashboard_crt and dashboard_key variables, but leave them as '', -# then we will autogenerate a cert and keyfile -#dashboard_protocol: https -#dashboard_port: 8443 -# set this variable to the network you want the dashboard to listen on. (Default to public_network) -#dashboard_network: "{{ public_network }}" -#dashboard_admin_user: admin -#dashboard_admin_user_ro: false -# This variable must be set with a strong custom password when dashboard_enabled is True -# dashboard_admin_password: p@ssw0rd -# We only need this for SSL (https) connections -#dashboard_crt: '' -#dashboard_key: '' -#dashboard_certificate_cn: ceph-dashboard -#dashboard_tls_external: false -#dashboard_grafana_api_no_ssl_verify: "{{ true if dashboard_protocol == 'https' and not grafana_crt and not grafana_key else false }}" -#dashboard_rgw_api_user_id: ceph-dashboard -#dashboard_rgw_api_admin_resource: '' -#dashboard_rgw_api_no_ssl_verify: false -#dashboard_frontend_vip: '' -#dashboard_disabled_features: [] -#prometheus_frontend_vip: '' -#alertmanager_frontend_vip: '' -node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 -#node_exporter_port: 9100 -#grafana_admin_user: admin -# This variable must be set with a strong custom password when dashboard_enabled is True -# grafana_admin_password: admin -# We only need this for SSL (https) connections -#grafana_crt: '' -#grafana_key: '' -# When using https, please fill with a hostname for which grafana_crt is valid. -#grafana_server_fqdn: '' -grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 -#grafana_container_cpu_period: 100000 -#grafana_container_cpu_cores: 2 -# container_memory is in GB -#grafana_container_memory: 4 -#grafana_uid: 472 -#grafana_datasource: Dashboard -#grafana_dashboards_path: "/etc/grafana/dashboards/ceph-dashboard" -#grafana_dashboard_version: main -#grafana_dashboard_files: -# - ceph-cluster.json -# - cephfs-overview.json -# - host-details.json -# - hosts-overview.json -# - osd-device-details.json -# - osds-overview.json -# - pool-detail.json -# - pool-overview.json -# - radosgw-detail.json -# - radosgw-overview.json -# - radosgw-sync-overview.json -# - rbd-details.json -# - rbd-overview.json -#grafana_plugins: -# - vonage-status-panel -# - grafana-piechart-panel -#grafana_allow_embedding: true -#grafana_port: 3000 -#grafana_network: "{{ public_network }}" -#grafana_conf_overrides: {} -prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 -#prometheus_container_cpu_period: 100000 -#prometheus_container_cpu_cores: 2 -# container_memory is in GB -#prometheus_container_memory: 4 -#prometheus_data_dir: /var/lib/prometheus -#prometheus_conf_dir: /etc/prometheus -#prometheus_user_id: '65534' # This is the UID used by the prom/prometheus container image -#prometheus_port: 9092 -#prometheus_conf_overrides: {} -# Uncomment out this variable if you need to customize the retention period for prometheus storage. -# set it to '30d' if you want to retain 30 days of data. -# prometheus_storage_tsdb_retention_time: 15d -alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6 -#alertmanager_container_cpu_period: 100000 -#alertmanager_container_cpu_cores: 2 -# container_memory is in GB -#alertmanager_container_memory: 4 -#alertmanager_data_dir: /var/lib/alertmanager -#alertmanager_conf_dir: /etc/alertmanager -#alertmanager_port: 9093 -#alertmanager_cluster_port: 9094 -#alertmanager_conf_overrides: {} -#alertmanager_dashboard_api_no_ssl_verify: "{{ true if dashboard_protocol == 'https' and not dashboard_crt and not dashboard_key else false }}" - -#no_log_on_ceph_key_tasks: true - -############### -# DEPRECATION # -############### - - -###################################################### -# VARIABLES BELOW SHOULD NOT BE MODIFIED BY THE USER # -# *DO NOT* MODIFY THEM # -###################################################### - -#container_exec_cmd: -#docker: false -#ceph_volume_debug: "{{ enable_ceph_volume_debug | ternary(1, 0) }}" - diff --git a/infrastructure-playbooks/rolling_update.yml b/infrastructure-playbooks/rolling_update.yml index 24b51f340e..ce1bd81b02 100644 --- a/infrastructure-playbooks/rolling_update.yml +++ b/infrastructure-playbooks/rolling_update.yml @@ -8,9 +8,6 @@ # # # If you run a Ceph community version, you have to change the variable: ceph_stable_release to the new release -# -# If you run Red Hat Ceph Storage and are doing a **major** update (e.g: from 2 to 3), you have to change the ceph_rhcs_version to a newer one -# - name: Confirm whether user really meant to upgrade the cluster hosts: localhost diff --git a/rhcs_edits.txt b/rhcs_edits.txt deleted file mode 100644 index 3a974593c9..0000000000 --- a/rhcs_edits.txt +++ /dev/null @@ -1,13 +0,0 @@ -ceph_repository: rhcs -ceph_origin: repository -ceph_rhcs_version: 5 -containerized_deployment: true -ceph_docker_image: "rhceph/rhceph-5-rhel8" -ceph_docker_image_tag: "latest" -ceph_docker_registry: "registry.redhat.io" -ceph_docker_registry_auth: true -node_exporter_container_image: registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 -grafana_container_image: registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:5 -prometheus_container_image: registry.redhat.io/openshift4/ose-prometheus:v4.6 -alertmanager_container_image: registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6 -# END OF FILE, DO NOT TOUCH ME! diff --git a/roles/ceph-common/tasks/installs/configure_redhat_repository_installation.yml b/roles/ceph-common/tasks/installs/configure_redhat_repository_installation.yml index 67f8b6057d..37938bc7e4 100644 --- a/roles/ceph-common/tasks/installs/configure_redhat_repository_installation.yml +++ b/roles/ceph-common/tasks/installs/configure_redhat_repository_installation.yml @@ -3,10 +3,6 @@ ansible.builtin.include_tasks: redhat_community_repository.yml when: ceph_repository == 'community' -- name: Include redhat_rhcs_repository.yml - ansible.builtin.include_tasks: redhat_rhcs_repository.yml - when: ceph_repository == 'rhcs' - - name: Include redhat_dev_repository.yml ansible.builtin.include_tasks: redhat_dev_repository.yml when: ceph_repository == 'dev' diff --git a/roles/ceph-common/tasks/installs/install_debian_rhcs_packages.yml b/roles/ceph-common/tasks/installs/install_debian_rhcs_packages.yml deleted file mode 100644 index 29a799cefa..0000000000 --- a/roles/ceph-common/tasks/installs/install_debian_rhcs_packages.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Install red hat storage ceph packages for debian - ansible.builtin.apt: - pkg: "{{ debian_ceph_pkgs | unique }}" - state: "{{ (upgrade_ceph_packages | bool) | ternary('latest', 'present') }}" - register: result - until: result is succeeded diff --git a/roles/ceph-common/tasks/installs/install_on_debian.yml b/roles/ceph-common/tasks/installs/install_on_debian.yml index c7a7129d03..7db001e77f 100644 --- a/roles/ceph-common/tasks/installs/install_on_debian.yml +++ b/roles/ceph-common/tasks/installs/install_on_debian.yml @@ -11,10 +11,3 @@ ansible.builtin.include_tasks: install_debian_packages.yml when: - (ceph_origin == 'repository' or ceph_origin == 'distro') - - ceph_repository != 'rhcs' - -- name: Include install_debian_rhcs_packages.yml - ansible.builtin.include_tasks: install_debian_rhcs_packages.yml - when: - - (ceph_origin == 'repository' or ceph_origin == 'distro') - - ceph_repository == 'rhcs' diff --git a/roles/ceph-common/tasks/installs/prerequisite_rhcs_cdn_install.yml b/roles/ceph-common/tasks/installs/prerequisite_rhcs_cdn_install.yml deleted file mode 100644 index 368e0b0ba7..0000000000 --- a/roles/ceph-common/tasks/installs/prerequisite_rhcs_cdn_install.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: Enable red hat storage tools repository - community.general.rhsm_repository: - name: "rhceph-{{ ceph_rhcs_version }}-tools-for-rhel-8-{{ ansible_facts['architecture'] }}-rpms" - when: - - mon_group_name in group_names - or osd_group_name in group_names - or mgr_group_name in group_names - or rgw_group_name in group_names - or mds_group_name in group_names - or nfs_group_name in group_names - or client_group_name in group_names - or rbdmirror_group_name in group_names - or monitoring_group_name in group_names diff --git a/roles/ceph-common/tasks/installs/redhat_rhcs_repository.yml b/roles/ceph-common/tasks/installs/redhat_rhcs_repository.yml deleted file mode 100644 index 4d37014e9c..0000000000 --- a/roles/ceph-common/tasks/installs/redhat_rhcs_repository.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- name: Include prerequisite_rhcs_cdn_install.yml - ansible.builtin.include_tasks: prerequisite_rhcs_cdn_install.yml diff --git a/roles/ceph-common/tasks/main.yml b/roles/ceph-common/tasks/main.yml index 03b7bd2166..1fdb3bbe5c 100644 --- a/roles/ceph-common/tasks/main.yml +++ b/roles/ceph-common/tasks/main.yml @@ -35,20 +35,12 @@ ansible.builtin.set_fact: ceph_version: "{{ ceph_version.stdout.split(' ')[2] }}" -# override ceph_stable_release for ceph_dev and rhcs installations since ceph_stable_release is not mandatory -- name: Include release-rhcs.yml - ansible.builtin.include_tasks: release-rhcs.yml - when: ceph_repository in ['rhcs', 'dev'] - or - ceph_origin == 'distro' - tags: always - - name: Set_fact ceph_release - override ceph_release with ceph_stable_release ansible.builtin.set_fact: ceph_release: "{{ ceph_stable_release }}" when: - ceph_origin == 'repository' - - ceph_repository not in ['dev', 'rhcs', 'custom'] + - ceph_repository not in ['dev', 'custom'] tags: always - name: Include create_rbd_client_dir.yml diff --git a/roles/ceph-common/tasks/release-rhcs.yml b/roles/ceph-common/tasks/release-rhcs.yml deleted file mode 100644 index 34b936192e..0000000000 --- a/roles/ceph-common/tasks/release-rhcs.yml +++ /dev/null @@ -1,45 +0,0 @@ ---- -- name: Set_fact ceph_release jewel - ansible.builtin.set_fact: - ceph_release: jewel - when: ceph_version.split('.')[0] is version('10', '==') - -- name: Set_fact ceph_release kraken - ansible.builtin.set_fact: - ceph_release: kraken - when: ceph_version.split('.')[0] is version('11', '==') - -- name: Set_fact ceph_release luminous - ansible.builtin.set_fact: - ceph_release: luminous - when: ceph_version.split('.')[0] is version('12', '==') - -- name: Set_fact ceph_release mimic - ansible.builtin.set_fact: - ceph_release: mimic - when: ceph_version.split('.')[0] is version('13', '==') - -- name: Set_fact ceph_release nautilus - ansible.builtin.set_fact: - ceph_release: nautilus - when: ceph_version.split('.')[0] is version('14', '==') - -- name: Set_fact ceph_release octopus - ansible.builtin.set_fact: - ceph_release: octopus - when: ceph_version.split('.')[0] is version('15', '==') - -- name: Set_fact ceph_release pacific - ansible.builtin.set_fact: - ceph_release: pacific - when: ceph_version.split('.')[0] is version('16', '==') - -- name: Set_fact ceph_release quincy - ansible.builtin.set_fact: - ceph_release: quincy - when: ceph_version.split('.')[0] is version('17', '==') - -- name: Set_fact ceph_release reef - ansible.builtin.set_fact: - ceph_release: reef - when: ceph_version.split('.')[0] is version('18', '==') diff --git a/roles/ceph-common/vars/main.yml b/roles/ceph-common/vars/main.yml index edfafdfe1b..1d832f944c 100644 --- a/roles/ceph-common/vars/main.yml +++ b/roles/ceph-common/vars/main.yml @@ -2,14 +2,11 @@ # ceph-common is always installed, if a package isn't to be installed we replace # it with 'ceph-common' and run the install with the | unique filter. debian_ceph_pkgs: - - "{{ (ceph_repository != 'rhcs') | ternary('ceph', 'ceph-common') }}" + - "ceph" - "ceph-common" - - "{{ ((ceph_repository == 'rhcs') and (mon_group_name in group_names)) | ternary('ceph-mon', 'ceph-common') }}" - - "{{ ((ceph_repository == 'rhcs') and (osd_group_name in group_names)) | ternary('ceph-osd', 'ceph-common') }}" - "{{ (osd_group_name in group_names) | ternary('ceph-volume', 'ceph-common') }}" - "{{ (ceph_test | bool) | ternary('ceph-test', 'ceph-common') }}" - "{{ (rgw_group_name in group_names) | ternary('radosgw', 'ceph-common') }}" - - "{{ ((ceph_repository == 'rhcs') and (client_group_name in group_names)) | ternary('ceph-fuse', 'ceph-common') }}" - "{{ (rbdmirror_group_name in group_names) | ternary('ceph-base', 'ceph-common') }}" redhat_ceph_pkgs: diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index 1752df93a2..8f483b9893 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -24,6 +24,7 @@ ceph_release_num: pacific: 16 quincy: 17 reef: 18 + squid: 19 dev: 99 @@ -120,7 +121,7 @@ ceph_directories_mode: "0755" # ORIGIN SOURCE # # Choose between: -# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'rhcs', 'dev' or 'obs' +# - 'repository' means that you will get ceph installed through a new repository. Later below choose between 'community', 'dev' or 'obs' # - 'distro' means that no separate repo file will be added # you will get whatever version of Ceph is included in your Linux distro. # 'local' means that the ceph binaries will be copied over from the local machine @@ -134,7 +135,6 @@ valid_ceph_origins: ceph_repository: dummy valid_ceph_repository: - community - - rhcs - dev - uca - custom @@ -162,16 +162,6 @@ libntirpc_stable_deb_repo: http://ppa.launchpad.net/nfs-ganesha/libntirpc-4/ubun # for more info read: https://github.com/ceph/ceph-ansible/issues/305 # ceph_stable_distro_source: "{{ ansible_facts['distribution_release'] }}" - -# REPOSITORY: RHCS VERSION RED HAT STORAGE (from 5.0) -# -# Enabled when ceph_repository == 'rhcs' -# -# This version is supported on RHEL 8 -# -ceph_rhcs_version: "{{ ceph_stable_rh_storage_version | default(5) }}" - - # REPOSITORY: UBUNTU CLOUD ARCHIVE # # Enabled when ceph_repository == 'uca' diff --git a/roles/ceph-nfs/tasks/pre_requisite_non_container.yml b/roles/ceph-nfs/tasks/pre_requisite_non_container.yml index b3d58d3c81..a13654c159 100644 --- a/roles/ceph-nfs/tasks/pre_requisite_non_container.yml +++ b/roles/ceph-nfs/tasks/pre_requisite_non_container.yml @@ -17,7 +17,6 @@ - { name: 'nfs-ganesha-ceph', install: "{{ nfs_file_gw }}" } when: - (ceph_origin == 'repository' or ceph_origin == 'distro') - - ceph_repository != 'rhcs' - ansible_facts['os_family'] == 'Suse' - item.install | bool register: result diff --git a/roles/ceph-nfs/tasks/pre_requisite_non_container_debian.yml b/roles/ceph-nfs/tasks/pre_requisite_non_container_debian.yml index d34ef89efd..b0848f808d 100644 --- a/roles/ceph-nfs/tasks/pre_requisite_non_container_debian.yml +++ b/roles/ceph-nfs/tasks/pre_requisite_non_container_debian.yml @@ -61,10 +61,8 @@ - name: Debain based systems - install required packages block: - - name: Debian based systems- non-rhcs installation - when: - - (ceph_origin == 'repository' or ceph_origin == 'distro') - - ceph_repository != 'rhcs' + - name: Debian based systems + when: ceph_origin == 'repository' or ceph_origin == 'distro' block: - name: Install nfs rgw/cephfs gateway - debian ansible.builtin.apt: @@ -80,31 +78,3 @@ register: result until: result is succeeded when: nfs_file_gw | bool - - - name: Debian based systems - rhcs installation - when: - - (ceph_origin == 'repository' or ceph_origin == 'distro') - - ceph_repository == 'rhcs' - block: - - name: Install red hat storage nfs gateway for debian - ansible.builtin.apt: - name: nfs-ganesha - state: "{{ (upgrade_ceph_packages | bool) | ternary('latest', 'present') }}" - register: result - until: result is succeeded - - - name: Install red hat storage nfs file gateway - ansible.builtin.apt: - name: nfs-ganesha-ceph - state: "{{ (upgrade_ceph_packages | bool) | ternary('latest', 'present') }}" - register: result - until: result is succeeded - when: nfs_file_gw | bool - - - name: Install red hat storage nfs obj gateway - ansible.builtin.apt: - name: nfs-ganesha-rgw - state: "{{ (upgrade_ceph_packages | bool) | ternary('latest', 'present') }}" - register: result - until: result is succeeded - when: nfs_obj_gw | bool diff --git a/roles/ceph-validate/tasks/check_repository.yml b/roles/ceph-validate/tasks/check_repository.yml index 6e556fb15a..01067dc441 100644 --- a/roles/ceph-validate/tasks/check_repository.yml +++ b/roles/ceph-validate/tasks/check_repository.yml @@ -5,15 +5,15 @@ - name: Validate ceph_repository ansible.builtin.fail: - msg: "ceph_repository must be either 'community', 'rhcs', 'obs', 'dev', 'custom' or 'uca'" + msg: "ceph_repository must be either 'community', 'obs', 'dev', 'custom' or 'uca'" when: - ceph_origin == 'repository' - - ceph_repository not in ['community', 'rhcs', 'obs', 'dev', 'custom', 'uca'] + - ceph_repository not in ['community', 'obs', 'dev', 'custom', 'uca'] - name: Validate ceph_repository_community ansible.builtin.fail: - msg: "ceph_stable_release must be 'reef'" + msg: "ceph_stable_release must be 'squid'" when: - ceph_origin == 'repository' - ceph_repository == 'community' - - ceph_stable_release not in ['reef'] + - ceph_stable_release not in ['squid'] diff --git a/roles/ceph-validate/tasks/check_system.yml b/roles/ceph-validate/tasks/check_system.yml index da6af3e892..bd2a231966 100644 --- a/roles/ceph-validate/tasks/check_system.yml +++ b/roles/ceph-validate/tasks/check_system.yml @@ -33,16 +33,6 @@ - not containerized_deployment | bool - dashboard_enabled | bool -- name: Red hat based systems tasks - when: - - ceph_repository == 'rhcs' - - ansible_facts['distribution'] == 'RedHat' - block: - - name: Fail on unsupported distribution for red hat ceph storage - ansible.builtin.fail: - msg: "Distribution not supported {{ ansible_facts['distribution_version'] }} by Red Hat Ceph Storage, only RHEL >= 8.2" - when: ansible_facts['distribution_version'] is version('8.2', '<') - - name: Fail on unsupported distribution for ubuntu cloud archive ansible.builtin.fail: msg: "Distribution not supported by Ubuntu Cloud Archive: {{ ansible_facts['distribution'] }}" diff --git a/tests/functional/rhcs_setup.yml b/tests/functional/rhcs_setup.yml deleted file mode 100644 index 7bc97ec14e..0000000000 --- a/tests/functional/rhcs_setup.yml +++ /dev/null @@ -1,139 +0,0 @@ ---- -- hosts: localhost - gather_facts: false - become: yes - tags: vagrant_setup - tasks: - - - name: change centos/7 vagrant box name to rhel7 - replace: - regexp: "centos/7" - replace: "rhel7" - dest: "{{ change_dir }}/vagrant_variables.yml" - when: change_dir is defined - - - name: change ceph/ubuntu-xenial vagrant box name to rhel7 - replace: - regexp: "ceph/ubuntu-xenial" - replace: "rhel7" - dest: "{{ change_dir }}/vagrant_variables.yml" - when: change_dir is defined - - - name: change centos/atomic-host vagrant box name to rhel7 - replace: - regexp: "centos/atomic-host" - replace: "rhel7" - dest: "{{ change_dir }}/vagrant_variables.yml" - when: change_dir is defined - - - name: change ceph_origin to distro - replace: - regexp: "ceph_origin:.*" - replace: "ceph_origin: distro" - dest: "{{ change_dir }}/group_vars/all" - when: change_dir is defined - - - name: change ceph_repository to rhcs - replace: - regexp: "ceph_repository:.*" - replace: "ceph_repository: rhcs" - dest: "{{ change_dir }}/group_vars/all" - when: change_dir is defined - - - name: print contents of {{ change_dir }}/group_vars/all - command: "cat {{ change_dir }}/group_vars/all" - -- hosts: all - gather_facts: true - become: yes - tasks: - - - name: check if it is Atomic host - stat: - path: /run/ostree-booted - register: stat_ostree - check_mode: no - - - name: set fact for using Atomic host - set_fact: - is_atomic: '{{ stat_ostree.stat.exists }}' - - - name: install nightly rhel7 repo - get_url: - url: "{{ rhel7_repo_url }}" - dest: /etc/yum.repos.d - owner: root - group: root - when: not is_atomic | bool - - - name: enable the rhel-7-extras-nightly repo - command: "yum-config-manager --enable rhel-7-extras-nightly" - - - name: set MTU on eth0 - command: "ifconfig eth0 mtu 1400 up" - - - name: set MTU on eth1 - command: "ifconfig eth1 mtu 1400 up" - - - name: install docker - package: - name: docker - state: present - register: result - until: result is succeeded - when: ansible_facts['os_family'] == 'RedHat' - - - name: allow insecure docker registries - lineinfile: - line: 'INSECURE_REGISTRY="--insecure-registry {{ ceph_docker_registry }}"' - dest: "/etc/sysconfig/docker" - - - name: restart docker - service: - name: docker - state: restarted - -- hosts: mons:mgrs - gather_facts: false - become: yes - tasks: - - - name: install ceph mon repo - yum_repository: - name: ceph-mon - description: repo for rhcs ceph-mon - baseurl: "{{ repo_url }}/MON/x86_64/os/" - gpgcheck: no - enabled: yes - when: not is_atomic | bool - -- hosts: osds - gather_facts: false - become: yes - tasks: - - - name: install ceph osd repo - yum_repository: - name: ceph-osd - description: repo for rhcs ceph-osd - baseurl: "{{ repo_url }}/OSD/x86_64/os/" - gpgcheck: no - enabled: yes - when: not is_atomic | bool - - - name: set MTU on eth2 - command: "ifconfig eth2 mtu 1400 up" - -- hosts: mdss:rgws:clients - gather_facts: false - become: yes - tasks: - - - name: install ceph tools repo - yum_repository: - name: ceph-osd - description: repo for rhcs ceph tools - baseurl: "{{ repo_url }}/Tools/x86_64/os/" - gpgcheck: no - enabled: yes - when: not is_atomic | bool diff --git a/tox.ini b/tox.ini index 5cdda4ec29..8674ed0878 100644 --- a/tox.ini +++ b/tox.ini @@ -328,7 +328,6 @@ changedir= commands= ansible-galaxy collection install -r {toxinidir}/requirements.yml -v -p {envdir}/ansible_collections - rhcs: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup" non_container: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/dev_setup.yml --extra-vars "dev_setup={env:DEV_SETUP:False} change_dir={changedir} ceph_dev_branch={env:CEPH_DEV_BRANCH:main} ceph_dev_sha1={env:CEPH_DEV_SHA1:latest}" --tags "vagrant_setup" bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} @@ -339,8 +338,6 @@ commands= lvm_osds: ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/lvm_setup.yml --limit 'osd2' all_in_one: ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/lvm_setup.yml - rhcs: ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "ceph_docker_registry={env:CEPH_DOCKER_REGISTRY:quay.io} repo_url={env:REPO_URL:} rhel7_repo_url={env:RHEL7_REPO_URL:}" --skip-tags "vagrant_setup" - ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/tests/functional/setup.yml ansible-playbook -vv -i {changedir}/{env:INVENTORY} {toxinidir}/{env:PLAYBOOK:site.yml.sample} --extra-vars "\