[Notes] [Git][BuildStream/buildstream][raoul/627-RE-instance-config] Add remote execution instance option



Title: GitLab

Raoul Hidalgo Charman pushed to branch raoul/627-RE-instance-config at BuildStream / buildstream

Commits:

3 changed files:

Changes:

  • buildstream/_project.py
    ... ... @@ -131,6 +131,7 @@ class Project():
    131 131
     
    
    132 132
             self.artifact_cache_specs = None
    
    133 133
             self.remote_execution_url = None
    
    134
    +        self.remote_execution_instance = None
    
    134 135
             self._sandbox = None
    
    135 136
             self._splits = None
    
    136 137
     
    
    ... ... @@ -494,8 +495,9 @@ class Project():
    494 495
     
    
    495 496
             # Load remote-execution configuration for this project
    
    496 497
             remote_execution = _yaml.node_get(config, Mapping, 'remote-execution')
    
    497
    -        _yaml.node_validate(remote_execution, ['url'])
    
    498
    +        _yaml.node_validate(remote_execution, ['url', 'instance'])
    
    498 499
             self.remote_execution_url = _yaml.node_get(remote_execution, str, 'url')
    
    500
    +        self.remote_execution_instance = _yaml.node_get(remote_execution, str, 'instance')
    
    499 501
     
    
    500 502
             # Load sandbox environment variables
    
    501 503
             self.base_environment = _yaml.node_get(config, Mapping, 'environment')
    

  • buildstream/data/projectconfig.yaml
    ... ... @@ -199,4 +199,5 @@ shell:
    199 199
       command: [ 'sh', '-i' ]
    
    200 200
     
    
    201 201
     remote-execution:
    
    202
    -  url: ""
    \ No newline at end of file
    202
    +  url: ""
    
    203
    +  instance: ""

  • buildstream/sandbox/_sandboxremote.py
    ... ... @@ -51,6 +51,7 @@ class SandboxRemote(Sandbox):
    51 51
                                    "Only plain HTTP is currenlty supported (no HTTPS).")
    
    52 52
     
    
    53 53
             self.server_url = '{}:{}'.format(url.hostname, url.port)
    
    54
    +        self.server_instance = self._get_project().remote_execution_instance
    
    54 55
     
    
    55 56
         def run_remote_command(self, command, input_root_digest, working_directory, environment):
    
    56 57
             # Sends an execution request to the remote execution server.
    
    ... ... @@ -89,7 +90,8 @@ class SandboxRemote(Sandbox):
    89 90
             # Next, try to create a communication channel to the BuildGrid server.
    
    90 91
             channel = grpc.insecure_channel(self.server_url)
    
    91 92
             stub = remote_execution_pb2_grpc.ExecutionStub(channel)
    
    92
    -        request = remote_execution_pb2.ExecuteRequest(action_digest=action_digest,
    
    93
    +        request = remote_execution_pb2.ExecuteRequest(instance_name=self.server_instance,
    
    94
    +                                                      action_digest=action_digest,
    
    93 95
                                                           skip_cache_lookup=False)
    
    94 96
     
    
    95 97
             def __run_remote_command(stub, execute_request=None, running_operation=None):
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]