summaryrefslogtreecommitdiff
path: root/src/buildstream/_remote.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_remote.py')
-rw-r--r--src/buildstream/_remote.py43
1 files changed, 9 insertions, 34 deletions
diff --git a/src/buildstream/_remote.py b/src/buildstream/_remote.py
index 671adb95c..473d5c2a3 100644
--- a/src/buildstream/_remote.py
+++ b/src/buildstream/_remote.py
@@ -42,11 +42,7 @@ class RemoteType(FastEnum):
#
# Defines the basic structure of a remote specification.
#
-class RemoteSpec(
- namedtuple(
- "RemoteSpec", "url push server_cert client_key client_cert instance_name type"
- )
-):
+class RemoteSpec(namedtuple("RemoteSpec", "url push server_cert client_key client_cert instance_name type")):
# new_from_config_node
#
@@ -65,23 +61,14 @@ class RemoteSpec(
@classmethod
def new_from_config_node(cls, spec_node, basedir=None):
spec_node.validate_keys(
- [
- "url",
- "push",
- "server-cert",
- "client-key",
- "client-cert",
- "instance-name",
- "type",
- ]
+ ["url", "push", "server-cert", "client-key", "client-cert", "instance-name", "type",]
)
url = spec_node.get_str("url")
if not url:
provenance = spec_node.get_node("url").get_provenance()
raise LoadError(
- "{}: empty artifact cache URL".format(provenance),
- LoadErrorReason.INVALID_DATA,
+ "{}: empty artifact cache URL".format(provenance), LoadErrorReason.INVALID_DATA,
)
push = spec_node.get_bool("push", default=False)
@@ -94,33 +81,25 @@ class RemoteSpec(
return cert
cert_keys = ("server-cert", "client-key", "client-cert")
- server_cert, client_key, client_cert = tuple(
- parse_cert(key) for key in cert_keys
- )
+ server_cert, client_key, client_cert = tuple(parse_cert(key) for key in cert_keys)
if client_key and not client_cert:
provenance = spec_node.get_node("client-key").get_provenance()
raise LoadError(
- "{}: 'client-key' was specified without 'client-cert'".format(
- provenance
- ),
+ "{}: 'client-key' was specified without 'client-cert'".format(provenance),
LoadErrorReason.INVALID_DATA,
)
if client_cert and not client_key:
provenance = spec_node.get_node("client-cert").get_provenance()
raise LoadError(
- "{}: 'client-cert' was specified without 'client-key'".format(
- provenance
- ),
+ "{}: 'client-cert' was specified without 'client-key'".format(provenance),
LoadErrorReason.INVALID_DATA,
)
type_ = spec_node.get_enum("type", RemoteType, default=RemoteType.ALL)
- return cls(
- url, push, server_cert, client_key, client_cert, instance_name, type_
- )
+ return cls(url, push, server_cert, client_key, client_cert, instance_name, type_)
# FIXME: This can be made much nicer in python 3.7 through the use of
@@ -194,13 +173,9 @@ class BaseRemote:
self.client_key = client_key
self.client_cert = client_cert
credentials = grpc.ssl_channel_credentials(
- root_certificates=self.server_cert,
- private_key=self.client_key,
- certificate_chain=self.client_cert,
- )
- self.channel = grpc.secure_channel(
- "{}:{}".format(url.hostname, port), credentials
+ root_certificates=self.server_cert, private_key=self.client_key, certificate_chain=self.client_cert,
)
+ self.channel = grpc.secure_channel("{}:{}".format(url.hostname, port), credentials)
else:
raise RemoteError("Unsupported URL: {}".format(self.spec.url))