diff options
author | Kenny Woodson <kwoodson@redhat.com> | 2017-02-08 14:00:40 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-08 14:00:40 -0500 |
commit | 5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c (patch) | |
tree | a125b174d8cf2b659a49e70037c72115c98d63a1 /roles/lib_openshift/src/lib | |
parent | 405bd70f0f94f4a45cb4b7cfc7634a82928b6b2e (diff) | |
parent | 28e64664e55c69eaa0a7d87933e1a702cd7ebac7 (diff) | |
download | openshift-5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c.tar.gz openshift-5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c.tar.bz2 openshift-5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c.tar.xz openshift-5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c.zip |
Merge pull request #3283 from kwoodson/router_port
Adding test cases. Adding support for specifying port on route.
Diffstat (limited to 'roles/lib_openshift/src/lib')
-rw-r--r-- | roles/lib_openshift/src/lib/route.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/roles/lib_openshift/src/lib/route.py b/roles/lib_openshift/src/lib/route.py index 3130e7358..3b54a24fb 100644 --- a/roles/lib_openshift/src/lib/route.py +++ b/roles/lib_openshift/src/lib/route.py @@ -19,7 +19,8 @@ class RouteConfig(object): tls_termination=None, service_name=None, wildcard_policy=None, - weight=None): + weight=None, + port=None): ''' constructor for handling route options ''' self.kubeconfig = kubeconfig self.name = sname @@ -31,6 +32,7 @@ class RouteConfig(object): self.cert = cert self.key = key self.service_name = service_name + self.port = port self.data = {} self.wildcard_policy = wildcard_policy if wildcard_policy is None: @@ -55,12 +57,15 @@ class RouteConfig(object): if self.tls_termination: self.data['spec']['tls'] = {} + self.data['spec']['tls']['termination'] = self.tls_termination + + if self.tls_termination != 'passthrough': + self.data['spec']['tls']['key'] = self.key + self.data['spec']['tls']['caCertificate'] = self.cacert + self.data['spec']['tls']['certificate'] = self.cert + if self.tls_termination == 'reencrypt': self.data['spec']['tls']['destinationCACertificate'] = self.destcacert - self.data['spec']['tls']['key'] = self.key - self.data['spec']['tls']['caCertificate'] = self.cacert - self.data['spec']['tls']['certificate'] = self.cert - self.data['spec']['tls']['termination'] = self.tls_termination self.data['spec']['to'] = {'kind': 'Service', 'name': self.service_name, @@ -68,11 +73,16 @@ class RouteConfig(object): self.data['spec']['wildcardPolicy'] = self.wildcard_policy + if self.port: + self.data['spec']['port'] = {} + self.data['spec']['port']['targetPort'] = self.port + # pylint: disable=too-many-instance-attributes,too-many-public-methods class Route(Yedit): ''' Class to wrap the oc command line tools ''' wildcard_policy = "spec.wildcardPolicy" host_path = "spec.host" + port_path = "spec.port.targetPort" service_path = "spec.to.name" weight_path = "spec.to.weight" cert_path = "spec.tls.certificate" @@ -118,6 +128,10 @@ class Route(Yedit): ''' return host ''' return self.get(Route.host_path) + def get_port(self): + ''' return port ''' + return self.get(Route.port_path) + def get_wildcard_policy(self): ''' return wildcardPolicy ''' return self.get(Route.wildcard_policy) |