From 52b9f3fb2886d703b25f650221ea973147c68ed6 Mon Sep 17 00:00:00 2001 From: Dimitri Savineau Date: Wed, 3 Apr 2019 16:22:47 -0400 Subject: [PATCH] tox: Refact lvm_osds scenario The current lvm_osds only tests filestore on one OSD node. We also have bs_lvm_osds to test bluestore and encryption. Let's use only one scenario to test filestore/bluestore and with or without dmcrypt on four OSD nodes. Also use validate_dmcrypt_bool_value instead of types.boolean on dmcrypt validation via notario. Signed-off-by: Dimitri Savineau --- plugins/actions/validate.py | 2 +- tests/functional/bs-lvm-osds/Vagrantfile | 1 - .../functional/bs-lvm-osds/ceph-override.json | 1 - .../bs-lvm-osds/container/Vagrantfile | 1 - .../bs-lvm-osds/container/ceph-override.json | 1 - .../bs-lvm-osds/container/group_vars/all | 28 ------- tests/functional/bs-lvm-osds/container/hosts | 6 -- .../container/vagrant_variables.yml | 73 ------------------- tests/functional/bs-lvm-osds/group_vars/all | 22 ------ tests/functional/bs-lvm-osds/hosts | 6 -- tests/functional/bs-lvm-osds/hosts-ubuntu | 1 - .../bs-lvm-osds/vagrant_variables.yml | 70 ------------------ .../lvm-osds/container/group_vars/all | 12 +-- tests/functional/lvm-osds/container/hosts | 5 +- .../lvm-osds/container/vagrant_variables.yml | 2 +- tests/functional/lvm-osds/group_vars/all | 10 --- tests/functional/lvm-osds/hosts | 5 +- .../functional/lvm-osds/vagrant_variables.yml | 2 +- tox.ini | 3 +- 19 files changed, 13 insertions(+), 238 deletions(-) delete mode 120000 tests/functional/bs-lvm-osds/Vagrantfile delete mode 120000 tests/functional/bs-lvm-osds/ceph-override.json delete mode 120000 tests/functional/bs-lvm-osds/container/Vagrantfile delete mode 120000 tests/functional/bs-lvm-osds/container/ceph-override.json delete mode 100644 tests/functional/bs-lvm-osds/container/group_vars/all delete mode 100644 tests/functional/bs-lvm-osds/container/hosts delete mode 100644 tests/functional/bs-lvm-osds/container/vagrant_variables.yml delete mode 100644 tests/functional/bs-lvm-osds/group_vars/all delete mode 100644 tests/functional/bs-lvm-osds/hosts delete mode 120000 tests/functional/bs-lvm-osds/hosts-ubuntu delete mode 100644 tests/functional/bs-lvm-osds/vagrant_variables.yml diff --git a/plugins/actions/validate.py b/plugins/actions/validate.py index 889a8ab11..a473aa686 100644 --- a/plugins/actions/validate.py +++ b/plugins/actions/validate.py @@ -280,7 +280,7 @@ rados_options = ( ) osd_options = ( - (optional("dmcrypt"), types.boolean), + (optional("dmcrypt"), validate_dmcrypt_bool_value), (optional("osd_auto_discovery"), types.boolean), ) diff --git a/tests/functional/bs-lvm-osds/Vagrantfile b/tests/functional/bs-lvm-osds/Vagrantfile deleted file mode 120000 index 706a5bb47..000000000 --- a/tests/functional/bs-lvm-osds/Vagrantfile +++ /dev/null @@ -1 +0,0 @@ -../../../Vagrantfile \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/ceph-override.json b/tests/functional/bs-lvm-osds/ceph-override.json deleted file mode 120000 index fe2ff40d6..000000000 --- a/tests/functional/bs-lvm-osds/ceph-override.json +++ /dev/null @@ -1 +0,0 @@ -../all_daemons/ceph-override.json \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/container/Vagrantfile b/tests/functional/bs-lvm-osds/container/Vagrantfile deleted file mode 120000 index 16076e424..000000000 --- a/tests/functional/bs-lvm-osds/container/Vagrantfile +++ /dev/null @@ -1 +0,0 @@ -../../../../Vagrantfile \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/container/ceph-override.json b/tests/functional/bs-lvm-osds/container/ceph-override.json deleted file mode 120000 index 8417cc0c9..000000000 --- a/tests/functional/bs-lvm-osds/container/ceph-override.json +++ /dev/null @@ -1 +0,0 @@ -../../all_daemons/ceph-override.json \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/container/group_vars/all b/tests/functional/bs-lvm-osds/container/group_vars/all deleted file mode 100644 index 490f8e591..000000000 --- a/tests/functional/bs-lvm-osds/container/group_vars/all +++ /dev/null @@ -1,28 +0,0 @@ ---- - -# this is only here to let the CI tests know -# that this scenario is using docker -docker: True - -ceph_origin: repository -ceph_repository: community -containerized_deployment: True -public_network: "192.168.39.0/24" -cluster_network: "192.168.40.0/24" -monitor_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" -osd_objectstore: "bluestore" -copy_admin_key: true -# test-volume is created by tests/functional/lvm_setup.yml from /dev/sdb -lvm_volumes: - - data: data-lv1 - data_vg: test_group - - data: data-lv2 - data_vg: test_group - db: journal1 - db_vg: journals -os_tuning_params: - - { name: fs.file-max, value: 26234859 } -ceph_conf_overrides: - global: - osd_pool_default_size: 1 -ceph_osd_docker_run_script_path: /var/tmp \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/container/hosts b/tests/functional/bs-lvm-osds/container/hosts deleted file mode 100644 index 85e0c9b5d..000000000 --- a/tests/functional/bs-lvm-osds/container/hosts +++ /dev/null @@ -1,6 +0,0 @@ -[mons] -mon0 - -[osds] -osd0 -osd1 lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group'}]" dmcrypt=True \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/container/vagrant_variables.yml b/tests/functional/bs-lvm-osds/container/vagrant_variables.yml deleted file mode 100644 index b67995fa8..000000000 --- a/tests/functional/bs-lvm-osds/container/vagrant_variables.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- - -# DEPLOY CONTAINERIZED DAEMONS -docker: true - -# DEFINE THE NUMBER OF VMS TO RUN -mon_vms: 1 -osd_vms: 2 -mds_vms: 0 -rgw_vms: 0 -nfs_vms: 0 -rbd_mirror_vms: 0 -client_vms: 0 -iscsi_gw_vms: 0 -mgr_vms: 0 - -# Deploy RESTAPI on each of the Monitors -restapi: true - -# INSTALL SOURCE OF CEPH -# valid values are 'stable' and 'dev' -ceph_install_source: stable - -# SUBNETS TO USE FOR THE VMS -public_subnet: 192.168.39 -cluster_subnet: 192.168.40 - -# MEMORY -# set 1024 for CentOS -memory: 1024 - -# Ethernet interface name -# use eth1 for libvirt and ubuntu precise, enp0s8 for CentOS and ubuntu xenial -eth: 'eth1' - -# Disks -# For libvirt use disks: "[ '/dev/vdb', '/dev/vdc' ]" -# For CentOS7 use disks: "[ '/dev/sda', '/dev/sdb' ]" -disks: "[ '/dev/sdb', '/dev/sdc' ]" - -# VAGRANT BOX -# Ceph boxes are *strongly* suggested. They are under better control and will -# not get updated frequently unless required for build systems. These are (for -# now): -# -# * ceph/ubuntu-xenial -# -# Ubuntu: ceph/ubuntu-xenial bento/ubuntu-16.04 or ubuntu/trusty64 or ubuntu/wily64 -# CentOS: bento/centos-7.1 or puppetlabs/centos-7.0-64-puppet -# libvirt CentOS: centos/7 -# parallels Ubuntu: parallels/ubuntu-14.04 -# Debian: deb/jessie-amd64 - be careful the storage controller is named 'SATA Controller' -# For more boxes have a look at: -# - https://atlas.hashicorp.com/boxes/search?utf8=✓&sort=&provider=virtualbox&q= -# - https://download.gluster.org/pub/gluster/purpleidea/vagrant/ -vagrant_box: centos/atomic-host -#ssh_private_key_path: "~/.ssh/id_rsa" -# The sync directory changes based on vagrant box -# Set to /home/vagrant/sync for Centos/7, /home/{ user }/vagrant for openstack and defaults to /vagrant -#vagrant_sync_dir: /home/vagrant/sync -vagrant_sync_dir: /vagrant -# Disables synced folder creation. Not needed for testing, will skip mounting -# the vagrant directory on the remote box regardless of the provider. -vagrant_disable_synced_folder: true -# VAGRANT URL -# This is a URL to download an image from an alternate location. vagrant_box -# above should be set to the filename of the image. -# Fedora virtualbox: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box -# Fedora libvirt: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-libvirt.box -# vagrant_box_url: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box - -os_tuning_params: - - { name: fs.file-max, value: 26234859 } diff --git a/tests/functional/bs-lvm-osds/group_vars/all b/tests/functional/bs-lvm-osds/group_vars/all deleted file mode 100644 index ea2c10f8b..000000000 --- a/tests/functional/bs-lvm-osds/group_vars/all +++ /dev/null @@ -1,22 +0,0 @@ ---- - -ceph_origin: repository -ceph_repository: community -public_network: "192.168.39.0/24" -cluster_network: "192.168.40.0/24" -monitor_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" -osd_objectstore: "bluestore" -copy_admin_key: true -# test-volume is created by tests/functional/lvm_setup.yml from /dev/sdb -lvm_volumes: - - data: data-lv1 - data_vg: test_group - - data: data-lv2 - data_vg: test_group - db: journal1 - db_vg: journals -os_tuning_params: - - { name: fs.file-max, value: 26234859 } -ceph_conf_overrides: - global: - osd_pool_default_size: 1 diff --git a/tests/functional/bs-lvm-osds/hosts b/tests/functional/bs-lvm-osds/hosts deleted file mode 100644 index 85e0c9b5d..000000000 --- a/tests/functional/bs-lvm-osds/hosts +++ /dev/null @@ -1,6 +0,0 @@ -[mons] -mon0 - -[osds] -osd0 -osd1 lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group'}]" dmcrypt=True \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/hosts-ubuntu b/tests/functional/bs-lvm-osds/hosts-ubuntu deleted file mode 120000 index 9b0b900ab..000000000 --- a/tests/functional/bs-lvm-osds/hosts-ubuntu +++ /dev/null @@ -1 +0,0 @@ -hosts \ No newline at end of file diff --git a/tests/functional/bs-lvm-osds/vagrant_variables.yml b/tests/functional/bs-lvm-osds/vagrant_variables.yml deleted file mode 100644 index 921bcb03b..000000000 --- a/tests/functional/bs-lvm-osds/vagrant_variables.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- - -# DEPLOY CONTAINERIZED DAEMONS -docker: false - -# DEFINE THE NUMBER OF VMS TO RUN -mon_vms: 1 -osd_vms: 2 -mds_vms: 0 -rgw_vms: 0 -nfs_vms: 0 -rbd_mirror_vms: 0 -client_vms: 0 -iscsi_gw_vms: 0 -mgr_vms: 0 - -# INSTALL SOURCE OF CEPH -# valid values are 'stable' and 'dev' -ceph_install_source: stable - -# SUBNETS TO USE FOR THE VMS -public_subnet: 192.168.39 -cluster_subnet: 192.168.40 - -# MEMORY -# set 1024 for CentOS -memory: 1024 - -# Ethernet interface name -# use eth1 for libvirt and ubuntu precise, enp0s8 for CentOS and ubuntu xenial -eth: 'eth1' - -# Disks -# For libvirt use disks: "[ '/dev/vdb', '/dev/vdc' ]" -# For CentOS7 use disks: "[ '/dev/sda', '/dev/sdb' ]" -disks: "[ '/dev/sdb', '/dev/sdc' ]" - -# VAGRANT BOX -# Ceph boxes are *strongly* suggested. They are under better control and will -# not get updated frequently unless required for build systems. These are (for -# now): -# -# * ceph/ubuntu-xenial -# -# Ubuntu: ceph/ubuntu-xenial bento/ubuntu-16.04 or ubuntu/trusty64 or ubuntu/wily64 -# CentOS: bento/centos-7.1 or puppetlabs/centos-7.0-64-puppet -# libvirt CentOS: centos/7 -# parallels Ubuntu: parallels/ubuntu-14.04 -# Debian: deb/jessie-amd64 - be careful the storage controller is named 'SATA Controller' -# For more boxes have a look at: -# - https://atlas.hashicorp.com/boxes/search?utf8=✓&sort=&provider=virtualbox&q= -# - https://download.gluster.org/pub/gluster/purpleidea/vagrant/ -vagrant_box: centos/7 -#ssh_private_key_path: "~/.ssh/id_rsa" -# The sync directory changes based on vagrant box -# Set to /home/vagrant/sync for Centos/7, /home/{ user }/vagrant for openstack and defaults to /vagrant -#vagrant_sync_dir: /home/vagrant/sync -vagrant_sync_dir: /vagrant -# Disables synced folder creation. Not needed for testing, will skip mounting -# the vagrant directory on the remote box regardless of the provider. -vagrant_disable_synced_folder: true -# VAGRANT URL -# This is a URL to download an image from an alternate location. vagrant_box -# above should be set to the filename of the image. -# Fedora virtualbox: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box -# Fedora libvirt: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-libvirt.box -# vagrant_box_url: https://download.fedoraproject.org/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-Vagrant-22-20150521.x86_64.vagrant-virtualbox.box - -os_tuning_params: - - { name: fs.file-max, value: 26234859 } diff --git a/tests/functional/lvm-osds/container/group_vars/all b/tests/functional/lvm-osds/container/group_vars/all index 83e87a486..f6c948876 100644 --- a/tests/functional/lvm-osds/container/group_vars/all +++ b/tests/functional/lvm-osds/container/group_vars/all @@ -9,23 +9,13 @@ ceph_repository: community public_network: "192.168.39.0/24" cluster_network: "192.168.40.0/24" monitor_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" -radosgw_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" journal_size: 100 -osd_objectstore: "filestore" copy_admin_key: true containerized_deployment: true # test-volume is created by tests/functional/lvm_setup.yml from /dev/sdb -lvm_volumes: - - data: data-lv1 - journal: /dev/sdc1 - data_vg: test_group - - data: data-lv2 - journal: journal1 - data_vg: test_group - journal_vg: journals os_tuning_params: - { name: fs.file-max, value: 26234859 } ceph_conf_overrides: global: osd_pool_default_size: 1 -ceph_osd_docker_run_script_path: /var/tmp \ No newline at end of file +ceph_osd_docker_run_script_path: /var/tmp diff --git a/tests/functional/lvm-osds/container/hosts b/tests/functional/lvm-osds/container/hosts index f6a265ab3..154400f1e 100644 --- a/tests/functional/lvm-osds/container/hosts +++ b/tests/functional/lvm-osds/container/hosts @@ -2,4 +2,7 @@ mon0 [osds] -osd0 +osd0 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" +osd1 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" dmcrypt=true +osd2 osd_objectstore=bluestore lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'db': 'journal1', 'db_vg': 'journals'}]" +osd3 osd_objectstore=bluestore lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group'}]" dmcrypt=true diff --git a/tests/functional/lvm-osds/container/vagrant_variables.yml b/tests/functional/lvm-osds/container/vagrant_variables.yml index 6bf2bcd20..acc1a4f44 100644 --- a/tests/functional/lvm-osds/container/vagrant_variables.yml +++ b/tests/functional/lvm-osds/container/vagrant_variables.yml @@ -5,7 +5,7 @@ docker: true # DEFINE THE NUMBER OF VMS TO RUN mon_vms: 1 -osd_vms: 1 +osd_vms: 4 mds_vms: 0 rgw_vms: 0 nfs_vms: 0 diff --git a/tests/functional/lvm-osds/group_vars/all b/tests/functional/lvm-osds/group_vars/all index a9d14cb94..8af6d39e9 100644 --- a/tests/functional/lvm-osds/group_vars/all +++ b/tests/functional/lvm-osds/group_vars/all @@ -5,19 +5,9 @@ ceph_repository: community public_network: "192.168.39.0/24" cluster_network: "192.168.40.0/24" monitor_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" -radosgw_interface: "{{ 'eth1' if ansible_distribution == 'CentOS' else 'ens6' }}" journal_size: 100 -osd_objectstore: "filestore" copy_admin_key: true # test-volume is created by tests/functional/lvm_setup.yml from /dev/sdb -lvm_volumes: - - data: data-lv1 - journal: /dev/sdc1 - data_vg: test_group - - data: data-lv2 - journal: journal1 - data_vg: test_group - journal_vg: journals os_tuning_params: - { name: fs.file-max, value: 26234859 } ceph_conf_overrides: diff --git a/tests/functional/lvm-osds/hosts b/tests/functional/lvm-osds/hosts index f6a265ab3..154400f1e 100644 --- a/tests/functional/lvm-osds/hosts +++ b/tests/functional/lvm-osds/hosts @@ -2,4 +2,7 @@ mon0 [osds] -osd0 +osd0 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" +osd1 osd_objectstore=filestore lvm_volumes="[{'data': 'data-lv1', 'journal': '/dev/sdc1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'journal': 'journal1', 'journal_vg': 'journals'}]" dmcrypt=true +osd2 osd_objectstore=bluestore lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group', 'db': 'journal1', 'db_vg': 'journals'}]" +osd3 osd_objectstore=bluestore lvm_volumes="[{'data': 'data-lv1', 'data_vg': 'test_group'},{'data': 'data-lv2', 'data_vg': 'test_group'}]" dmcrypt=true diff --git a/tests/functional/lvm-osds/vagrant_variables.yml b/tests/functional/lvm-osds/vagrant_variables.yml index 6636233cc..748073a26 100644 --- a/tests/functional/lvm-osds/vagrant_variables.yml +++ b/tests/functional/lvm-osds/vagrant_variables.yml @@ -5,7 +5,7 @@ docker: false # DEFINE THE NUMBER OF VMS TO RUN mon_vms: 1 -osd_vms: 1 +osd_vms: 4 mds_vms: 0 rgw_vms: 0 nfs_vms: 0 diff --git a/tox.ini b/tox.ini index 23138fc0e..31f2a0b82 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = {dev,rhcs}-{centos,ubuntu}-{container,non_container}-{all_daemons,collocation,bluestore_lvm_osds,lvm_osds,shrink_mon,shrink_osd,lvm_batch,add_mons,add_osds,add_mgrs,add_mdss,add_rbdmirrors,add_rgws,rgw_multisite,purge,storage_inventory,lvm_auto_discovery} +envlist = {dev,rhcs}-{centos,ubuntu}-{container,non_container}-{all_daemons,collocation,lvm_osds,shrink_mon,shrink_osd,lvm_batch,add_mons,add_osds,add_mgrs,add_mdss,add_rbdmirrors,add_rgws,rgw_multisite,purge,storage_inventory,lvm_auto_discovery} {dev,rhcs}-{centos,ubuntu}-container-{ooo_collocation,podman} {dev,rhcs}-{centos,ubuntu}-non_container-{switch_to_containers} dev-rhel-container-podman @@ -405,7 +405,6 @@ changedir= switch_to_containers: {toxinidir}/tests/functional/all_daemons lvm_osds: {toxinidir}/tests/functional/lvm-osds{env:CONTAINER_DIR:} lvm_batch: {toxinidir}/tests/functional/lvm-batch{env:CONTAINER_DIR:} - bluestore_lvm_osds: {toxinidir}/tests/functional/bs-lvm-osds{env:CONTAINER_DIR:} ooo_collocation: {toxinidir}/tests/functional/ooo-collocation add_mons: {toxinidir}/tests/functional/add-mons{env:CONTAINER_DIR:} add_osds: {toxinidir}/tests/functional/add-osds{env:CONTAINER_DIR:}