summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Radez <dradez@redhat.com>2016-11-14 12:36:27 -0500
committerDan Radez <dradez@redhat.com>2016-11-17 17:08:46 -0500
commite36f790d036c0bfb5d7ed81d656f9bb1f5200a1a (patch)
tree94577d399e68c0d2e6580c007c47e4303913ee63
parent122e9d68ebd38e6e2ff82548fb77812a04c05e17 (diff)
Allow passing a device name to ceph
JIRA: APEX-347 Change-Id: Ibc6d141e20faf613e0f6314286b55aff01ce862e Signed-off-by: Dan Radez <dradez@redhat.com>
-rw-r--r--config/deploy/deploy_settings.yaml7
-rw-r--r--docs/installationprocedure/architecture.rst7
-rw-r--r--lib/python/apex/deploy_settings.py2
-rwxr-xr-xlib/undercloud-functions.sh4
4 files changed, 19 insertions, 1 deletions
diff --git a/config/deploy/deploy_settings.yaml b/config/deploy/deploy_settings.yaml
index e7821f18..ee1dc146 100644
--- a/config/deploy/deploy_settings.yaml
+++ b/config/deploy/deploy_settings.yaml
@@ -48,6 +48,13 @@ deploy_options:
# Whether to run vsperf after the install has completed
#vsperf: false
+ # Specify a device for ceph to use for the OSDs. By default a virtual disk
+ # is created for the OSDs. This setting allows you to specify a different
+ # target for the OSDs. The setting must be valid on all overcloud nodes.
+ # The controllers and the compute nodes all have OSDs setup on them and
+ # therefore this device name must be valid on all overcloud nodes.
+ #ceph_device: /dev/sdb
+
# Set performance options on specific roles. The valid roles are 'Compute', 'Controller'
# and 'Storage', and the valid sections are 'kernel' and 'nova'
#performance:
diff --git a/docs/installationprocedure/architecture.rst b/docs/installationprocedure/architecture.rst
index c2b38d00..33536788 100644
--- a/docs/installationprocedure/architecture.rst
+++ b/docs/installationprocedure/architecture.rst
@@ -44,6 +44,7 @@ will run the following services:
- OpenDaylight
- HA Proxy
- Pacemaker & VIPs
+- Ceph Monitors and OSDs
Stateless OpenStack services
All running statesless OpenStack services are load balanced by HA Proxy.
@@ -77,6 +78,12 @@ Pacemaker & VIPs
start up order and Virtual IPs associated with specific services are running
on the proper host.
+Ceph Monitors & OSDs
+ The Ceph monitors run on each of the control nodes. Each control node also
+ has a Ceph OSD running on it. By default the OSDs use an autogenerated
+ virtual disk as their target device. A non-autogenerated device can be
+ specified in the deploy file.
+
VM Migration is configured and VMs can be evacuated as needed or as invoked
by tools such as heat as part of a monitored stack deployment in the overcloud.
diff --git a/lib/python/apex/deploy_settings.py b/lib/python/apex/deploy_settings.py
index 5490c6e9..a27d13f1 100644
--- a/lib/python/apex/deploy_settings.py
+++ b/lib/python/apex/deploy_settings.py
@@ -21,7 +21,7 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
'vpn',
'vpp']
-OPT_DEPLOY_SETTINGS = ['performance', 'vsperf']
+OPT_DEPLOY_SETTINGS = ['performance', 'vsperf', 'ceph_device']
VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
VALID_PERF_OPTS = ['kernel', 'nova', 'vpp']
diff --git a/lib/undercloud-functions.sh b/lib/undercloud-functions.sh
index d3beb60c..bd93aa78 100755
--- a/lib/undercloud-functions.sh
+++ b/lib/undercloud-functions.sh
@@ -207,6 +207,10 @@ openstack-config --set undercloud.conf DEFAULT undercloud_hostname "undercloud.$
sudo openstack-config --set /etc/ironic/ironic.conf disk_utils iscsi_verify_attempts 30
sudo openstack-config --set /etc/ironic/ironic.conf disk_partitioner check_device_max_retries 40
+if [[ -n "${deploy_options_array['ceph_device']}" ]]; then
+ sed -i '/ExtraConfig/a\\ ceph::profile::params::osds: {\\x27${deploy_options_array['ceph_device']}\\x27: {}}' opnfv-environment.yaml
+fi
+
sudo sed -i '/CephClusterFSID:/c\\ CephClusterFSID: \\x27$(cat /proc/sys/kernel/random/uuid)\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
sudo sed -i '/CephMonKey:/c\\ CephMonKey: \\x27'"\$(ceph-authtool --gen-print-key)"'\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
sudo sed -i '/CephAdminKey:/c\\ CephAdminKey: \\x27'"\$(ceph-authtool --gen-print-key)"'\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml