summaryrefslogtreecommitdiffstats
path: root/roles/lib_openshift/src/lib
diff options
context:
space:
mode:
authorKenny Woodson <kwoodson@redhat.com>2017-02-08 14:00:40 -0500
committerGitHub <noreply@github.com>2017-02-08 14:00:40 -0500
commit5c6dc36dda1e2ef87f4e43c77e682d829a6bbd3c (patch)
treea125b174d8cf2b659a49e70037c72115c98d63a1 /roles/lib_openshift/src/lib
parent405bd70f0f94f4a45cb4b7cfc7634a82928b6b2e (diff)
parent28e64664e55c69eaa0a7d87933e1a702cd7ebac7 (diff)
downloadopenshift-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.py24
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)