summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-07-06 11:12:10 +0200
committerbst-marge-bot <marge-bot@buildstream.build>2020-08-13 09:24:43 +0000
commit713e48cd62e2bc64822c5fa2b3d2439b04de96c8 (patch)
tree64c1c4d8d9c5b252ed8bc772d1bc389e9c3002a0
parent17ff68ffd3dea344e25380bd76103e61c907af1b (diff)
downloadbuildstream-713e48cd62e2bc64822c5fa2b3d2439b04de96c8.tar.gz
casremote.py: Migrate to GetInstanceNameForRemotes()
GetInstanceNameForRemote() has been deprecated.
-rw-r--r--src/buildstream/_cas/casremote.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/buildstream/_cas/casremote.py b/src/buildstream/_cas/casremote.py
index 93f4e500c..656c08a36 100644
--- a/src/buildstream/_cas/casremote.py
+++ b/src/buildstream/_cas/casremote.py
@@ -15,6 +15,8 @@
# License along with this library. If not, see <http://www.gnu.org/licenses/>.
#
+import grpc
+
from .._protos.google.rpc import code_pb2
from .._protos.build.buildgrid import local_cas_pb2
@@ -54,17 +56,25 @@ class CASRemote(BaseRemote):
#
def _configure_protocols(self):
local_cas = self.cascache.get_local_cas()
- request = local_cas_pb2.GetInstanceNameForRemoteRequest()
- request.url = self.spec.url
+ request = local_cas_pb2.GetInstanceNameForRemotesRequest()
+ cas_endpoint = request.content_addressable_storage
+ cas_endpoint.url = self.spec.url
if self.spec.instance_name:
- request.instance_name = self.spec.instance_name
+ cas_endpoint.instance_name = self.spec.instance_name
if self.server_cert:
- request.server_cert = self.server_cert
+ cas_endpoint.server_cert = self.server_cert
if self.client_key:
- request.client_key = self.client_key
+ cas_endpoint.client_key = self.client_key
if self.client_cert:
- request.client_cert = self.client_cert
- response = local_cas.GetInstanceNameForRemote(request)
+ cas_endpoint.client_cert = self.client_cert
+ try:
+ response = local_cas.GetInstanceNameForRemotes(request)
+ except grpc.RpcError as e:
+ if e.code() == grpc.StatusCode.UNIMPLEMENTED:
+ raise CASRemoteError(
+ "Unsupported buildbox-casd version: GetInstanceNameForRemotes unimplemented"
+ ) from e
+ raise
self.local_cas_instance_name = response.instance_name
# push_message():