]> git.apps.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
tests: adds a docker_cluster scenario
authorAndrew Schoen <aschoen@redhat.com>
Wed, 30 Nov 2016 18:20:07 +0000 (12:20 -0600)
committerAndrew Schoen <aschoen@redhat.com>
Thu, 1 Dec 2016 16:28:54 +0000 (10:28 -0600)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
tests/functional/centos/7/docker-cluster/Vagrantfile [new symlink]
tests/functional/centos/7/docker-cluster/group_vars/all [new file with mode: 0644]
tests/functional/centos/7/docker-cluster/group_vars/osds [new file with mode: 0644]
tests/functional/centos/7/docker-cluster/hosts [new file with mode: 0644]
tests/functional/centos/7/docker-cluster/scenario.py [new file with mode: 0644]
tests/functional/centos/7/docker-cluster/vagrant_variables.yml [new file with mode: 0644]
tox.ini

diff --git a/tests/functional/centos/7/docker-cluster/Vagrantfile b/tests/functional/centos/7/docker-cluster/Vagrantfile
new file mode 120000 (symlink)
index 0000000..dfd7436
--- /dev/null
@@ -0,0 +1 @@
+../../../../../Vagrantfile
\ No newline at end of file
diff --git a/tests/functional/centos/7/docker-cluster/group_vars/all b/tests/functional/centos/7/docker-cluster/group_vars/all
new file mode 100644 (file)
index 0000000..e256b09
--- /dev/null
@@ -0,0 +1,21 @@
+---
+
+ceph_stable: True
+mon_containerized_deployment: True
+osd_containerized_deployment: True
+mds_containerized_deployment: True
+rgw_containerized_deployment: True
+ceph_mon_docker_interface: enp0s8
+ceph_mon_docker_subnet: "192.168.15.0/24"
+ceph_osd_docker_extra_env: "CEPH_DAEMON=OSD_CEPH_DISK_ACTIVATE,OSD_JOURNAL_SIZE=100"
+ceph_docker_on_openstack: False
+public_network: "192.168.15.0/24"
+cluster_network: "192.168.16.0/24"
+journal_size: 100
+ceph_rgw_civetweb_port: 8080
+ceph_osd_docker_devices:
+  - '/dev/sda'
+  - '/dev/sdb'
+os_tuning_params:
+  - { name: kernel.pid_max, value: 4194303 }
+  - { name: fs.file-max, value: 26234859 }
diff --git a/tests/functional/centos/7/docker-cluster/group_vars/osds b/tests/functional/centos/7/docker-cluster/group_vars/osds
new file mode 100644 (file)
index 0000000..ed9b23a
--- /dev/null
@@ -0,0 +1,4 @@
+---
+os_tuning_params:
+  - { name: kernel.pid_max, value: 4194303 }
+  - { name: fs.file-max, value: 26234859 }
diff --git a/tests/functional/centos/7/docker-cluster/hosts b/tests/functional/centos/7/docker-cluster/hosts
new file mode 100644 (file)
index 0000000..3b0be96
--- /dev/null
@@ -0,0 +1,11 @@
+[mons]
+mon0
+
+[osds]
+osd0
+
+[mdss]
+mds0
+
+[rgws]
+rgw0
diff --git a/tests/functional/centos/7/docker-cluster/scenario.py b/tests/functional/centos/7/docker-cluster/scenario.py
new file mode 100644 (file)
index 0000000..4597b58
--- /dev/null
@@ -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/centos/7/docker-cluster/vagrant_variables.yml b/tests/functional/centos/7/docker-cluster/vagrant_variables.yml
new file mode 100644 (file)
index 0000000..ce65305
--- /dev/null
@@ -0,0 +1,69 @@
+---
+
+# DEPLOY CONTAINERIZED DAEMONS
+docker: True
+
+# 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.15
+cluster_subnet: 192.168.16
+
+# MEMORY
+# set 1024 for CentOS
+memory: 1024
+
+# Disks
+# For libvirt use disks: "[ '/dev/vdb', '/dev/vdc' ]"
+# For CentOS7 use disks: "[ '/dev/sda', '/dev/sdb' ]"
+disks: "[ '/dev/sda', '/dev/sdb' ]"
+
+# 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: /
+# 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: kernel.pid_max, value: 4194303 }
+  - { name: fs.file-max, value: 26234859 }
diff --git a/tox.ini b/tox.ini
index b163734c8bd791547a52eaf0e9c666791896f9f6..e30dbd61d27d435f6339cb7709df3bc27e642554 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
 [tox]
-envlist = {ansible2.2}-{xenial_conf_tests,xenial_mon_osd,xenial_cluster,journal_collocation,centos7_cluster,dmcrypt_journal,dmcrypt_journal_collocation}
+envlist = {ansible2.2}-{xenial_conf_tests,xenial_mon_osd,xenial_cluster,journal_collocation,centos7_cluster,dmcrypt_journal,dmcrypt_journal_collocation,docker_cluster}
 skipsdist = True
 
 [testenv]
@@ -30,6 +30,8 @@ changedir=
   dmcrypt_journal_collocation: {toxinidir}/tests/functional/centos/7/dmcrypt-journal-collocation
   # tests a 1 mon, 1 osd, 1 mds and 1 rgw centos7 cluster using raw_multi_journal OSD scenario
   centos7_cluster: {toxinidir}/tests/functional/centos/7/mon-osd-mds-rgw
+  # tests a 1 mon, 1 osd, 1 mds and 1 rgw centos7 cluster using docker
+  docker_cluster: {toxinidir}/tests/functional/centos/7/docker-cluster
 commands=
   vagrant up --no-provision {posargs:--provider=virtualbox}
   bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir}