Browse Source

Update master configuration for named certificates during master cert redeploy.

Andrew Butcher 7 years ago
parent
commit
8e91ce82be

+ 10 - 0
playbooks/common/openshift-cluster/redeploy-certificates/masters.yml

@@ -51,3 +51,13 @@
                                      | oo_collect('openshift.common.hostname')
                                      | default(none, true) }}"
     openshift_certificates_redeploy: true
+  - role: lib_utils
+  post_tasks:
+  - yedit:
+      src: "{{ openshift.common.config_base }}/master/master-config.yaml"
+      key: servingInfo.namedCertificates
+      value: "{{ openshift.master.named_certificates | default([]) | oo_named_certificates_list }}"
+    when:
+    - ('named_certificates' in openshift.master)
+    - openshift.master.named_certificates | default([]) | length > 0
+    - openshift_master_overwrite_named_certificates | default(false) | bool

+ 21 - 0
roles/openshift_named_certificates/filter_plugins/openshift_named_certificates.py

@@ -0,0 +1,21 @@
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+'''
+Custom filters for use with openshift named certificates
+'''
+
+
+class FilterModule(object):
+    ''' Custom ansible filters for use with openshift named certificates'''
+
+    @staticmethod
+    def oo_named_certificates_list(named_certificates):
+        ''' Returns named certificates list with correct fields for the master
+            config file.'''
+        return [{'certFile': named_certificate['certfile'],
+                 'keyFile': named_certificate['keyfile'],
+                 'names': named_certificate['names']} for named_certificate in named_certificates]
+
+    def filters(self):
+        ''' returns a mapping of filters to methods '''
+        return {"oo_named_certificates_list": self.oo_named_certificates_list}