summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/common/msapi/__init__.py10
-rw-r--r--share/common/msapi/extsys.py98
-rw-r--r--share/newton_base/extensions/epacaps.py6
-rw-r--r--share/newton_base/extensions/extensions.py6
-rw-r--r--share/newton_base/openoapi/flavor.py2
-rw-r--r--share/newton_base/openoapi/hosts.py4
-rw-r--r--share/newton_base/openoapi/image.py2
-rw-r--r--share/newton_base/openoapi/limits.py2
-rw-r--r--share/newton_base/openoapi/network.py4
-rw-r--r--share/newton_base/openoapi/server.py2
-rw-r--r--share/newton_base/openoapi/subnet.py2
-rw-r--r--share/newton_base/openoapi/tenants.py2
-rw-r--r--share/newton_base/openoapi/volume.py2
-rw-r--r--share/newton_base/openoapi/vport.py2
-rw-r--r--share/newton_base/proxy/dnsaasdelegate.py6
-rw-r--r--share/newton_base/proxy/identityV3.py13
-rw-r--r--share/newton_base/proxy/proxy_utils.py2
-rw-r--r--share/newton_base/proxy/services.py6
-rw-r--r--share/newton_base/registration/registration.py11
-rw-r--r--share/newton_base/swagger/__init__.py2
-rw-r--r--share/newton_base/swagger/views.py2
-rw-r--r--share/newton_base/util.py4
22 files changed, 149 insertions, 41 deletions
diff --git a/share/common/msapi/__init__.py b/share/common/msapi/__init__.py
new file mode 100644
index 00000000..387c54c2
--- /dev/null
+++ b/share/common/msapi/__init__.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2017-2018 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/share/common/msapi/extsys.py b/share/common/msapi/extsys.py
new file mode 100644
index 00000000..99824ef2
--- /dev/null
+++ b/share/common/msapi/extsys.py
@@ -0,0 +1,98 @@
+# Copyright (c) 2017-2018 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.
+
+import json
+import logging
+import re
+
+from common.exceptions import VimDriverNewtonException
+from common.utils import restcall
+
+
+logger = logging.getLogger(__name__)
+
+def get_vim_by_id(vim_id):
+
+ cloud_owner,cloud_region_id = decode_vim_id(vim_id)
+
+ if cloud_owner and cloud_region_id:
+ retcode, content, status_code = \
+ restcall.req_to_aai("/cloud-infrastructure/cloud-regions/cloud-region/%s/%s?depth=1"
+ % (cloud_owner,cloud_region_id),"GET")
+ if retcode != 0:
+ logger.error("Status code is %s, detail is %s.", status_code, content)
+ raise VimDriverNewtonException(
+ "Failed to query VIM with id (%s:%s,%s)." % (vim_id,cloud_owner,cloud_region_id),
+ status_code, content)
+ tmp_viminfo = json.JSONDecoder().decode(content)
+
+ #assume esr-system-info-id is composed by {cloud-owner} _ {cloud-region-id}
+# retcode2,content2,status_code2 = \
+# restcall.req_to_aai(("/cloud-infrastructure/cloud-regions/cloud-region/%(owner)s/%(region)s"
+# "/esr-system-info-list/esr-system-info/%(owner)s_%(region)s" % {
+# "owner": cloud_owner, "region": cloud_region_id}), "GET")
+# if retcode2 != 0:
+# logger.error("Status code is %s, detail is %s.", status_code, content)
+# raise VimDriverNewtonException(
+# "Failed to query ESR system with id (%s:%s,%s)." % (vim_id,cloud_owner,cloud_region_id),
+# status_code2, content2)
+# tmp_authinfo = json.JSONDecoder().decode(content2)
+ tmp_authinfo = tmp_viminfo['esr-system-info-list']['esr-system-info'][0] if tmp_viminfo else None
+
+ #convert vim information
+ if tmp_viminfo and tmp_authinfo:
+ viminfo = {}
+ viminfo['vimId'] = vim_id
+ viminfo['resource-version'] = tmp_viminfo.get('resource-version')
+ viminfo['cloud_owner'] = cloud_owner
+ viminfo['cloud_region_id'] = cloud_region_id
+ viminfo['type'] = tmp_viminfo.get('cloud-type')
+ viminfo['name'] = tmp_viminfo.get('complex-name')
+ viminfo['version'] = tmp_viminfo.get('cloud-region-version')
+ viminfo['cloud_extra_info'] = tmp_viminfo.get('cloud-extra-info')
+ viminfo['cloud_epa_caps'] = tmp_viminfo.get('cloud-epa-caps')
+
+ viminfo['userName'] = tmp_authinfo['user-name']
+ viminfo['password'] = tmp_authinfo['password']
+ viminfo['domain'] = tmp_authinfo.get('cloud-domain')
+ viminfo['url'] = tmp_authinfo.get('service-url')
+ viminfo['tenant'] = tmp_authinfo.get('default-tenant')
+ viminfo['cacert'] = tmp_authinfo.get('ssl-cacert')
+ viminfo['insecure'] = tmp_authinfo.get('ssl-insecure')
+
+ return viminfo
+ return None
+
+def delete_vim_by_id(vim_id):
+ cloud_owner, cloud_region_id = decode_vim_id(vim_id)
+ if cloud_owner and cloud_region_id:
+ #get the vim info
+ viminfo = get_vim_by_id(vim_id)
+ if not viminfo or not viminfo['resource-version']:
+ return 0
+
+ retcode, content, status_code = \
+ restcall.req_to_aai("/cloud-infrastructure/cloud-regions/cloud-region/%s/%s?resource-version=%s"
+ % ( cloud_owner, cloud_region_id, viminfo['resource-version']), "DELETE")
+ if retcode != 0:
+ logger.error("Status code is %s, detail is %s.", status_code, content)
+ raise VimDriverNewtonException(
+ "Failed to delete VIM in AAI with id (%s:%s,%s)." % (vim_id,cloud_owner,cloud_region_id),
+ status_code, content)
+ return 0
+ # return non zero if failed to decode cloud owner and region id
+ return 1
+
+def decode_vim_id(vim_id):
+ m = re.search(r'^([0-9a-zA-Z-]+)_([0-9a-zA-Z_-]+)$', vim_id)
+ cloud_owner, cloud_region_id = m.group(1), m.group(2)
+ return cloud_owner, cloud_region_id
+
diff --git a/share/newton_base/extensions/epacaps.py b/share/newton_base/extensions/epacaps.py
index d8878e2c..cc5420e5 100644
--- a/share/newton_base/extensions/epacaps.py
+++ b/share/newton_base/extensions/epacaps.py
@@ -21,9 +21,9 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.requests.views.util import VimDriverUtils
-from newton.pub.msapi import extsys
+from common.exceptions import VimDriverNewtonException
+from newton_base.util import VimDriverUtils
+from common.msapi import extsys
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/extensions/extensions.py b/share/newton_base/extensions/extensions.py
index fb6455b1..6b3ecb57 100644
--- a/share/newton_base/extensions/extensions.py
+++ b/share/newton_base/extensions/extensions.py
@@ -24,9 +24,9 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.requests.views.util import VimDriverUtils
-from newton.pub.msapi import extsys
+from common.exceptions import VimDriverNewtonException
+from newton_base.util import VimDriverUtils
+from common.msapi import extsys
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/openoapi/flavor.py b/share/newton_base/openoapi/flavor.py
index 27bbb821..d50b1941 100644
--- a/share/newton_base/openoapi/flavor.py
+++ b/share/newton_base/openoapi/flavor.py
@@ -20,7 +20,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/openoapi/hosts.py b/share/newton_base/openoapi/hosts.py
index 720ba8e2..60debf54 100644
--- a/share/newton_base/openoapi/hosts.py
+++ b/share/newton_base/openoapi/hosts.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Wind River Systems, Inc.
+# Copyright (c) 2017-2018 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.
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/image.py b/share/newton_base/openoapi/image.py
index 9ddb5f55..965b2c3f 100644
--- a/share/newton_base/openoapi/image.py
+++ b/share/newton_base/openoapi/image.py
@@ -21,7 +21,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/limits.py b/share/newton_base/openoapi/limits.py
index 3f62afa3..3302fdba 100644
--- a/share/newton_base/openoapi/limits.py
+++ b/share/newton_base/openoapi/limits.py
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/network.py b/share/newton_base/openoapi/network.py
index a1ac550d..253ac89f 100644
--- a/share/newton_base/openoapi/network.py
+++ b/share/newton_base/openoapi/network.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Wind River Systems, Inc.
+# Copyright (c) 2017-2018 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.
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/server.py b/share/newton_base/openoapi/server.py
index c53e43e8..95eab2bf 100644
--- a/share/newton_base/openoapi/server.py
+++ b/share/newton_base/openoapi/server.py
@@ -22,7 +22,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/openoapi/subnet.py b/share/newton_base/openoapi/subnet.py
index 1310ab50..a9b423ac 100644
--- a/share/newton_base/openoapi/subnet.py
+++ b/share/newton_base/openoapi/subnet.py
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/tenants.py b/share/newton_base/openoapi/tenants.py
index bcd8f2f2..926f72c5 100644
--- a/share/newton_base/openoapi/tenants.py
+++ b/share/newton_base/openoapi/tenants.py
@@ -20,7 +20,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/openoapi/volume.py b/share/newton_base/openoapi/volume.py
index a048dda4..27bd1ef7 100644
--- a/share/newton_base/openoapi/volume.py
+++ b/share/newton_base/openoapi/volume.py
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/openoapi/vport.py b/share/newton_base/openoapi/vport.py
index 8f9b0d62..9656b5c0 100644
--- a/share/newton_base/openoapi/vport.py
+++ b/share/newton_base/openoapi/vport.py
@@ -19,7 +19,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
from newton_base.util import VimDriverUtils
diff --git a/share/newton_base/proxy/dnsaasdelegate.py b/share/newton_base/proxy/dnsaasdelegate.py
index 85bcbfde..8a384527 100644
--- a/share/newton_base/proxy/dnsaasdelegate.py
+++ b/share/newton_base/proxy/dnsaasdelegate.py
@@ -25,9 +25,9 @@ from rest_framework.views import APIView
from newton_base.proxy.services import Services
from newton_base.proxy.proxy_utils import ProxyUtils
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.pub.msapi import extsys
-from newton.requests.views.util import VimDriverUtils
+from common.exceptions import VimDriverNewtonException
+from common.msapi import extsys
+from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/proxy/identityV3.py b/share/newton_base/proxy/identityV3.py
index 0c45c23e..057bdf3e 100644
--- a/share/newton_base/proxy/identityV3.py
+++ b/share/newton_base/proxy/identityV3.py
@@ -24,8 +24,8 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.requests.views.util import VimDriverUtils
+from common.exceptions import VimDriverNewtonException
+from newton_base.util import VimDriverUtils
from newton_base.proxy.proxy_utils import ProxyUtils
logger = logging.getLogger(__name__)
@@ -90,9 +90,10 @@ class Tokens(APIView):
# prepare request resource to vim instance
vim = VimDriverUtils.get_vim_info(vimid)
- sess = VimDriverUtils.get_session(vim, tenantname = tenant_name, tenantid=tenant_id)
+ sess = VimDriverUtils.get_session(vim, tenant_name = tenant_name, tenant_id=tenant_id)
- tmp_auth_state = VimDriverUtils.get_auth_state(vim, sess)
+ #tmp_auth_state = VimDriverUtils.get_auth_state(vim, sess)
+ tmp_auth_state = VimDriverUtils.get_auth_state(sess)
tmp_auth_info = json.loads(tmp_auth_state)
tmp_auth_token = tmp_auth_info['auth_token']
tmp_auth_data = tmp_auth_info['body']
@@ -104,8 +105,8 @@ class Tokens(APIView):
tmp_auth_data['token']['catalog'], tmp_metadata_catalog = ProxyUtils.update_catalog(
vimid, tmp_auth_data['token']['catalog'], self.proxy_prefix)
- tmp_auth_token = VimDriverUtils.update_token_cache(
- vim, sess, tmp_auth_token, tmp_auth_state, json.dumps(tmp_metadata_catalog))
+ VimDriverUtils.update_token_cache(
+ tmp_auth_token, tmp_auth_state, json.dumps(tmp_metadata_catalog))
tmp_auth_data['token']['catalog'] = ProxyUtils.update_catalog_dnsaas(
vimid,tmp_auth_data['token']['catalog'], self.proxy_prefix, vim)
diff --git a/share/newton_base/proxy/proxy_utils.py b/share/newton_base/proxy/proxy_utils.py
index 79be4221..bad5b60f 100644
--- a/share/newton_base/proxy/proxy_utils.py
+++ b/share/newton_base/proxy/proxy_utils.py
@@ -19,7 +19,7 @@ import uuid
from rest_framework import status
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/proxy/services.py b/share/newton_base/proxy/services.py
index e40b58ec..fb0cf60a 100644
--- a/share/newton_base/proxy/services.py
+++ b/share/newton_base/proxy/services.py
@@ -23,9 +23,9 @@ from rest_framework import status
from rest_framework.views import APIView
from newton_base.proxy.proxy_utils import ProxyUtils
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.pub.msapi import extsys
-from newton.requests.views.util import VimDriverUtils
+from common.exceptions import VimDriverNewtonException
+from common.msapi import extsys
+from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/registration/registration.py b/share/newton_base/registration/registration.py
index d9ce713d..e5a84501 100644
--- a/share/newton_base/registration/registration.py
+++ b/share/newton_base/registration/registration.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Wind River Systems, Inc.
+# Copyright (c) 2017-2018 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.
@@ -21,11 +21,10 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.config import config
-from newton.pub.exceptions import VimDriverNewtonException
-from newton.pub.msapi import extsys
-from newton.pub.utils import restcall
-from newton.requests.views.util import VimDriverUtils
+from common.exceptions import VimDriverNewtonException
+from common.msapi import extsys
+from common.utils import restcall
+from newton_base.util import VimDriverUtils
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/swagger/__init__.py b/share/newton_base/swagger/__init__.py
index 802f3fba..387c54c2 100644
--- a/share/newton_base/swagger/__init__.py
+++ b/share/newton_base/swagger/__init__.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Wind River Systems, Inc.
+# Copyright (c) 2017-2018 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.
diff --git a/share/newton_base/swagger/views.py b/share/newton_base/swagger/views.py
index 10f3c0cc..839abea2 100644
--- a/share/newton_base/swagger/views.py
+++ b/share/newton_base/swagger/views.py
@@ -18,7 +18,7 @@ from rest_framework import status
from rest_framework.response import Response
from rest_framework.views import APIView
-from newton.pub.exceptions import VimDriverNewtonException
+from common.exceptions import VimDriverNewtonException
logger = logging.getLogger(__name__)
diff --git a/share/newton_base/util.py b/share/newton_base/util.py
index d2363252..c708e850 100644
--- a/share/newton_base/util.py
+++ b/share/newton_base/util.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2017 Wind River Systems, Inc.
+# Copyright (c) 2017-2018 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.
@@ -20,7 +20,7 @@ from keystoneauth1.identity import v2 as keystone_v2
from keystoneauth1.identity import v3 as keystone_v3
from keystoneauth1 import session
-from newton.pub.msapi import extsys
+from common.msapi import extsys
logger = logging.getLogger(__name__)