Osmclient migration to Python3 (feature 8031)
Change-Id: I8de971f0914919ade4e8f19ed9da7ce06e775d3b
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/Dockerfile b/Dockerfile
index b7a8a91..e40b8bc 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,19 @@
+#
+# 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 ubuntu:16.04
RUN apt-get update && apt-get -y install git make python python3 \
libcurl4-gnutls-dev libgnutls-dev tox python-dev python3-dev \
- debhelper python-setuptools python-all apt-utils
+ debhelper python-setuptools python3-setuptools python-all python3-all \
+ apt-utils
diff --git a/devops-stages/stage-build.sh b/devops-stages/stage-build.sh
index bf7602b..dd4af61 100755
--- a/devops-stages/stage-build.sh
+++ b/devops-stages/stage-build.sh
@@ -1,3 +1,17 @@
#!/bin/sh
+
+# 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.
+
rm -rf deb_dist
-tox -e build
+tox -e build,build3
diff --git a/osmclient/common/wait.py b/osmclient/common/wait.py
index 620e7f5..a85808c 100644
--- a/osmclient/common/wait.py
+++ b/osmclient/common/wait.py
@@ -134,9 +134,9 @@
resp = ''
if resp_unicode:
resp = json.loads(resp_unicode)
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
- # print 'URL: {}/{}'.format(apiUrlStatus, entity_id)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
+ # print('URL: {}/{}'.format(apiUrlStatus, entity_id))
if deleteFlag and http_code == 404:
# In case of deletion, '404 Not Found' means successfully deleted
# Display 'detailed-status: Deleted' and return
@@ -173,8 +173,8 @@
else:
time_to_return = True
new_detailed_status = _get_detailed_status(resp, entity_label, detailed_status_deleted)
- # print 'DETAILED-STATUS: {}'.format(new_detailed_status)
- # print 'DELETE-ATTEMPTS-LEFT: {}'.format(delete_attempts_left)
+ # print('DETAILED-STATUS: {}'.format(new_detailed_status))
+ # print('DELETE-ATTEMPTS-LEFT: {}'.format(delete_attempts_left))
if not new_detailed_status:
new_detailed_status = 'In progress'
# TODO: Change LCM to provide detailed-status more up to date
diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py
index 27ac086..fe140dd 100755
--- a/osmclient/scripts/osm.py
+++ b/osmclient/scripts/osm.py
@@ -219,7 +219,7 @@
resp = ctx.obj.nsd.list(filter)
else:
resp = ctx.obj.nsd.list()
- # print yaml.safe_dump(resp)
+ # print(yaml.safe_dump(resp))
table = PrettyTable(['nsd name', 'id'])
fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__
if fullclassname == 'osmclient.sol005.client.Client':
@@ -273,7 +273,7 @@
resp = ctx.obj.vnfd.list(filter)
else:
resp = ctx.obj.vnfd.list()
- # print yaml.safe_dump(resp)
+ # print(yaml.safe_dump(resp))
table = PrettyTable(['nfpkg name', 'id'])
fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__
if fullclassname == 'osmclient.sol005.client.Client':
@@ -520,7 +520,7 @@
except ClientException as inst:
print((inst.message))
exit(1)
- # print yaml.safe_dump(resp)
+ # print(yaml.safe_dump(resp))
table = PrettyTable(['nst name', 'id'])
for nst in resp:
name = nst['name'] if 'name' in nst else '-'
diff --git a/osmclient/sol005/http.py b/osmclient/sol005/http.py
index 867db2d..f19a098 100644
--- a/osmclient/sol005/http.py
+++ b/osmclient/sol005/http.py
@@ -29,7 +29,7 @@
def _get_curl_cmd(self, endpoint):
curl_cmd = pycurl.Curl()
- #print self._url + endpoint
+ #print(self._url + endpoint)
curl_cmd.setopt(pycurl.URL, self._url + endpoint)
curl_cmd.setopt(pycurl.SSL_VERIFYPEER, 0)
curl_cmd.setopt(pycurl.SSL_VERIFYHOST, 0)
@@ -44,7 +44,7 @@
curl_cmd.setopt(pycurl.WRITEFUNCTION, data.write)
curl_cmd.perform()
http_code = curl_cmd.getinfo(pycurl.HTTP_CODE)
- #print 'HTTP_CODE: {}'.format(http_code)
+ #print('HTTP_CODE: {}'.format(http_code))
curl_cmd.close()
# TODO 202 accepted should be returned somehow
if data.getvalue():
diff --git a/osmclient/sol005/ns.py b/osmclient/sol005/ns.py
index 1c45f01..a75513b 100644
--- a/osmclient/sol005/ns.py
+++ b/osmclient/sol005/ns.py
@@ -83,7 +83,7 @@
break
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, ns_id))
#resp = self._http.get_cmd('{}/{}/nsd_content'.format(self._apiBase, ns_id))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("ns {} not found".format(name))
@@ -95,8 +95,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
ns['_id'], querystring))
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code == 202:
if wait and resp:
resp = json.loads(resp)
@@ -203,7 +203,7 @@
if wim_account is not None:
ns['wimAccountId'] = get_wim_account_id(wim_account)
- # print yaml.safe_dump(ns)
+ # print(yaml.safe_dump(ns))
try:
self._apiResource = '/ns_instances_content'
self._apiBase = '{}{}{}'.format(self._apiName,
@@ -215,8 +215,8 @@
self._http.set_http_header(http_header)
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=ns)
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -256,8 +256,8 @@
http_code, resp = self._http.get2_cmd('{}?nsInstanceId={}'.format(
self._apiBase, ns['_id'],
filter_string) )
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
@@ -287,8 +287,8 @@
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
http_code, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase, operationId))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
@@ -319,11 +319,11 @@
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
endpoint = '{}/{}/{}'.format(self._apiBase, ns['_id'], op_name)
- #print 'OP_NAME: {}'.format(op_name)
- #print 'OP_DATA: {}'.format(json.dumps(op_data))
+ #print('OP_NAME: {}'.format(op_name))
+ #print('OP_DATA: {}'.format(json.dumps(op_data)))
http_code, resp = self._http.post_cmd(endpoint=endpoint, postfields_dict=op_data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -377,8 +377,8 @@
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/alarm_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
print('Alarm created')
@@ -405,8 +405,8 @@
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/alarm_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
print('Alarm deleted')
@@ -431,8 +431,8 @@
try:
http_code, resp = self._http.post_cmd(endpoint='/test/message/metric_request',
postfields_dict=data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
#resp = json.loads(resp)
return 'Metric exported'
diff --git a/osmclient/sol005/nsd.py b/osmclient/sol005/nsd.py
index 873be5b..bbfed17 100644
--- a/osmclient/sol005/nsd.py
+++ b/osmclient/sol005/nsd.py
@@ -44,7 +44,7 @@
if filter:
filter_string = '?{}'.format(filter)
resp = self._http.get_cmd('{}{}'.format(self._apiBase, filter_string))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
return list()
@@ -65,7 +65,7 @@
# It is redundant, since the previous one already gets the whole nsdinfo
# The only difference is that a different primitive is exercised
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, nsd['_id']))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("nsd {} not found".format(name))
@@ -75,8 +75,8 @@
headers = self._client._headers
headers['Accept'] = 'application/binary'
http_code, resp = self._http.get2_cmd('{}/{}/{}'.format(self._apiBase, nsd['_id'], thing))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
#store in a file
@@ -106,8 +106,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
nsd['_id'], querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
print('Deletion in progress')
elif http_code == 204:
@@ -157,8 +157,8 @@
self._apiVersion, self._apiResource)
endpoint = '{}{}'.format(self._apiBase,ow_string)
http_code, resp = self._http.post_cmd(endpoint=endpoint, filename=filename)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/nsi.py b/osmclient/sol005/nsi.py
index 33c0b92..ab6cf0a 100644
--- a/osmclient/sol005/nsi.py
+++ b/osmclient/sol005/nsi.py
@@ -83,7 +83,7 @@
break
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, nsi_id))
#resp = self._http.get_cmd('{}/{}/nsd_content'.format(self._apiBase, nsi_id))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("nsi {} not found".format(name))
@@ -95,8 +95,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
nsi['_id'], querystring))
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code == 202:
if wait and resp:
resp = json.loads(resp)
@@ -199,7 +199,7 @@
raise ValueError("Error at --config 'additionalParamsForSubnet' items must contain "
"'additionalParamsForNs' and/or 'additionalParamsForVnf'")
- # print yaml.safe_dump(nsi)
+ # print(yaml.safe_dump(nsi))
try:
self._apiResource = '/netslice_instances_content'
self._apiBase = '{}{}{}'.format(self._apiName,
@@ -211,8 +211,8 @@
self._http.set_http_header(http_header)
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=nsi)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -252,8 +252,8 @@
http_code, resp = self._http.get2_cmd('{}?netsliceInstanceId={}'.format(
self._apiBase, nsi['_id'],
filter_string) )
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
@@ -283,8 +283,8 @@
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
http_code, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase, operationId))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 200:
if resp:
resp = json.loads(resp)
@@ -315,11 +315,11 @@
self._apiBase = '{}{}{}'.format(self._apiName,
self._apiVersion, self._apiResource)
endpoint = '{}/{}/{}'.format(self._apiBase, nsi['_id'], op_name)
- #print 'OP_NAME: {}'.format(op_name)
- #print 'OP_DATA: {}'.format(json.dumps(op_data))
+ #print('OP_NAME: {}'.format(op_name))
+ #print('OP_DATA: {}'.format(json.dumps(op_data)))
http_code, resp = self._http.post_cmd(endpoint=endpoint, postfields_dict=op_data)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/nst.py b/osmclient/sol005/nst.py
index ca62235..bd453bf 100644
--- a/osmclient/sol005/nst.py
+++ b/osmclient/sol005/nst.py
@@ -42,7 +42,7 @@
if filter:
filter_string = '?{}'.format(filter)
resp = self._http.get_cmd('{}{}'.format(self._apiBase, filter_string))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
return list()
@@ -63,7 +63,7 @@
# It is redundant, since the previous one already gets the whole nstinfo
# The only difference is that a different primitive is exercised
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, nst['_id']))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("nst {} not found".format(name))
@@ -73,8 +73,8 @@
headers = self._client._headers
headers['Accept'] = 'application/binary'
http_code, resp = self._http.get2_cmd('{}/{}/{}'.format(self._apiBase, nst['_id'], thing))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
#store in a file
@@ -104,8 +104,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
nst['_id'], querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
print('Deletion in progress')
elif http_code == 204:
@@ -154,8 +154,8 @@
self._apiVersion, self._apiResource)
endpoint = '{}{}'.format(self._apiBase,ow_string)
http_code, resp = self._http.post_cmd(endpoint=endpoint, filename=filename)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/package.py b/osmclient/sol005/package.py
index 12412e4..330df3c 100644
--- a/osmclient/sol005/package.py
+++ b/osmclient/sol005/package.py
@@ -76,7 +76,7 @@
else:
endpoint = '/vnfpkgm/v1/vnf_packages_content'
#endpoint = '/nsds' if pkg_type['type'] == 'nsd' else '/vnfds'
- #print 'Endpoint: {}'.format(endpoint)
+ #print('Endpoint: {}'.format(endpoint))
headers = self._client._headers
headers['Content-Type'] = 'application/gzip'
#headers['Content-Type'] = 'application/binary'
@@ -89,8 +89,8 @@
for (key,val) in list(headers.items())]
self._http.set_http_header(http_header)
http_code, resp = self._http.post_cmd(endpoint=endpoint, filename=filename)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/pdud.py b/osmclient/sol005/pdud.py
index e8ba9c4..a3995d6 100644
--- a/osmclient/sol005/pdud.py
+++ b/osmclient/sol005/pdud.py
@@ -60,7 +60,7 @@
# It is redundant, since the previous one already gets the whole pdudInfo
# The only difference is that a different primitive is exercised
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, pdud['_id']))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("pdu {} not found".format(name))
@@ -72,8 +72,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
pdud['_id'], querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
print('Deletion in progress')
elif http_code == 204:
@@ -99,8 +99,8 @@
endpoint = self._apiBase
#endpoint = '{}{}'.format(self._apiBase,ow_string)
http_code, resp = self._http.post_cmd(endpoint=endpoint, postfields_dict=pdu)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/sdncontroller.py b/osmclient/sol005/sdncontroller.py
index 6f63a9a..4036dfb 100644
--- a/osmclient/sol005/sdncontroller.py
+++ b/osmclient/sol005/sdncontroller.py
@@ -61,8 +61,8 @@
def create(self, name, sdn_controller, wait=False):
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=sdn_controller)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -87,8 +87,8 @@
sdnc_id_for_wait = self._get_id_for_wait(name)
http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,sdnc['_id']),
postfields_dict=sdn_controller)
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if wait:
# In this case, 'resp' always returns None, so 'resp['id']' cannot be used.
@@ -115,8 +115,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
sdn_controller['_id'], querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
if wait:
# Wait for status for SDNC instance deletion
@@ -143,7 +143,7 @@
if filter:
filter_string = '?{}'.format(filter)
resp = self._http.get_cmd('{}{}'.format(self._apiBase,filter_string))
- #print 'RESP: {}'.format(resp)
+ #print('RESP: {}'.format(resp))
if resp:
return resp
return list()
diff --git a/osmclient/sol005/vim.py b/osmclient/sol005/vim.py
index 3012ae2..ad6f9b7 100644
--- a/osmclient/sol005/vim.py
+++ b/osmclient/sol005/vim.py
@@ -82,8 +82,8 @@
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=vim_account)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -124,8 +124,8 @@
#vim_account['config'] = json.dumps(vim_config)
http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
postfields_dict=vim_account)
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if wait:
# In this case, 'resp' always returns None, so 'resp['id']' cannot be used.
@@ -170,8 +170,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
vim_id, querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
if wait:
# When deleting an account, 'resp' may be None.
diff --git a/osmclient/sol005/vnf.py b/osmclient/sol005/vnf.py
index 9875d39..6da13f5 100644
--- a/osmclient/sol005/vnf.py
+++ b/osmclient/sol005/vnf.py
@@ -46,7 +46,7 @@
else:
filter_string = '?nsr-id-ref={}'.format(ns_instance['_id'])
resp = self._http.get_cmd('{}{}'.format(self._apiBase,filter_string))
- #print 'RESP: {}'.format(resp)
+ #print('RESP: {}'.format(resp))
if resp:
return resp
return list()
@@ -72,7 +72,7 @@
vnf_id = vnf['_id']
break
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, vnf_id))
- #print 'RESP: {}'.format(resp)
+ #print('RESP: {}'.format(resp))
if resp:
return resp
raise NotFound("vnf {} not found".format(name))
diff --git a/osmclient/sol005/vnfd.py b/osmclient/sol005/vnfd.py
index 965b999..8ad11c6 100644
--- a/osmclient/sol005/vnfd.py
+++ b/osmclient/sol005/vnfd.py
@@ -64,7 +64,7 @@
# It is redundant, since the previous one already gets the whole vnfpkginfo
# The only difference is that a different primitive is exercised
resp = self._http.get_cmd('{}/{}'.format(self._apiBase, vnfd['_id']))
- #print yaml.safe_dump(resp)
+ #print(yaml.safe_dump(resp))
if resp:
return resp
raise NotFound("vnfd {} not found".format(name))
@@ -74,8 +74,8 @@
headers = self._client._headers
headers['Accept'] = 'application/binary'
http_code, resp = self._http.get2_cmd('{}/{}/{}'.format(self._apiBase, vnfd['_id'], thing))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
#store in a file
@@ -105,8 +105,8 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
vnfd['_id'], querystring))
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code == 202:
print('Deletion in progress')
elif http_code == 204:
@@ -156,8 +156,8 @@
self._apiVersion, self._apiResource)
endpoint = '{}{}'.format(self._apiBase,ow_string)
http_code, resp = self._http.post_cmd(endpoint=endpoint, filename=filename)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202):
if resp:
resp = json.loads(resp)
diff --git a/osmclient/sol005/wim.py b/osmclient/sol005/wim.py
index bf10e5f..30b36e7 100644
--- a/osmclient/sol005/wim.py
+++ b/osmclient/sol005/wim.py
@@ -77,8 +77,8 @@
http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
postfields_dict=wim_account)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if resp:
resp = json.loads(resp)
@@ -116,8 +116,8 @@
#wim_account['config'] = json.dumps(wim_config)
http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,wim['_id']),
postfields_dict=wim_account)
- #print 'HTTP CODE: {}'.format(http_code)
- #print 'RESP: {}'.format(resp)
+ #print('HTTP CODE: {}'.format(http_code))
+ #print('RESP: {}'.format(resp))
if http_code in (200, 201, 202, 204):
if wait:
# In this case, 'resp' always returns None, so 'resp['id']' cannot be used.
@@ -137,7 +137,7 @@
raise ClientException("failed to update wim {} - {}".format(wim_name, msg))
def update_wim_account_dict(self, wim_account, wim_input):
- print (wim_input)
+ print(wim_input)
wim_account['wim_type'] = wim_input['wim_type']
wim_account['description'] = wim_input['description']
wim_account['wim_url'] = wim_input['url']
@@ -163,9 +163,9 @@
querystring = '?FORCE=True'
http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
wim_id, querystring))
- # print 'HTTP CODE: {}'.format(http_code)
- # print 'RESP: {}'.format(resp)
- # print 'WIM_ID: {}'.format(wim_id)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
+ # print('WIM_ID: {}'.format(wim_id))
if http_code == 202:
if wait:
# 'resp' may be None.
diff --git a/setup.py b/setup.py
index 832e2fe..32a91a2 100644
--- a/setup.py
+++ b/setup.py
@@ -1,3 +1,16 @@
+#
+# 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 setuptools import setup, find_packages
setup(
@@ -13,8 +26,9 @@
],
setup_requires=['setuptools-version-command'],
test_suite='nose.collector',
- entry_points='''
- [console_scripts]
- osm=osmclient.scripts.osm:cli
- ''',
+ entry_points={
+ 'console_scripts': [
+ 'osm = osmclient.scripts.osm:cli',
+ ],
+ },
)
diff --git a/stdeb.cfg b/stdeb.cfg
index b385524..be9860f 100644
--- a/stdeb.cfg
+++ b/stdeb.cfg
@@ -1,3 +1,17 @@
+#
+# 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.
+#
[DEFAULT]
+Suite: xenial
Build-Depends: dh-python
Depends: python-setuptools, python-pycurl, python-click, python-prettytable, python-yaml
diff --git a/tox.ini b/tox.ini
index 5c85c60..f6ec0c7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,11 +1,25 @@
+#
+# 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.
+#
[tox]
-envlist = py27,py3,flake8,pyflakes
+envlist = py27,py35,flake8,pyflakes
toxworkdir={homedir}/.tox
[testenv]
-deps=nose
- mock
-commands=nosetests
+deps = nose
+ mock
+commands =
+ nosetests
[testenv:flake8]
basepython = python
@@ -24,3 +38,10 @@
deps = stdeb
setuptools-version-command
commands = python setup.py --command-packages=stdeb.command bdist_deb
+
+[testenv:build3]
+basepython = python3
+deps = stdeb
+ setuptools-version-command
+commands = python3 setup.py --command-packages=stdeb.command bdist_deb
+