Console Output
Skipping 553 KB..
Full Logl users"""
# try:
check_client_version(ctx.obj, ctx.command.name)
if filter:
- filter='&'.join(filter)
+ filter = "&".join(filter)
resp = ctx.obj.user.list(filter)
# except ClientException as e:
# print(str(e))
# exit(1)
- table = PrettyTable(['name', 'id'])
+ table = PrettyTable(["name", "id"])
for user in resp:
- table.add_row([user['username'], user['_id']])
- table.align = 'l'
+ table.add_row([user["username"], user["_id"]])
+ table.align = "l"
print(table)
-@cli_osm.command(name='user-show', short_help='shows the details of a user')
-@click.argument('name')
+@cli_osm.command(name="user-show", short_help="shows the details of a user")
+@click.argument("name")
@click.pass_context
def user_show(ctx, name):
"""shows the details of a user
NAME: name or ID of the user
"""
logger.debug("")
# try:
check_client_version(ctx.obj, ctx.command.name)
resp = ctx.obj.user.get(name)
- if 'password' in resp:
- resp['password']='********'
- # except ClientException as e:
- # print(str(e))
- # exit(1)
-
- table = PrettyTable(['key', 'attribute'])
+ if "password" in resp:
+ resp["password"] = "********"
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+ table = PrettyTable(["key", "attribute"])
for k, v in resp.items():
table.add_row([k, json.dumps(v, indent=2)])
- table.align = 'l'
+ table.align = "l"
print(table)
####################
# Fault Management operations
####################
-@cli_osm.command(name='ns-alarm-create')
-@click.argument('name')
-@click.option('--ns', prompt=True, help='NS instance id or name')
-@click.option('--vnf', prompt=True,
- help='VNF name (VNF member index as declared in the NSD)')
-@click.option('--vdu', prompt=True,
- help='VDU name (VDU name as declared in the VNFD)')
-@click.option('--metric', prompt=True,
- help='Name of the metric (e.g. cpu_utilization)')
-@click.option('--severity', default='WARNING',
- help='severity of the alarm (WARNING, MINOR, MAJOR, CRITICAL, INDETERMINATE)')
-@click.option('--threshold_value', prompt=True,
- help='threshold value that, when crossed, an alarm is triggered')
-@click.option('--threshold_operator', prompt=True,
- help='threshold operator describing the comparison (GE, LE, GT, LT, EQ)')
-@click.option('--statistic', default='AVERAGE',
- help='statistic (AVERAGE, MINIMUM, MAXIMUM, COUNT, SUM)')
-@click.pass_context
-def ns_alarm_create(ctx, name, ns, vnf, vdu, metric, severity,
- threshold_value, threshold_operator, statistic):
+
+@cli_osm.command(name="ns-alarm-create")
+@click.argument("name")
+@click.option("--ns", prompt=True, help="NS instance id or name")
+@click.option(
+ "--vnf", prompt=True, help="VNF name (VNF member index as declared in the NSD)"
+)
+@click.option("--vdu", prompt=True, help="VDU name (VDU name as declared in the VNFD)")
+@click.option("--metric", prompt=True, help="Name of the metric (e.g. cpu_utilization)")
+@click.option(
+ "--severity",
+ default="WARNING",
+ help="severity of the alarm (WARNING, MINOR, MAJOR, CRITICAL, INDETERMINATE)",
+)
+@click.option(
+ "--threshold_value",
+ prompt=True,
+ help="threshold value that, when crossed, an alarm is triggered",
+)
+@click.option(
+ "--threshold_operator",
+ prompt=True,
+ help="threshold operator describing the comparison (GE, LE, GT, LT, EQ)",
+)
+@click.option(
+ "--statistic",
+ default="AVERAGE",
+ help="statistic (AVERAGE, MINIMUM, MAXIMUM, COUNT, SUM)",
+)
+@click.pass_context
+def ns_alarm_create(
+ ctx,
+ name,
+ ns,
+ vnf,
+ vdu,
+ metric,
+ severity,
+ threshold_value,
+ threshold_operator,
+ statistic,
+):
"""creates a new alarm for a NS instance"""
# TODO: Check how to validate threshold_value.
# Should it be an integer (1-100), percentage, or decimal (0.01-1.00)?
logger.debug("")
# try:
ns_instance = ctx.obj.ns.get(ns)
alarm = {}
- alarm['alarm_name'] = name
- alarm['ns_id'] = ns_instance['_id']
- alarm['correlation_id'] = ns_instance['_id']
- alarm['vnf_member_index'] = vnf
- alarm['vdu_name'] = vdu
- alarm['metric_name'] = metric
- alarm['severity'] = severity
- alarm['threshold_value'] = int(threshold_value)
- alarm['operation'] = threshold_operator
- alarm['statistic'] = statistic
+ alarm["alarm_name"] = name
+ alarm["ns_id"] = ns_instance["_id"]
+ alarm["correlation_id"] = ns_instance["_id"]
+ alarm["vnf_member_index"] = vnf
+ alarm["vdu_name"] = vdu
+ alarm["metric_name"] = metric
+ alarm["severity"] = severity
+ alarm["threshold_value"] = int(threshold_value)
+ alarm["operation"] = threshold_operator
+ alarm["statistic"] = statistic
check_client_version(ctx.obj, ctx.command.name)
ctx.obj.ns.create_alarm(alarm)
# except ClientException as e:
# print(str(e))
# exit(1)
-#@cli_osm.command(name='ns-alarm-delete')
-#@click.argument('name')
-#@click.pass_context
-#def ns_alarm_delete(ctx, name):
+# @cli_osm.command(name='ns-alarm-delete')
+# @click.argument('name')
+# @click.pass_context
+# def ns_alarm_delete(ctx, name):
# """deletes an alarm
#
# NAME: name of the alarm to be deleted
# """
# try:
@@ -3767,92 +4649,107 @@
####################
# Performance Management operations
####################
-@cli_osm.command(name='ns-metric-export', short_help='exports a metric to the internal OSM bus, which can be read by other apps')
-@click.option('--ns', prompt=True, help='NS instance id or name')
-@click.option('--vnf', prompt=True,
- help='VNF name (VNF member index as declared in the NSD)')
-@click.option('--vdu', prompt=True,
- help='VDU name (VDU name as declared in the VNFD)')
-@click.option('--metric', prompt=True,
- help='name of the metric (e.g. cpu_utilization)')
-#@click.option('--period', default='1w',
+
+@cli_osm.command(
+ name="ns-metric-export",
+ short_help="exports a metric to the internal OSM bus, which can be read by other apps",
+)
+@click.option("--ns", prompt=True, help="NS instance id or name")
+@click.option(
+ "--vnf", prompt=True, help="VNF name (VNF member index as declared in the NSD)"
+)
+@click.option("--vdu", prompt=True, help="VDU name (VDU name as declared in the VNFD)")
+@click.option("--metric", prompt=True, help="name of the metric (e.g. cpu_utilization)")
+# @click.option('--period', default='1w',
# help='metric collection period (e.g. 20s, 30m, 2h, 3d, 1w)')
-@click.option('--interval', help='periodic interval (seconds) to export metrics continuously')
+@click.option(
+ "--interval", help="periodic interval (seconds) to export metrics continuously"
+)
@click.pass_context
def ns_metric_export(ctx, ns, vnf, vdu, metric, interval):
"""exports a metric to the internal OSM bus, which can be read by other apps"""
# TODO: Check how to validate interval.
# Should it be an integer (seconds), or should a suffix (s,m,h,d,w) also be permitted?
logger.debug("")
# try:
ns_instance = ctx.obj.ns.get(ns)
metric_data = {}
- metric_data['ns_id'] = ns_instance['_id']
- metric_data['correlation_id'] = ns_instance['_id']
- metric_data['vnf_member_index'] = vnf
- metric_data['vdu_name'] = vdu
- metric_data['metric_name'] = metric
- metric_data['collection_unit'] = 'WEEK'
- metric_data['collection_period'] = 1
+ metric_data["ns_id"] = ns_instance["_id"]
+ metric_data["correlation_id"] = ns_instance["_id"]
+ metric_data["vnf_member_index"] = vnf
+ metric_data["vdu_name"] = vdu
+ metric_data["metric_name"] = metric
+ metric_data["collection_unit"] = "WEEK"
+ metric_data["collection_period"] = 1
check_client_version(ctx.obj, ctx.command.name)
if not interval:
- print('{}'.format(ctx.obj.ns.export_metric(metric_data)))
+ print("{}".format(ctx.obj.ns.export_metric(metric_data)))
else:
i = 1
while True:
- print('{} {}'.format(ctx.obj.ns.export_metric(metric_data),i))
+ print("{} {}".format(ctx.obj.ns.export_metric(metric_data), i))
time.sleep(int(interval))
- i+=1
+ i += 1
# except ClientException as e:
# print(str(e))
# exit(1)
####################
# Other operations
####################
-@cli_osm.command(name='version', short_help='shows client and server versions')
+
+@cli_osm.command(name="version", short_help="shows client and server versions")
@click.pass_context
def get_version(ctx):
"""shows client and server versions"""
# try:
check_client_version(ctx.obj, "version")
- print ("Server version: {}".format(ctx.obj.get_version()))
- print ("Client version: {}".format(pkg_resources.get_distribution("osmclient").version))
- # except ClientException as e:
- # print(str(e))
- # exit(1)
-
-@cli_osm.command(name='upload-package', short_help='uploads a VNF package or NS package')
-@click.argument('filename')
-@click.option('--skip-charm-build', default=False, is_flag=True,
- help='the charm will not be compiled, it is assumed to already exist')
+ print("Server version: {}".format(ctx.obj.get_version()))
+ print(
+ "Client version: {}".format(pkg_resources.get_distribution("osmclient").version)
+ )
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+
+@cli_osm.command(
+ name="upload-package", short_help="uploads a VNF package or NS package"
+)
+@click.argument("filename")
+@click.option(
+ "--skip-charm-build",
+ default=False,
+ is_flag=True,
+ help="the charm will not be compiled, it is assumed to already exist",
+)
@click.pass_context
def upload_package(ctx, filename, skip_charm_build):
"""uploads a vnf package or ns package
filename: vnf or ns package folder, or vnf or ns package file (tar.gz)
"""
logger.debug("")
# try:
ctx.obj.package.upload(filename, skip_charm_build=skip_charm_build)
fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__
- if fullclassname != 'osmclient.sol005.client.Client':
+ if fullclassname != "osmclient.sol005.client.Client":
ctx.obj.package.wait_for_upload(filename)
# except ClientException as e:
# print(str(e))
# exit(1)
-#@cli_osm.command(name='ns-scaling-show')
-#@click.argument('ns_name')
-#@click.pass_context
-#def show_ns_scaling(ctx, ns_name):
+# @cli_osm.command(name='ns-scaling-show')
+# @click.argument('ns_name')
+# @click.pass_context
+# def show_ns_scaling(ctx, ns_name):
# """shows the status of a NS scaling operation
#
# NS_NAME: name of the NS instance being scaled
# """
# try:
@@ -3887,22 +4784,22 @@
# inst['vnfrs']])
# table.align = 'l'
# print(table)
-#@cli_osm.command(name='ns-scale')
-#@click.argument('ns_name')
-#@click.option('--ns_scale_group', prompt=True)
-#@click.option('--index', prompt=True)
-#@click.option('--wait',
+# @cli_osm.command(name='ns-scale')
+# @click.argument('ns_name')
+# @click.option('--ns_scale_group', prompt=True)
+# @click.option('--index', prompt=True)
+# @click.option('--wait',
# required=False,
# default=False,
# is_flag=True,
# help='do not return the control immediately, but keep it \
# until the operation is completed, or timeout')
-#@click.pass_context
-#def ns_scale(ctx, ns_name, ns_scale_group, index, wait):
+# @click.pass_context
+# def ns_scale(ctx, ns_name, ns_scale_group, index, wait):
# """scales NS
#
# NS_NAME: name of the NS instance to be scaled
# """
# try:
@@ -3911,13 +4808,13 @@
# except ClientException as e:
# print(str(e))
# exit(1)
-#@cli_osm.command(name='config-agent-list')
-#@click.pass_context
-#def config_agent_list(ctx):
+# @cli_osm.command(name='config-agent-list')
+# @click.pass_context
+# def config_agent_list(ctx):
# """list config agents"""
# try:
# check_client_version(ctx.obj, ctx.command.name, 'v1')
# except ClientException as e:
# print(str(e))
@@ -3930,14 +4827,14 @@
# account['juju']])
# table.align = 'l'
# print(table)
-#@cli_osm.command(name='config-agent-delete')
-#@click.argument('name')
-#@click.pass_context
-#def config_agent_delete(ctx, name):
+# @cli_osm.command(name='config-agent-delete')
+# @click.argument('name')
+# @click.pass_context
+# def config_agent_delete(ctx, name):
# """deletes a config agent
#
# NAME: name of the config agent to be deleted
# """
# try:
@@ -3946,137 +4843,164 @@
# except ClientException as e:
# print(str(e))
# exit(1)
-#@cli_osm.command(name='config-agent-add')
-#@click.option('--name',
+# @cli_osm.command(name='config-agent-add')
+# @click.option('--name',
# prompt=True)
-#@click.option('--account_type',
+# @click.option('--account_type',
# prompt=True)
-#@click.option('--server',
+# @click.option('--server',
# prompt=True)
-#@click.option('--user',
+# @click.option('--user',
# prompt=True)
-#@click.option('--secret',
+# @click.option('--secret',
# prompt=True,
# hide_input=True,
# confirmation_prompt=True)
-#@click.pass_context
-#def config_agent_add(ctx, name, account_type, server, user, secret):
+# @click.pass_context
+# def config_agent_add(ctx, name, account_type, server, user, secret):
# """adds a config agent"""
# try:
# check_client_version(ctx.obj, ctx.command.name, 'v1')
# ctx.obj.vca.create(name, account_type, server, user, secret)
# except ClientException as e:
# print(str(e))
# exit(1)
-#@cli_osm.command(name='ro-dump')
-#@click.pass_context
-#def ro_dump(ctx):
+# @cli_osm.command(name='ro-dump')
+# @click.pass_context
+# def ro_dump(ctx):
# """shows RO agent information"""
# check_client_version(ctx.obj, ctx.command.name, 'v1')
# resp = ctx.obj.vim.get_resource_orchestrator()
# table = PrettyTable(['key', 'attribute'])
# for k, v in list(resp.items()):
# table.add_row([k, json.dumps(v, indent=2)])
# table.align = 'l'
# print(table)
-#@cli_osm.command(name='vcs-list')
-#@click.pass_context
-#def vcs_list(ctx):
+# @cli_osm.command(name='vcs-list')
+# @click.pass_context
+# def vcs_list(ctx):
# check_client_version(ctx.obj, ctx.command.name, 'v1')
# resp = ctx.obj.utils.get_vcs_info()
# table = PrettyTable(['component name', 'state'])
# for component in resp:
# table.add_row([component['component_name'], component['state']])
# table.align = 'l'
# print(table)
-@cli_osm.command(name='ns-action', short_help='executes an action/primitive over a NS instance')
-@click.argument('ns_name')
-@click.option('--vnf_name', default=None, help='member-vnf-index if the target is a vnf instead of a ns)')
-@click.option('--kdu_name', default=None, help='kdu-name if the target is a kdu)')
-@click.option('--vdu_id', default=None, help='vdu-id if the target is a vdu')
-@click.option('--vdu_count', default=None, type=int, help='number of vdu instance of this vdu_id')
-@click.option('--action_name', prompt=True, help='action name')
-@click.option('--params', default=None, help='action params in YAML/JSON inline string')
-@click.option('--params_file', default=None, help='YAML/JSON file with action params')
-@click.option('--timeout', required=False, default=None, type=int, help='timeout in seconds')
-@click.option('--wait',
- required=False,
- default=False,
- is_flag=True,
- help='do not return the control immediately, but keep it until the operation is completed, or timeout')
-@click.pass_context
-def ns_action(ctx,
- ns_name,
- vnf_name,
- kdu_name,
- vdu_id,
- vdu_count,
- action_name,
- params,
- params_file,
- timeout,
- wait):
+@cli_osm.command(
+ name="ns-action", short_help="executes an action/primitive over a NS instance"
+)
+@click.argument("ns_name")
+@click.option(
+ "--vnf_name",
+ default=None,
+ help="member-vnf-index if the target is a vnf instead of a ns)",
+)
+@click.option("--kdu_name", default=None, help="kdu-name if the target is a kdu)")
+@click.option("--vdu_id", default=None, help="vdu-id if the target is a vdu")
+@click.option(
+ "--vdu_count", default=None, type=int, help="number of vdu instance of this vdu_id"
+)
+@click.option("--action_name", prompt=True, help="action name")
+@click.option("--params", default=None, help="action params in YAML/JSON inline string")
+@click.option("--params_file", default=None, help="YAML/JSON file with action params")
+@click.option(
+ "--timeout", required=False, default=None, type=int, help="timeout in seconds"
+)
+@click.option(
+ "--wait",
+ required=False,
+ default=False,
+ is_flag=True,
+ help="do not return the control immediately, but keep it until the operation is completed, or timeout",
+)
+@click.pass_context
+def ns_action(
+ ctx,
+ ns_name,
+ vnf_name,
+ kdu_name,
+ vdu_id,
+ vdu_count,
+ action_name,
+ params,
+ params_file,
+ timeout,
+ wait,
+):
"""executes an action/primitive over a NS instance
NS_NAME: name or ID of the NS instance
"""
logger.debug("")
# try:
check_client_version(ctx.obj, ctx.command.name)
op_data = {}
if vnf_name:
- op_data['member_vnf_index'] = vnf_name
+ op_data["member_vnf_index"] = vnf_name
if kdu_name:
- op_data['kdu_name'] = kdu_name
+ op_data["kdu_name"] = kdu_name
if vdu_id:
- op_data['vdu_id'] = vdu_id
+ op_data["vdu_id"] = vdu_id
if vdu_count is not None:
- op_data['vdu_count_index'] = vdu_count
+ op_data["vdu_count_index"] = vdu_count
if timeout:
- op_data['timeout_ns_action'] = timeout
- op_data['primitive'] = action_name
+ op_data["timeout_ns_action"] = timeout
+ op_data["primitive"] = action_name
if params_file:
- with open(params_file, 'r') as pf:
+ with open(params_file, "r") as pf:
params = pf.read()
if params:
- op_data['primitive_params'] = yaml.safe_load(params)
+ op_data["primitive_params"] = yaml.safe_load(params)
else:
- op_data['primitive_params'] = {}
- print(ctx.obj.ns.exec_op(ns_name, op_name='action', op_data=op_data, wait=wait))
-
- # except ClientException as e:
- # print(str(e))
- # exit(1)
-
-
-@cli_osm.command(name='vnf-scale', short_help='executes a VNF scale (adding/removing VDUs)')
-@click.argument('ns_name')
-@click.argument('vnf_name')
-@click.option('--scaling-group', prompt=True, help="scaling-group-descriptor name to use")
-@click.option('--scale-in', default=False, is_flag=True, help="performs a scale in operation")
-@click.option('--scale-out', default=False, is_flag=True, help="performs a scale out operation (by default)")
-@click.option('--timeout', required=False, default=None, type=int, help='timeout in seconds')
-@click.option('--wait', required=False, default=False, is_flag=True,
- help='do not return the control immediately, but keep it until the operation is completed, or timeout')
-@click.pass_context
-def vnf_scale(ctx,
- ns_name,
- vnf_name,
- scaling_group,
- scale_in,
- scale_out,
- timeout,
- wait):
+ op_data["primitive_params"] = {}
+ print(ctx.obj.ns.exec_op(ns_name, op_name="action", op_data=op_data, wait=wait))
+
+ # except ClientException as e:
+ # print(str(e))
+ # exit(1)
+
+
+@cli_osm.command(
+ name="vnf-scale", short_help="executes a VNF scale (adding/removing VDUs)"
+)
+@click.argument("ns_name")
+@click.argument("vnf_name")
+@click.option(
+ "--scaling-group", prompt=True, help="scaling-group-descriptor name to use"
+)
+@click.option(
+ "--scale-in", default=False, is_flag=True, help="performs a scale in operation"
+)
+@click.option(
+ "--scale-out",
+ default=False,
+ is_flag=True,
+ help="performs a scale out operation (by default)",
+)
+@click.option(
+ "--timeout", required=False, default=None, type=int, help="timeout in seconds"
+)
+@click.option(
+ "--wait",
+ required=False,
+ default=False,
+ is_flag=True,
+ help="do not return the control immediately, but keep it until the operation is completed, or timeout",
+)
+@click.pass_context
+def vnf_scale(
+ ctx, ns_name, vnf_name, scaling_group, scale_in, scale_out, timeout, wait
+):
"""
Executes a VNF scale (adding/removing VDUs)
\b
NS_NAME: name or ID of the NS instance.
@@ -4085,25 +5009,26 @@
logger.debug("")
# try:
check_client_version(ctx.obj, ctx.command.name)
if not scale_in and not scale_out:
scale_out = True
- ctx.obj.ns.scale_vnf(ns_name, vnf_name, scaling_group, scale_in, scale_out, wait, timeout)
+ ctx.obj.ns.scale_vnf(
+ ns_name, vnf_name, scaling_group, scale_in, scale_out, wait, timeout
+ )
# except ClientException as e:
# print(str(e))
# exit(1)
##############################
# Role Management Operations #
##############################
-@cli_osm.command(name='role-create', short_help='creates a new role')
-@click.argument('name')
-@click.option('--permissions',
- default=None,
- help='role permissions using a dictionary')
+
+@cli_osm.command(name="role-create", short_help="creates a new role")
+@click.argument("name")
+@click.option("--permissions", default=None, help="role permissions using a dictionary")
@click.pass_context
def role_create(ctx, name, permissions):
"""
Creates a new role.
@@ -4118,24 +5043,22 @@
# except ClientException as e:
# print(str(e))
# exit(1)
-@cli_osm.command(name='role-update', short_help='updates a role')
-@click.argument('name')
-@click.option('--set-name',
- default=None,
- help='change name of rle')
+@cli_osm.command(name="role-update", short_help="updates a role")
+@click.argument("name")
+@click.option("--set-name", default=None, help="change name of rle")
# @click.option('--permissions',
# default=None,
# help='provide a yaml format dictionary with incremental changes. Values can be bool or None to delete')
-@click.option('--add',
- default=None,
- help='yaml format dictionary with permission: True/False to access grant/denial')
-@click.option('--remove',
- default=None,
- help='yaml format list to remove a permission')
+@click.option(
+ "--add",
+ default=None,
+ help="yaml format dictionary with permission: True/False to access grant/denial",
+)
+@click.option("--remove", default=None, help="yaml format list to remove a permission")
@click.pass_context
def role_update(ctx, name, set_name, add, remove):
"""
Updates a role.
@@ -4152,12 +5075,12 @@
# except ClientException as e:
# print(str(e))
# exit(1)
-@cli_osm.command(name='role-delete', short_help='deletes a role')
-@click.argument('name')
+@cli_osm.command(name="role-delete", short_help="deletes a role")
+@click.argument("name")
# @click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
@click.pass_context
def role_delete(ctx, name):
"""
Deletes a role.
@@ -4172,36 +5095,40 @@
# except ClientException as e:
# print(str(e))
# exit(1)
-@cli_osm.command(name='role-list', short_help='list all roles')
-@click.option('--filter', default=None, multiple=True,
- help='restricts the list to the projects matching the filter')
+@cli_osm.command(name="role-list", short_help="list all roles")
+@click.option(
+ "--filter",
+ default=None,
+ multiple=True,
+ help="restricts the list to the projects matching the filter",
+)
@click.pass_context
def role_list(ctx, filter):
"""
List all roles.
"""
logger.debug("")
# try:
check_client_version(ctx.obj, ctx.command.name)
if filter:
- filter='&'.join(filter)
+ filter = "&".join(filter)
resp = ctx.obj.role.list(filter)
# except ClientException as e:
# print(str(e))
# exit(1)
- table = PrettyTable(['name', 'id'])
+ table = PrettyTable(["name", "id"])
for role in resp:
- table.add_row([role['name'], role['_id']])
- table.align = 'l'
+ table.add_row([role["name"], role["_id"]])
+ table.align = "l"
print(table)
-@cli_osm.command(name='role-show', short_help='show specific role')
-@click.argument('name')
+@cli_osm.command(name="role-show", short_help="show specific role")
+@click.argument("name")
@click.pass_context
def role_show(ctx, name):
"""
Shows the details of a role.
@@ -4214,79 +5141,95 @@
resp = ctx.obj.role.get(name)
# except ClientException as e:
# print(str(e))
# exit(1)
- table = PrettyTable(['key', 'attribute'])
+ table = PrettyTable(["key", "attribute"])
for k, v in resp.items():
table.add_row([k, json.dumps(v, indent=2)])
- table.align = 'l'
+ table.align = "l"
print(table)
-@cli_osm.command(name='package-create',
- short_help='Create empty NS package structure')
-@click.argument('package-type')
-@click.argument('package-name')
-@click.option('--base-directory',
- default='.',
- help=('(NS/VNF/NST) Set the location for package creation. Default: "."'))
-@click.option('--image',
- default="image-name",
- help='(VNF) Set the name of the vdu image. Default "image-name"')
-@click.option('--vdus',
- default=1,
- help='(VNF) Set the number of vdus in a VNF. Default 1')
-@click.option('--vcpu',
- default=1,
- help='(VNF) Set the number of virtual CPUs in a vdu. Default 1')
-@click.option('--memory',
- default=1024,
- help='(VNF) Set the memory size (MB) of the vdu. Default 1024')
-@click.option('--storage',
- default=10,
- help='(VNF) Set the disk size (GB) of the vdu. Default 10')
-@click.option('--interfaces',
- default=0,
- help='(VNF) Set the number of additional interfaces apart from the management interface. Default 0')
-@click.option('--vendor',
- default="OSM",
- help='(NS/VNF) Set the descriptor vendor. Default "OSM"')
-@click.option('--override',
- default=False,
- is_flag=True,
- help='(NS/VNF/NST) Flag for overriding the package if exists.')
-@click.option('--detailed',
- is_flag=True,
- default=False,
- help='(NS/VNF/NST) Flag for generating descriptor .yaml with all possible commented options')
-@click.option('--netslice-subnets',
- default=1,
- help='(NST) Number of netslice subnets. Default 1')
-@click.option('--netslice-vlds',
- default=1,
- help='(NST) Number of netslice vlds. Default 1')
-@click.option(
- "--old", default=False, is_flag=True, help="Support flag for old versions of the OSM IM (OSM<9)"
-)
-@click.pass_context
-def package_create(ctx,
- package_type,
- base_directory,
- package_name,
- override,
- image,
- vdus,
- vcpu,
- memory,
- storage,
- interfaces,
- vendor,
- detailed,
- netslice_subnets,
- netslice_vlds,
- old,):
+@cli_osm.command(name="package-create", short_help="Create empty NS package structure")
+@click.argument("package-type")
+@click.argument("package-name")
+@click.option(
+ "--base-directory",
+ default=".",
+ help=('(NS/VNF/NST) Set the location for package creation. Default: "."'),
+)
+@click.option(
+ "--image",
+ default="image-name",
+ help='(VNF) Set the name of the vdu image. Default "image-name"',
+)
+@click.option(
+ "--vdus", default=1, help="(VNF) Set the number of vdus in a VNF. Default 1"
+)
+@click.option(
+ "--vcpu", default=1, help="(VNF) Set the number of virtual CPUs in a vdu. Default 1"
+)
+@click.option(
+ "--memory",
+ default=1024,
+ help="(VNF) Set the memory size (MB) of the vdu. Default 1024",
+)
+@click.option(
+ "--storage", default=10, help="(VNF) Set the disk size (GB) of the vdu. Default 10"
+)
+@click.option(
+ "--interfaces",
+ default=0,
+ help="(VNF) Set the number of additional interfaces apart from the management interface. Default 0",
+)
+@click.option(
+ "--vendor", default="OSM", help='(NS/VNF) Set the descriptor vendor. Default "OSM"'
+)
+@click.option(
+ "--override",
+ default=False,
+ is_flag=True,
+ help="(NS/VNF/NST) Flag for overriding the package if exists.",
+)
+@click.option(
+ "--detailed",
+ is_flag=True,
+ default=False,
+ help="(NS/VNF/NST) Flag for generating descriptor .yaml with all possible commented options",
+)
+@click.option(
+ "--netslice-subnets", default=1, help="(NST) Number of netslice subnets. Default 1"
+)
+@click.option(
+ "--netslice-vlds", default=1, help="(NST) Number of netslice vlds. Default 1"
+)
+@click.option(
+ "--old",
+ default=False,
+ is_flag=True,
+ help="Support flag for old versions of the OSM IM (OSM<9)",
+)
+@click.pass_context
+def package_create(
+ ctx,
+ package_type,
+ base_directory,
+ package_name,
+ override,
+ image,
+ vdus,
+ vcpu,
+ memory,
+ storage,
+ interfaces,
+ vendor,
+ detailed,
+ netslice_subnets,
+ netslice_vlds,
+ old,
+):
"""
Creates an OSM NS, VNF, NST package
\b
PACKAGE_TYPE: Package to be created: NS, VNF or NST.
@@ -4294,49 +5237,56 @@
"""
# try:
logger.debug("")
check_client_version(ctx.obj, ctx.command.name)
- print("Creating the {} structure: {}/{}".format(package_type.upper(), base_directory, package_name))
- resp = ctx.obj.package_tool.create(package_type,
- base_directory,
- package_name,
- override=override,
- image=image,
- vdus=vdus,
- vcpu=vcpu,
- memory=memory,
- storage=storage,
- interfaces=interfaces,
- vendor=vendor,
- detailed=detailed,
- netslice_subnets=netslice_subnets,
- netslice_vlds=netslice_vlds,
- old=old,)
+ print(
+ "Creating the {} structure: {}/{}".format(
+ package_type.upper(), base_directory, package_name
+ )
+ )
+ resp = ctx.obj.package_tool.create(
+ package_type,
+ base_directory,
+ package_name,
+ override=override,
+ image=image,
+ vdus=vdus,
+ vcpu=vcpu,
+ memory=memory,
+ storage=storage,
+ interfaces=interfaces,
+ vendor=vendor,
+ detailed=detailed,
+ netslice_subnets=netslice_subnets,
+ netslice_vlds=netslice_vlds,
+ old=old,
+ )
print(resp)
# except ClientException as inst:
# print("ERROR: {}".format(inst))
# exit(1)
-@cli_osm.command(name='package-validate',
- short_help='Validate descriptors given a base directory')
-@click.argument('base-directory',
- default=".",
- required=False)
-@click.option('--recursive/--no-recursive',
- default=True,
- help='The activated recursive option will validate the yaml files'
- ' within the indicated directory and in its subdirectories')
-@click.option('--old',
- is_flag=True,
- default=False,
- help='Validates also the descriptors using the previous OSM format (pre SOL006)')
-@click.pass_context
-def package_validate(ctx,
- base_directory,
- recursive,
- old):
+
+@cli_osm.command(
+ name="package-validate", short_help="Validate descriptors given a base directory"
+)
+@click.argument("base-directory", default=".", required=False)
+@click.option(
+ "--recursive/--no-recursive",
+ default=True,
+ help="The activated recursive option will validate the yaml files"
+ " within the indicated directory and in its subdirectories",
+)
+@click.option(
+ "--old",
+ is_flag=True,
+ default=False,
+ help="Validates also the descriptors using the previous OSM format (pre SOL006)",
+)
+@click.pass_context
+def package_validate(ctx, base_directory, recursive, old):
"""
Validate descriptors given a base directory.
\b
BASE_DIRECTORY: Base folder for NS, VNF or NST package.
@@ -4347,99 +5297,121 @@
results = ctx.obj.package_tool.validate(base_directory, recursive, old)
table = PrettyTable()
table.field_names = ["TYPE", "PATH", "VALID", "ERROR"]
# Print the dictionary generated by the validation function
for result in results:
- table.add_row([result["type"], result["path"], result["valid"], result["error"]])
+ table.add_row(
+ [result["type"], result["path"], result["valid"], result["error"]]
+ )
table.sortby = "VALID"
table.align["PATH"] = "l"
table.align["TYPE"] = "l"
table.align["ERROR"] = "l"
print(table)
# except ClientException as inst:
# print("ERROR: {}".format(inst))
# exit(1)
-@cli_osm.command(name='package-translate',
- short_help='Translate descriptors given a base directory')
-@click.argument('base-directory',
- default=".",
- required=False)
-@click.option('--recursive/--no-recursive',
- default=True,
- help='The activated recursive option will translate the yaml files'
- ' within the indicated directory and in its subdirectories')
-@click.option('--dryrun',
- is_flag=True,
- default=False,
- help='Do not translate yet, only make a dry-run to test translation')
-@click.pass_context
-def package_translate(ctx,
- base_directory,
- recursive,
- dryrun):
+
+@cli_osm.command(
+ name="package-translate", short_help="Translate descriptors given a base directory"
+)
+@click.argument("base-directory", default=".", required=False)
+@click.option(
+ "--recursive/--no-recursive",
+ default=True,
+ help="The activated recursive option will translate the yaml files"
+ " within the indicated directory and in its subdirectories",
+)
+@click.option(
+ "--dryrun",
+ is_flag=True,
+ default=False,
+ help="Do not translate yet, only make a dry-run to test translation",
+)
+@click.pass_context
+def package_translate(ctx, base_directory, recursive, dryrun):
"""
Translate descriptors given a base directory.
\b
BASE_DIRECTORY: Stub folder for NS, VNF or NST package.
"""
logger.debug("")
check_client_version(ctx.obj, ctx.command.name)
results = ctx.obj.package_tool.translate(base_directory, recursive, dryrun)
table = PrettyTable()
- table.field_names = ["CURRENT TYPE", "NEW TYPE", "PATH", "VALID", "TRANSLATED", "ERROR"]
+ table.field_names = [
+ "CURRENT TYPE",
+ "NEW TYPE",
+ "PATH",
+ "VALID",
+ "TRANSLATED",
+ "ERROR",
+ ]
# Print the dictionary generated by the validation function
for result in results:
- table.add_row([result["current type"], result["new type"], result["path"], result["valid"], result["translated"], result["error"]])
+ table.add_row(
+ [
+ result["current type"],
+ result["new type"],
+ result["path"],
+ result["valid"],
+ result["translated"],
+ result["error"],
+ ]
+ )
table.sortby = "TRANSLATED"
table.align["PATH"] = "l"
table.align["TYPE"] = "l"
table.align["ERROR"] = "l"
print(table)
# except ClientException as inst:
# print("ERROR: {}".format(inst))
# exit(1)
-@cli_osm.command(name='package-build',
- short_help='Build the tar.gz of the package')
-@click.argument('package-folder')
-@click.option('--skip-validation',
- default=False,
- is_flag=True,
- help='skip package validation')
-@click.option('--skip-charm-build', default=False, is_flag=True,
- help='the charm will not be compiled, it is assumed to already exist')
-@click.pass_context
-def package_build(ctx,
- package_folder,
- skip_validation,
- skip_charm_build):
+
+@cli_osm.command(name="package-build", short_help="Build the tar.gz of the package")
+@click.argument("package-folder")
+@click.option(
+ "--skip-validation", default=False, is_flag=True, help="skip package validation"
+)
+@click.option(
+ "--skip-charm-build",
+ default=False,
+ is_flag=True,
+ help="the charm will not be compiled, it is assumed to already exist",
+)
+@click.pass_context
+def package_build(ctx, package_folder, skip_validation, skip_charm_build):
"""
Build the package NS, VNF given the package_folder.
\b
PACKAGE_FOLDER: Folder of the NS, VNF or NST to be packaged
"""
# try:
logger.debug("")
check_client_version(ctx.obj, ctx.command.name)
- results = ctx.obj.package_tool.build(package_folder,
- skip_validation=skip_validation,
- skip_charm_build=skip_charm_build)
+ results = ctx.obj.package_tool.build(
+ package_folder,
+ skip_validation=skip_validation,
+ skip_charm_build=skip_charm_build,
+ )
print(results)
# except ClientException as inst:
# print("ERROR: {}".format(inst))
# exit(1)
-@cli_osm.command(name='descriptor-translate',
- short_help='Translate input descriptor file from Rel EIGHT OSM descriptors to SOL006 and prints in standard output')
-@click.argument('descriptor-file',
- required=True)
-@click.pass_context
-def descriptor_translate(ctx,
- descriptor_file):
+
+@cli_osm.command(
+ name="descriptor-translate",
+ short_help="Translate input descriptor file from Rel EIGHT OSM descriptors to SOL006 and prints in standard output",
+)
+@click.argument("descriptor-file", required=True)
+@click.pass_context
+def descriptor_translate(ctx, descriptor_file):
"""
Translate input descriptor.
\b
DESCRIPTOR_FILE: Descriptor file for NS, VNF or Network Slice.
@@ -4454,11 +5426,13 @@
try:
cli_osm()
exit(0)
except pycurl.error as exc:
print(exc)
- print('Maybe "--hostname" option or OSM_HOSTNAME environment variable needs to be specified')
+ print(
+ 'Maybe "--hostname" option or OSM_HOSTNAME environment variable needs to be specified'
+ )
except ClientException as exc:
print("ERROR: {}".format(exc))
except (FileNotFoundError, PermissionError) as exc:
print("Cannot open file: {}".format(exc))
except yaml.YAMLError as exc:
@@ -4466,8 +5440,7 @@
exit(1)
# TODO capture other controlled exceptions here
# TODO remove the ClientException captures from all places, unless they do something different
-if __name__ == '__main__':
+if __name__ == "__main__":
cli()
-
would reformat osmclient/scripts/osm.py
Oh no! 💥 💔 💥
41 files would be reformatted, 7 files would be left unchanged.
cover create: /tmp/.tox/cover
cover installdeps: -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements.txt, -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements-dev.txt, -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements-test.txt
cover develop-inst: /opt/jenkins/workspace/osmclient-stage_2-merge_v9.0
cover installed: bitarray==2.3.4,certifi==2020.12.5,chardet==4.0.0,click==7.1.2,coverage==5.5,enum34==1.1.10,idna==2.10,importlib-metadata==4.8.2,Jinja2==2.11.3,lxml==4.7.1,MarkupSafe==1.1.1,mock==4.0.3,nose2==0.10.0,osm-im @ git+https://osm.etsi.org/gerrit/osm/IM.git@35517bbfdb9b9e5e26ca1909d9ecf6398a8bb062,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1cbff09ebd242dcba9e0011c083e13e5623f1f5d#egg=osmclient,packaging==20.9,prettytable==2.1.0,pyang==2.5.2,pyangbind==0.8.1,pycurl==7.43.0.6,pyparsing==2.4.7,python-magic==0.4.22,PyYAML==5.4.1,regex==2021.11.10,requests==2.25.1,six==1.16.0,typing_extensions==4.0.1,urllib3==1.26.4,verboselogs==1.7,wcwidth==0.2.5,zipp==3.6.0
cover run-test-pre: PYTHONHASHSEED='1630188128'
cover run-test: commands[0] | sh -c 'rm -f nosetests.xml'
cover run-test: commands[1] | coverage erase
cover run-test: commands[2] | nose2 -C --coverage osmclient
........................
----------------------------------------------------------------------
Ran 24 tests in 10.068s
OK
Name Stmts Miss Cover
------------------------------------------------------------
osmclient/__init__.py 0 0 100%
osmclient/client.py 32 32 0%
osmclient/common/__init__.py 0 0 100%
osmclient/common/exceptions.py 6 0 100%
osmclient/common/http.py 67 39 42%
osmclient/common/package_tool.py 344 304 12%
osmclient/common/test/test_utils.py 36 0 100%
osmclient/common/utils.py 62 39 37%
osmclient/common/wait.py 84 84 0%
osmclient/scripts/__init__.py 0 0 100%
osmclient/scripts/osm.py 2002 2002 0%
osmclient/sol005/__init__.py 0 0 100%
osmclient/sol005/client.py 95 95 0%
osmclient/sol005/http.py 151 151 0%
osmclient/sol005/k8scluster.py 74 74 0%
osmclient/sol005/ns.py 296 296 0%
osmclient/sol005/nsd.py 123 123 0%
osmclient/sol005/nsi.py 209 209 0%
osmclient/sol005/nst.py 128 128 0%
osmclient/sol005/osmrepo.py 309 259 16%
osmclient/sol005/package.py 62 62 0%
osmclient/sol005/pdud.py 80 80 0%
osmclient/sol005/project.py 74 74 0%
osmclient/sol005/repo.py 69 56 19%
osmclient/sol005/role.py 117 117 0%
osmclient/sol005/sdncontroller.py 97 97 0%
osmclient/sol005/tests/test_osmrepo.py 13 0 100%
osmclient/sol005/user.py 124 124 0%
osmclient/sol005/vim.py 152 152 0%
osmclient/sol005/vnf.py 56 56 0%
osmclient/sol005/vnfd.py 194 194 0%
osmclient/sol005/wim.py 142 142 0%
osmclient/v1/__init__.py 0 0 100%
osmclient/v1/client.py 55 9 84%
osmclient/v1/key.py 18 18 0%
osmclient/v1/ns.py 118 89 25%
osmclient/v1/nsd.py 27 8 70%
osmclient/v1/package.py 34 17 50%
osmclient/v1/tests/test_ns.py 22 0 100%
osmclient/v1/tests/test_nsd.py 20 1 95%
osmclient/v1/tests/test_package.py 15 0 100%
osmclient/v1/tests/test_vnf.py 26 0 100%
osmclient/v1/tests/test_vnfd.py 20 1 95%
osmclient/v1/utils.py 9 4 56%
osmclient/v1/vca.py 27 18 33%
osmclient/v1/vim.py 184 162 12%
osmclient/v1/vnf.py 24 3 88%
osmclient/v1/vnfd.py 25 6 76%
------------------------------------------------------------
TOTAL 5822 5325 9%
cover run-test: commands[3] | coverage report '--omit=*tests*'
Name Stmts Miss Cover
---------------------------------------------------------
osmclient/__init__.py 0 0 100%
osmclient/client.py 32 32 0%
osmclient/common/__init__.py 0 0 100%
osmclient/common/exceptions.py 6 0 100%
osmclient/common/http.py 67 39 42%
osmclient/common/package_tool.py 344 304 12%
osmclient/common/test/test_utils.py 36 0 100%
osmclient/common/utils.py 62 39 37%
osmclient/common/wait.py 84 84 0%
osmclient/scripts/__init__.py 0 0 100%
osmclient/scripts/osm.py 2002 2002 0%
osmclient/sol005/__init__.py 0 0 100%
osmclient/sol005/client.py 95 95 0%
osmclient/sol005/http.py 151 151 0%
osmclient/sol005/k8scluster.py 74 74 0%
osmclient/sol005/ns.py 296 296 0%
osmclient/sol005/nsd.py 123 123 0%
osmclient/sol005/nsi.py 209 209 0%
osmclient/sol005/nst.py 128 128 0%
osmclient/sol005/osmrepo.py 309 259 16%
osmclient/sol005/package.py 62 62 0%
osmclient/sol005/pdud.py 80 80 0%
osmclient/sol005/project.py 74 74 0%
osmclient/sol005/repo.py 69 56 19%
osmclient/sol005/role.py 117 117 0%
osmclient/sol005/sdncontroller.py 97 97 0%
osmclient/sol005/user.py 124 124 0%
osmclient/sol005/vim.py 152 152 0%
osmclient/sol005/vnf.py 56 56 0%
osmclient/sol005/vnfd.py 194 194 0%
osmclient/sol005/wim.py 142 142 0%
osmclient/v1/__init__.py 0 0 100%
osmclient/v1/client.py 55 9 84%
osmclient/v1/key.py 18 18 0%
osmclient/v1/ns.py 118 89 25%
osmclient/v1/nsd.py 27 8 70%
osmclient/v1/package.py 34 17 50%
osmclient/v1/utils.py 9 4 56%
osmclient/v1/vca.py 27 18 33%
osmclient/v1/vim.py 184 162 12%
osmclient/v1/vnf.py 24 3 88%
osmclient/v1/vnfd.py 25 6 76%
---------------------------------------------------------
TOTAL 5706 5323 7%
cover run-test: commands[4] | coverage html -d ./cover '--omit=*tests*'
cover run-test: commands[5] | coverage xml -o coverage.xml '--omit=*tests*'
flake8 create: /tmp/.tox/flake8
flake8 installdeps: flake8
flake8 develop-inst: /opt/jenkins/workspace/osmclient-stage_2-merge_v9.0
flake8 installed: flake8==4.0.1,importlib-metadata==4.2.0,mccabe==0.6.1,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1cbff09ebd242dcba9e0011c083e13e5623f1f5d#egg=osmclient,pycodestyle==2.8.0,pyflakes==2.4.0,typing_extensions==4.0.1,zipp==3.6.0
flake8 run-test-pre: PYTHONHASHSEED='1630188128'
flake8 run-test: commands[0] | - flake8 osmclient/ setup.py
osmclient/client.py:38:35: E231 missing whitespace after ','
verbose = kwargs.get('verbose',0)
^
osmclient/client.py:39:15: E225 missing whitespace around operator
if verbose>0:
^
osmclient/client.py:41:9: E265 block comment should start with '# '
#handler = logging.StreamHandler()
^
osmclient/client.py:43:9: E265 block comment should start with '# '
#logger.addHandler(handler)
^
osmclient/client.py:44:19: E225 missing whitespace around operator
if verbose==1:
^
osmclient/client.py:46:21: E225 missing whitespace around operator
elif verbose==2:
^
osmclient/client.py:48:21: E225 missing whitespace around operator
elif verbose>2:
^
osmclient/scripts/osm.py:40:1: E302 expected 2 blank lines, found 1
def wrap_text(text, width):
^
osmclient/scripts/osm.py:47:4: E111 indentation is not a multiple of 4
if len(text) > length:
^
osmclient/scripts/osm.py:48:8: E111 indentation is not a multiple of 4
return text[:(length - 3)] + '...'
^
osmclient/scripts/osm.py:49:4: E111 indentation is not a multiple of 4
else:
^
osmclient/scripts/osm.py:50:8: E111 indentation is not a multiple of 4
return text
^
osmclient/scripts/osm.py:100:44: W504 line break after binary operator
help='hostname of server. ' +
^
osmclient/scripts/osm.py:102:1: E265 block comment should start with '# '
#@click.option('--sol005/--no-sol005',
^
osmclient/scripts/osm.py:110:49: W504 line break after binary operator
help='user (defaults to admin). ' +
^
osmclient/scripts/osm.py:115:53: W504 line break after binary operator
help='password (defaults to admin). ' +
^
osmclient/scripts/osm.py:120:52: W504 line break after binary operator
help='project (defaults to admin). ' +
^
osmclient/scripts/osm.py:133:90: W504 line break after binary operator
help='project domain name for keystone authentication (default to None). ' +
^
osmclient/scripts/osm.py:138:87: W504 line break after binary operator
help='user domain name for keystone authentication (default to None). ' +
^
osmclient/scripts/osm.py:140:1: E265 block comment should start with '# '
#@click.option('--so-port',
^
osmclient/scripts/osm.py:145:1: E265 block comment should start with '# '
#@click.option('--so-project',
^
osmclient/scripts/osm.py:150:1: E265 block comment should start with '# '
#@click.option('--ro-hostname',
^
osmclient/scripts/osm.py:155:1: E265 block comment should start with '# '
#@click.option('--ro-port',
^
osmclient/scripts/osm.py:166:55: W504 line break after binary operator
"either hostname option or OSM_HOSTNAME " +
^
osmclient/scripts/osm.py:253:9: E265 block comment should start with '# '
#Nets
^
osmclient/scripts/osm.py:259:42: E231 missing whitespace after ','
net_list = status_dict.get('nets',[])
^
osmclient/scripts/osm.py:265:46: E225 missing whitespace around operator
status_nets[net['status']] +=1
^
osmclient/scripts/osm.py:267:14: E231 missing whitespace after ','
for k,v in status_nets.items():
^
osmclient/scripts/osm.py:268:41: E231 missing whitespace after ','
message += "{}:{},".format(k,v)
^
osmclient/scripts/osm.py:271:9: E265 block comment should start with '# '
#VMs and VNFs
^
osmclient/scripts/osm.py:285:48: E225 missing whitespace around operator
status_vms[vm['status']] +=1
^
osmclient/scripts/osm.py:291:14: E231 missing whitespace after ','
for k,v in status_vms.items():
^
osmclient/scripts/osm.py:292:41: E231 missing whitespace after ','
message += "{}:{},".format(k,v)
^
osmclient/scripts/osm.py:296:14: E231 missing whitespace after ','
for k,v in status_vnfs.items():
^
osmclient/scripts/osm.py:299:19: E231 missing whitespace after ','
for k2,v2 in v.items():
^
osmclient/scripts/osm.py:300:46: E231 missing whitespace after ','
message += "{}:{},".format(k2,v2)
^
osmclient/scripts/osm.py:326:22: E231 missing whitespace after ','
for k,v in status_ee[elementType].items():
^
osmclient/scripts/osm.py:327:49: E231 missing whitespace after ','
message += "{}:{},".format(k,v)
^
osmclient/scripts/osm.py:337:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:343:9: E122 continuation line missing indentation or outdented
['ns instance name',
^
osmclient/scripts/osm.py:356:9: E722 do not use bare 'except'
except:
^
osmclient/scripts/osm.py:360:9: E122 continuation line missing indentation or outdented
['ns instance name',
^
osmclient/scripts/osm.py:379:17: E265 block comment should start with '# '
#project = '{} ({})'.format(project_name, project_id)
^
osmclient/scripts/osm.py:384:17: E265 block comment should start with '# '
#vim = '{} ({})'.format(vim_name, vim_id)
^
osmclient/scripts/osm.py:387:77: E231 missing whitespace after ','
current_operation = "{} ({})".format(nsr['currentOperation'],nsr['currentOperationID'])
^
osmclient/scripts/osm.py:389:91: E231 missing whitespace after ','
current_operation = "{} ({})".format(nsr['_admin'].get('current-operation','-'), nsr['_admin']['nslcmop'])
^
osmclient/scripts/osm.py:411:18: E126 continuation line over-indented for hanging indent
[nsr_name,
^
osmclient/scripts/osm.py:412:18: E128 continuation line under-indented for visual indent
nsr_id,
^
osmclient/scripts/osm.py:413:18: E128 continuation line under-indented for visual indent
date,
^
osmclient/scripts/osm.py:414:18: E128 continuation line under-indented for visual indent
ns_state,
^
osmclient/scripts/osm.py:415:18: E128 continuation line under-indented for visual indent
current_operation,
^
osmclient/scripts/osm.py:416:18: E128 continuation line under-indented for visual indent
wrap_text(text=error_details,width=40),
^
osmclient/scripts/osm.py:416:46: E231 missing whitespace after ','
wrap_text(text=error_details,width=40),
^
osmclient/scripts/osm.py:417:18: E128 continuation line under-indented for visual indent
project,
^
osmclient/scripts/osm.py:418:18: E128 continuation line under-indented for visual indent
vim,
^
osmclient/scripts/osm.py:419:18: E128 continuation line under-indented for visual indent
deployment_status,
^
osmclient/scripts/osm.py:420:18: E128 continuation line under-indented for visual indent
config_status])
^
osmclient/scripts/osm.py:423:18: E126 continuation line over-indented for hanging indent
[nsr_name,
^
osmclient/scripts/osm.py:424:18: E128 continuation line under-indented for visual indent
nsr_id,
^
osmclient/scripts/osm.py:425:18: E128 continuation line under-indented for visual indent
date,
^
osmclient/scripts/osm.py:426:18: E128 continuation line under-indented for visual indent
ns_state,
^
osmclient/scripts/osm.py:427:18: E128 continuation line under-indented for visual indent
current_operation,
^
osmclient/scripts/osm.py:428:18: E128 continuation line under-indented for visual indent
wrap_text(text=error_details,width=40)])
^
osmclient/scripts/osm.py:428:46: E231 missing whitespace after ','
wrap_text(text=error_details,width=40)])
^
osmclient/scripts/osm.py:434:1: E302 expected 2 blank lines, found 1
def nsd_list(ctx, filter, long):
^
osmclient/scripts/osm.py:438:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:453:64: E231 missing whitespace after ','
onb_state = nsd['_admin'].get('onboardingState','-')
^
osmclient/scripts/osm.py:454:64: E231 missing whitespace after ','
op_state = nsd['_admin'].get('operationalState','-')
^
osmclient/scripts/osm.py:455:61: E231 missing whitespace after ','
usage_state = nsd['_admin'].get('usageState','-')
^
osmclient/scripts/osm.py:498:46: E231 missing whitespace after ','
name = vnfd.get('id', vnfd.get('name','-'))
^
osmclient/scripts/osm.py:511:1: E302 expected 2 blank lines, found 1
def vnfd_list(ctx, nf_type, filter, long):
^
osmclient/scripts/osm.py:518:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:541:35: E127 continuation line over-indented for visual indent
'usage state', 'date', 'last update'])
^
osmclient/scripts/osm.py:545:50: E231 missing whitespace after ','
name = vnfd.get('id', vnfd.get('name','-'))
^
osmclient/scripts/osm.py:548:65: E231 missing whitespace after ','
onb_state = vnfd['_admin'].get('onboardingState','-')
^
osmclient/scripts/osm.py:549:65: E231 missing whitespace after ','
op_state = vnfd['_admin'].get('operationalState','-')
^
osmclient/scripts/osm.py:552:62: E231 missing whitespace after ','
usage_state = vnfd['_admin'].get('usageState','-')
^
osmclient/scripts/osm.py:555:129: E501 line too long (137 > 128 characters)
table.add_row([name, vnfd['_id'], descriptor_type, vendor, version, onb_state, op_state, usage_state, date, last_update])
^
osmclient/scripts/osm.py:619:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nfpkg-repo-list', short_help='list all xNF from OSM repositories')
^
osmclient/scripts/osm.py:638:19: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:695:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nsd-repo-list', short_help='list all NS from OSM repositories')
^
osmclient/scripts/osm.py:707:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nspkg-repo-list', short_help='list all NS from OSM repositories')
^
osmclient/scripts/osm.py:719:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nf-list', short_help='list all NF instances')
^
osmclient/scripts/osm.py:788:38: E225 missing whitespace around operator
if params['lcmOperationType']=='instantiate':
^
osmclient/scripts/osm.py:793:40: E225 missing whitespace around operator
elif params['lcmOperationType']=='action':
^
osmclient/scripts/osm.py:812:5: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/scripts/osm.py:815:34: E225 missing whitespace around operator
if op['lcmOperationType']=='action':
^
osmclient/scripts/osm.py:825:43: E231 missing whitespace after ','
detail = op.get('errorMessage','-')
^
osmclient/scripts/osm.py:832:89: E231 missing whitespace after ','
wrap_text(text=json.dumps(formatParams(op['operationParams']),indent=2),width=50),
^
osmclient/scripts/osm.py:832:99: E231 missing whitespace after ','
wrap_text(text=json.dumps(formatParams(op['operationParams']),indent=2),width=50),
^
osmclient/scripts/osm.py:836:49: E231 missing whitespace after ','
wrap_text(text=detail,width=50)])
^
osmclient/scripts/osm.py:839:83: E231 missing whitespace after ','
op['operationState'], date, wrap_text(text=detail or "",width=50)])
^
osmclient/scripts/osm.py:850:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:904:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:966:129: E501 line too long (132 > 128 characters)
@cli_osm.command(name='netslice-instance-op-list', short_help='shows the history of operations over a Network Slice Instance (NSI)')
^
osmclient/scripts/osm.py:988:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:1035:65: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:1083:65: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:1091:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:1140:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='vnfpkg-repo-show', short_help='shows the details of a NF package in an OSM repository')
^
osmclient/scripts/osm.py:1183:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nspkg-repo-show', short_help='shows the details of a NS package in an OSM repository')
^
osmclient/scripts/osm.py:1268:69: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:1276:68: E231 missing whitespace after ','
table.add_row([k, wrap_text(json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:1300:13: E122 continuation line missing indentation or outdented
if "namespace" in op_status and "info" in op_status and \
"last_deployed" in op_status["info"] and "status" in op_status["info"] and \
"code" in op_status["info"]["status"] and "resources" in op_status["info"]["status"] and \
"seconds" in op_status["info"]["last_deployed"]:
^
osmclient/scripts/osm.py:1301:13: E122 continuation line missing indentation or outdented
if "namespace" in op_status and "info" in op_status and \
"last_deployed" in op_status["info"] and "status" in op_status["info"] and \
"code" in op_status["info"]["status"] and "resources" in op_status["info"]["status"] and \
"seconds" in op_status["info"]["last_deployed"]:
^
osmclient/scripts/osm.py:1302:13: E122 continuation line missing indentation or outdented
if "namespace" in op_status and "info" in op_status and \
"last_deployed" in op_status["info"] and "status" in op_status["info"] and \
"code" in op_status["info"]["status"] and "resources" in op_status["info"]["status"] and \
"seconds" in op_status["info"]["last_deployed"]:
^
osmclient/scripts/osm.py:1303:129: E501 line too long (139 > 128 characters)
last_deployed_time = datetime.fromtimestamp(op_status["info"]["last_deployed"]["seconds"]).strftime("%a %b %d %I:%M:%S %Y")
^
osmclient/scripts/osm.py:1307:55: E225 missing whitespace around operator
if op_status["info"]["status"]["code"]==1:
^
osmclient/scripts/osm.py:1334:16: E225 missing whitespace around operator
op_data={}
^
osmclient/scripts/osm.py:1341:16: E225 missing whitespace around operator
while t<30:
^
osmclient/scripts/osm.py:1348:14: E211 whitespace before '('
print ("Could not determine KDU status")
^
osmclient/scripts/osm.py:1358:58: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v,indent=2),width=100)])
^
osmclient/scripts/osm.py:1358:68: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v,indent=2),width=100)])
^
osmclient/scripts/osm.py:1366:1: E265 block comment should start with '# '
#@cli_osm.command(name='vnf-monitoring-show')
^
osmclient/scripts/osm.py:1367:1: E265 block comment should start with '# '
#@click.argument('vnf_name')
^
osmclient/scripts/osm.py:1368:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:1369:1: E265 block comment should start with '# '
#def vnf_monitoring_show(ctx, vnf_name):
^
osmclient/scripts/osm.py:1389:1: E265 block comment should start with '# '
#@cli_osm.command(name='ns-monitoring-show')
^
osmclient/scripts/osm.py:1390:1: E265 block comment should start with '# '
#@click.argument('ns_name')
^
osmclient/scripts/osm.py:1391:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:1392:1: E265 block comment should start with '# '
#def ns_monitoring_show(ctx, ns_name):
^
osmclient/scripts/osm.py:1449:5: E265 block comment should start with '# '
#resp = ctx.obj.nst.get_individual(name)
^
osmclient/scripts/osm.py:1579:129: E501 line too long (130 > 128 characters)
@cli_osm.command(name='netslice-instance-op-show', short_help='shows the info of an operation over a Network Slice Instance(NSI)')
^
osmclient/scripts/osm.py:1738:22: E231 missing whitespace after ','
repo,vendor, version):
^
osmclient/scripts/osm.py:1786:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='nfpkg-create', short_help='creates a new NFpkg')
^
osmclient/scripts/osm.py:1866:19: E225 missing whitespace around operator
config=cf.read()
^
osmclient/scripts/osm.py:1932:19: E225 missing whitespace around operator
config=cf.read()
^
osmclient/scripts/osm.py:1949:17: E127 continuation line over-indented for visual indent
'id: TEXT, vim_account: TEXT,\n'
^
osmclient/scripts/osm.py:1982:17: E127 continuation line over-indented for visual indent
'id: TEXT, vim_account: TEXT,\n'
^
osmclient/scripts/osm.py:2008:100: W504 line break after binary operator
help='interface(s) of the PDU: name=<NAME>,mgmt=<true|false>,ip-address=<IP_ADDRESS>'+
^
osmclient/scripts/osm.py:2008:100: E225 missing whitespace around operator
help='interface(s) of the PDU: name=<NAME>,mgmt=<true|false>,ip-address=<IP_ADDRESS>'+
^
osmclient/scripts/osm.py:2034:12: E701 multiple statements on one line (colon)
if name: pdu["name"] = name
^
osmclient/scripts/osm.py:2035:16: E701 multiple statements on one line (colon)
if pdu_type: pdu["type"] = pdu_type
^
osmclient/scripts/osm.py:2036:19: E701 multiple statements on one line (colon)
if description: pdu["description"] = description
^
osmclient/scripts/osm.py:2037:19: E701 multiple statements on one line (colon)
if vim_account: pdu["vim_accounts"] = vim_account
^
osmclient/scripts/osm.py:2041:22: E225 missing whitespace around operator
new_iface={k:v for k,v in [i.split('=') for i in iface.split(',')]}
^
osmclient/scripts/osm.py:2041:25: E231 missing whitespace after ':'
new_iface={k:v for k,v in [i.split('=') for i in iface.split(',')]}
^
osmclient/scripts/osm.py:2041:33: E231 missing whitespace after ','
new_iface={k:v for k,v in [i.split('=') for i in iface.split(',')]}
^
osmclient/scripts/osm.py:2042:54: E231 missing whitespace after ','
new_iface["mgmt"] = (new_iface.get("mgmt","false").lower() == "true")
^
osmclient/scripts/osm.py:2436:129: E501 line too long (136 > 128 characters)
@click.option('--sdn_port_mapping', default=None, help="File describing the port mapping between compute nodes' ports and switch ports")
^
osmclient/scripts/osm.py:2492:129: E501 line too long (136 > 128 characters)
@click.option('--sdn_port_mapping', default=None, help="File describing the port mapping between compute nodes' ports and switch ports")
^
osmclient/scripts/osm.py:2521:15: E701 multiple statements on one line (colon)
if newname: vim['name'] = newname
^
osmclient/scripts/osm.py:2522:12: E701 multiple statements on one line (colon)
if user: vim['vim_user'] = user
^
osmclient/scripts/osm.py:2523:16: E701 multiple statements on one line (colon)
if password: vim['vim_password'] = password
^
osmclient/scripts/osm.py:2524:16: E701 multiple statements on one line (colon)
if auth_url: vim['vim_url'] = auth_url
^
osmclient/scripts/osm.py:2525:14: E701 multiple statements on one line (colon)
if tenant: vim['vim-tenant-name'] = tenant
^
osmclient/scripts/osm.py:2526:20: E701 multiple statements on one line (colon)
if account_type: vim['vim_type'] = account_type
^
osmclient/scripts/osm.py:2527:19: E701 multiple statements on one line (colon)
if description: vim['description'] = description
^
osmclient/scripts/osm.py:2528:14: E701 multiple statements on one line (colon)
if config: vim['config'] = config
^
osmclient/scripts/osm.py:2563:1: E265 block comment should start with '# '
#@click.option('--ro_update/--no_ro_update',
^
osmclient/scripts/osm.py:2575:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:2592:36: E225 missing whitespace around operator
vim['vim_password']='********'
^
osmclient/scripts/osm.py:2599:13: E265 block comment should start with '# '
#project_info = '{} ({})'.format(project_name, project_id)
^
osmclient/scripts/osm.py:2623:29: E225 missing whitespace around operator
resp['vim_password']='********'
^
osmclient/scripts/osm.py:2631:69: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:2691:12: E701 multiple statements on one line (colon)
if user: wim['user'] = user
^
osmclient/scripts/osm.py:2692:16: E701 multiple statements on one line (colon)
if password: wim['password'] = password
^
osmclient/scripts/osm.py:2693:11: E701 multiple statements on one line (colon)
if url: wim['wim_url'] = url
^
osmclient/scripts/osm.py:2696:19: E701 multiple statements on one line (colon)
if description: wim['description'] = description
^
osmclient/scripts/osm.py:2697:14: E701 multiple statements on one line (colon)
if config: wim['config'] = config
^
osmclient/scripts/osm.py:2741:15: E701 multiple statements on one line (colon)
if newname: wim['name'] = newname
^
osmclient/scripts/osm.py:2742:12: E701 multiple statements on one line (colon)
if user: wim['user'] = user
^
osmclient/scripts/osm.py:2743:16: E701 multiple statements on one line (colon)
if password: wim['password'] = password
^
osmclient/scripts/osm.py:2744:11: E701 multiple statements on one line (colon)
if url: wim['url'] = url
^
osmclient/scripts/osm.py:2746:16: E701 multiple statements on one line (colon)
if wim_type: wim['wim_type'] = wim_type
^
osmclient/scripts/osm.py:2747:19: E701 multiple statements on one line (colon)
if description: wim['description'] = description
^
osmclient/scripts/osm.py:2748:14: E701 multiple statements on one line (colon)
if config: wim['config'] = config
^
osmclient/scripts/osm.py:2788:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:2813:29: E225 missing whitespace around operator
resp['wim_password']='********'
^
osmclient/scripts/osm.py:2848:14: E128 continuation line under-indented for visual indent
'Openflow Datapath ID), version: version}')
^
osmclient/scripts/osm.py:2865:64: W504 line break after binary operator
sdncontroller = {x: kwargs[x] for x in kwargs if kwargs[x] and
^
osmclient/scripts/osm.py:2886:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='sdnc-update', short_help='updates an SDN controller')
^
osmclient/scripts/osm.py:2910:64: W504 line break after binary operator
sdncontroller = {x: kwargs[x] for x in kwargs if kwargs[x] and
^
osmclient/scripts/osm.py:2965:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:3017:129: E501 line too long (178 > 128 characters)
help='list of VIM networks, in JSON inline format, where the cluster is accessible via L3 routing, e.g. "{(k8s_net1:vim_network1) [,(k8s_net2:vim_network2) ...]}"')
^
osmclient/scripts/osm.py:3027:1: E265 block comment should start with '# '
#@click.option('--skip-init',
^
osmclient/scripts/osm.py:3030:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3035:16: E128 continuation line under-indented for visual indent
name,
^
osmclient/scripts/osm.py:3036:16: E128 continuation line under-indented for visual indent
creds,
^
osmclient/scripts/osm.py:3037:16: E128 continuation line under-indented for visual indent
version,
^
osmclient/scripts/osm.py:3038:16: E128 continuation line under-indented for visual indent
vim,
^
osmclient/scripts/osm.py:3039:16: E128 continuation line under-indented for visual indent
k8s_nets,
^
osmclient/scripts/osm.py:3040:16: E128 continuation line under-indented for visual indent
description,
^
osmclient/scripts/osm.py:3041:16: E128 continuation line under-indented for visual indent
namespace,
^
osmclient/scripts/osm.py:3042:16: E128 continuation line under-indented for visual indent
cni):
^
osmclient/scripts/osm.py:3058:17: E701 multiple statements on one line (colon)
if namespace: cluster['namespace'] = namespace
^
osmclient/scripts/osm.py:3059:11: E701 multiple statements on one line (colon)
if cni: cluster['cni'] = yaml.safe_load(cni)
^
osmclient/scripts/osm.py:3072:129: E501 line too long (192 > 128 characters)
@click.option('--k8s-nets', help='list of VIM networks, in JSON inline format, where the cluster is accessible via L3 routing, e.g. "{(k8s_net1:vim_network1) [,(k8s_net2:vim_network2) ...]}"')
^
osmclient/scripts/osm.py:3078:16: E128 continuation line under-indented for visual indent
name,
^
osmclient/scripts/osm.py:3079:16: E128 continuation line under-indented for visual indent
newname,
^
osmclient/scripts/osm.py:3080:16: E128 continuation line under-indented for visual indent
creds,
^
osmclient/scripts/osm.py:3081:16: E128 continuation line under-indented for visual indent
version,
^
osmclient/scripts/osm.py:3082:16: E128 continuation line under-indented for visual indent
vim,
^
osmclient/scripts/osm.py:3083:16: E128 continuation line under-indented for visual indent
k8s_nets,
^
osmclient/scripts/osm.py:3084:16: E128 continuation line under-indented for visual indent
description,
^
osmclient/scripts/osm.py:3085:16: E128 continuation line under-indented for visual indent
namespace,
^
osmclient/scripts/osm.py:3086:16: E128 continuation line under-indented for visual indent
cni):
^
osmclient/scripts/osm.py:3094:15: E701 multiple statements on one line (colon)
if newname: cluster['name'] = newname
^
osmclient/scripts/osm.py:3098:15: E701 multiple statements on one line (colon)
if version: cluster['k8s_version'] = version
^
osmclient/scripts/osm.py:3099:11: E701 multiple statements on one line (colon)
if vim: cluster['vim_account'] = vim
^
osmclient/scripts/osm.py:3100:16: E701 multiple statements on one line (colon)
if k8s_nets: cluster['nets'] = yaml.safe_load(k8s_nets)
^
osmclient/scripts/osm.py:3101:19: E701 multiple statements on one line (colon)
if description: cluster['description'] = description
^
osmclient/scripts/osm.py:3102:17: E701 multiple statements on one line (colon)
if namespace: cluster['namespace'] = namespace
^
osmclient/scripts/osm.py:3103:11: E701 multiple statements on one line (colon)
if cni: cluster['cni'] = yaml.safe_load(cni)
^
osmclient/scripts/osm.py:3113:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3142:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:3155:5: E722 do not use bare 'except'
except:
^
osmclient/scripts/osm.py:3160:9: E265 block comment should start with '# '
#vim_info = '{} ({})'.format(vim_name,cluster['vim_account'])
^
osmclient/scripts/osm.py:3167:13: E265 block comment should start with '# '
#project_info = '{} ({})'.format(project_name, project_id)
^
osmclient/scripts/osm.py:3169:70: E231 missing whitespace after ','
detailed_status = cluster["_admin"].get("detailed-status","-")
^
osmclient/scripts/osm.py:3202:65: E231 missing whitespace after ','
table.add_row([k, wrap_text(text=json.dumps(v, indent=2),width=100)])
^
osmclient/scripts/osm.py:3211:1: E303 too many blank lines (3)
###########################
^
osmclient/scripts/osm.py:3215:1: E302 expected 2 blank lines, found 3
@cli_osm.command(name='repo-add', short_help='adds a repo to OSM')
^
osmclient/scripts/osm.py:3231:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3259:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3264:14: E128 continuation line under-indented for visual indent
name,
^
osmclient/scripts/osm.py:3265:14: E128 continuation line under-indented for visual indent
newname,
^
osmclient/scripts/osm.py:3266:14: E128 continuation line under-indented for visual indent
uri,
^
osmclient/scripts/osm.py:3267:14: E128 continuation line under-indented for visual indent
description):
^
osmclient/scripts/osm.py:3279:19: E701 multiple statements on one line (colon)
if description: repo['description'] = description
^
osmclient/scripts/osm.py:3306:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3337:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:3345:9: E265 block comment should start with '# '
#cluster['k8s-nets'] = json.dumps(yaml.safe_load(cluster['k8s-nets']))
^
osmclient/scripts/osm.py:3346:118: E231 missing whitespace after ','
table.add_row([repo['name'], repo['_id'], repo['type'], repo['url'], trunc_text(repo.get('description') or '',40)])
^
osmclient/scripts/osm.py:3387:1: E303 too many blank lines (3)
####################
^
osmclient/scripts/osm.py:3391:1: E302 expected 2 blank lines, found 3
@cli_osm.command(name='project-create', short_help='creates a new project')
^
osmclient/scripts/osm.py:3393:1: E265 block comment should start with '# '
#@click.option('--description',
^
osmclient/scripts/osm.py:3442:1: E265 block comment should start with '# '
#@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
^
osmclient/scripts/osm.py:3468:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:3550:89: E225 missing whitespace around operator
callback=lambda ctx, param, value: ''.join(value).split(',') if all(len(x)==1 for x in value) else value,
^
osmclient/scripts/osm.py:3641:1: E265 block comment should start with '# '
#@click.option('--force', is_flag=True, help='forces the deletion bypassing pre-conditions')
^
osmclient/scripts/osm.py:3667:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:3692:25: E225 missing whitespace around operator
resp['password']='********'
^
osmclient/scripts/osm.py:3752:1: E265 block comment should start with '# '
#@cli_osm.command(name='ns-alarm-delete')
^
osmclient/scripts/osm.py:3753:1: E265 block comment should start with '# '
#@click.argument('name')
^
osmclient/scripts/osm.py:3754:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3755:1: E265 block comment should start with '# '
#def ns_alarm_delete(ctx, name):
^
osmclient/scripts/osm.py:3772:129: E501 line too long (129 > 128 characters)
@cli_osm.command(name='ns-metric-export', short_help='exports a metric to the internal OSM bus, which can be read by other apps')
^
osmclient/scripts/osm.py:3780:1: E265 block comment should start with '# '
#@click.option('--period', default='1w',
^
osmclient/scripts/osm.py:3805:71: E231 missing whitespace after ','
print('{} {}'.format(ctx.obj.ns.export_metric(metric_data),i))
^
osmclient/scripts/osm.py:3807:14: E225 missing whitespace around operator
i+=1
^
osmclient/scripts/osm.py:3823:10: E211 whitespace before '('
print ("Server version: {}".format(ctx.obj.get_version()))
^
osmclient/scripts/osm.py:3824:10: E211 whitespace before '('
print ("Client version: {}".format(pkg_resources.get_distribution("osmclient").version))
^
osmclient/scripts/osm.py:3829:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='upload-package', short_help='uploads a VNF package or NS package')
^
osmclient/scripts/osm.py:3850:1: E265 block comment should start with '# '
#@cli_osm.command(name='ns-scaling-show')
^
osmclient/scripts/osm.py:3851:1: E265 block comment should start with '# '
#@click.argument('ns_name')
^
osmclient/scripts/osm.py:3852:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3853:1: E265 block comment should start with '# '
#def show_ns_scaling(ctx, ns_name):
^
osmclient/scripts/osm.py:3892:1: E265 block comment should start with '# '
#@cli_osm.command(name='ns-scale')
^
osmclient/scripts/osm.py:3893:1: E265 block comment should start with '# '
#@click.argument('ns_name')
^
osmclient/scripts/osm.py:3894:1: E265 block comment should start with '# '
#@click.option('--ns_scale_group', prompt=True)
^
osmclient/scripts/osm.py:3895:1: E265 block comment should start with '# '
#@click.option('--index', prompt=True)
^
osmclient/scripts/osm.py:3896:1: E265 block comment should start with '# '
#@click.option('--wait',
^
osmclient/scripts/osm.py:3902:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3903:1: E265 block comment should start with '# '
#def ns_scale(ctx, ns_name, ns_scale_group, index, wait):
^
osmclient/scripts/osm.py:3916:1: E265 block comment should start with '# '
#@cli_osm.command(name='config-agent-list')
^
osmclient/scripts/osm.py:3917:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3918:1: E265 block comment should start with '# '
#def config_agent_list(ctx):
^
osmclient/scripts/osm.py:3935:1: E265 block comment should start with '# '
#@cli_osm.command(name='config-agent-delete')
^
osmclient/scripts/osm.py:3936:1: E265 block comment should start with '# '
#@click.argument('name')
^
osmclient/scripts/osm.py:3937:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3938:1: E265 block comment should start with '# '
#def config_agent_delete(ctx, name):
^
osmclient/scripts/osm.py:3951:1: E265 block comment should start with '# '
#@cli_osm.command(name='config-agent-add')
^
osmclient/scripts/osm.py:3952:1: E265 block comment should start with '# '
#@click.option('--name',
^
osmclient/scripts/osm.py:3954:1: E265 block comment should start with '# '
#@click.option('--account_type',
^
osmclient/scripts/osm.py:3956:1: E265 block comment should start with '# '
#@click.option('--server',
^
osmclient/scripts/osm.py:3958:1: E265 block comment should start with '# '
#@click.option('--user',
^
osmclient/scripts/osm.py:3960:1: E265 block comment should start with '# '
#@click.option('--secret',
^
osmclient/scripts/osm.py:3964:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3965:1: E265 block comment should start with '# '
#def config_agent_add(ctx, name, account_type, server, user, secret):
^
osmclient/scripts/osm.py:3975:1: E265 block comment should start with '# '
#@cli_osm.command(name='ro-dump')
^
osmclient/scripts/osm.py:3976:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3977:1: E265 block comment should start with '# '
#def ro_dump(ctx):
^
osmclient/scripts/osm.py:3988:1: E265 block comment should start with '# '
#@cli_osm.command(name='vcs-list')
^
osmclient/scripts/osm.py:3989:1: E265 block comment should start with '# '
#@click.pass_context
^
osmclient/scripts/osm.py:3990:1: E265 block comment should start with '# '
#def vcs_list(ctx):
^
osmclient/scripts/osm.py:4189:15: E225 missing whitespace around operator
filter='&'.join(filter)
^
osmclient/scripts/osm.py:4227:14: E128 continuation line under-indented for visual indent
short_help='Create empty NS package structure')
^
osmclient/scripts/osm.py:4320:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='package-validate',
^
osmclient/scripts/osm.py:4362:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='package-translate',
^
osmclient/scripts/osm.py:4377:22: E128 continuation line under-indented for visual indent
base_directory,
^
osmclient/scripts/osm.py:4378:22: E128 continuation line under-indented for visual indent
recursive,
^
osmclient/scripts/osm.py:4379:22: E128 continuation line under-indented for visual indent
dryrun):
^
osmclient/scripts/osm.py:4393:129: E501 line too long (139 > 128 characters)
table.add_row([result["current type"], result["new type"], result["path"], result["valid"], result["translated"], result["error"]])
^
osmclient/scripts/osm.py:4403:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='package-build',
^
osmclient/scripts/osm.py:4404:14: E128 continuation line under-indented for visual indent
short_help='Build the tar.gz of the package')
^
osmclient/scripts/osm.py:4434:1: E302 expected 2 blank lines, found 1
@cli_osm.command(name='descriptor-translate',
^
osmclient/scripts/osm.py:4435:129: E501 line too long (133 > 128 characters)
short_help='Translate input descriptor file from Rel EIGHT OSM descriptors to SOL006 and prints in standard output')
^
osmclient/scripts/osm.py:4473:1: W391 blank line at end of file
^
osmclient/common/http.py:53:68: E231 missing whitespace after ','
self._logger.info("Request METHOD: {} URL: {}".format("GET",self._url + endpoint))
^
osmclient/common/http.py:68:71: E231 missing whitespace after ','
self._logger.info("Request METHOD: {} URL: {}".format("DELETE",self._url + endpoint))
^
osmclient/common/http.py:95:69: E231 missing whitespace after ','
self._logger.info("Request METHOD: {} URL: {}".format("POST",self._url + endpoint))
^
osmclient/common/package_tool.py:117:25: E201 whitespace after '('
if ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:117:35: E225 missing whitespace around operator
if ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:117:56: E225 missing whitespace around operator
if ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:117:63: E202 whitespace before ')'
if ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:118:129: E501 line too long (140 > 128 characters)
print("OSM descriptor '{}' written in an unsupported format. Please update to ETSI SOL006 format".format(desc_path))
^
osmclient/common/package_tool.py:154:25: E201 whitespace after '('
if not ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:154:35: E225 missing whitespace around operator
if not ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:154:56: E225 missing whitespace around operator
if not ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:154:63: E202 whitespace before ')'
if not ( desc_type=="vnfd" or desc_type=="nsd" ):
^
osmclient/common/package_tool.py:155:129: E501 line too long (153 > 128 characters)
table.append({"current type": desc_type, "new type": desc_type, "path": desc_path, "valid": "OK", "translated": "N/A", "error": "-"})
^
osmclient/common/package_tool.py:159:129: E501 line too long (151 > 128 characters)
sol006_model = yaml.safe_dump(im_translation.translate_im_model_to_sol006(descriptor_data), indent=4, default_flow_style=False)
^
osmclient/common/package_tool.py:165:129: E501 line too long (160 > 128 characters)
table.append({"current type": desc_type, "new type": new_desc_type, "path": desc_path, "valid": "OK", "translated": "OK", "error": "-"})
^
osmclient/common/package_tool.py:167:129: E501 line too long (211 > 128 characters)
table.append({"current type": desc_type, "new type": new_desc_type, "path": desc_path, "valid": "OK", "translated": "ERROR", "error": "Error in the post-validation: {}".format(str(ve2))})
^
osmclient/common/package_tool.py:169:129: E501 line too long (206 > 128 characters)
table.append({"current type": desc_type, "new type": new_desc_type, "path": desc_path, "valid": "OK", "translated": "ERROR", "error": "Error in the translation: {}".format(str(e2))})
^
osmclient/common/package_tool.py:171:129: E501 line too long (194 > 128 characters)
table.append({"current type": desc_type, "new type": "N/A", "path": desc_path, "valid": "ERROR", "translated": "N/A", "error": "Error in the pre-validation: {}".format(str(ve))})
^
osmclient/common/package_tool.py:173:129: E501 line too long (151 > 128 characters)
table.append({"current type": desc_type, "new type": "N/A", "path": desc_path, "valid": "ERROR", "translated": "N/A", "error": str(e)})
^
osmclient/common/package_tool.py:364:129: E501 line too long (146 > 128 characters)
raise ClientException('Descriptor filename is not correct in: {}. It should end with "nfd.yaml" or "nsd.yaml"'.format(package_folder))
^
osmclient/common/package_tool.py:522:13: E265 block comment should start with '# '
#self._logger.debug("\n"+yaml.safe_dump(descriptor_dict, indent=4, default_flow_style=False))
^
osmclient/common/package_tool.py:524:17: E201 whitespace after '('
if ( (desc_type=="vnf" and ("vnfd:vnfd-catalog" in descriptor_dict or "vnfd-catalog" in descriptor_dict)) or
^
osmclient/common/package_tool.py:524:28: E225 missing whitespace around operator
if ( (desc_type=="vnf" and ("vnfd:vnfd-catalog" in descriptor_dict or "vnfd-catalog" in descriptor_dict)) or
^
osmclient/common/package_tool.py:524:119: W504 line break after binary operator
if ( (desc_type=="vnf" and ("vnfd:vnfd-catalog" in descriptor_dict or "vnfd-catalog" in descriptor_dict)) or
^
osmclient/common/package_tool.py:525:28: E225 missing whitespace around operator
(desc_type=="ns" and ( "nsd:nsd-catalog" in descriptor_dict or "nsd-catalog" in descriptor_dict)) ):
^
osmclient/common/package_tool.py:525:40: E201 whitespace after '('
(desc_type=="ns" and ( "nsd:nsd-catalog" in descriptor_dict or "nsd-catalog" in descriptor_dict)) ):
^
osmclient/common/package_tool.py:525:115: E202 whitespace before ')'
(desc_type=="ns" and ( "nsd:nsd-catalog" in descriptor_dict or "nsd-catalog" in descriptor_dict)) ):
^
osmclient/common/utils.py:62:46: W504 line break after binary operator
if (re.match('.*.yaml', member.name) and
^
osmclient/v1/vnf.py:31:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vim.py:61:12: E114 indentation is not a multiple of 4 (comment)
#'openstack' not in vim_access['vim-type']):
^
osmclient/v1/vim.py:61:12: E265 block comment should start with '# '
#'openstack' not in vim_access['vim-type']):
^
osmclient/v1/vim.py:69:12: E111 indentation is not a multiple of 4
vim_config = yaml.safe_load(vim_access['config'])
^
osmclient/v1/vim.py:84:5: E303 too many blank lines (2)
def _update_ro_accounts(self):
^
osmclient/v1/vim.py:86:21: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vim.py:93:45: E126 continuation line over-indented for hanging indent
"ro-account": account['name'],
^
osmclient/v1/vim.py:95:41: E126 continuation line over-indented for hanging indent
}
^
osmclient/v1/vim.py:98:21: E128 continuation line under-indented for visual indent
refresh_body)
^
osmclient/v1/vim.py:103:5: E303 too many blank lines (2)
def update_vim_account_dict(self, vim_account, vim_access, vim_config):
^
osmclient/v1/vim.py:146:53: E127 continuation line over-indented for visual indent
.format(vim_name))
^
osmclient/v1/vim.py:160:21: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vim.py:173:25: E128 continuation line under-indented for visual indent
if 'uuid' in datacenter else None})
^
osmclient/v1/vim.py:198:63: E128 continuation line under-indented for visual indent
tenant['uuid']))
^
osmclient/v1/vim.py:233:21: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vim.py:270:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/ns.py:38:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/ns.py:147:15: E126 continuation line over-indented for hanging indent
'api/operational/{}ns-instance-opdata/nsr/{}?deep'
^
osmclient/v1/ns.py:171:21: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path, ns['id']))
^
osmclient/v1/nsd.py:33:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vnfd.py:33:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vca.py:32:17: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path))
^
osmclient/v1/vca.py:58:33: E128 continuation line under-indented for visual indent
.format(self._client.so_rbac_project_path), postdata):
^
osmclient/v1/client.py:75:17: E126 continuation line over-indented for hanging indent
self._host,
^
osmclient/v1/client.py:128:1: W391 blank line at end of file
^
osmclient/sol005/vnf.py:26:1: E302 expected 2 blank lines, found 1
class Vnf(object):
^
osmclient/sol005/vnf.py:52:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/vnf.py:53:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/vnf.py:84:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/wim.py:87:13: E265 block comment should start with '# '
#wim_account['config'] = json.dumps(wim_config)
^
osmclient/sol005/wim.py:90:40: E128 continuation line under-indented for visual indent
postfields_dict=wim_account)
^
osmclient/sol005/wim.py:91:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/wim.py:92:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/wim.py:93:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/wim.py:103:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/wim.py:119:41: E225 missing whitespace around operator
if wim_account.get('config')=="" and (wim_port_mapping):
^
osmclient/sol005/wim.py:121:41: E225 missing whitespace around operator
if wim_account.get('config')=="":
^
osmclient/sol005/wim.py:129:9: E265 block comment should start with '# '
#wim_account['config'] = json.dumps(wim_config)
^
osmclient/sol005/wim.py:130:85: E231 missing whitespace after ','
http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase,wim['_id']),
^
osmclient/sol005/wim.py:131:40: E128 continuation line under-indented for visual indent
postfields_dict=wim_account)
^
osmclient/sol005/wim.py:132:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/wim.py:133:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/wim.py:134:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/wim.py:143:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/wim.py:182:42: E128 continuation line under-indented for visual indent
wim_id, querystring))
^
osmclient/sol005/wim.py:201:26: E271 multiple spaces after keyword
msg = resp or ""
^
osmclient/sol005/wim.py:217:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/wim.py:223:25: E128 continuation line under-indented for visual indent
if '_id' in datacenter else None})
^
osmclient/sol005/wim.py:235:71: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase,wim_id))
^
osmclient/sol005/wim.py:237:23: E222 multiple spaces after operator
resp = json.loads(resp)
^
osmclient/sol005/wim.py:243:1: W391 blank line at end of file
^
osmclient/sol005/vim.py:75:13: E265 block comment should start with '# '
#'openstack' not in vim_access['vim-type']):
^
osmclient/sol005/vim.py:93:13: E265 block comment should start with '# '
#vim_account['config'] = json.dumps(vim_config)
^
osmclient/sol005/vim.py:96:40: E128 continuation line under-indented for visual indent
postfields_dict=vim_account)
^
osmclient/sol005/vim.py:97:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/vim.py:98:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/vim.py:99:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/vim.py:109:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/vim.py:125:41: E225 missing whitespace around operator
if vim_account.get('config')=="" and (sdn_controller or sdn_port_mapping):
^
osmclient/sol005/vim.py:127:41: E225 missing whitespace around operator
if vim_account.get('config')=="":
^
osmclient/sol005/vim.py:142:9: E265 block comment should start with '# '
#vim_account['config'] = json.dumps(vim_config)
^
osmclient/sol005/vim.py:143:85: E231 missing whitespace after ','
http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
^
osmclient/sol005/vim.py:144:40: E128 continuation line under-indented for visual indent
postfields_dict=vim_account)
^
osmclient/sol005/vim.py:147:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/vim.py:156:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/vim.py:194:42: E128 continuation line under-indented for visual indent
vim_id, querystring))
^
osmclient/sol005/vim.py:195:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/vim.py:196:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/vim.py:228:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/vim.py:245:71: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase,vim_id))
^
osmclient/sol005/vim.py:253:1: W391 blank line at end of file
^
osmclient/sol005/k8scluster.py:24:1: E302 expected 2 blank lines, found 1
class K8scluster(object):
^
osmclient/sol005/k8scluster.py:45:40: E128 continuation line under-indented for visual indent
postfields_dict=k8s_cluster)
^
osmclient/sol005/k8scluster.py:46:9: E265 block comment should start with '# '
#print 'HTTP CODE: {}'.format(http_code)
^
osmclient/sol005/k8scluster.py:47:9: E265 block comment should start with '# '
#print 'RESP: {}'.format(resp)
^
osmclient/sol005/k8scluster.py:48:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/k8scluster.py:54:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/k8scluster.py:66:83: E231 missing whitespace after ','
http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,cluster['_id']),
^
osmclient/sol005/k8scluster.py:67:40: E128 continuation line under-indented for visual indent
postfields_dict=k8s_cluster)
^
osmclient/sol005/k8scluster.py:70:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/k8scluster.py:72:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/k8scluster.py:98:42: E128 continuation line under-indented for visual indent
cluster_id, querystring))
^
osmclient/sol005/k8scluster.py:99:9: E265 block comment should start with '# '
#print 'HTTP CODE: {}'.format(http_code)
^
osmclient/sol005/k8scluster.py:100:9: E265 block comment should start with '# '
#print 'RESP: {}'.format(resp)
^
osmclient/sol005/k8scluster.py:121:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/k8scluster.py:134:71: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase,cluster_id))
^
osmclient/sol005/k8scluster.py:142:1: W391 blank line at end of file
^
osmclient/sol005/ns.py:66:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/ns.py:97:13: E265 block comment should start with '# '
#resp = self._http.get_cmd('{}/{}/nsd_content'.format(self._apiBase, ns_id))
^
osmclient/sol005/ns.py:98:13: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/sol005/ns.py:130:50: E128 continuation line under-indented for visual indent
ns['_id'], querystring))
^
osmclient/sol005/ns.py:192:9: E265 block comment should start with '# '
#ns['userdata'] = {}
^
osmclient/sol005/ns.py:193:9: E265 block comment should start with '# '
#ns['userdata']['key1']='value1'
^
osmclient/sol005/ns.py:194:9: E265 block comment should start with '# '
#ns['userdata']['key2']='value2'
^
osmclient/sol005/ns.py:235:42: E128 continuation line under-indented for visual indent
"'member-vnf-index'")
^
osmclient/sol005/ns.py:252:47: E231 missing whitespace after ','
http_header = ['{}: {}'.format(key,val)
^
osmclient/sol005/ns.py:253:27: E128 continuation line under-indented for visual indent
for (key,val) in list(headers.items())]
^
osmclient/sol005/ns.py:253:35: E231 missing whitespace after ','
for (key,val) in list(headers.items())]
^
osmclient/sol005/ns.py:256:36: E128 continuation line under-indented for visual indent
postfields_dict=ns)
^
osmclient/sol005/ns.py:259:13: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/ns.py:270:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/ns.py:279:20: E225 missing whitespace around operator
message="failed to create ns: {} nsd: {}\nerror:\n{}".format(
^
osmclient/sol005/ns.py:293:39: E128 continuation line under-indented for visual indent
self._apiVersion, self._apiResource)
^
osmclient/sol005/ns.py:296:18: E111 indentation is not a multiple of 4
filter_string = '&{}'.format(filter)
^
osmclient/sol005/ns.py:296:18: E117 over-indented
filter_string = '&{}'.format(filter)
^
osmclient/sol005/ns.py:298:56: E126 continuation line over-indented for hanging indent
self._apiBase, ns['_id'],
^
osmclient/sol005/ns.py:299:70: E202 whitespace before ')'
filter_string) )
^
osmclient/sol005/ns.py:300:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:301:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:318:20: E225 missing whitespace around operator
message="failed to get operation list of NS {}:\nerror:\n{}".format(
^
osmclient/sol005/ns.py:331:39: E128 continuation line under-indented for visual indent
self._apiVersion, self._apiResource)
^
osmclient/sol005/ns.py:333:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:334:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:351:20: E225 missing whitespace around operator
message="failed to get status of operation {}:\nerror:\n{}".format(
^
osmclient/sol005/ns.py:367:13: E265 block comment should start with '# '
#print('OP_NAME: {}'.format(op_name))
^
osmclient/sol005/ns.py:368:13: E265 block comment should start with '# '
#print('OP_DATA: {}'.format(json.dumps(op_data)))
^
osmclient/sol005/ns.py:370:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:371:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:372:13: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/ns.py:377:35: E126 continuation line over-indented for hanging indent
resp))
^
osmclient/sol005/ns.py:383:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/ns.py:392:20: E225 missing whitespace around operator
message="failed to exec operation {}:\nerror:\n{}".format(
^
osmclient/sol005/ns.py:403:20: E225 missing whitespace around operator
op_data={}
^
osmclient/sol005/ns.py:421:20: E225 missing whitespace around operator
message="failed to scale vnf {} of ns {}:\nerror:\n{}".format(
^
osmclient/sol005/ns.py:433:40: E128 continuation line under-indented for visual indent
postfields_dict=data)
^
osmclient/sol005/ns.py:434:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:435:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:439:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/ns.py:449:20: E225 missing whitespace around operator
message="failed to create alarm: alarm {}\n{}".format(
^
osmclient/sol005/ns.py:463:40: E128 continuation line under-indented for visual indent
postfields_dict=data)
^
osmclient/sol005/ns.py:464:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:465:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:469:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/ns.py:479:20: E225 missing whitespace around operator
message="failed to delete alarm: alarm {}\n{}".format(
^
osmclient/sol005/ns.py:491:40: E128 continuation line under-indented for visual indent
postfields_dict=data)
^
osmclient/sol005/ns.py:492:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/ns.py:493:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/ns.py:497:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/ns.py:507:20: E225 missing whitespace around operator
message="failed to export metric: metric {}\n{}".format(
^
osmclient/sol005/ns.py:523:1: W391 blank line at end of file
^
osmclient/sol005/pdud.py:46:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/pdud.py:73:9: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/sol005/pdud.py:85:42: E128 continuation line under-indented for visual indent
pdud['_id'], querystring))
^
osmclient/sol005/pdud.py:86:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/pdud.py:87:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/pdud.py:104:16: E225 missing whitespace around operator
headers= self._client._headers
^
osmclient/sol005/pdud.py:106:43: E231 missing whitespace after ','
http_header = ['{}: {}'.format(key,val)
^
osmclient/sol005/pdud.py:107:23: E128 continuation line under-indented for visual indent
for (key,val) in list(headers.items())]
^
osmclient/sol005/pdud.py:107:31: E231 missing whitespace after ','
for (key,val) in list(headers.items())]
^
osmclient/sol005/pdud.py:113:13: E265 block comment should start with '# '
#endpoint = '{}{}'.format(self._apiBase,ow_string)
^
osmclient/sol005/pdud.py:115:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/pdud.py:116:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/pdud.py:117:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/pdud.py:124:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/pdud.py:138:1: W391 blank line at end of file
^
osmclient/sol005/user.py:68:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/user.py:69:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/user.py:70:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/user.py:77:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/user.py:147:46: E128 continuation line under-indented for visual indent
postfields_dict=update_user, skip_query_admin=True)
^
osmclient/sol005/user.py:159:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/user.py:178:42: E128 continuation line under-indented for visual indent
user['_id'], querystring), skip_query_admin=True)
^
osmclient/sol005/user.py:179:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/user.py:180:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/user.py:204:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string), skip_query_admin=True)
^
osmclient/sol005/user.py:205:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/user.py:225:1: W391 blank line at end of file
^
osmclient/sol005/sdncontroller.py:76:40: E128 continuation line under-indented for visual indent
postfields_dict=sdn_controller)
^
osmclient/sol005/sdncontroller.py:77:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/sdncontroller.py:78:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/sdncontroller.py:79:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/sdncontroller.py:89:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/sdncontroller.py:105:85: E231 missing whitespace after ','
http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase,sdnc['_id']),
^
osmclient/sol005/sdncontroller.py:109:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/sdncontroller.py:118:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/sdncontroller.py:166:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/sdncontroller.py:167:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/sdncontroller.py:186:1: W391 blank line at end of file
^
osmclient/sol005/role.py:72:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/role.py:79:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/role.py:165:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/role.py:190:66: E127 continuation line over-indented for visual indent
skip_query_admin=True)
^
osmclient/sol005/role.py:220:82: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase, filter_string),skip_query_admin=True)
^
osmclient/sol005/role.py:245:1: W391 blank line at end of file
^
osmclient/sol005/nst.py:28:1: E265 block comment should start with '# '
#from os import stat
^
osmclient/sol005/nst.py:29:1: E265 block comment should start with '# '
#from os.path import basename
^
osmclient/sol005/nst.py:31:1: E302 expected 2 blank lines, found 1
class Nst(object):
^
osmclient/sol005/nst.py:50:9: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/sol005/nst.py:75:13: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/sol005/nst.py:91:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nst.py:92:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nst.py:93:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/nst.py:95:13: E265 block comment should start with '# '
#store in a file
^
osmclient/sol005/nst.py:97:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/nst.py:125:42: E128 continuation line under-indented for visual indent
nst['_id'], querystring))
^
osmclient/sol005/nst.py:126:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nst.py:127:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nst.py:163:26: E126 continuation line over-indented for hanging indent
"Unexpected MIME type for file {}: MIME type {}".format(
^
osmclient/sol005/nst.py:165:23: E126 continuation line over-indented for hanging indent
)
^
osmclient/sol005/nst.py:166:20: E225 missing whitespace around operator
headers= self._client._headers
^
osmclient/sol005/nst.py:171:17: E265 block comment should start with '# '
#headers['Content-Type'] = 'application/binary'
^
osmclient/sol005/nst.py:173:17: E265 block comment should start with '# '
#headers['Content-Filename'] = basename(filename)
^
osmclient/sol005/nst.py:174:17: E265 block comment should start with '# '
#file_size = stat(filename).st_size
^
osmclient/sol005/nst.py:175:17: E265 block comment should start with '# '
#headers['Content-Range'] = 'bytes 0-{}/{}'.format(file_size - 1, file_size)
^
osmclient/sol005/nst.py:178:26: E126 continuation line over-indented for hanging indent
"Unexpected MIME type for file {}: MIME type {}".format(
^
osmclient/sol005/nst.py:180:23: E126 continuation line over-indented for hanging indent
)
^
osmclient/sol005/nst.py:182:47: E231 missing whitespace after ','
http_header = ['{}: {}'.format(key,val)
^
osmclient/sol005/nst.py:183:27: E128 continuation line under-indented for visual indent
for (key,val) in list(headers.items())]
^
osmclient/sol005/nst.py:183:35: E231 missing whitespace after ','
for (key,val) in list(headers.items())]
^
osmclient/sol005/nst.py:194:55: E231 missing whitespace after ','
endpoint = '{}{}'.format(self._apiBase,ow_string)
^
osmclient/sol005/nst.py:196:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nst.py:197:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nst.py:218:1: W391 blank line at end of file
^
osmclient/sol005/vnfd.py:212:50: E127 continuation line over-indented for visual indent
cpu_override_string = "virtual-compute-desc.{}.virtual-cpu={};"\
.format(vcd_number, quote(yaml.safe_dump(virtual_cpu)))
^
osmclient/sol005/vnfd.py:214:47: E127 continuation line over-indented for visual indent
memory_override_string = "virtual-compute-desc.{}.virtual-memory={};"\
.format(vcd_number, quote(yaml.safe_dump(virtual_memory)))
^
osmclient/sol005/vnfd.py:228:50: E127 continuation line over-indented for visual indent
cpu_override_string = "virtual-compute-desc.{}.virtual-cpu={};"\
.format(vcd_number, quote(yaml.safe_dump(virtual_cpu)))
^
osmclient/sol005/vnfd.py:230:47: E127 continuation line over-indented for visual indent
memory_override_string = "virtual-compute-desc.{}.virtual-memory={};"\
.format(vcd_number, quote(yaml.safe_dump(virtual_memory)))
^
osmclient/sol005/nsi.py:67:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/nsi.py:98:13: E265 block comment should start with '# '
#resp = self._http.get_cmd('{}/{}/nsd_content'.format(self._apiBase, nsi_id))
^
osmclient/sol005/nsi.py:99:13: E265 block comment should start with '# '
#print(yaml.safe_dump(resp))
^
osmclient/sol005/nsi.py:113:42: E128 continuation line under-indented for visual indent
nsi['_id'], querystring))
^
osmclient/sol005/nsi.py:161:9: E265 block comment should start with '# '
#nsi['userdata'] = {}
^
osmclient/sol005/nsi.py:162:9: E265 block comment should start with '# '
#nsi['userdata']['key1']='value1'
^
osmclient/sol005/nsi.py:163:9: E265 block comment should start with '# '
#nsi['userdata']['key2']='value2'
^
osmclient/sol005/nsi.py:230:47: E231 missing whitespace after ','
http_header = ['{}: {}'.format(key,val)
^
osmclient/sol005/nsi.py:231:27: E128 continuation line under-indented for visual indent
for (key,val) in list(headers.items())]
^
osmclient/sol005/nsi.py:231:35: E231 missing whitespace after ','
for (key,val) in list(headers.items())]
^
osmclient/sol005/nsi.py:234:36: E128 continuation line under-indented for visual indent
postfields_dict=nsi)
^
osmclient/sol005/nsi.py:235:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nsi.py:236:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nsi.py:237:13: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/nsi.py:242:35: E126 continuation line over-indented for hanging indent
resp))
^
osmclient/sol005/nsi.py:247:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/nsi.py:256:20: E225 missing whitespace around operator
message="failed to create nsi: {} nst: {}\nerror:\n{}".format(
^
osmclient/sol005/nsi.py:270:39: E128 continuation line under-indented for visual indent
self._apiVersion, self._apiResource)
^
osmclient/sol005/nsi.py:275:56: E126 continuation line over-indented for hanging indent
self._apiBase, nsi['_id'],
^
osmclient/sol005/nsi.py:276:70: E202 whitespace before ')'
filter_string) )
^
osmclient/sol005/nsi.py:277:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nsi.py:278:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nsi.py:279:13: E265 block comment should start with '# '
#if http_code == 200:
^
osmclient/sol005/nsi.py:284:18: E111 indentation is not a multiple of 4
raise ClientException('unexpected response from server')
^
osmclient/sol005/nsi.py:284:18: E117 over-indented
raise ClientException('unexpected response from server')
^
osmclient/sol005/nsi.py:285:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/nsi.py:295:20: E225 missing whitespace around operator
message="failed to get operation list of NSI {}:\nerror:\n{}".format(
^
osmclient/sol005/nsi.py:308:39: E128 continuation line under-indented for visual indent
self._apiVersion, self._apiResource)
^
osmclient/sol005/nsi.py:310:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nsi.py:311:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nsi.py:312:13: E265 block comment should start with '# '
#if http_code == 200:
^
osmclient/sol005/nsi.py:318:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/nsi.py:328:20: E225 missing whitespace around operator
message="failed to get status of operation {}:\nerror:\n{}".format(
^
osmclient/sol005/nsi.py:343:13: E265 block comment should start with '# '
#print('OP_NAME: {}'.format(op_name))
^
osmclient/sol005/nsi.py:344:13: E265 block comment should start with '# '
#print('OP_DATA: {}'.format(json.dumps(op_data)))
^
osmclient/sol005/nsi.py:346:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/nsi.py:347:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/nsi.py:348:13: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/nsi.py:353:35: E126 continuation line over-indented for hanging indent
resp))
^
osmclient/sol005/nsi.py:355:13: E265 block comment should start with '# '
#else:
^
osmclient/sol005/nsi.py:364:20: E225 missing whitespace around operator
message="failed to exec operation {}:\nerror:\n{}".format(
^
osmclient/sol005/nsi.py:368:1: W391 blank line at end of file
^
osmclient/sol005/osmrepo.py:147:108: W504 line break after binary operator
if ((pkgtype == 'vnf' and (pkg_descriptor.get('vnfd') or pkg_descriptor.get('vnfd:vnfd_catalog'))) or
^
osmclient/sol005/project.py:48:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/project.py:49:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/project.py:50:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/project.py:57:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/project.py:73:46: E128 continuation line under-indented for visual indent
postfields_dict=project_changes,
^
osmclient/sol005/project.py:74:46: E128 continuation line under-indented for visual indent
skip_query_admin=True)
^
osmclient/sol005/project.py:86:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/project.py:107:9: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/project.py:108:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/project.py:132:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string),
^
osmclient/sol005/project.py:133:53: E127 continuation line over-indented for visual indent
skip_query_admin=True)
^
osmclient/sol005/project.py:134:9: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/project.py:153:1: W391 blank line at end of file
^
osmclient/sol005/package.py:21:1: E265 block comment should start with '# '
#from os import stat
^
osmclient/sol005/package.py:22:1: E265 block comment should start with '# '
#from os.path import basename
^
osmclient/sol005/package.py:93:13: E265 block comment should start with '# '
#endpoint = '/nsds' if pkg_type['type'] == 'nsd' else '/vnfds'
^
osmclient/sol005/package.py:94:13: E265 block comment should start with '# '
#print('Endpoint: {}'.format(endpoint))
^
osmclient/sol005/package.py:97:13: E265 block comment should start with '# '
#headers['Content-Type'] = 'application/binary'
^
osmclient/sol005/package.py:99:13: E265 block comment should start with '# '
#headers['Content-Filename'] = basename(filename)
^
osmclient/sol005/package.py:100:13: E265 block comment should start with '# '
#file_size = stat(filename).st_size
^
osmclient/sol005/package.py:101:13: E265 block comment should start with '# '
#headers['Content-Range'] = 'bytes 0-{}/{}'.format(file_size - 1, file_size)
^
osmclient/sol005/package.py:103:47: E231 missing whitespace after ','
http_header = ['{}: {}'.format(key,val)
^
osmclient/sol005/package.py:104:27: E128 continuation line under-indented for visual indent
for (key,val) in list(headers.items())]
^
osmclient/sol005/package.py:104:35: E231 missing whitespace after ','
for (key,val) in list(headers.items())]
^
osmclient/sol005/package.py:107:13: E265 block comment should start with '# '
#print('HTTP CODE: {}'.format(http_code))
^
osmclient/sol005/package.py:108:13: E265 block comment should start with '# '
#print('RESP: {}'.format(resp))
^
osmclient/sol005/package.py:109:13: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/package.py:114:40: E126 continuation line over-indented for hanging indent
resp))
^
osmclient/sol005/repo.py:24:1: E302 expected 2 blank lines, found 1
class Repo(object):
^
osmclient/sol005/repo.py:37:40: E128 continuation line under-indented for visual indent
postfields_dict=repo)
^
osmclient/sol005/repo.py:38:9: E265 block comment should start with '# '
#print 'HTTP CODE: {}'.format(http_code)
^
osmclient/sol005/repo.py:39:9: E265 block comment should start with '# '
#print 'RESP: {}'.format(resp)
^
osmclient/sol005/repo.py:40:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/repo.py:47:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/repo.py:59:83: E231 missing whitespace after ','
http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,repo_dict['_id']),
^
osmclient/sol005/repo.py:60:40: E128 continuation line under-indented for visual indent
postfields_dict=repo)
^
osmclient/sol005/repo.py:63:9: E265 block comment should start with '# '
#if http_code in (200, 201, 202, 204):
^
osmclient/sol005/repo.py:65:9: E265 block comment should start with '# '
#else:
^
osmclient/sol005/repo.py:92:42: E128 continuation line under-indented for visual indent
repo_id, querystring))
^
osmclient/sol005/repo.py:93:9: E265 block comment should start with '# '
#print 'HTTP CODE: {}'.format(http_code)
^
osmclient/sol005/repo.py:94:9: E265 block comment should start with '# '
#print 'RESP: {}'.format(resp)
^
osmclient/sol005/repo.py:115:66: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}{}'.format(self._apiBase,filter_string))
^
osmclient/sol005/repo.py:128:71: E231 missing whitespace after ','
_, resp = self._http.get2_cmd('{}/{}'.format(self._apiBase,repo_id))
^
osmclient/sol005/repo.py:136:1: W391 blank line at end of file
^
osmclient/sol005/client.py:21:1: E265 block comment should start with '# '
#from osmclient.v1 import vca
^
osmclient/sol005/client.py:74:50: E231 missing whitespace after ','
'https://{}:{}/osm'.format(self._host,self._so_port), **kwargs)
^
osmclient/sol005/client.py:132:9: E265 block comment should start with '# '
#print(http_code, resp)
^
osmclient/sol005/client.py:144:17: E711 comparison to None should be 'if cond is not None:'
if host != None:
^
osmclient/sol005/client.py:145:23: E225 missing whitespace around operator
self._host=host
^
osmclient/sol005/client.py:146:13: E221 multiple spaces before operator
port = kwargs.pop('port', None)
^
osmclient/sol005/client.py:147:17: E711 comparison to None should be 'if cond is not None:'
if port != None:
^
osmclient/sol005/client.py:148:26: E225 missing whitespace around operator
self._so_port=port
^
pylint create: /tmp/.tox/pylint
pylint installdeps: -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements.txt, -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements-dev.txt, -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements-test.txt, pylint
pylint develop-inst: /opt/jenkins/workspace/osmclient-stage_2-merge_v9.0
pylint installed: astroid==2.9.0,bitarray==2.3.4,certifi==2020.12.5,chardet==4.0.0,click==7.1.2,coverage==5.5,enum34==1.1.10,idna==2.10,importlib-metadata==4.8.2,isort==5.10.1,Jinja2==2.11.3,lazy-object-proxy==1.6.0,lxml==4.7.1,MarkupSafe==1.1.1,mccabe==0.6.1,mock==4.0.3,nose2==0.10.0,osm-im @ git+https://osm.etsi.org/gerrit/osm/IM.git@35517bbfdb9b9e5e26ca1909d9ecf6398a8bb062,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1cbff09ebd242dcba9e0011c083e13e5623f1f5d#egg=osmclient,packaging==20.9,platformdirs==2.4.0,prettytable==2.1.0,pyang==2.5.2,pyangbind==0.8.1,pycurl==7.43.0.6,pylint==2.12.2,pyparsing==2.4.7,python-magic==0.4.22,PyYAML==5.4.1,regex==2021.11.10,requests==2.25.1,six==1.16.0,toml==0.10.2,typed-ast==1.5.1,typing_extensions==4.0.1,urllib3==1.26.4,verboselogs==1.7,wcwidth==0.2.5,wrapt==1.13.3,zipp==3.6.0
pylint run-test-pre: PYTHONHASHSEED='1630188128'
pylint run-test: commands[0] | - pylint -E osmclient
************* Module osmclient.client
osmclient/client.py:47:34: E1101: Module 'logging' has no 'VERBOSE' member (no-member)
************* Module osmclient.scripts.osm
osmclient/scripts/osm.py:4455:8: E1120: No value for argument 'ctx' in function call (no-value-for-parameter)
************* Module osmclient.common.http
osmclient/common/http.py:53:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:56:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:59:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:68:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:71:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:74:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:95:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:98:8: E1101: Instance of 'Http' has no '_logger' member (no-member)
osmclient/common/http.py:101:12: E1101: Instance of 'Http' has no '_logger' member (no-member)
************* Module osmclient.sol005.pdud
osmclient/sol005/pdud.py:137:8: E1123: Unexpected keyword argument 'filename' in method call (unexpected-keyword-arg)
osmclient/sol005/pdud.py:137:8: E1120: No value for argument 'pdu' in method call (no-value-for-parameter)
safety create: /tmp/.tox/safety
safety installdeps: -r/opt/jenkins/workspace/osmclient-stage_2-merge_v9.0/requirements.txt, safety
safety develop-inst: /opt/jenkins/workspace/osmclient-stage_2-merge_v9.0
safety installed: certifi==2020.12.5,chardet==4.0.0,click==7.1.2,dparse==0.5.1,idna==2.10,importlib-metadata==4.8.2,Jinja2==2.11.3,MarkupSafe==1.1.1,-e git+https://osm.etsi.org/gerrit/osm/osmclient.git@1cbff09ebd242dcba9e0011c083e13e5623f1f5d#egg=osmclient,packaging==20.9,prettytable==2.1.0,pycurl==7.43.0.6,pyparsing==2.4.7,python-magic==0.4.22,PyYAML==5.4.1,requests==2.25.1,safety==1.10.3,toml==0.10.2,typing_extensions==4.0.1,urllib3==1.26.4,verboselogs==1.7,wcwidth==0.2.5,zipp==3.6.0
safety run-test-pre: PYTHONHASHSEED='1630188128'
safety run-test: commands[0] | - safety check --full-report
+==============================================================================+
| |
| /$$$$$$ /$$ |
| /$$__ $$ | $$ |
| /$$$$$$$ /$$$$$$ | $$ \__//$$$$$$ /$$$$$$ /$$ /$$ |
| /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ |
| | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ |
| \____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ |
| /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ |
| |_______/ \_______/|__/ \_______/ \___/ \____ $$ |
| /$$ | $$ |
| | $$$$$$/ |
| by pyup.io \______/ |
| |
+==============================================================================+
| REPORT |
| checked 26 packages, using free DB (updated once a month) |
+==============================================================================+
| No known security vulnerabilities found. |
+==============================================================================+
___________________________________ summary ____________________________________
black: commands succeeded
cover: commands succeeded
flake8: commands succeeded
pylint: commands succeeded
safety: commands succeeded
congratulations :)