sys-cluster/cinder: split out storage backends
authorMatthew Thode <prometheanfire@gentoo.org>
Wed, 20 Apr 2016 21:29:51 +0000 (16:29 -0500)
committerMatthew Thode <prometheanfire@gentoo.org>
Wed, 20 Apr 2016 21:30:29 +0000 (16:30 -0500)
Package-Manager: portage-2.2.26

sys-cluster/cinder/cinder-2016.1.9999.ebuild
sys-cluster/cinder/metadata.xml

index 6c67fbc3c5a0d45c8c646df72d19809cd08f948b..b2701024610c1e5d7031bde9224b73d2a63a7871 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -19,8 +19,8 @@ EGIT_BRANCH="stable/mitaka"
 LICENSE="Apache-2.0"
 SLOT="0"
 KEYWORDS=""
-IUSE="+api +scheduler +volume iscsi lvm mysql +memcached postgres sqlite test"
-REQUIRED_USE="|| ( mysql postgres sqlite )"
+IUSE="+api +scheduler +volume infiniband iscsi lio lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( || ( tgt lio ) ) infiniband? ( rdma )"
 
 CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
@@ -105,7 +105,11 @@ RDEPEND="
        >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}]
        >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
        iscsi? (
-               sys-block/tgt
+               tgt? ( sys-block/tgt )
+               lio? (
+                       sys-block/targetcli 
+                       sys-block/lio-utils
+               )
                sys-block/open-iscsi
        )
        lvm? ( sys-fs/lvm2 )
@@ -119,10 +123,19 @@ RDEPEND="
 
 pkg_setup() {
        linux-info_pkg_setup
-       CONFIG_CHECK_MODULES="ISCSI_TCP"
+       CONFIG_CHECK_MODULES=""
+       if use tcp; then
+               CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+       fi
+       if use rdma; then
+               CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+       fi
+       if use infiniband; then
+               CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+       fi
        if linux_config_exists; then
                for module in ${CONFIG_CHECK_MODULES}; do
-                       linux_chkconfig_present ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)"
+                       linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
                done
        fi
        enewgroup cinder
index 545b34ae433c7802eb1635854e14166469c77180..87b3d0f2fc0c8c65b5c8431a3e79188e9167398b 100644 (file)
   <use>
     <flag name="api">Installs the initscripts for the cinder api service</flag>
     <flag name="iscsi">Allow using an iSCSI remote storage server as pool for disk image storage</flag>
+               <flag name="lio">Enable lio storage backend support</flag>
     <flag name="lvm">Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image storage</flag>
     <flag name="memcached">Installs the memcached server</flag>
+               <flag name="rdma">Enable rdma storage backend support</flag>
     <flag name="scheduler">Installs the initscripts for the cinder scheduler service</flag>
+               <flag name="tcp">Enables tcp support for the iscsi backend</flag>
+               <flag name="tgt">Enable tgt storage backend support</flag>
     <flag name="volume">Installs the initscripts for the cinder volume service</flag>
   </use>
   <upstream>