- endpoint = '/vnfpkgm/v1/vnf_packages_content'
- #endpoint = '/nsds' if pkg_type['type'] == 'nsd' else '/vnfds'
- #print('Endpoint: {}'.format(endpoint))
- headers = self._client._headers
- headers['Content-Type'] = 'application/gzip'
- #headers['Content-Type'] = 'application/binary'
- # Next three lines are to be removed in next version
- #headers['Content-Filename'] = basename(filename)
- #file_size = stat(filename).st_size
- #headers['Content-Range'] = 'bytes 0-{}/{}'.format(file_size - 1, file_size)
- headers["Content-File-MD5"] = utils.md5(filename)
- http_header = ['{}: {}'.format(key,val)
- 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))
- if http_code in (200, 201, 202, 204):
+ self._client.get_token()
+ pkg_type = utils.get_key_val_from_pkg(filename)
+ if pkg_type is None:
+ raise ClientException("Cannot determine package type")
+ if pkg_type["type"] == "nsd":
+ endpoint = "/nsd/v1/ns_descriptors_content"
+ else:
+ endpoint = "/vnfpkgm/v1/vnf_packages_content"
+ # endpoint = '/nsds' if pkg_type['type'] == 'nsd' else '/vnfds'
+ # print('Endpoint: {}'.format(endpoint))
+ headers = self._client._headers
+
+ if filename.endswith(".tar.gz"):
+ headers["Content-Type"] = "application/gzip"
+ else:
+ headers["Content-Type"] = "application/zip"
+ # headers['Content-Type'] = 'application/binary'
+ # Next three lines are to be removed in next version
+ # headers['Content-Filename'] = basename(filename)
+ # file_size = stat(filename).st_size
+ # headers['Content-Range'] = 'bytes 0-{}/{}'.format(file_size - 1, file_size)
+ headers["Content-File-MD5"] = utils.md5(filename)
+ self._http.set_http_header(headers)
+ http_code, resp = self._http.post_cmd(endpoint=endpoint, filename=filename)
+ # print('HTTP CODE: {}'.format(http_code))
+ # print('RESP: {}'.format(resp))
+ # if http_code in (200, 201, 202, 204):