From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sys-cluster/cinder/Manifest | 28 +++ sys-cluster/cinder/cinder-10.0.6.ebuild | 193 +++++++++++++++++++ sys-cluster/cinder/cinder-11.0.0.ebuild | 209 ++++++++++++++++++++ sys-cluster/cinder/cinder-2016.2.9999.ebuild | 194 +++++++++++++++++++ sys-cluster/cinder/cinder-2017.1.9999.ebuild | 194 +++++++++++++++++++ sys-cluster/cinder/cinder-2017.2.9999.ebuild | 210 +++++++++++++++++++++ sys-cluster/cinder/cinder-9.1.4.ebuild | 195 +++++++++++++++++++ sys-cluster/cinder/files/cinder.initd | 23 +++ sys-cluster/cinder/files/cinder.initd-2 | 17 ++ sys-cluster/cinder/files/cinder.sudoersd | 4 + .../cinder/files/etc.liberty/api-httpd.conf | 16 ++ sys-cluster/cinder/files/etc.liberty/api-paste.ini | 60 ++++++ .../cinder/files/etc.liberty/logging_sample.conf | 93 +++++++++ sys-cluster/cinder/files/etc.liberty/policy.json | 99 ++++++++++ sys-cluster/cinder/files/etc.liberty/rootwrap.conf | 27 +++ .../files/etc.liberty/rootwrap.d/volume.filters | 207 ++++++++++++++++++++ sys-cluster/cinder/metadata.xml | 26 +++ 17 files changed, 1795 insertions(+) create mode 100644 sys-cluster/cinder/Manifest create mode 100644 sys-cluster/cinder/cinder-10.0.6.ebuild create mode 100644 sys-cluster/cinder/cinder-11.0.0.ebuild create mode 100644 sys-cluster/cinder/cinder-2016.2.9999.ebuild create mode 100644 sys-cluster/cinder/cinder-2017.1.9999.ebuild create mode 100644 sys-cluster/cinder/cinder-2017.2.9999.ebuild create mode 100644 sys-cluster/cinder/cinder-9.1.4.ebuild create mode 100644 sys-cluster/cinder/files/cinder.initd create mode 100644 sys-cluster/cinder/files/cinder.initd-2 create mode 100644 sys-cluster/cinder/files/cinder.sudoersd create mode 100644 sys-cluster/cinder/files/etc.liberty/api-httpd.conf create mode 100644 sys-cluster/cinder/files/etc.liberty/api-paste.ini create mode 100644 sys-cluster/cinder/files/etc.liberty/logging_sample.conf create mode 100644 sys-cluster/cinder/files/etc.liberty/policy.json create mode 100644 sys-cluster/cinder/files/etc.liberty/rootwrap.conf create mode 100644 sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters create mode 100644 sys-cluster/cinder/metadata.xml (limited to 'sys-cluster/cinder') diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest new file mode 100644 index 000000000000..9a35f5ae7af5 --- /dev/null +++ b/sys-cluster/cinder/Manifest @@ -0,0 +1,28 @@ +AUX cinder.initd 757 SHA256 704a0e4a5f324e07eccff8842e1ba49278bd3192945e980e213348b339cf0103 SHA512 4307742f874357d322d075e59adeaa6abe3cc099df5fcea4507d8803cb9fe662a83d149fa57002e290c9f88a064c566984772fedf5786988d922fdd687df59d8 WHIRLPOOL aa31d00c766cf711135cd983669976c9c5a450bf17cb3f931645e6efb21abd20c6431a8db8c99632b35cfd66d822bca2d748cb8a16732de3425176c8450ff8b8 +AUX cinder.initd-2 494 SHA256 166f4c34e7dd5627fc3ab2461d5ba4331348660802884c08213960c7bd218825 SHA512 04672a7aa12ece606836787cf28992155f15e76ba4038379ed0767c3c9fe9e83a5008a2357c272f522341bf3e7d3b2a60edd9095acf7e66ef16eb45f1e8a06e4 WHIRLPOOL 6f7bb713179e387c37f1e6e6431b293fe1114ef4601e9ccf54dee0397df95aa37b7ea2d247aeb10279af869ad70e21b2802928fd8f0c35fca2ee2391d8411ee1 +AUX cinder.sudoersd 86 SHA256 a2c2b8f50b21deaceaa2184c00725492cd96db44736cb3fe4bf4aaecc0805b6f SHA512 c158be54e721abc6916db2e710092ca75aac65ac88b19849ccd0f3ebbb7c8879aab6b73aba36537e806abd5b8b5e8fbc24fca79d00015d3308198d5270e51fe1 WHIRLPOOL 52642c53b34b089fb9c82c1307c02cd611ea834492a2919a12902bc974a146348a3dcde3db6058eb417395acaff8131398e70fbfa74c7325abcd695102f372c3 +AUX etc.liberty/api-httpd.conf 572 SHA256 603324371bf142b586e28b1b552689e18a2abcc70ad3a270410fe7d5948ce2c9 SHA512 47e86f6245c2d241d9573932e26391a455d546f7ef0cd94c608c563ea4be4599711fe783c8735bcd0095ad57a55409ae96dcf938ee95024b2225ab8450cfc5b1 WHIRLPOOL 4d991a109c8c6316c42bf0856bd04fd2113198b2552603bbfe4e56dbc4fa62d2c5c8c5abbb47a4cd3384ea20e679a9dc81c0fe160dba4b97be7b101078eb47a6 +AUX etc.liberty/api-paste.ini 1865 SHA256 092270fccc1ab3deb7ff75a345023ffb3cc6d47d28f5324f0f741b5a3531279e SHA512 6ceee5c19dffb8909f7372e9388215bc02acfa69e7d07ccc8278c8702ca25c65be869a8cbea1b2b67f8602d24f0d5bbe07e26d19a44febbb5a9a627e3c3cbad2 WHIRLPOOL 8199bf839e0b478d6a2d94b369dd6ffd7827795c67866380c540c0c6bc061c2b078611b00c9a7301a94d20c6d651083d5619b792213704e76f7cb1eac2733b98 +AUX etc.liberty/logging_sample.conf 1758 SHA256 904eb4c3c9f0ebf07597d7e6da40352ad66bcd4e31a2d201be0081c69d3a1cb4 SHA512 7e5d747b6ceb6458e332fe2741a45f7c095f0bb3c0b4c030839a15f4eb8a1b4e667062ed069ba80901ee496d85aa153c694ef99573650e4426eda0e2de454141 WHIRLPOOL bbbd0ef11c19dc273df651f0702bd507f21936afdf24544b8bc2b80cccb38a881b6c6fe3f21852013f5b050ccedcaed46ecb1d27f799aaec6b8011a07c21fdde +AUX etc.liberty/policy.json 4623 SHA256 b69e7f2863f5170342daa38daaf5c1d8c0bb264ac7b99e8ce717517e4312d738 SHA512 441a7c6d4a7ff9697ab4498184e4e4daf4f35884aa1e00c44152ee933a924f022008d32e8a5348cad341b50275404cb95c90bc2f3d9f015b77ea61b61764e730 WHIRLPOOL fa0637b761daab66ff37756587ea41fd7116b8be14e1f52ac662dadfae4eb21352fa55e12bbaf91e594bd8daf87a87537d889b1adb1cb496a31429c3bacfbd5b +AUX etc.liberty/rootwrap.conf 973 SHA256 f12fde48864a16fa12d93e09878d7f73af484d54078274081d1d35c680a4d257 SHA512 f4a52193883bae792e202711979c7d850f5823ca1bdca4fa6b32e89f0ea13af92e8065ffb39c363b2ce6220c039d1a1ff23fa1af381e68714eba6ff76c16a9f7 WHIRLPOOL 85e30b358f9e0fd8115636c4a3e9c5e14ba364341a9a63979568b083c5e123a7858d0077d911708c68636b79dc5fd7b706ec8131b712934ace738bbf869a21db +AUX etc.liberty/rootwrap.d/volume.filters 9478 SHA256 3bcb6b7786c63b41315ebf524b6fc253e4fba572448ce1bc099f35cf3ddefa07 SHA512 ed5f9456eee9c72aa5e72a745f6f4958bade85d34cd7ee6cdf6c082d69a20bf4f9e46e600b3944dcf63cb744d3ffb3c9c4412e50b8762f254d7b59bb561500d5 WHIRLPOOL d7aa8a444d74fabe515948f31007d13d5da0d36002d5f1b01ef2934f6e8664bf9a8c22b265f378e6dcde98dd79e8e5b043c4ebd569abf44e903210df824f9cae +DIST cinder-10.0.6.tar.gz 4624145 SHA256 af89e1190dd0b045f62acb439c9fedfcc0118d5d2863f5d7257db7608d210293 SHA512 28c84260909d0c1a9b0cd6a7409dad3e09d0d7bd662b8ca61c6c3ca04fb797723bc0f4df7db3a6951d1ce354a84b907bf1832190c02a5992c8ac70cf95fb00b9 WHIRLPOOL 71f6312a0f74e7496df526e82dc0cf8b128de03ba9096f54e158b885cfae66824c8253111b44514e26fd91edc3c5e15d87ad2122fa8db3d8af10fd9194c51f0a +DIST cinder-11.0.0.tar.gz 5783539 SHA256 aabf824876b95c0422d7660ed4d03e89e43043928c5294fcf058e0613a02f602 SHA512 2b51879d65f195c433244f696978822c16e92f5aaeebecc970e94d11589ad62452cf46c5925fdf2fce25251dd5bf52db338959e5a9d14047e7faf41f1319153e WHIRLPOOL 8a2fcfacd3ad839237192698e6a6942564ce1f9e0c51635be7ea50ae10e2afb122378e043ad604b5adeda6646d557f8dda005e80b6bd803e4d57362dbfefa0b3 +DIST cinder-9.1.4.tar.gz 4195597 SHA256 ee8a2ca264a41c8f4ed48094722d683cffae99cee910f19a140b0d1d0f5251a4 SHA512 8039d5208296ea54fc869fb05dd91451ac3575eb3dd2ed97d0c63120d18b67b02b835a849cd1ec3dae349920895e13665c15a6daa53f67138823053c49ab87a9 WHIRLPOOL f2fd2bbba72d2f74f1395f2b280ed3304ecec37c9bcdc7b73a104d19698dad123ffdbce58249c426245c68584eb7a10a640f38a9192933d8db30a7f45b79c48e +DIST newton-cinder-policy.json 6412 SHA256 3a140134201452c52a97eae9f4c45ea30a3a21cc7a30ee619ed37ab0723b6479 SHA512 3473b5790487bd037d54e4a1a89bab9d145bc34d137d52da2b6b311d2dfee2344fec75c6c96bc518a3e0b175fbd6cde71fb546406c0ef835898e3c1c88eb6d56 WHIRLPOOL f34dc729425fd82ddd9905c675fca9b765b4535dc87ec9d94acd1781c331e466f8688aace4954532e376e704cf3f1c8f4103f22e6838d4403c10311358e1ed2b +DIST newton-cinder-volume.filters 11025 SHA256 c36bdb9abb4d97350db9971dae1c44a713911920362a0c6c5bc3cfe2701dd4f6 SHA512 311a636180a18bb45867d55f9d33f1eff053cc7b278b41149c58a14450ff8e6d2016d749cc3fb81d1976c4ab78f7701a908bd9c81eb6e9da31c20820a4eaff3d WHIRLPOOL 7496fffec8e42eb1c3bea39563cef8d48cb607b7de1ba8a4ac9a831b6def3dcbcfdf7d485aa81f52aa9bdf7600a51ba07ff85fbf88c5c70091ad88f8c01ca37e +DIST newton-cinder.conf.sample 50793 SHA256 5179c86590fb5c9477ec838f1ccb8cd9c481e8c31384eb7a012f296c68e0ddc1 SHA512 bf3b5fa262d7df57ca8a496724df449eb6c49ea951c1384b216af334db7cb948af5f7a5f24ddcebd4c80cca40da65e8aaa3a65f09ae2e184794ec1bf9bf466db WHIRLPOOL 7798325f7da5e236d49c8aec4218ef1e50e8e1bf8466f5fdb7b51844c5e6059868c9e4286afecefa637acd0e1df5315de2ac787947a31f4c51978529a54e1862 +DIST ocata-cinder-policy.json 6614 SHA256 992b4454d27cacf1c61c10d7c412b2b9673e798029c55747106c31f341bc8800 SHA512 6a3da28674e7bf828a2be8de0b41e6abe59567d0abf2a41781580ba611ca888e072960f3e702e834a1599e6bbb49beb1cd37f7a32e35afaf8dfc73f2852e2302 WHIRLPOOL a60659ee3007417a27dab2b4d4a7b75693b44f185107e951698bc3ae2b472777c8dc208bae1149c81ebf4288aabb37323bec07952105c7e560cec4d8bacf1a92 +DIST ocata-cinder-volume.filters 11067 SHA256 831d60708583b716376e6e68c69d1f5e7ce103010e7831b136fc332f62f84373 SHA512 9600ca77a63db04844ab9d658ffd0d97abe1c669d91f69d126b364b2700d749cd45d7df1e31ffd7e80698157e9267c3138cae098f36d77995bab73afdf32ff9f WHIRLPOOL a0d1bdcf9b36365cdd7c7acc6674bee41aaf1b57cdb35bc5972b9339ca8811e68200d50fa1821065582d0326fca5bf7e89b9c03cfeca77997845dd0a6a9571a8 +DIST ocata-cinder.conf.sample 173024 SHA256 995620f977f2d8ea479985b523824170769aeb2c80e255a1f29bab16e869977b SHA512 bbecf45ad20b3193023a137b5c3237dfc15bd6a232dda5de631096bf55916eb0fffba7506eeffdc1a3c848ac042cb286dea44387ff0eef84ec7bbcaffb4aa58e WHIRLPOOL 8a51471ec37dbe7211b9a0f87c855a34b8641993ed7b8d6c9ae633d2f58e8c112988421032730dbe3fed642de89d0cd2dd347247cc8aeca163134f5334fb68f2 +DIST pike-cinder.conf.sample 185310 SHA256 be8aa4e31f2854a100628188ea6536cd27788c4979b8072b98f35ac895ba9797 SHA512 12c44b7a31888fbf4c70e037a2f5d0b778018e10bd0fc1cb97391bbe2fc6f97bbe4bec0d1504513ee0235ce50decda6883fe64a7d8fd5e329d8ad73e6bb74654 WHIRLPOOL bcf799affb6c2b9adfd133b0630fb1cd4f4a185c3e1ed583d0610b3dc1160757d4a63766df7f2896eefb12a70f0544072a485ef62c8a59c1917eceb730029648 +EBUILD cinder-10.0.6.ebuild 7077 SHA256 2f01351304d809ade448e3c4aac534058852854f51a809c7a3af7ac3f9c6cba4 SHA512 3f1927bd233f73687f25d27d99455fbea611e12e335295eabf9752cc287cf5fa128b2d43f49d08186a0f61dda7f935338b81fc63a534292ad5170b94827ea458 WHIRLPOOL 19a58c8318932263281e3bdff9e3f03a8cd4f9c46de014c56399d17b3b8cf2144e74ac7ba84141b33e6f571c265107ec92a6644c96794d094b33edcfd8175066 +EBUILD cinder-11.0.0.ebuild 7750 SHA256 bb3c0ac5365cd10d48dc954e6c7a3b6a815a7884d487dbf9323b00cd913d254c SHA512 5b3f1b17225e66a0c169400fe9a65abe3e8842325daa0e7bf205c4a9306e625696f431a1b512e378a5da7534cf916f74afa352382ecb9721a1f8e95b35e6d7aa WHIRLPOOL 7bc575f6de9b3ac68b9afc3859f60df2192d999de9cebe34573b7b6f79fc7414e4f25f505caa1ff1a3b0a19f9a61de0eca29c2bc9d3b5dbe8a732da00e278445 +EBUILD cinder-2016.2.9999.ebuild 7156 SHA256 1c96ee04f1199e193610d373e606263041259296796d84493de974af5ca16777 SHA512 e4f341ae8f2cf9a6e3d4c59a8a84f7877bdee83dfd957fd9dc6d0073cd71befd67da1783e3875d68a750b30269903e6ea4184531a189e4b067c237d5b261d6cb WHIRLPOOL 07b0028f0b72e0d8b33203d4a667d54794007c9a0c7fc80b7fa2bdc5ce38765c461df2d0ea6ac06eef77986205fb9f7317d2d22c9c266820370b78a7f3540b34 +EBUILD cinder-2017.1.9999.ebuild 7102 SHA256 543076aecf49af74e25ad111f16cbf470dd728f8a8b0433b807b201e2c979796 SHA512 fe32fd7e9aa2320198b8fa4ecfb0d69fa1455c4e98ded2723ea84a33851f2e3c13959a586f7eb34879b09f49b249a7d43e317c0473d01cb7ec9817487737ae15 WHIRLPOOL a060b160f14a4d83565b517b3cce223cd31e70bbc66712a45c8bf2d858a3626eec8fdfd3a419cd2453a40540ce14faec0f97cfa9600de695b4371970e30bd8f4 +EBUILD cinder-2017.2.9999.ebuild 7774 SHA256 601e0785cbfccb2f05983cdaaa4878ee3b50abf465690c2084e96bd175c861b2 SHA512 9c967bac3ff3b02e94de987de3260cbdd67608fdc97da30b77ca41aab41c8dc3372b8f40c6fd1d4c23cabdc2352e780a32bdaa6bcac129d0160a469447eeeb0c WHIRLPOOL c44e9f84c6f9dab30b782423a32b95ff9ce3e1ab728ce33c5a2edb11719b97517204db9241fe0730c9d338e012adb102729b95e0d1185f8334e2545651c4b7da +EBUILD cinder-9.1.4.ebuild 7224 SHA256 d8d8f02ae1a9c2c3032c115be2c225fc5a2757b5d983a8a42c0924a76a38d977 SHA512 8582a735af86c73e64e49f365efee8fe06263f5e228ee83b2e576601b05aca1a500876381710613f1a5ed28ecab4031dae0619ac786f85cbb387e3f6efd19eb1 WHIRLPOOL ac341f92e1674a2b349424f2f439175ec0c17f47bdcdfc14233a4ba32f7c09f5cdc26232c5d9f23220f022eee0a2db669fab79d225af9b89e06c38f66a8e4fd8 +MISC ChangeLog 11312 SHA256 8c18e0202365c8cf9650fb90232026cccab8523580b3d58d5a31feb2365a7916 SHA512 dbd87b5f9ef8ee672cd5974b6f8d9d23ac4c398de68982f1c240d3f39c463b3d8e1764e279dd7b5d7581daa9c1db654880035bbd3f57ac1659adb9c159438344 WHIRLPOOL 92468e210f3bf24e71dc07013218460b16975e1b4dd61e8c2ec5cfa74931592622b48e301d8d86e5b874474663d61f2cf04bcd67e2d723e01f33c463d4e55e9d +MISC ChangeLog-2015 11216 SHA256 6c55aa9191bee1734ca15844357c93fcaed07adcc3a4a4e7e1f3a9eaaa3f1e09 SHA512 ae7725963e418dfed8c911f56904ba0f758946549d60cfcf6931772aba447b891eb5a49a185ebdd0b06f9f4ff9f5f903368490b696c0e6301ec7ca06ba18808c WHIRLPOOL d6e9ec33deda3abe0e371728dc7d281b39f559604c677ca0b0f500f5bd22ced2e815465646ef54e9856f774ff3faa387190bc3b3061c200d1b59a2f4ac9ebd64 +MISC metadata.xml 1244 SHA256 1f5ba22631205cf585efaf21ca2102d52dd0423fc8ee7ec201b858f1d0cafbfb SHA512 fda201e6974bb0af9c24c1384a3bb2dd0a0c630439d7f1955de336f53804070a68426919fd4dc6f864d502c7e9e99a80d1920c740b6dc179f7b46c7f7fb7aef9 WHIRLPOOL bd8a6a467472099a31dc7adbd9be78a74cf18b3c4c83ef74b697ef24f860f903a3a5939de2ce942104b53c199660efd92a32dcca066675a51b2166c2ebf9e63d diff --git a/sys-cluster/cinder/cinder-10.0.6.ebuild b/sys-cluster/cinder/cinder-10.0.6.ebuild new file mode 100644 index 000000000000..50016f1ae5d7 --- /dev/null +++ b/sys-cluster/cinder/cinder-10.0.6.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + =dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json" + newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-11.0.0.ebuild b/sys-cluster/cinder/cinder-11.0.0.ebuild new file mode 100644 index 000000000000..09d3aaee0a21 --- /dev/null +++ b/sys-cluster/cinder/cinder-11.0.0.ebuild @@ -0,0 +1,209 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + =dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + doins "etc/cinder/policy.json" + doins "etc/cinder/resource_filters.json" + newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + doins "etc/cinder/rootwrap.d/volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2016.2.9999.ebuild b/sys-cluster/cinder/cinder-2016.2.9999.ebuild new file mode 100644 index 000000000000..b0cc1c89ab48 --- /dev/null +++ b/sys-cluster/cinder/cinder-2016.2.9999.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/newton" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + =dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/newton-cinder-policy.json" "policy.json" + newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2017.1.9999.ebuild b/sys-cluster/cinder/cinder-2017.1.9999.ebuild new file mode 100644 index 000000000000..f7d1edd70082 --- /dev/null +++ b/sys-cluster/cinder/cinder-2017.1.9999.ebuild @@ -0,0 +1,194 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + =dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}] + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json" + newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-2017.2.9999.ebuild b/sys-cluster/cinder/cinder-2017.2.9999.ebuild new file mode 100644 index 000000000000..9db27e401adc --- /dev/null +++ b/sys-cluster/cinder/cinder-2017.2.9999.ebuild @@ -0,0 +1,210 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit distutils-r1 eutils git-r3 linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample" +EGIT_REPO_URI="https://github.com/openstack/cinder.git" +EGIT_BRANCH="stable/pike" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}] + !~dev-python/pbr-2.1.0" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}] + =dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}] + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}] + !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}] + >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}] + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}] + ) + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}] + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}] + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-1.6[${PYTHON_USEDEP}] + !~dev-python/cryptography-2.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + doins "etc/cinder/policy.json" + doins "etc/cinder/resource_filters.json" + newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + doins "etc/cinder/rootwrap.d/volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/cinder-9.1.4.ebuild b/sys-cluster/cinder/cinder-9.1.4.ebuild new file mode 100644 index 000000000000..a4f99f386431 --- /dev/null +++ b/sys-cluster/cinder/cinder-9.1.4.ebuild @@ -0,0 +1,195 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 python3_4 ) + +inherit distutils-r1 eutils linux-info user + +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes" +HOMEPAGE="https://launchpad.net/cinder" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json +https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters +https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt" +REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )" + +CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]" +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}] + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}] + dev-python/enum34[$(python_gen_usedep 'python2_7')] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}] + virtual/python-ipaddress[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}] + !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}] + >=dev-python/lxml-2.3[${PYTHON_USEDEP}] + >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}] + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}] + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}] + >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}] + >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}] + >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}] + >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}] + !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}] + >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}] + !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}] + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}] + >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}] + >=dev-python/pytz-2013.6[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}] + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}] + >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}] + !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}] + >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + =dev-python/pymysql-0.6.2[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + =dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}] + ~dev-python/suds-0.6[${PYTHON_USEDEP}] + >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}] + >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}] + >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}] + >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}] + >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}] + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}] + iscsi? ( + tgt? ( sys-block/tgt ) + sys-block/open-iscsi + ) + lvm? ( sys-fs/lvm2 ) + memcached? ( net-misc/memcached ) + app-emulation/qemu + sys-fs/sysfsutils" +# qemu is needed for image conversion + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + 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 enabled" + done + fi +} + +pkg_setup() { + enewgroup cinder + enewuser cinder -1 -1 /var/lib/cinder cinder +} + +python_prepare_all() { + sed -i '/^hacking/d' test-requirements.txt || die + distutils-r1_python_prepare_all +} + +python_test() { + # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727 + nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7" +} + +python_install_all() { + distutils-r1_python_install_all + keepdir /etc/cinder + dodir /etc/cinder/rootwrap.d + + for svc in api scheduler volume; do + newinitd "${FILESDIR}/cinder.initd" cinder-${svc} + done + + insinto /etc/cinder + insopts -m0640 -o cinder -g cinder + doins "etc/cinder/api-httpd.conf" + doins "etc/cinder/logging_sample.conf" + doins "etc/cinder/rootwrap.conf" + doins "etc/cinder/api-paste.ini" + newins "${DISTDIR}/newton-cinder-policy.json" "policy.json" + newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample" + insinto /etc/cinder/rootwrap.d + newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters" + + dodir /var/log/cinder + fowners cinder:cinder /var/log/cinder + + #add sudoers definitions for user nova + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/cinder.sudoersd" cinder +} + +pkg_postinst() { + if use iscsi ; then + elog "Cinder needs tgtd to be installed and running to work with iscsi" + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf" + fi +} diff --git a/sys-cluster/cinder/files/cinder.initd b/sys-cluster/cinder/files/cinder.initd new file mode 100644 index 000000000000..0c86345a8a1e --- /dev/null +++ b/sys-cluster/cinder/files/cinder.initd @@ -0,0 +1,23 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/${SVCNAME} +command_background=yes +command_args="--config-file /etc/cinder/cinder.conf --log-file /var/log/cinder/${SVCNAME}.log" +pidfile=/var/run/cinder/${SVCNAME}.pid +required_files=/etc/cinder/cinder.conf + +start_stop_daemon_args="--quiet --user ${CINDER_USER:-cinder}" + +depend() { + need net +} + +start_pre() { + checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_RUN:-/var/run/cinder} + checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_LOCK:-/var/lock/cinder} +} + diff --git a/sys-cluster/cinder/files/cinder.initd-2 b/sys-cluster/cinder/files/cinder.initd-2 new file mode 100644 index 000000000000..31584dee9d23 --- /dev/null +++ b/sys-cluster/cinder/files/cinder.initd-2 @@ -0,0 +1,17 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +description="Starts ${SVCNAME} service for OpenStack" + +command=/usr/bin/${SVCNAME} +command_background=yes +command_args="--config-file /etc/cinder/cinder.conf --log-file ${CINDER_LOGDIR:-/var/log/cinder}/${SVCNAME}.log" +command_user="${CINDER_USER:-cinder}" +pidfile=/run/${SVCNAME}.pid +required_files=/etc/cinder/cinder.conf +retry="SIGTERM/30" + +depend() { + need net +} diff --git a/sys-cluster/cinder/files/cinder.sudoersd b/sys-cluster/cinder/files/cinder.sudoersd new file mode 100644 index 000000000000..f44bab4a5778 --- /dev/null +++ b/sys-cluster/cinder/files/cinder.sudoersd @@ -0,0 +1,4 @@ +Defaults:cinder !requiretty + +cinder ALL = (root) NOPASSWD: /usr/bin/cinder-rootwrap + diff --git a/sys-cluster/cinder/files/etc.liberty/api-httpd.conf b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf new file mode 100644 index 000000000000..f3555477acc7 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf @@ -0,0 +1,16 @@ +Listen 8776 +LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" cinder_combined + + + WSGIDaemonProcess osapi_volume processes=2 threads=1 user=cinder display-name=%{GROUP} + WSGIProcessGroup osapi_volume + WSGIScriptAlias / /var/www/cgi-bin/cinder/osapi_volume + WSGIApplicationGroup %{GLOBAL} + WSGIPassAuthorization On + = 2.4> + ErrorLogFormat "%{cu}t %M" + + ErrorLog /var/log/apache2/cinder_error.log + CustomLog /var/log/apache2/cinder.log cinder_combined + + diff --git a/sys-cluster/cinder/files/etc.liberty/api-paste.ini b/sys-cluster/cinder/files/etc.liberty/api-paste.ini new file mode 100644 index 000000000000..b2822b044db0 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/api-paste.ini @@ -0,0 +1,60 @@ +############# +# OpenStack # +############# + +[composite:osapi_volume] +use = call:cinder.api:root_app_factory +/: apiversions +/v1: openstack_volume_api_v1 +/v2: openstack_volume_api_v2 + +[composite:openstack_volume_api_v1] +use = call:cinder.api.middleware.auth:pipeline_factory +noauth = request_id faultwrap sizelimit osprofiler noauth apiv1 +keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 +keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 + +[composite:openstack_volume_api_v2] +use = call:cinder.api.middleware.auth:pipeline_factory +noauth = request_id faultwrap sizelimit osprofiler noauth apiv2 +keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 +keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 + +[filter:request_id] +paste.filter_factory = oslo_middleware.request_id:RequestId.factory + +[filter:faultwrap] +paste.filter_factory = cinder.api.middleware.fault:FaultWrapper.factory + +[filter:osprofiler] +paste.filter_factory = osprofiler.web:WsgiMiddleware.factory +hmac_keys = SECRET_KEY +enabled = yes + +[filter:noauth] +paste.filter_factory = cinder.api.middleware.auth:NoAuthMiddleware.factory + +[filter:sizelimit] +paste.filter_factory = cinder.api.middleware.sizelimit:RequestBodySizeLimiter.factory + +[app:apiv1] +paste.app_factory = cinder.api.v1.router:APIRouter.factory + +[app:apiv2] +paste.app_factory = cinder.api.v2.router:APIRouter.factory + +[pipeline:apiversions] +pipeline = faultwrap osvolumeversionapp + +[app:osvolumeversionapp] +paste.app_factory = cinder.api.versions:Versions.factory + +########## +# Shared # +########## + +[filter:keystonecontext] +paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory + +[filter:authtoken] +paste.filter_factory = keystonemiddleware.auth_token:filter_factory diff --git a/sys-cluster/cinder/files/etc.liberty/logging_sample.conf b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf new file mode 100644 index 000000000000..f9a8deb1b3c1 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf @@ -0,0 +1,93 @@ +[loggers] +keys = root, cinder, taskflow, cinder_flow_utils + +[handlers] +keys = stderr, stdout, watchedfile, syslog, tasks, null + +[formatters] +keys = context, default + +[logger_root] +level = WARNING +handlers = null + +[logger_cinder] +level = INFO +handlers = stderr +qualname = cinder + +# Both of these are used for tracking what cinder and taskflow is doing with +# regard to flows and tasks (and the activity there-in). +[logger_cinder_flow_utils] +level = INFO +handlers = tasks,stderr +qualname = cinder.flow_utils + +[logger_taskflow] +level = INFO +handlers = tasks +qualname = taskflow + +[logger_amqplib] +level = WARNING +handlers = stderr +qualname = amqplib + +[logger_sqlalchemy] +level = WARNING +handlers = stderr +qualname = sqlalchemy +# "level = INFO" logs SQL queries. +# "level = DEBUG" logs SQL queries and results. +# "level = WARNING" logs neither. (Recommended for production systems.) + +[logger_boto] +level = WARNING +handlers = stderr +qualname = boto + +[logger_suds] +level = INFO +handlers = stderr +qualname = suds + +[logger_eventletwsgi] +level = WARNING +handlers = stderr +qualname = eventlet.wsgi.server + +[handler_stderr] +class = StreamHandler +args = (sys.stderr,) +formatter = context + +[handler_stdout] +class = StreamHandler +args = (sys.stdout,) +formatter = context + +[handler_watchedfile] +class = handlers.WatchedFileHandler +args = ('cinder.log',) +formatter = context + +[handler_tasks] +class = handlers.WatchedFileHandler +args = ('tasks.log',) +formatter = context + +[handler_syslog] +class = handlers.SysLogHandler +args = ('/dev/log', handlers.SysLogHandler.LOG_USER) +formatter = context + +[handler_null] +class = logging.NullHandler +formatter = default +args = () + +[formatter_context] +class = oslo_log.formatters.ContextFormatter + +[formatter_default] +format = %(message)s diff --git a/sys-cluster/cinder/files/etc.liberty/policy.json b/sys-cluster/cinder/files/etc.liberty/policy.json new file mode 100644 index 000000000000..4c8a8aa5079c --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/policy.json @@ -0,0 +1,99 @@ +{ + "context_is_admin": "role:admin", + "admin_or_owner": "is_admin:True or project_id:%(project_id)s", + "default": "rule:admin_or_owner", + + "admin_api": "is_admin:True", + + "volume:create": "", + "volume:delete": "rule:admin_or_owner", + "volume:get": "rule:admin_or_owner", + "volume:get_all": "rule:admin_or_owner", + "volume:get_volume_metadata": "rule:admin_or_owner", + "volume:delete_volume_metadata": "rule:admin_or_owner", + "volume:update_volume_metadata": "rule:admin_or_owner", + "volume:get_volume_admin_metadata": "rule:admin_api", + "volume:update_volume_admin_metadata": "rule:admin_api", + "volume:get_snapshot": "rule:admin_or_owner", + "volume:get_all_snapshots": "rule:admin_or_owner", + "volume:delete_snapshot": "rule:admin_or_owner", + "volume:update_snapshot": "rule:admin_or_owner", + "volume:extend": "rule:admin_or_owner", + "volume:update_readonly_flag": "rule:admin_or_owner", + "volume:retype": "rule:admin_or_owner", + "volume:update": "rule:admin_or_owner", + + "volume_extension:types_manage": "rule:admin_api", + "volume_extension:types_extra_specs": "rule:admin_api", + "volume_extension:volume_type_access": "rule:admin_or_owner", + "volume_extension:volume_type_access:addProjectAccess": "rule:admin_api", + "volume_extension:volume_type_access:removeProjectAccess": "rule:admin_api", + "volume_extension:volume_type_encryption": "rule:admin_api", + "volume_extension:volume_encryption_metadata": "rule:admin_or_owner", + "volume_extension:extended_snapshot_attributes": "rule:admin_or_owner", + "volume_extension:volume_image_metadata": "rule:admin_or_owner", + + "volume_extension:quotas:show": "", + "volume_extension:quotas:update": "rule:admin_api", + "volume_extension:quota_classes": "rule:admin_api", + + "volume_extension:volume_admin_actions:reset_status": "rule:admin_api", + "volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api", + "volume_extension:backup_admin_actions:reset_status": "rule:admin_api", + "volume_extension:volume_admin_actions:force_delete": "rule:admin_api", + "volume_extension:volume_admin_actions:force_detach": "rule:admin_api", + "volume_extension:snapshot_admin_actions:force_delete": "rule:admin_api", + "volume_extension:backup_admin_actions:force_delete": "rule:admin_api", + "volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api", + "volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api", + + "volume_extension:volume_host_attribute": "rule:admin_api", + "volume_extension:volume_tenant_attribute": "rule:admin_or_owner", + "volume_extension:volume_mig_status_attribute": "rule:admin_api", + "volume_extension:hosts": "rule:admin_api", + "volume_extension:services:index": "rule:admin_api", + "volume_extension:services:update" : "rule:admin_api", + + "volume_extension:volume_manage": "rule:admin_api", + "volume_extension:volume_unmanage": "rule:admin_api", + + "volume_extension:capabilities": "rule:admin_api", + + "volume:create_transfer": "rule:admin_or_owner", + "volume:accept_transfer": "", + "volume:delete_transfer": "rule:admin_or_owner", + "volume:get_all_transfers": "rule:admin_or_owner", + + "volume_extension:replication:promote": "rule:admin_api", + "volume_extension:replication:reenable": "rule:admin_api", + + "volume:enable_replication": "rule:admin_api", + "volume:disable_replication": "rule:admin_api", + "volume:failover_replication": "rule:admin_api", + "volume:list_replication_targets": "rule:admin_api", + + "backup:create" : "", + "backup:delete": "rule:admin_or_owner", + "backup:get": "rule:admin_or_owner", + "backup:get_all": "rule:admin_or_owner", + "backup:restore": "rule:admin_or_owner", + "backup:backup-import": "rule:admin_api", + "backup:backup-export": "rule:admin_api", + + "snapshot_extension:snapshot_actions:update_snapshot_status": "", + "snapshot_extension:snapshot_manage": "rule:admin_api", + "snapshot_extension:snapshot_unmanage": "rule:admin_api", + + "consistencygroup:create" : "group:nobody", + "consistencygroup:delete": "group:nobody", + "consistencygroup:update": "group:nobody", + "consistencygroup:get": "group:nobody", + "consistencygroup:get_all": "group:nobody", + + "consistencygroup:create_cgsnapshot" : "group:nobody", + "consistencygroup:delete_cgsnapshot": "group:nobody", + "consistencygroup:get_cgsnapshot": "group:nobody", + "consistencygroup:get_all_cgsnapshots": "group:nobody", + + "scheduler_extension:scheduler_stats:get_pools" : "rule:admin_api" +} diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.conf b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf new file mode 100644 index 000000000000..4d280eae5c82 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf @@ -0,0 +1,27 @@ +# Configuration for cinder-rootwrap +# This file should be owned by (and only-writeable by) the root user + +[DEFAULT] +# List of directories to load filter definitions from (separated by ','). +# These directories MUST all be only writeable by root ! +filters_path=/etc/cinder/rootwrap.d,/usr/share/cinder/rootwrap + +# List of directories to search executables in, in case filters do not +# explicitely specify a full path (separated by ',') +# If not specified, defaults to system PATH environment variable. +# These directories MUST all be only writeable by root ! +exec_dirs=/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin + +# Enable logging to syslog +# Default value is False +use_syslog=False + +# Which syslog facility to use. +# Valid values include auth, authpriv, syslog, local0, local1... +# Default value is 'syslog' +syslog_log_facility=syslog + +# Which messages to log. +# INFO means log all usage +# ERROR means only log unsuccessful attempts +syslog_log_level=ERROR diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters new file mode 100644 index 000000000000..9e7ab384c4f7 --- /dev/null +++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters @@ -0,0 +1,207 @@ +# cinder-rootwrap command filters for volume nodes +# This file should be owned by (and only-writeable by) the root user + +[Filters] +# cinder/volume/iscsi.py: iscsi_helper '--op' ... +ietadm: CommandFilter, ietadm, root +tgtadm: CommandFilter, tgtadm, root +iscsictl: CommandFilter, iscsictl, root +tgt-admin: CommandFilter, tgt-admin, root +cinder-rtstool: CommandFilter, cinder-rtstool, root +scstadmin: CommandFilter, scstadmin, root + +# LVM related show commands +pvs: EnvFilter, env, root, LC_ALL=C, pvs +vgs: EnvFilter, env, root, LC_ALL=C, vgs +lvs: EnvFilter, env, root, LC_ALL=C, lvs +lvdisplay: EnvFilter, env, root, LC_ALL=C, lvdisplay + +# LVM conf var +pvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, pvs +vgs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, vgs +lvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvs +lvdisplay_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvdisplay + +# os-brick library commands +# TODO(smcginnis) This is a temporary fix. Need to pull in os-brick +# os-brick.filters file instead and clean out stale brick values from +# this file. +scsi_id: CommandFilter, /lib/udev/scsi_id, root + +# cinder/volumes/drivers/srb.py: 'pvresize', '--setphysicalvolumesize', sizestr, pvname +pvresize: CommandFilter, pvresize, root + +# cinder/brick/local_dev/lvm.py: 'vgcreate', vg_name, pv_list +vgcreate: CommandFilter, vgcreate, root + +# cinder/volumes/drivers/srb.py: 'vgremove', '-f', vgname +vgremove: CommandFilter, vgremove, root + +# cinder/volumes/drivers/srb.py: 'vgchange', '-an', vgname +# cinder/volumes/drivers/srb.py: 'vgchange', '-ay', vgname +vgchange: CommandFilter, vgchange, root + +# cinder/volume/driver.py: 'lvcreate', '-L', sizestr, '-n', volume_name,.. +# cinder/volume/driver.py: 'lvcreate', '-L', ... +lvcreate: CommandFilter, lvcreate, root + +# cinder/volume/driver.py: 'dd', 'if=%s' % srcstr, 'of=%s' % deststr,... +dd: CommandFilter, dd, root + +# cinder/volume/driver.py: 'lvremove', '-f', %s/%s % ... +lvremove: CommandFilter, lvremove, root + +# cinder/volume/driver.py: 'lvrename', '%(vg)s', '%(orig)s' '(new)s'... +lvrename: CommandFilter, lvrename, root + +# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(lv_name)s' ... +# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(thin_pool)s' ... +lvextend: CommandFilter, lvextend, root + +# cinder/brick/local_dev/lvm.py: 'lvchange -a y -K ' +lvchange: CommandFilter, lvchange, root + +# cinder/volume/driver.py: 'iscsiadm', '-m', 'discovery', '-t',... +# cinder/volume/driver.py: 'iscsiadm', '-m', 'node', '-T', ... +iscsiadm: CommandFilter, iscsiadm, root + +# cinder/volume/drivers/lvm.py: 'shred', '-n3' +# cinder/volume/drivers/lvm.py: 'shred', '-n0', '-z', '-s%dMiB' +shred: CommandFilter, shred, root + +# cinder/volume/utils.py: utils.temporary_chown(path, 0) +chown: CommandFilter, chown, root + +# cinder/volume/utils.py: copy_volume(..., ionice='...') +ionice_1: ChainingRegExpFilter, ionice, root, ionice, -c[0-3], -n[0-7] +ionice_2: ChainingRegExpFilter, ionice, root, ionice, -c[0-3] + +# cinder/volume/utils.py: setup_blkio_cgroup() +cgcreate: CommandFilter, cgcreate, root +cgset: CommandFilter, cgset, root +cgexec: ChainingRegExpFilter, cgexec, root, cgexec, -g, blkio:\S+ + +# cinder/volume/driver.py +dmsetup: CommandFilter, dmsetup, root +ln: CommandFilter, ln, root + +# cinder/image/image_utils.py +qemu-img: EnvFilter, env, root, LC_ALL=C, qemu-img +qemu-img_convert: CommandFilter, qemu-img, root + +udevadm: CommandFilter, udevadm, root + +# cinder/volume/driver.py: utils.read_file_as_root() +cat: CommandFilter, cat, root + +# cinder/volume/nfs.py +stat: CommandFilter, stat, root +mount: CommandFilter, mount, root +df: CommandFilter, df, root +du: CommandFilter, du, root +truncate: CommandFilter, truncate, root +chmod: CommandFilter, chmod, root +rm: CommandFilter, rm, root + +# cinder/volume/drivers/netapp/nfs.py: +netapp_nfs_find: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -name, img-cache.*, -amin, \+\d+ + +# cinder/volume/drivers/glusterfs.py +chgrp: CommandFilter, chgrp, root +umount: CommandFilter, umount, root +fallocate: CommandFilter, fallocate, root + +# cinder/volumes/drivers/hds/hds.py: +hus-cmd: CommandFilter, hus-cmd, root +hus-cmd_local: CommandFilter, /usr/local/bin/hus-cmd, root + +# cinder/volumes/drivers/hds/hnas_backend.py +ssc: CommandFilter, ssc, root + +# cinder/brick/initiator/connector.py: +ls: CommandFilter, ls, root +tee: CommandFilter, tee, root +multipath: CommandFilter, multipath, root +multipathd: CommandFilter, multipathd, root +systool: CommandFilter, systool, root + +# cinder/volume/drivers/block_device.py +blockdev: CommandFilter, blockdev, root + +# cinder/volume/drivers/ibm/gpfs.py +# cinder/volume/drivers/tintri.py +mv: CommandFilter, mv, root + +# cinder/volume/drivers/ibm/gpfs.py +cp: CommandFilter, cp, root +mmgetstate: CommandFilter, /usr/lpp/mmfs/bin/mmgetstate, root +mmclone: CommandFilter, /usr/lpp/mmfs/bin/mmclone, root +mmlsattr: CommandFilter, /usr/lpp/mmfs/bin/mmlsattr, root +mmchattr: CommandFilter, /usr/lpp/mmfs/bin/mmchattr, root +mmlsconfig: CommandFilter, /usr/lpp/mmfs/bin/mmlsconfig, root +mmlsfs: CommandFilter, /usr/lpp/mmfs/bin/mmlsfs, root +mmlspool: CommandFilter, /usr/lpp/mmfs/bin/mmlspool, root +mkfs: CommandFilter, mkfs, root +mmcrfileset: CommandFilter, /usr/lpp/mmfs/bin/mmcrfileset, root +mmlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmlinkfileset, root +mmunlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmunlinkfileset, root +mmdelfileset: CommandFilter, /usr/lpp/mmfs/bin/mmdelfileset, root +mmcrsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmcrsnapshot, root +mmdelsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmdelsnapshot, root + +# cinder/volume/drivers/ibm/gpfs.py +# cinder/volume/drivers/ibm/ibmnas.py +find_maxdepth_inum: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -inum, \d+ + +# cinder/brick/initiator/connector.py: +aoe-revalidate: CommandFilter, aoe-revalidate, root +aoe-discover: CommandFilter, aoe-discover, root +aoe-flush: CommandFilter, aoe-flush, root + +# cinder/brick/initiator/linuxscsi.py: +sg_scan: CommandFilter, sg_scan, root + +#cinder/backup/services/tsm.py +dsmc:CommandFilter,/usr/bin/dsmc,root + +# cinder/volume/drivers/hitachi/hbsd_horcm.py +raidqry: CommandFilter, raidqry, root +raidcom: CommandFilter, raidcom, root +pairsplit: CommandFilter, pairsplit, root +paircreate: CommandFilter, paircreate, root +pairdisplay: CommandFilter, pairdisplay, root +pairevtwait: CommandFilter, pairevtwait, root +horcmstart.sh: CommandFilter, horcmstart.sh, root +horcmshutdown.sh: CommandFilter, horcmshutdown.sh, root +horcmgr: EnvFilter, env, root, HORCMINST=, /etc/horcmgr + +# cinder/volume/drivers/hitachi/hbsd_snm2.py +auman: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auman +auluref: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluref +auhgdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgdef +aufibre1: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aufibre1 +auhgwwn: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgwwn +auhgmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgmap +autargetmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetmap +aureplicationvvol: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationvvol +auluadd: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluadd +auludel: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auludel +auluchgsize: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluchgsize +auchapuser: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auchapuser +autargetdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetdef +autargetopt: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetopt +autargetini: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetini +auiscsi: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auiscsi +audppool: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/audppool +aureplicationlocal: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationlocal +aureplicationmon: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationmon + +# cinder/volume/drivers/hgst.py +vgc-cluster: CommandFilter, vgc-cluster, root + +# cinder/volume/drivers/vzstorage.py +pstorage-mount: CommandFilter, pstorage-mount, root +pstorage: CommandFilter, pstorage, root + +# initiator/connector.py: +drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid diff --git a/sys-cluster/cinder/metadata.xml b/sys-cluster/cinder/metadata.xml new file mode 100644 index 000000000000..997957ff34f4 --- /dev/null +++ b/sys-cluster/cinder/metadata.xml @@ -0,0 +1,26 @@ + + + + + prometheanfire@gentoo.org + Matthew Thode + + + Cinder is the OpenStack Block storage service. + This is a spin out of nova-volumes. + + + Installs the initscripts for the cinder api service + Allow using an iSCSI remote storage server as pool for disk image storage + Allow using the Logical Volume Manager (sys-fs/lvm2) as pool for disk image storage + Installs the memcached server + Enable rdma storage backend support + Installs the initscripts for the cinder scheduler service + Enables tcp support for the iscsi backend + Enable tgt storage backend support + Installs the initscripts for the cinder volume service + + + cinder + + -- cgit v1.2.3