Exemplo n.º 1
0
 def create(deployment_yaml, output, wait):
     yatai_client = YataiClient()
     platform_name = deployment_yaml.get('spec', {}).get('operator')
     deployment_name = deployment_yaml.get('name')
     track_cli('deploy-create', platform_name)
     try:
         with Spinner('Creating deployment '):
             result = yatai_client.deployment.create(deployment_yaml, wait)
         if result.status.status_code != status_pb2.Status.OK:
             error_code, error_message = status_pb_to_error_code_and_message(
                 result.status
             )
             track_cli(
                 'deploy-create-failure',
                 platform_name,
                 {'error_code': error_code, 'error_message': error_message},
             )
             _echo(
                 f'Failed to create deployment {deployment_name} '
                 f'{error_code}:{error_message}',
                 CLI_COLOR_ERROR,
             )
             return
         track_cli('deploy-create-success', platform_name)
         _echo(
             f'Successfully created deployment {deployment_name}', CLI_COLOR_SUCCESS,
         )
         _print_deployment_info(result.deployment, output)
     except BentoMLException as e:
         _echo(
             f'Failed to create deployment {deployment_name} {str(e)}',
             CLI_COLOR_ERROR,
         )
Exemplo n.º 2
0
 def get(name, namespace, output):
     yatai_client = YataiClient()
     track_cli('deploy-get')
     get_result = yatai_client.deployment.get(namespace, name)
     if get_result.status.status_code != status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             get_result.status
         )
         _echo(
             f'Failed to get deployment {name}. ' f'{error_code}:{error_message}',
             CLI_COLOR_ERROR,
         )
         return
     describe_result = yatai_client.deployment.describe(
         namespace=namespace, name=name
     )
     if describe_result.status.status_code != status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             describe_result.status
         )
         _echo(
             f'Failed to retrieve the latest status for deployment'
             f' {name}. {error_code}:{error_message}',
             CLI_COLOR_ERROR,
         )
         return
     get_result.deployment.state.CopyFrom(describe_result.state)
     _print_deployment_info(get_result.deployment, output)
Exemplo n.º 3
0
 def create(deployment_yaml, output, wait):
     yatai_client = get_default_yatai_client()
     deployment_name = deployment_yaml.get('name')
     with Spinner('Creating deployment '):
         result = yatai_client.deployment.create(deployment_yaml, wait)
     if result.status.status_code != yatai_proto.status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             result.status)
         raise CLIException(f'{error_code}:{error_message}')
     _echo(
         f'Successfully created deployment {deployment_name}',
         CLI_COLOR_SUCCESS,
     )
     _print_deployment_info(result.deployment, output)
Exemplo n.º 4
0
 def apply(deployment_yaml, output, wait):
     deployment_name = deployment_yaml.get('name')
     yatai_client = YataiClient()
     with Spinner('Applying deployment'):
         result = yatai_client.deployment.apply(deployment_yaml, wait)
     if result.status.status_code != status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             result.status)
         raise CLIException(f'{error_code}:{error_message}')
     _echo(
         f'Successfully applied deployment {deployment_name}',
         CLI_COLOR_SUCCESS,
     )
     _print_deployment_info(result.deployment, output)
Exemplo n.º 5
0
 def get(name, namespace, output):
     yatai_client = get_default_yatai_client()
     get_result = yatai_client.deployment.get(namespace, name)
     if get_result.status.status_code != yatai_proto.status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             get_result.status)
         raise CLIException(f'{error_code}:{error_message}')
     describe_result = yatai_client.deployment.describe(namespace=namespace,
                                                        name=name)
     if describe_result.status.status_code != yatai_proto.status_pb2.Status.OK:
         error_code, error_message = status_pb_to_error_code_and_message(
             describe_result.status)
         raise CLIException(f'{error_code}:{error_message}')
     get_result.deployment.state.CopyFrom(describe_result.state)
     _print_deployment_info(get_result.deployment, output)
Exemplo n.º 6
0
 def apply(deployment_yaml, output, wait):
     track_cli('deploy-apply',
               deployment_yaml.get('spec', {}).get('operator'))
     platform_name = deployment_yaml.get('spec', {}).get('operator')
     deployment_name = deployment_yaml.get('name')
     try:
         yatai_client = YataiClient()
         with Spinner('Applying deployment'):
             result = yatai_client.deployment.apply(deployment_yaml, wait)
         if result.status.status_code != status_pb2.Status.OK:
             error_code, error_message = status_pb_to_error_code_and_message(
                 result.status)
             track_cli(
                 'deploy-apply-failure',
                 platform_name,
                 {
                     'error_code': error_code,
                     'error_message': error_message
                 },
             )
             _echo(
                 f'Failed to apply deployment {deployment_name} '
                 f'{error_code}:{error_message}',
                 CLI_COLOR_ERROR,
             )
             return
         track_cli('deploy-create-success', platform_name)
         _echo(
             f'Successfully applied deployment {deployment_name}',
             CLI_COLOR_SUCCESS,
         )
         _print_deployment_info(result.deployment, output)
     except BentoMLException as e:
         track_cli(
             'deploy-apply-failure',
             platform_name,
             {'error_message': str(e)},
         )
         _echo(
             'Failed to apply deployment {name}. Error message: {message}'.
             format(name=deployment_yaml.get('name'), message=e))