コード例 #1
0
    def describe(name, output, namespace):
        track_cli('deploy-describe')
        yatai_service = get_yatai_service()

        result = describe_deployment(namespace, name, yatai_service)
        if result.status.status_code != status_pb2.Status.OK:
            _echo(
                'Failed to describe deployment {name}. {error_code}:'
                '{error_message}'.format(
                    name=name,
                    error_code=status_pb2.Status.Code.Name(
                        result.status.status_code),
                    error_message=result.status.error_message,
                ),
                CLI_COLOR_ERROR,
            )
        else:
            get_result = get_deployment(namespace, name)
            if get_result.status.status_code != status_pb2.Status.OK:
                _echo(
                    'Failed to describe deployment {name}. {error_code}:'
                    '{error_message}'.format(
                        name=name,
                        error_code=status_pb2.Status.Code.Name(
                            result.status.status_code),
                        error_message=result.status.error_message,
                    ),
                    CLI_COLOR_ERROR,
                )
            deployment_pb = get_result.deployment
            deployment_pb.state.CopyFrom(result.state)
            _print_deployment_info(deployment_pb, output)
コード例 #2
0
    def get(name, output, namespace):
        track_cli('deploy-get')

        yatai_service = get_yatai_service()
        result = get_deployment(namespace, name, yatai_service)
        if result.status.status_code != status_pb2.Status.OK:
            _echo(
                'Failed to get deployment {name}. code: {error_code}, message: '
                '{error_message}'.format(
                    name=name,
                    error_code=status_pb2.Status.Code.Name(
                        result.status.status_code),
                    error_message=result.status.error_message,
                ),
                CLI_COLOR_ERROR,
            )
        else:
            _print_deployment_info(result.deployment, output)
コード例 #3
0
 def delete(name, namespace, force):
     yatai_service = get_yatai_service()
     get_deployment_result = get_deployment(namespace, name, yatai_service)
     if get_deployment_result.status.status_code != status_pb2.Status.OK:
         _echo(
             'Failed to get deployment {} for deletion. {}:{}'.format(
                 name,
                 status_pb2.Status.Code.Name(
                     get_deployment_result.status.status_code),
                 get_deployment_result.status.error_message,
             ),
             CLI_COLOR_ERROR,
         )
         return
     platform = DeploymentSpec.DeploymentOperator.Name(
         get_deployment_result.deployment.spec.operator)
     track_cli('deploy-delete', platform)
     result = delete_deployment(name, namespace, force, yatai_service)
     if result.status.status_code == status_pb2.Status.OK:
         extra_properties = {}
         if get_deployment_result.deployment.created_at:
             stopped_time = datetime.utcnow()
             extra_properties['uptime'] = int(
                 (stopped_time -
                  get_deployment_result.deployment.created_at.ToDatetime()
                  ).total_seconds())
         track_cli('deploy-delete-success', platform, extra_properties)
         _echo('Successfully deleted deployment "{}"'.format(name),
               CLI_COLOR_SUCCESS)
     else:
         _echo(
             'Failed to delete deployment {name}. code: {error_code}, message: '
             '{error_message}'.format(
                 name=name,
                 error_code=status_pb2.Status.Code.Name(
                     result.status.status_code),
                 error_message=result.status.error_message,
             ),
             CLI_COLOR_ERROR,
         )