Exemplo n.º 1
0
 def _cmd_run(self, request, run_result_key, bot_id):
     # Only one of 'command' or 'inputs_ref' can be set.
     out = {
         'cmd': 'run',
         'manifest': {
             'bot_id':
             bot_id,
             'command':
             request.properties.commands[0]
             if request.properties.commands else None,
             'data':
             request.properties.data,
             'dimensions':
             request.properties.dimensions,
             'env':
             request.properties.env,
             'extra_args':
             request.properties.extra_args,
             'grace_period':
             request.properties.grace_period_secs,
             'hard_timeout':
             request.properties.execution_timeout_secs,
             'host':
             utils.get_versioned_hosturl(),
             'io_timeout':
             request.properties.io_timeout_secs,
             'inputs_ref':
             request.properties.inputs_ref,
             'task_id':
             task_pack.pack_run_result_key(run_result_key),
         },
     }
     self.send_response(utils.to_json_encodable(out))
Exemplo n.º 2
0
 def _cmd_run(self, request, run_result_key, bot_id):
   out = {
     'cmd': 'run',
     'manifest': {
       'bot_id': bot_id,
       'command': request.properties.commands[0],
       'data': request.properties.data,
       'env': request.properties.env,
       'grace_period': request.properties.grace_period_secs,
       'host': utils.get_versioned_hosturl(),
       'hard_timeout': request.properties.execution_timeout_secs,
       'io_timeout': request.properties.io_timeout_secs,
       'task_id': task_pack.pack_run_result_key(run_result_key),
     },
   }
   self.send_response(out)
Exemplo n.º 3
0
 def _cmd_run(self, request, run_result_key, bot_id):
     # Only one of 'command' or 'inputs_ref' can be set.
     out = {
         "cmd": "run",
         "manifest": {
             "bot_id": bot_id,
             "command": request.properties.commands[0] if request.properties.commands else None,
             "data": request.properties.data,
             "dimensions": request.properties.dimensions,
             "env": request.properties.env,
             "extra_args": request.properties.extra_args,
             "grace_period": request.properties.grace_period_secs,
             "hard_timeout": request.properties.execution_timeout_secs,
             "host": utils.get_versioned_hosturl(),
             "io_timeout": request.properties.io_timeout_secs,
             "inputs_ref": request.properties.inputs_ref,
             "task_id": task_pack.pack_run_result_key(run_result_key),
         },
     }
     self.send_response(utils.to_json_encodable(out))
Exemplo n.º 4
0
 def _cmd_run(self, request, run_result_key, bot_id):
     cmd = None
     if request.properties.commands:
         cmd = request.properties.commands[0]
     elif request.properties.command:
         cmd = request.properties.command
     out = {
         'cmd': 'run',
         'manifest': {
             'bot_id': bot_id,
             'caches': [c.to_dict() for c in request.properties.caches],
             'cipd_input': {
                 'client_package':
                 (request.properties.cipd_input.client_package.to_dict()),
                 'packages': [
                     p.to_dict()
                     for p in request.properties.cipd_input.packages
                 ],
                 'server':
                 request.properties.cipd_input.server,
             } if request.properties.cipd_input else None,
             'command': cmd,
             'dimensions': request.properties.dimensions,
             'env': request.properties.env,
             'extra_args': request.properties.extra_args,
             'grace_period': request.properties.grace_period_secs,
             'hard_timeout': request.properties.execution_timeout_secs,
             'host': utils.get_versioned_hosturl(),
             'io_timeout': request.properties.io_timeout_secs,
             'isolated': {
                 'input': request.properties.inputs_ref.isolated,
                 'namespace': request.properties.inputs_ref.namespace,
                 'server': request.properties.inputs_ref.isolatedserver,
             } if request.properties.inputs_ref else None,
             'service_account': request.service_account,
             'task_id': task_pack.pack_run_result_key(run_result_key),
         },
     }
     self.send_response(utils.to_json_encodable(out))
