From 38ee310f8c985bb54d1c3fc66bcf688f5a3d5f2c Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Wed, 9 Nov 2016 14:14:10 -0600 Subject: [PATCH] tests: adds a scenario to test a xenial 1mon 1osd 1mds 1rgw cluster This scenario duplicates what we are currently doing with our ceph-ansible testing using OVH and a single node, except now we are using 4 separate nodes. Signed-off-by: Andrew Schoen Resolves: vagrant#boxes --- .../ubuntu/16.04/mon-osd-mds-rgw/Vagrantfile | 1 + .../16.04/mon-osd-mds-rgw/group_vars/all | 13 ++++ .../16.04/mon-osd-mds-rgw/group_vars/osds | 4 ++ .../ubuntu/16.04/mon-osd-mds-rgw/hosts | 11 ++++ .../ubuntu/16.04/mon-osd-mds-rgw/scenario.py | 27 ++++++++ .../mon-osd-mds-rgw/vagrant_variables.yml | 64 +++++++++++++++++++ 6 files changed, 120 insertions(+) create mode 120000 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/Vagrantfile create mode 100644 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/all create mode 100644 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/osds create mode 100644 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/hosts create mode 100644 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/scenario.py create mode 100644 tests/functional/ubuntu/16.04/mon-osd-mds-rgw/vagrant_variables.yml diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/Vagrantfile b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/Vagrantfile new file mode 120000 index 000000000..dfd7436c9 --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/Vagrantfile @@ -0,0 +1 @@ +../../../../../Vagrantfile \ No newline at end of file diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/all b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/all new file mode 100644 index 000000000..4e410c37c --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/all @@ -0,0 +1,13 @@ +--- + +ceph_stable: True +public_network: "192.168.42.0/24" +cluster_network: "192.168.43.0/24" +journal_size: 100 +devices: + - '/dev/sdb' + - '/dev/sdc' +journal_collocation: True +os_tuning_params: + - { name: kernel.pid_max, value: 4194303 } + - { name: fs.file-max, value: 26234859 } diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/osds b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/osds new file mode 100644 index 000000000..ed9b23ad1 --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/group_vars/osds @@ -0,0 +1,4 @@ +--- +os_tuning_params: + - { name: kernel.pid_max, value: 4194303 } + - { name: fs.file-max, value: 26234859 } diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/hosts b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/hosts new file mode 100644 index 000000000..356860f9b --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/hosts @@ -0,0 +1,11 @@ +[mons] +mon0 monitor_interface=eth1 + +[osds] +osd0 + +[mdss] +mds0 + +[rgws] +rgw0 diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/scenario.py b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/scenario.py new file mode 100644 index 000000000..4597b589f --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/scenario.py @@ -0,0 +1,27 @@ +# Basic information about ceph and its configuration +ceph = { + 'releases': ['infernalis', 'jewel'], + 'cluster_name': 'ceph' +} + +# remote nodes to test, with anything specific to them that might be useful for +# tests to get. Each one of these can get requested as a py.test fixture to +# validate information. +nodes = { + 'mon0': { + 'username': 'vagrant', + 'components': ['mon', 'mon_initial_members'] + }, + 'osd0': { + 'username': 'vagrant', + 'components': [] + }, + 'mds0': { + 'username': 'vagrant', + 'components': [] + }, + 'rgw0': { + 'username': 'vagrant', + 'components': [] + }, +} diff --git a/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/vagrant_variables.yml b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/vagrant_variables.yml new file mode 100644 index 000000000..7b17f3203 --- /dev/null +++ b/tests/functional/ubuntu/16.04/mon-osd-mds-rgw/vagrant_variables.yml @@ -0,0 +1,64 @@ +--- + +# DEPLOY CONTAINERIZED DAEMONS +docker: false + +# DEFINE THE NUMBER OF VMS TO RUN +mon_vms: 1 +osd_vms: 1 +mds_vms: 1 +rgw_vms: 1 +nfs_vms: 0 +rbd_mirror_vms: 0 +client_vms: 0 +iscsi_gw_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.42 +cluster_subnet: 192.168.43 + +# 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' + +# Disks +# For libvirt use disks: "[ '/dev/vdb', '/dev/vdc' ]" +# For CentOS7 use disks: "[ '/dev/sda', '/dev/sdb' ]" +disks: "[ '/dev/sdb', '/dev/sdc' ]" + +# VAGRANT BOX +# Ubuntu: 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: yk0/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: / +# 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: kernel.pid_max, value: 4194303 } + - { name: fs.file-max, value: 26234859 } -- 2.39.5