Repository: incubator-ariatosca Updated Branches: refs/heads/avia-cli 1d153e6c7 -> 0833c0d39
fixed logs and executions commands Project: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/commit/cadc6aae Tree: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/tree/cadc6aae Diff: http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/diff/cadc6aae Branch: refs/heads/avia-cli Commit: cadc6aae765a4caa371f2a81c9aa2deb58c280ea Parents: 1d153e6 Author: Ran Ziv <[email protected]> Authored: Thu Mar 30 11:37:25 2017 +0300 Committer: Ran Ziv <[email protected]> Committed: Thu Mar 30 11:37:25 2017 +0300 ---------------------------------------------------------------------- aria/cli/commands/executions.py | 45 +++++++++++++++--------------------- aria/cli/commands/logs.py | 18 +++++++++------ aria/cli/main.py | 2 ++ aria/core.py | 2 +- 4 files changed, 33 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cadc6aae/aria/cli/commands/executions.py ---------------------------------------------------------------------- diff --git a/aria/cli/commands/executions.py b/aria/cli/commands/executions.py index 08b7c20..74f2e25 100644 --- a/aria/cli/commands/executions.py +++ b/aria/cli/commands/executions.py @@ -25,11 +25,7 @@ from ...storage.exceptions import StorageError from ...orchestrator.workflow_runner import WorkflowRunner from ...utils import threading -_STATUS_CANCELING_MESSAGE = ( - 'NOTE: Executions currently in a "canceling/force-canceling" status ' - 'may take a while to change into "cancelled"') - -EXECUTION_COLUMNS = ['id', 'workflow_name', 'status', 'service_id', +EXECUTION_COLUMNS = ['id', 'workflow_name', 'status', 'service_name', 'created_at', 'error'] @@ -58,61 +54,58 @@ def show(execution_id, model_storage, logger): except StorageError: raise AriaCliError('Execution {0} not found'.format(execution_id)) - print_data(EXECUTION_COLUMNS, execution, 'Execution:', max_width=50) + print_data(EXECUTION_COLUMNS, execution.to_dict(), 'Execution:', max_width=50) # print execution parameters logger.info('Execution Inputs:') - execution_inputs = [ei.to_dict() for ei in execution.inputs] - for input_name, input_value in formatting.decode_dict( - execution_inputs).iteritems(): - logger.info('\t{0}: \t{1}'.format(input_name, input_value)) - if execution.status in (execution.CANCELLING, execution.FORCE_CANCELLING): - logger.info(_STATUS_CANCELING_MESSAGE) + if execution.inputs: + #TODO check this section, havent tested it + execution_inputs = [ei.to_dict() for ei in execution.inputs] + for input_name, input_value in formatting.decode_dict( + execution_inputs).iteritems(): + logger.info('\t{0}: \t{1}'.format(input_name, input_value)) + else: + logger.info('\tNo inputs') logger.info('') @executions.command(name='list', short_help='List service executions') [email protected]_id(required=False) [email protected]_name(required=False) @aria.options.sort_by() @aria.options.descending @aria.options.verbose() @aria.pass_model_storage @aria.pass_logger -def list(service_id, +def list(service_name, sort_by, descending, model_storage, logger): """List executions - If `SERVICE_ID` is provided, list executions for that service. + If `SERVICE_NAME` is provided, list executions for that service. Otherwise, list executions for all services. """ - if service_id: + if service_name: logger.info('Listing executions for service {0}...'.format( - service_id)) + service_name)) try: - service = model_storage.service.get(service_id) + service = model_storage.service.get_by_name(service_name) filters = dict(service=service) except StorageError: raise AriaCliError('Service {0} does not exist'.format( - service_id)) + service_name)) else: logger.info('Listing all executions...') filters = {} - executions = model_storage.execution.list( + executions = [e.to_dict() for e in model_storage.execution.list( filters=filters, - sort=utils.storage_sort_param(sort_by, descending)) + sort=utils.storage_sort_param(sort_by, descending))] print_data(EXECUTION_COLUMNS, executions, 'Executions:') - if any(execution.status in ( - execution.CANCELLING, execution.FORCE_CANCELLING) - for execution in executions): - logger.info(_STATUS_CANCELING_MESSAGE) - @executions.command(name='start', short_help='Execute a workflow') http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cadc6aae/aria/cli/commands/logs.py ---------------------------------------------------------------------- diff --git a/aria/cli/commands/logs.py b/aria/cli/commands/logs.py index f5331be..3662063 100644 --- a/aria/cli/commands/logs.py +++ b/aria/cli/commands/logs.py @@ -15,7 +15,6 @@ from .. import utils from ..cli import aria -from ..logger import get_events_logger @aria.group(name='logs') @@ -40,10 +39,15 @@ def list(execution_id, """Display logs for an execution """ logger.info('Listing logs for execution id {0}'.format(execution_id)) - events_logger = get_events_logger(json_output) - logs = model_storage.logs.list(filters=dict(execution_id=execution_id), - sort=utils.storage_sort_param('created_at', False)) - # TODO: print logs + # events_logger = get_events_logger(json_output) + logs = model_storage.log.list(filters=dict(execution_fk=execution_id), + sort=utils.storage_sort_param('created_at', False)) + # TODO: print logs nicely + if logs: + for log in logs: + print log + else: + logger.info('\tNo logs') @logs.command(name='delete', @@ -58,7 +62,7 @@ def delete(execution_id, model_storage, logger): `EXECUTION_ID` is the execution logs to delete. """ logger.info('Deleting logs for execution id {0}'.format(execution_id)) - logs = model_storage.logs.list(filters=dict(execution_id=execution_id)) + logs = model_storage.log.list(filters=dict(execution_fk=execution_id)) for log in logs: - model_storage.logs.delete(log) + model_storage.log.delete(log) logger.info('Deleted logs for execution id {0}'.format(execution_id)) http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cadc6aae/aria/cli/main.py ---------------------------------------------------------------------- diff --git a/aria/cli/main.py b/aria/cli/main.py index 65db170..4544e40 100644 --- a/aria/cli/main.py +++ b/aria/cli/main.py @@ -28,6 +28,7 @@ from .commands import nodes from .commands import workflows from .commands import executions from .commands import plugins +from .commands import logs from .. import install_aria_extensions @@ -57,6 +58,7 @@ def _register_commands(): _aria.add_command(workflows.workflows) _aria.add_command(executions.executions) _aria.add_command(plugins.plugins) + _aria.add_command(logs.logs) _register_commands() http://git-wip-us.apache.org/repos/asf/incubator-ariatosca/blob/cadc6aae/aria/core.py ---------------------------------------------------------------------- diff --git a/aria/core.py b/aria/core.py index 99b209d..dc8eba5 100644 --- a/aria/core.py +++ b/aria/core.py @@ -66,7 +66,7 @@ class Core(object): "existing services") self.model_storage.service_template.delete(service_template) - self.resource_storage.service_template.delete(entry_id=str(service_template.name)) + self.resource_storage.service_template.delete(entry_id=str(service_template.id)) def create_service(self, service_template_name, inputs, service_name): service_template = self.model_storage.service_template.get_by_name(service_template_name)