Exemplo n.º 5
0
 def _cmd_run(self, request, run_result_key, bot_id):
   # Only one of 'command' or 'inputs_ref' can be set.
   out = {
     'cmd': 'run',
     'manifest': {
       'bot_id': bot_id,
       'command':
           request.properties.commands[0]
           if request.properties.commands else None,
       'data': request.properties.data,
       'dimensions': request.properties.dimensions,
       'env': request.properties.env,
       'extra_args': request.properties.extra_args,
       'grace_period': request.properties.grace_period_secs,
       'hard_timeout': request.properties.execution_timeout_secs,
       'host': utils.get_versioned_hosturl(),
       'io_timeout': request.properties.io_timeout_secs,
       'inputs_ref': request.properties.inputs_ref,
       'task_id': task_pack.pack_run_result_key(run_result_key),
     },
   }
   self.send_response(utils.to_json_encodable(out))
Exemplo n.º 6
0
 def _cmd_run(self, request, run_result_key, bot_id):
     cmd = None
     if request.properties.commands:
         cmd = request.properties.commands[0]
     elif request.properties.command:
         cmd = request.properties.command
     out = {
         'cmd': 'run',
         'manifest': {
             'bot_id':
             bot_id,
             'command':
             cmd,
             'dimensions':
             request.properties.dimensions,
             'env':
             request.properties.env,
             'extra_args':
             request.properties.extra_args,
             'grace_period':
             request.properties.grace_period_secs,
             'hard_timeout':
             request.properties.execution_timeout_secs,
             'host':
             utils.get_versioned_hosturl(),
             'io_timeout':
             request.properties.io_timeout_secs,
             'inputs_ref':
             request.properties.inputs_ref,
             'packages': [{
                 'package_name': p.package_name,
                 'version': p.version,
             } for p in request.properties.packages],
             'task_id':
             task_pack.pack_run_result_key(run_result_key),
         },
     }
     self.send_response(utils.to_json_encodable(out))
Exemplo n.º 7
0
 def _cmd_run(self, request, secret_bytes, run_result, bot_id,
              bot_group_cfg):
     logging.info('Run: %s', request.task_id)
     props = request.task_slice(run_result.current_task_slice).properties
     out = {
         'cmd': 'run',
         'manifest': {
             'bot_id':
             bot_id,
             'bot_authenticated_as':
             auth.get_peer_identity().to_bytes(),
             'caches': [c.to_dict() for c in props.caches],
             'cipd_input': {
                 'client_package':
                 props.cipd_input.client_package.to_dict(),
                 'packages':
                 [p.to_dict() for p in props.cipd_input.packages],
                 'server': props.cipd_input.server,
             } if props.cipd_input else None,
             'command':
             props.command,
             'dimensions':
             props.dimensions,
             'env':
             props.env,
             'env_prefixes':
             props.env_prefixes,
             'extra_args':
             props.extra_args,
             'grace_period':
             props.grace_period_secs,
             'hard_timeout':
             props.execution_timeout_secs,
             'host':
             utils.get_versioned_hosturl(),
             'io_timeout':
             props.io_timeout_secs,
             'secret_bytes': (secret_bytes.secret_bytes.encode('base64')
                              if secret_bytes else None),
             'isolated': {
                 'input': props.inputs_ref.isolated,
                 'namespace': props.inputs_ref.namespace,
                 'server': props.inputs_ref.isolatedserver,
             } if props.inputs_ref else None,
             'outputs':
             props.outputs,
             'relative_cwd':
             props.relative_cwd,
             'service_accounts': {
                 'system': {
                     # 'none', 'bot' or email. Bot interprets 'none' and 'bot' locally.
                     # When it sees something else, it uses /oauth_token API endpoint to
                     # grab tokens through server.
                     'service_account':
                     bot_group_cfg.system_service_account or 'none',
                 },
                 'task': {
                     # Same here.
                     'service_account': request.service_account,
                 },
             },
             'task_id':
             task_pack.pack_run_result_key(run_result.key),
         },
     }
     self.send_response(utils.to_json_encodable(out))