aboutsummaryrefslogtreecommitdiffstats
path: root/vnfsdk_pkgtools
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2019-11-29 14:49:50 +0800
committerLianhao Lu <lianhao.lu@intel.com>2019-11-29 14:50:21 +0800
commitfb75c2fc16491340e32cebf36a361f3e36b2b901 (patch)
treec918b145bc613b6809183f28e8a9867034781435 /vnfsdk_pkgtools
parent8767846c931ee9cef818ced06f790dabeae535ca (diff)
Fix pep8 error and warnings
Change-Id: Ic32eefcfd4be4d57c9cf30eff0b3fa1aa730d2c0 Issue-ID: VNFSDK-532 Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Diffstat (limited to 'vnfsdk_pkgtools')
-rw-r--r--vnfsdk_pkgtools/cli/__main__.py19
-rw-r--r--vnfsdk_pkgtools/packager/csar.py2
-rw-r--r--vnfsdk_pkgtools/packager/manifest.py36
-rw-r--r--vnfsdk_pkgtools/packager/toscameta.py31
-rw-r--r--vnfsdk_pkgtools/packager/utils.py20
-rw-r--r--vnfsdk_pkgtools/validator/__init__.py3
-rw-r--r--vnfsdk_pkgtools/validator/toscaparser_validator.py14
-rw-r--r--vnfsdk_pkgtools/validator/utils.py8
-rw-r--r--vnfsdk_pkgtools/version.py2
-rw-r--r--vnfsdk_pkgtools/vnfreq/__init__.py3
-rw-r--r--vnfsdk_pkgtools/vnfreq/pkg_reqs.py10
11 files changed, 69 insertions, 79 deletions
diff --git a/vnfsdk_pkgtools/cli/__main__.py b/vnfsdk_pkgtools/cli/__main__.py
index c5653d7..d51c029 100644
--- a/vnfsdk_pkgtools/cli/__main__.py
+++ b/vnfsdk_pkgtools/cli/__main__.py
@@ -17,7 +17,6 @@
import sys
import logging
import argparse
-import os
import shutil
import tempfile
@@ -32,15 +31,17 @@ from vnfsdk_pkgtools import vnfreq
def csar_create_func(namespace):
csar.write(namespace.source,
- namespace.entry,
- namespace.destination,
- args=namespace)
+ namespace.entry,
+ namespace.destination,
+ args=namespace)
+
def csar_open_func(namespace):
csar.read(namespace.source,
namespace.destination,
namespace.no_verify_cert)
+
def csar_validate_func(namespace):
workdir = tempfile.mkdtemp()
try:
@@ -68,10 +69,10 @@ def parse_args(args_list):
"""
parser = argparse.ArgumentParser(description='VNF SDK CSAR manipulation tool')
parser.add_argument('-v', '--verbose',
- dest='verbosity',
- action='count',
- default=0,
- help='Set verbosity level (can be passed multiple times)')
+ dest='verbosity',
+ action='count',
+ default=0,
+ help='Set verbosity level (can be passed multiple times)')
subparsers = parser.add_subparsers(help='csar-create')
csar_create = subparsers.add_parser('csar-create')
@@ -116,7 +117,6 @@ def parse_args(args_list):
action='store_true',
help='Generate SOL004 v2.4.1 csar for backward compatilibity')
-
csar_open = subparsers.add_parser('csar-open')
csar_open.set_defaults(func=csar_open_func)
csar_open.add_argument(
@@ -131,7 +131,6 @@ def parse_args(args_list):
action='store_true',
help="Do NOT verify the signer's certificate")
-
csar_validate = subparsers.add_parser('csar-validate')
csar_validate.set_defaults(func=csar_validate_func)
csar_validate.add_argument(
diff --git a/vnfsdk_pkgtools/packager/csar.py b/vnfsdk_pkgtools/packager/csar.py
index 3b4cec6..f4dc7a5 100644
--- a/vnfsdk_pkgtools/packager/csar.py
+++ b/vnfsdk_pkgtools/packager/csar.py
@@ -15,11 +15,11 @@
import logging
import os
-import pprint
import tempfile
import zipfile
import requests
+from ruamel import yaml
from vnfsdk_pkgtools.packager import manifest
from vnfsdk_pkgtools.packager import toscameta
diff --git a/vnfsdk_pkgtools/packager/manifest.py b/vnfsdk_pkgtools/packager/manifest.py
index a518f31..b6d01f6 100644
--- a/vnfsdk_pkgtools/packager/manifest.py
+++ b/vnfsdk_pkgtools/packager/manifest.py
@@ -22,18 +22,20 @@ import udatetime
from vnfsdk_pkgtools.packager import utils
-METADATA_KEYS = [ 'vnf_provider_id',
- 'vnf_product_name',
- 'vnf_release_date_time',
- 'vnf_package_version']
-DIGEST_KEYS = [ 'Source', 'Algorithm', 'Hash' ]
+METADATA_KEYS = ['vnf_provider_id',
+ 'vnf_product_name',
+ 'vnf_release_date_time',
+ 'vnf_package_version']
+DIGEST_KEYS = ['Source', 'Algorithm', 'Hash']
SUPPORTED_HASH_ALGO = ['SHA-256', 'SHA-512']
NON_MANO_ARTIFACT_RE = re.compile(r'^[0-9a-z_-]+(\.[0-9a-z_-]+)*:$')
+
class ManifestException(Exception):
pass
+
class Manifest(object):
' Manifest file in CSAR package'
def __init__(self, root_path, manifest_path, sol241=False):
@@ -49,17 +51,17 @@ class Manifest(object):
# non_mano_artifact dict
# :key = set identifier
# :value = list of files
- self.sol241=sol241
+ self.sol241 = sol241
self.non_mano_artifacts = {}
- self.blocks = [ ]
+ self.blocks = []
self._split_blocks()
self._parse_all_blocks()
@staticmethod
def __split_line(s):
- remain=s
+ remain = s
try:
- (key, value)=s.split(':', 1)
+ (key, value) = s.split(':', 1)
value = value.strip()
remain = None
except ValueError:
@@ -72,7 +74,7 @@ class Manifest(object):
Split manifest file into blocks, each block is seperated by a empty
line or a line with only spaces and tabs.
'''
- block_content = [ ]
+ block_content = []
with open(os.path.join(self.root, self.path), 'rU') as fp:
for line in fp:
line = line.strip(' \t\n')
@@ -106,11 +108,11 @@ class Manifest(object):
if key in METADATA_KEYS:
self.metadata[key] = value
elif key == 'vnf_release_data_time':
- #sol004 v2.4.1 compatibility
+ # sol004 v2.4.1 compatibility
self.metadata['vnf_release_date_time'] = value
else:
raise ManifestException("Unrecognized metadata %s:" % line)
- #validate metadata keys
+ # validate metadata keys
missing_keys = set(METADATA_KEYS) - set(self.metadata.keys())
if missing_keys:
raise ManifestException("Missing metadata keys: %s" % ','.join(missing_keys))
@@ -119,7 +121,7 @@ class Manifest(object):
udatetime.from_string(self.metadata['vnf_release_date_time'])
except ValueError:
raise ManifestException("Incorrect IETF RFC 3339 vnf_release_date_time: %s"
- % self.metadata['vnf_release_date_time'])
+ % self.metadata['vnf_release_date_time'])
def parse_cms(self, lines):
if '--END CMS--' not in lines[-1]:
@@ -138,12 +140,12 @@ class Manifest(object):
if key == 'Source':
self.digests[value] = (None, None)
elif key == 'Algorithm':
- #validate algorithm
+ # validate algorithm
desc['Algorithm'] = desc['Algorithm'].upper()
if desc['Algorithm'] not in SUPPORTED_HASH_ALGO:
raise ManifestException("Unsupported hash algorithm: %s" % desc['Algorithm'])
- #validate hash
+ # validate hash
if desc.get('Algorithm') and desc.get('Hash') and desc.get('Source'):
hash = utils.cal_file_hash(self.root, desc['Source'], desc['Algorithm'])
if hash != desc['Hash']:
@@ -213,7 +215,7 @@ class Manifest(object):
# empty line between digest and signature section
ret += "\n"
# signature
- if self.signature:
+ if self.signature:
ret += self.signature
return ret
@@ -242,7 +244,7 @@ class Manifest(object):
elif not skip:
lines.append(line)
content = ''.join(lines)
- tmpfile = tempfile.NamedTemporaryFile(mode='w',delete=False)
+ tmpfile = tempfile.NamedTemporaryFile(mode='w', delete=False)
tmpfile.write(content)
tmpfile.close()
return tmpfile.name
diff --git a/vnfsdk_pkgtools/packager/toscameta.py b/vnfsdk_pkgtools/packager/toscameta.py
index fc51f3c..9e304b0 100644
--- a/vnfsdk_pkgtools/packager/toscameta.py
+++ b/vnfsdk_pkgtools/packager/toscameta.py
@@ -19,7 +19,7 @@ import logging
import os
import pprint
-from ruamel import yaml # @UnresolvedImport
+from ruamel import yaml
import six
from vnfsdk_pkgtools.packager import utils
@@ -49,11 +49,11 @@ class ToscaMeta(object):
META_ENTRY_TESTS_DIR_KEY = 'ETSI-Entry-Tests'
META_ENTRY_LICENSES_DIR_KEY = 'ETSI-Entry-Licenses'
META_ENTRY_CERT_FILE_KEY = 'ETSI-Entry-Certificate'
- REQUIRED_KEYS = [ META_FILE_VERSION_KEY, META_CSAR_VERSION_KEY,
- META_CREATED_BY_KEY, META_ENTRY_DEFINITIONS_KEY,
- META_ENTRY_MANIFEST_FILE_KEY, META_ENTRY_HISTORY_FILE_KEY,
- META_ENTRY_LICENSES_DIR_KEY,
- ]
+ REQUIRED_KEYS = [
+ META_FILE_VERSION_KEY, META_CSAR_VERSION_KEY,
+ META_CREATED_BY_KEY, META_ENTRY_DEFINITIONS_KEY,
+ META_ENTRY_MANIFEST_FILE_KEY, META_ENTRY_HISTORY_FILE_KEY,
+ META_ENTRY_LICENSES_DIR_KEY, ]
OPTIONAL_KEYS = [META_ENTRY_TESTS_DIR_KEY, META_ENTRY_CERT_FILE_KEY]
def __init__(self, base_dir, entry, manifest=None, changelog=None,
@@ -95,8 +95,8 @@ class ToscaMeta(object):
metadata.get(META_ENTRY_DEFINITIONS_KEY))
try:
with open(entry_file) as f:
- v = yaml.safe_load(f)['tosca_definitions_version']
- except:
+ yaml.safe_load(f)['tosca_definitions_version']
+ except Exception:
raise ValueError('Entry file {} is not a valid tosca simple yaml file'.format(entry_file))
if metadata.get(self.META_ENTRY_MANIFEST_FILE_KEY):
@@ -180,13 +180,13 @@ class ToscaMeta241(ToscaMeta):
META_ENTRY_TESTS_DIR_KEY = 'Entry-Tests'
META_ENTRY_LICENSES_DIR_KEY = 'Entry-Licenses'
META_ENTRY_CERT_FILE_KEY = 'Entry-Certificate'
- REQUIRED_KEYS = [ META_FILE_VERSION_KEY, META_CSAR_VERSION_KEY,
- META_CREATED_BY_KEY, META_ENTRY_DEFINITIONS_KEY,
- ]
- OPTIONAL_KEYS = [ META_ENTRY_MANIFEST_FILE_KEY, META_ENTRY_HISTORY_FILE_KEY,
- META_ENTRY_LICENSES_DIR_KEY, META_ENTRY_TESTS_DIR_KEY,
- META_ENTRY_CERT_FILE_KEY,
- ]
+ REQUIRED_KEYS = [
+ META_FILE_VERSION_KEY, META_CSAR_VERSION_KEY,
+ META_CREATED_BY_KEY, META_ENTRY_DEFINITIONS_KEY, ]
+ OPTIONAL_KEYS = [
+ META_ENTRY_MANIFEST_FILE_KEY, META_ENTRY_HISTORY_FILE_KEY,
+ META_ENTRY_LICENSES_DIR_KEY, META_ENTRY_TESTS_DIR_KEY,
+ META_ENTRY_CERT_FILE_KEY, ]
class ToscaMeta261(ToscaMeta):
@@ -219,4 +219,3 @@ def create_from_file(base_dir):
meta_file_version=metadata.get(META_FILE_VERSION_KEY),
meta_csar_version=metadata.get(META_CSAR_VERSION_KEY),
meta_created_by=metadata.get(META_CREATED_BY_KEY))
-
diff --git a/vnfsdk_pkgtools/packager/utils.py b/vnfsdk_pkgtools/packager/utils.py
index 539a242..5624287 100644
--- a/vnfsdk_pkgtools/packager/utils.py
+++ b/vnfsdk_pkgtools/packager/utils.py
@@ -75,7 +75,7 @@ def cal_file_hash(root, path, algo):
def _run_cmd(cmd, **kwargs):
if isinstance(cmd, list):
args = cmd
- elif isinstance(cmd, string):
+ elif isinstance(cmd, str):
args = [cmd]
else:
raise RuntimeError("cmd must be string or list")
@@ -96,11 +96,10 @@ def _run_cmd(cmd, **kwargs):
def sign(msg_file, cert_file, key_file):
args = ["openssl", "cms", "-sign", "-binary"]
kwargs = {
- '-in': os.path.abspath(msg_file),
- '-signer': os.path.abspath(cert_file),
- '-inkey': os.path.abspath(key_file),
- '-outform': 'PEM',
- }
+ '-in': os.path.abspath(msg_file),
+ '-signer': os.path.abspath(cert_file),
+ '-inkey': os.path.abspath(key_file),
+ '-outform': 'PEM', }
return _run_cmd(args, **kwargs)
@@ -114,9 +113,8 @@ def verify(msg_file, cert_file, cms, no_verify_cert=False):
f.write(cms)
f.flush()
kwargs = {
- '-in': f.name,
- '-inform': 'PEM',
- '-content': os.path.abspath(msg_file),
- '-certfile': os.path.abspath(cert_file),
- }
+ '-in': f.name,
+ '-inform': 'PEM',
+ '-content': os.path.abspath(msg_file),
+ '-certfile': os.path.abspath(cert_file), }
return _run_cmd(args, **kwargs)
diff --git a/vnfsdk_pkgtools/validator/__init__.py b/vnfsdk_pkgtools/validator/__init__.py
index c072543..269627a 100644
--- a/vnfsdk_pkgtools/validator/__init__.py
+++ b/vnfsdk_pkgtools/validator/__init__.py
@@ -18,9 +18,9 @@ import abc
import six
from stevedore import driver
-
NS = "vnfsdk.pkgtools.validator"
+
def get_validator(params):
"""Get validate driver and load it.
@@ -40,7 +40,6 @@ class ValidatorBase(object):
def __init__(self):
self.tosca = None
-
@abc.abstractmethod
def validate(self, reader):
"""Validate the csar package.
diff --git a/vnfsdk_pkgtools/validator/toscaparser_validator.py b/vnfsdk_pkgtools/validator/toscaparser_validator.py
index d1ccd9a..851effb 100644
--- a/vnfsdk_pkgtools/validator/toscaparser_validator.py
+++ b/vnfsdk_pkgtools/validator/toscaparser_validator.py
@@ -49,7 +49,7 @@ class ToscaparserValidator(validator.ValidatorBase):
self.hpa_schema_version = defs.get('metadata', {}).get('version')
self.hpa_schemas = defs.get('schemas', {})
self.hpa_mappings = defs.get('mappings', [])
- #validate schema defined in hpa.yaml is correct
+ # validate schema defined in hpa.yaml is correct
if not self.hpa_schema_version:
msg = "No defined version in metadata"
raise HpaSchemaDefError(msg)
@@ -64,9 +64,9 @@ class ToscaparserValidator(validator.ValidatorBase):
def validate(self, reader):
entry_path = os.path.join(reader.destination,
- reader.entry_definitions)
+ reader.entry_definitions)
try:
- #TODO set debug_mode due to upstream bug
+ # TODO set debug_mode due to upstream bug
# https://jira.opnfv.org/browse/PARSER-181
self.tosca = ToscaTemplate(path=entry_path,
no_required_paras_check=True,
@@ -126,10 +126,10 @@ class ToscaparserValidator(validator.ValidatorBase):
for (key, hpa_value) in six.iteritems(value):
if key not in hpa_schema:
msg = "node %s: %s is NOT a valid HPA key"
- raise HpaValueError(msg % (refkey, key))
+ raise HpaValueError(msg % (refkey, key))
try:
hpa_dict = json.loads(hpa_value)
- except:
+ except Exception:
msg = "node %s, HPA key %s: %s is NOT a valid json encoded string"
raise HpaValueError(msg % (refkey, key, hpa_value.encode('ascii', 'replace')))
if not isinstance(hpa_dict, dict):
@@ -145,7 +145,7 @@ class ToscaparserValidator(validator.ValidatorBase):
attr_schema = hpa_schema[key][attr]
if not re.match(attr_schema, str(val)):
msg = ("node %s, HPA key %s, attr %s: %s is not a valid HPA "
- "attr value, expected re pattern is %s")
+ "attr value, expected re pattern is %s")
raise HpaValueError(msg % (refkey, key, attr, val.encode('ascii', 'replace'), attr_schema))
def validate_hpa_value(self, refkey, hpa_schema, values):
@@ -167,5 +167,3 @@ class ToscaparserValidator(validator.ValidatorBase):
self.validate_hpa_value(refkey,
self.hpa_schemas[mapping['schema']],
value)
-
-
diff --git a/vnfsdk_pkgtools/validator/utils.py b/vnfsdk_pkgtools/validator/utils.py
index b26a290..32575a2 100644
--- a/vnfsdk_pkgtools/validator/utils.py
+++ b/vnfsdk_pkgtools/validator/utils.py
@@ -36,10 +36,10 @@ def load_definitions(config_file, defaults=None):
if hasattr(err, 'problem_mark'):
mark = err.problem_mark
errmsg = ("Invalid YAML syntax in Definitions file %(file)s "
- "at line: %(line)s, column: %(column)s." %
- dict(file=config_file,
- line=mark.line + 1,
- column=mark.column + 1))
+ "at line: %(line)s, column: %(column)s." %
+ dict(file=config_file,
+ line=mark.line + 1,
+ column=mark.column + 1))
else:
errmsg = ("YAML error reading Definitions file %s" % config_file)
LOG.error(errmsg)
diff --git a/vnfsdk_pkgtools/version.py b/vnfsdk_pkgtools/version.py
index 00126b7..a2b63ea 100644
--- a/vnfsdk_pkgtools/version.py
+++ b/vnfsdk_pkgtools/version.py
@@ -1,3 +1,3 @@
global __version__
-__version__='1.4.0pre'
+__version__ = '1.4.0pre'
diff --git a/vnfsdk_pkgtools/vnfreq/__init__.py b/vnfsdk_pkgtools/vnfreq/__init__.py
index 4c27495..70e3294 100644
--- a/vnfsdk_pkgtools/vnfreq/__init__.py
+++ b/vnfsdk_pkgtools/vnfreq/__init__.py
@@ -20,9 +20,9 @@ import prettytable
import six
from stevedore import driver
-
NS = "vnfsdk.pkgtools.vnfreq"
+
def get_vnfreq_tester(name):
"""Get vnf requirement tester.
@@ -87,4 +87,3 @@ class TesterBase(object):
self.err = self._do_check(reader, tosca)
except Exception as e:
self.err = e
-
diff --git a/vnfsdk_pkgtools/vnfreq/pkg_reqs.py b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
index 4744eac..cf880e4 100644
--- a/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
+++ b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py
@@ -13,14 +13,11 @@
# under the License.
#
-import abc
import os
import six
-from stevedore import driver
from vnfsdk_pkgtools.packager import toscameta
-from vnfsdk_pkgtools.validator import toscaparser_validator as tv
from vnfsdk_pkgtools import vnfreq
@@ -90,7 +87,7 @@ class R26881(vnfreq.TesterBase):
if file and \
os.path.isfile(os.path.join(entry_path, file)) or \
os.path.isfile(os.path.join(reader.destination, file)):
- valid_artifacts.append(file)
+ valid_artifacts.append(file)
if not valid_artifacts:
raise vnfreq.VnfRequirementError("No valid binaries or images for VNF instantion found")
return 0
@@ -111,9 +108,8 @@ class R35851(vnfreq.TesterBase):
for node in getattr(tosca.tosca, 'nodetemplates', []):
if tosca.is_type(node, 'tosca.nodes.nfv.VduCp') or \
tosca.is_type(node, 'tosca.nodes.nfv.VnfVirtualLink'):
- found = True
- break
+ found = True
+ break
if not found:
raise vnfreq.VnfRequirementError("No basic network or application connectivity found")
return 0
-