diff --git a/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/Vagrantfile b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/Vagrantfile new file mode 120000 index 00000000000..2572fa2c9f6 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/Vagrantfile @@ -0,0 +1 @@ +../../Vagrantfile \ No newline at end of file diff --git a/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/group_vars/all b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/group_vars/all new file mode 100644 index 00000000000..2a8affb56f8 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/group_vars/all @@ -0,0 +1,27 @@ +--- + +ceph_dev: True +cluster: ceph +public_network: "192.168.3.0/24" +cluster_network: "192.168.4.0/24" +monitor_interface: eth1 +journal_size: 100 +osd_objectstore: "bluestore" +osd_scenario: lvm +ceph_origin: 'repository' +ceph_repository: 'dev' +copy_admin_key: true +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: kernel.pid_max, value: 4194303 } + - { name: fs.file-max, value: 26234859 } +ceph_conf_overrides: + global: + osd_pool_default_pg_num: 8 + osd_pool_default_size: 1 diff --git a/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/hosts b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/hosts new file mode 100644 index 00000000000..f6a265ab3e5 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/hosts @@ -0,0 +1,5 @@ +[mons] +mon0 + +[osds] +osd0 diff --git a/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/vagrant_variables.yml b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/vagrant_variables.yml new file mode 100644 index 00000000000..7d1a4449a63 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/centos7/bluestore/vagrant_variables.yml @@ -0,0 +1,56 @@ +--- + +# DEFINE THE NUMBER OF VMS TO RUN +mon_vms: 1 +osd_vms: 1 +mds_vms: 0 +rgw_vms: 0 +nfs_vms: 0 +rbd_mirror_vms: 0 +client_vms: 0 +iscsi_gw_vms: 0 +mgr_vms: 0 + +# SUBNETS TO USE FOR THE VMS +public_subnet: 192.168.3 +cluster_subnet: 192.168.4 + +# MEMORY +# set 1024 for CentOS +memory: 512 + +# Ethernet interface name +# use eth1 for libvirt and ubuntu precise, enp0s8 for CentOS and ubuntu xenial +eth: 'eth1' + + +# 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: / +# 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 diff --git a/src/ceph-volume/ceph_volume/tests/functional/tox.ini b/src/ceph-volume/ceph_volume/tests/functional/tox.ini index 6e0dfbf2d4c..6fda7dcc09c 100644 --- a/src/ceph-volume/ceph_volume/tests/functional/tox.ini +++ b/src/ceph-volume/ceph_volume/tests/functional/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = {centos7,xenial}-{create,prepare_activate} +envlist = {centos7,xenial}-{filestore,bluestore}-{create,prepare_activate} skipsdist = True [testenv] @@ -15,12 +15,14 @@ setenv= VAGRANT_CWD = {changedir} CEPH_VOLUME_DEBUG = 1 deps= - ansible==2.3.1 - testinfra==1.6.0 + ansible==2.4.1 + testinfra==1.7.1 pytest-xdist changedir= - centos7-create: {toxinidir}/centos7/create - xenial-create: {toxinidir}/xenial/create + centos7-filestore-create: {toxinidir}/centos7/create + xenial-filestore-create: {toxinidir}/xenial/create + xenial-bluestore-create: {toxinidir}/xenial/bluestore + centos7-bluestore-create: {toxinidir}/centos7/bluestore # TODO: these are placeholders for now, eventually we want to # test the prepare/activate workflow of ceph-volume as well xenial-prepare_activate: {toxinidir}/xenial/prepare_activate diff --git a/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/Vagrantfile b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/Vagrantfile new file mode 120000 index 00000000000..2572fa2c9f6 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/Vagrantfile @@ -0,0 +1 @@ +../../Vagrantfile \ No newline at end of file diff --git a/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/group_vars/all b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/group_vars/all new file mode 100644 index 00000000000..2a8affb56f8 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/group_vars/all @@ -0,0 +1,27 @@ +--- + +ceph_dev: True +cluster: ceph +public_network: "192.168.3.0/24" +cluster_network: "192.168.4.0/24" +monitor_interface: eth1 +journal_size: 100 +osd_objectstore: "bluestore" +osd_scenario: lvm +ceph_origin: 'repository' +ceph_repository: 'dev' +copy_admin_key: true +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: kernel.pid_max, value: 4194303 } + - { name: fs.file-max, value: 26234859 } +ceph_conf_overrides: + global: + osd_pool_default_pg_num: 8 + osd_pool_default_size: 1 diff --git a/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/hosts b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/hosts new file mode 100644 index 00000000000..f6a265ab3e5 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/hosts @@ -0,0 +1,5 @@ +[mons] +mon0 + +[osds] +osd0 diff --git a/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/vagrant_variables.yml b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/vagrant_variables.yml new file mode 100644 index 00000000000..7252344dd37 --- /dev/null +++ b/src/ceph-volume/ceph_volume/tests/functional/xenial/bluestore/vagrant_variables.yml @@ -0,0 +1,56 @@ +--- + +# DEFINE THE NUMBER OF VMS TO RUN +mon_vms: 1 +osd_vms: 1 +mds_vms: 0 +rgw_vms: 0 +nfs_vms: 0 +rbd_mirror_vms: 0 +client_vms: 0 +iscsi_gw_vms: 0 +mgr_vms: 0 + +# SUBNETS TO USE FOR THE VMS +public_subnet: 192.168.3 +cluster_subnet: 192.168.4 + +# MEMORY +# set 1024 for CentOS +memory: 512 + +# Ethernet interface name +# use eth1 for libvirt and ubuntu precise, enp0s8 for CentOS and ubuntu xenial +eth: 'eth1' + + +# 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: ceph/ubuntu-xenial +#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: / +# 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