diff options
author | Bin Yang <bin.yang@windriver.com> | 2017-09-13 08:54:03 +0800 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2017-09-13 08:54:03 +0800 |
commit | 530818aab2a02921e0445b6062260aad9e4b2810 (patch) | |
tree | ce69eab0b175405c8f6549dab15db60c20d1aceb /ocata/ocata/proxy | |
parent | e4c756d1b5102e7df21e061a72f541fa8441f68f (diff) |
Add plugin for OpenStack Ocata
add plugin for openstack ocata, reuse most of
source code from plugin for newton.
Change-Id: I444a4e6dd80e34d06d35e0e711de426f10d8db35
Issue-Id: MULTICLOUD-89
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'ocata/ocata/proxy')
-rw-r--r-- | ocata/ocata/proxy/__init__.py | 10 | ||||
-rw-r--r-- | ocata/ocata/proxy/urls.py | 34 | ||||
-rw-r--r-- | ocata/ocata/proxy/views/__init__.py | 10 | ||||
-rw-r--r-- | ocata/ocata/proxy/views/identityV3.py | 33 | ||||
-rw-r--r-- | ocata/ocata/proxy/views/services.py | 35 |
5 files changed, 122 insertions, 0 deletions
diff --git a/ocata/ocata/proxy/__init__.py b/ocata/ocata/proxy/__init__.py new file mode 100644 index 00000000..802f3fba --- /dev/null +++ b/ocata/ocata/proxy/__init__.py @@ -0,0 +1,10 @@ +# Copyright (c) 2017 Wind River Systems, Inc. +# +# 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. diff --git a/ocata/ocata/proxy/urls.py b/ocata/ocata/proxy/urls.py new file mode 100644 index 00000000..7d52a4ed --- /dev/null +++ b/ocata/ocata/proxy/urls.py @@ -0,0 +1,34 @@ +# Copyright (c) 2017 Wind River Systems, Inc. +# +# 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. + +from django.conf.urls import url +from rest_framework.urlpatterns import format_suffix_patterns + +from ocata.proxy.views import identityV3 +from ocata.proxy.views import services + +urlpatterns = [ + # url(r'^identity/v2)$', + # identityV2.Tokens.as_view()), + url(r'^identity/v3/auth/tokens$', + identityV3.Tokens.as_view()), + url(r'^identity/v3/auth/catalog$', + identityV3.Catalog.as_view()), + url(r'^identity/(?:v2.0/|)tenants$', + services.GetTenants.as_view()), + url(r'^(?P<servicetype>[0-9a-zA-Z_-]+)/(?P<requri>[0-9a-zA-Z./_-]*)$', + services.Services.as_view()), +] + +urlpatterns = format_suffix_patterns(urlpatterns) diff --git a/ocata/ocata/proxy/views/__init__.py b/ocata/ocata/proxy/views/__init__.py new file mode 100644 index 00000000..802f3fba --- /dev/null +++ b/ocata/ocata/proxy/views/__init__.py @@ -0,0 +1,10 @@ +# Copyright (c) 2017 Wind River Systems, Inc. +# +# 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. diff --git a/ocata/ocata/proxy/views/identityV3.py b/ocata/ocata/proxy/views/identityV3.py new file mode 100644 index 00000000..5e018e2a --- /dev/null +++ b/ocata/ocata/proxy/views/identityV3.py @@ -0,0 +1,33 @@ +# Copyright (c) 2017 Wind River Systems, Inc. +# +# 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. +import logging + +from newton.pub.config import config +from newton.proxy.views import identityV3 as newton_identityV3 + +logger = logging.getLogger(__name__) + +DEBUG=True + +class Tokens(newton_identityV3.Tokens): + + def __init__(self): + self.proxy_prefix = config.MULTICLOUD_PREFIX + self._logger = logger + +class Catalog(newton_identityV3.Catalog): + + def __init__(self): + self.proxy_prefix = config.MULTICLOUD_PREFIX + self._logger = logger diff --git a/ocata/ocata/proxy/views/services.py b/ocata/ocata/proxy/views/services.py new file mode 100644 index 00000000..5a022fe4 --- /dev/null +++ b/ocata/ocata/proxy/views/services.py @@ -0,0 +1,35 @@ +# Copyright (c) 2017 Wind River Systems, Inc. +# +# 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. +import logging + +from newton.pub.config import config +from newton.proxy.views import services as newton_services + +logger = logging.getLogger(__name__) + +DEBUG=True + +class Services(newton_services.Services): + + def __init__(self): + self._logger = logger + + +class GetTenants(newton_services.GetTenants): + ''' + Backward compatible API for /v2.0/tenants + ''' + + def __init__(self): + self._logger = logger |