Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions tsp/tsp_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,3 +465,40 @@ def delete_configuration(self, type_id, config_id):
else: # pragma: no cover
print("post extension failed: {0}".format(response.status_code))
return TspClientResponse(None, response.status_code, response.text)

def apply_configuration(self, exp_uuid, type_id, config_id, is_trace):
'''
Load an extension
'''
api_url = '{0}experiments/{1}/config/types/{2}/configs'.format(
self.base_url, exp_uuid, type_id)

if is_trace:
api_url = '{0}traces/{1}/config/types/{2}/configs'.format(
self.base_url, exp_uuid, type_id)

my_parameters = {'configId': config_id }
parameters = {'parameters': my_parameters}

response = requests.post(api_url, json=parameters, headers=headers)

if response.status_code == 200:
return TspClientResponse("Loaded", response.status_code, response.text)
else: # pragma: no cover
print("post extension failed: {0}".format(response.status_code))
return TspClientResponse(None, response.status_code, response.text)

def remove_configuration(self, exp_uuid, type_id, config_id):
'''
Load an extension
'''
api_url = '{0}experiments/{1}/config/types/{2}/configs/{3}'.format(
self.base_url, exp_uuid, type_id, config_id)

response = requests.delete(api_url, headers=headers_form)

if response.status_code == 200:
return TspClientResponse("Loaded", response.status_code, response.text)
else: # pragma: no cover
print("post extension failed: {0}".format(response.status_code))
return TspClientResponse(None, response.status_code, response.text)
35 changes: 35 additions & 0 deletions tsp_cli_client
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,15 @@ if __name__ == "__main__":
action='store_true', help="Update an configuration using paramemeters provided by --params")
parser.add_argument("--delete-configuration", dest="delete_configuration",
help="Delete a configuration", metavar="CONFIGURATION_ID")
parser.add_argument("--apply-configuration", dest="apply_configuration",
help="Load an configuration with path to file", metavar="UUID")
parser.add_argument("--remove-configuration", dest="remove_configuration",
help="Remove a configuration", metavar="UUID")
parser.add_argument("--type-id", dest="type_id", help="id of configuration source type")
parser.add_argument("--config-id", dest="config_id", help="id of configuration")
parser.add_argument("--params", dest="params", help="semicolon separated key value pairs (key1=val1;key2=val2)")
parser.add_argument("--is-trace", dest="is-trace",
action='store_true', help="specify if UUID is for trace if ommitted the by defaut it's for an experiment.")

argcomplete.autocomplete(parser)
options = parser.parse_args()
Expand Down Expand Up @@ -510,6 +516,35 @@ if __name__ == "__main__":
else:
print("No source typeId provided to delete this configuration")

if options.apply_configuration:
if options.type_id is not None:
if options.config_id is not None:
response = tsp_client.apply_configuration(options.apply_configuration, options.type_id, options.config_id, False)
if response.status_code == 200:
sys.exit(0)
else:
print("apply configuration failed")
sys.exit(1)
else:
print("No config id to configuration file provided")
sys.exit(1)
else:
print("No typeId provided")

if options.remove_configuration:
if options.type_id is not None:
if options.config_id is not None:
response = tsp_client.remove_configuration(options.remove_configuration, options.type_id, options.config_id)
if response.status_code == 200:
sys.exit(0)
else:
print("Remove configuration failed")
sys.exit(1)
else:
print("No config id to configuration file provided")
sys.exit(1)
else:
print("No source typeId provided to delete this configuration")

except requests.exceptions.ConnectionError as e:
print('Unexpected error: {0}'.format(e))
Expand Down