diff --git a/contrib/heat_keystoneclient_v2/README.md b/contrib/heat_keystoneclient_v2/README.md deleted file mode 100644 index 0d7223718d..0000000000 --- a/contrib/heat_keystoneclient_v2/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Heat Keystone V2 - -This plugin is a Keystone V2 compatible client. It can be used to -replace the default client for clouds running older versions of -Keystone. - -Some forward compatibility decisions had to be made: - -* Stack domain users are created as users on the stack owner's tenant - rather than the stack's domain -* Trusts are not supported - - -# Installation - -1. From this directory run: - sudo python ./setup.py install - -2. Set the `keystone_backend` option to - `heat.engine.plugins.heat_keystoneclient_v2.client.KeystoneClientV2` - - -# How it works - -By setting the `keystone_backend` option, the KeystoneBackend class in -`heat/common/heat_keystoneclient.py` will instantiate the plugin -KeystoneClientV2 class and use that instead of the default client in -`heat/common/heat_keystoneclient.py`. diff --git a/contrib/heat_keystoneclient_v2/setup.cfg b/contrib/heat_keystoneclient_v2/setup.cfg deleted file mode 100644 index 5e34fd2791..0000000000 --- a/contrib/heat_keystoneclient_v2/setup.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[metadata] -name = heat-contrib-keystone-v2 -summary = Keystone V2 compatible client -description-file = - README.md -author = OpenStack -author-email = openstack-dev@lists.openstack.org -home-page = http://www.openstack.org/ -classifier = - Environment :: OpenStack - Intended Audience :: Information Technology - Intended Audience :: System Administrators - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 - Programming Language :: Python :: 2.6 - -[files] -# Copy to /usr/lib/heat for plugin loading -data_files = - lib/heat/heat_keystoneclient_v2 = heat_keystoneclient_v2/* - -[global] -setup-hooks = - pbr.hooks.setup_hook diff --git a/contrib/heat_keystoneclient_v2/setup.py b/contrib/heat_keystoneclient_v2/setup.py deleted file mode 100644 index 736375744d..0000000000 --- a/contrib/heat_keystoneclient_v2/setup.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT -import setuptools - -# In python < 2.7.4, a lazy loading of package `pbr` will break -# setuptools if some other modules registered functions in `atexit`. -# solution from: http://bugs.python.org/issue15881#msg170215 -try: - import multiprocessing # noqa -except ImportError: - pass - -setuptools.setup( - setup_requires=['pbr'], - pbr=True) diff --git a/contrib/rackspace/README.md b/contrib/rackspace/README.md index 09d5f59469..18ef6ad1a9 100644 --- a/contrib/rackspace/README.md +++ b/contrib/rackspace/README.md @@ -1,15 +1,26 @@ # Heat resources for working with the Rackspace Cloud + The resources and configuration in this module are for using Heat with the Rackspace Cloud. These resources either allow using Rackspace services that don't have equivalent services in OpenStack or account for differences between a generic OpenStack deployment and Rackspace Cloud. +This package also includes a Keystone V2 compatible client plugin, that can be used in place of the default client +for clouds running older versions of Keystone. + +## Installation + ### 1. Install the Rackspace plugins in Heat NOTE: These instructions assume the value of heat.conf plugin_dirs includes the default directory /usr/lib/heat. -To install the plugin, from this directory run: - sudo python ./setup.py install +- To install the plugin, from this directory run: + + sudo python ./setup.py install + +- (Optional) If you want to enable the Keystone V2 client plugin, set the `keystone_backend` option to + + `heat.engine.plugins.heat_keystoneclient_v2.client.KeystoneClientV2` ### 2. Restart heat @@ -26,6 +37,22 @@ The following resources are provided for compatibility: * `Rackspace::Cloud::LoadBalancer`: >Use the Rackspace Cloud Loadbalancer service; not compatible with `OS::Neutron::LoadBalancer`. -## Usage -### Templates -### Configuration +### Usage +#### Templates +#### Configuration + + +## Heat Keystone V2 + +Note that some forward compatibility decisions had to be made for the Keystone V2 client plugin: + +* Stack domain users are created as users on the stack owner's tenant + rather than the stack's domain +* Trusts are not supported + +### How it works + +By setting the `keystone_backend` option, the KeystoneBackend class in +`heat/common/heat_keystoneclient.py` will instantiate the plugin +KeystoneClientV2 class and use that instead of the default client in +`heat/common/heat_keystoneclient.py`. diff --git a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/__init__.py b/contrib/rackspace/heat_keystoneclient_v2/__init__.py similarity index 100% rename from contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/__init__.py rename to contrib/rackspace/heat_keystoneclient_v2/__init__.py diff --git a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py b/contrib/rackspace/heat_keystoneclient_v2/client.py similarity index 100% rename from contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py rename to contrib/rackspace/heat_keystoneclient_v2/client.py diff --git a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/tests/__init__.py b/contrib/rackspace/heat_keystoneclient_v2/tests/__init__.py similarity index 100% rename from contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/tests/__init__.py rename to contrib/rackspace/heat_keystoneclient_v2/tests/__init__.py diff --git a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/tests/test_client.py b/contrib/rackspace/heat_keystoneclient_v2/tests/test_client.py similarity index 100% rename from contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/tests/test_client.py rename to contrib/rackspace/heat_keystoneclient_v2/tests/test_client.py diff --git a/contrib/rackspace/setup.cfg b/contrib/rackspace/setup.cfg index 957fe2cee0..fe47a63acf 100644 --- a/contrib/rackspace/setup.cfg +++ b/contrib/rackspace/setup.cfg @@ -24,6 +24,7 @@ packages = # Copy to /usr/lib/heat for non-stevedore plugin loading data_files = lib/heat/rackspace = rackspace/resources/* + lib/heat/heat_keystoneclient_v2 = heat_keystoneclient_v2/* [entry_points]