Merge pull request #1127 from ceph/osd-scenarios

testing dmcrypt OSD scenarios
pull/1129/head
Alfredo Deza 2016-11-28 16:47:50 -05:00 committed by GitHub
commit 9924712a36
21 changed files with 245 additions and 9 deletions

View File

@ -0,0 +1,14 @@
---
ceph_stable: True
public_network: "192.168.11.0/24"
cluster_network: "192.168.12.0/24"
journal_size: 100
dmcrypt_dedicated_journal: true
devices:
- '/dev/sda'
raw_journal_devices:
- '/dev/sdb'
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1,73 @@
---
# DEPLOY CONTAINERIZED DAEMONS
docker: false
# 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
# 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.11
cluster_subnet: 192.168.12
# 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
# 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
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1 @@
../../../../../Vagrantfile

View File

@ -0,0 +1,13 @@
---
ceph_stable: True
public_network: "192.168.12.0/24"
cluster_network: "192.168.13.0/24"
journal_size: 100
dmcrypt_journal_collocation: true
devices:
- '/dev/sda'
- '/dev/sdb'
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1,4 @@
---
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1,5 @@
[mons]
mon0 monitor_interface=eth1
[osds]
osd0

View File

@ -0,0 +1,19 @@
# 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': [],
},
}

View File

@ -0,0 +1,73 @@
---
# DEPLOY CONTAINERIZED DAEMONS
docker: false
# 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
# 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.12
cluster_subnet: 192.168.13
# 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
# 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
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1 @@
../../../../../Vagrantfile

View File

@ -6,9 +6,8 @@ cluster_network: "192.168.4.0/24"
journal_size: 100
devices:
- '/dev/sda'
raw_journal_devices:
- '/dev/sdb'
raw_multi_journal: True
journal_collocation: True
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1,4 @@
---
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -0,0 +1,5 @@
[mons]
mon0 monitor_interface=eth1
[osds]
osd0

View File

@ -0,0 +1,19 @@
# 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': [],
},
}

View File

@ -6,8 +6,9 @@ cluster_network: "192.168.2.0/24"
journal_size: 100
devices:
- '/dev/sda'
raw_journal_devices:
- '/dev/sdb'
journal_collocation: True
raw_multi_journal: True
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

View File

@ -6,8 +6,9 @@ cluster_network: "192.168.6.0/24"
journal_size: 100
devices:
- '/dev/sdb'
raw_journal_devices:
- '/dev/sdc'
journal_collocation: True
raw_multi_journal: True
os_tuning_params:
- { name: kernel.pid_max, value: 4194303 }
- { name: fs.file-max, value: 26234859 }

14
tox.ini
View File

@ -1,5 +1,5 @@
[tox]
envlist = {ansible2.2}-{xenial-conf-tests,xenial-mon-osd,xenial-cluster,centos7-mon-osd,centos7-cluster}
envlist = {ansible2.2}-{xenial-conf-tests,xenial-mon-osd,xenial-cluster,journal-collocation,centos7-cluster,dmcrypt-journal,dmcrypt-journal-collocation}
skipsdist = True
[testenv]
@ -20,11 +20,15 @@ changedir=
xenial-conf-tests: {toxinidir}/tests/functional/ubuntu/16.04/mon
# tests a 1 mon 1 osd xenial cluster using raw_multi_journal OSD scenario
xenial-mon-osd: {toxinidir}/tests/functional/ubuntu/16.04/mon-osd
# tests a 1 mon, 1 osd, 1 mds and 1 rgw xenial cluster using journal_collocation OSD scenario
# tests a 1 mon, 1 osd, 1 mds and 1 rgw xenial cluster using raw_multi_journal OSD scenario
xenial-cluster: {toxinidir}/tests/functional/ubuntu/16.04/mon-osd-mds-rgw
# tests a 1 mon 1 osd centos7 cluster using raw_multi_journal OSD scenario
centos7-mon-osd: {toxinidir}/tests/functional/centos/7/mon-osd
# tests a 1 mon, 1 osd, 1 mds and 1 rgw centos7 cluster using journal_collocation OSD scenario
# tests a 1 mon 1 osd centos7 cluster using journal_collocation OSD scenario
journal-collocation: {toxinidir}/tests/functional/centos/7/journal-collocation
# tests a 1 mon 1 osd centos7 cluster using dmcrypt_dedicated_journal OSD scenario
dmcrypt-journal: {toxinidir}/tests/functional/centos/7/dmcrypt-dedicated-journal
# tests a 1 mon 1 osd centos7 cluster using dmcrypt_journal_collocation OSD scenario
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
commands=
vagrant up --no-provision {posargs:--provider=virtualbox}