Allow passing a device name to ceph 87/24687/1
authorDan Radez <dradez@redhat.com>
Mon, 14 Nov 2016 17:36:27 +0000 (12:36 -0500)
committerDan Radez <dradez@redhat.com>
Tue, 22 Nov 2016 17:36:23 +0000 (12:36 -0500)
JIRA: APEX-347

Change-Id: Ibc6d141e20faf613e0f6314286b55aff01ce862e
Signed-off-by: Dan Radez <dradez@redhat.com>
(cherry picked from commit e36f790d036c0bfb5d7ed81d656f9bb1f5200a1a)

config/deploy/deploy_settings.yaml
docs/installationprocedure/architecture.rst
lib/python/apex/deploy_env.py
lib/undercloud-functions.sh

index e7821f1..ee1dc14 100644 (file)
@@ -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:
index c2b38d0..3353678 100644 (file)
@@ -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.
 
index 10b7831..0d48bd8 100644 (file)
@@ -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']
index 9512298..d034742 100755 (executable)
@@ -217,6 +217,10 @@ if [[ "$net_isolation_enabled" == "TRUE" ]]; then
 
 fi
 
+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