diff --git a/roles/kubernetes-apps/external_cloud_controller/openstack/defaults/main.yml b/roles/kubernetes-apps/external_cloud_controller/openstack/defaults/main.yml index ace493825..2533385e6 100644 --- a/roles/kubernetes-apps/external_cloud_controller/openstack/defaults/main.yml +++ b/roles/kubernetes-apps/external_cloud_controller/openstack/defaults/main.yml @@ -12,4 +12,10 @@ external_openstack_domain_name: "{{ lookup('env','OS_USER_DOMAIN_NAME') }}" external_openstack_domain_id: "{{ lookup('env','OS_USER_DOMAIN_ID') }}" external_openstack_cacert: "{{ lookup('env','OS_CACERT') }}" +## A dictionary of extra arguments to add to the openstack cloud controller manager daemonset +## Format: +## external_openstack_cloud_controller_extra_args: +## arg1: "value1" +## arg2: "value2" +external_openstack_cloud_controller_extra_args: {} external_openstack_cloud_controller_image_tag: "v1.18.2" diff --git a/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-controller-manager-ds.yml.j2 b/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-controller-manager-ds.yml.j2 index b30222dab..db33fcd9e 100644 --- a/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-controller-manager-ds.yml.j2 +++ b/roles/kubernetes-apps/external_cloud_controller/openstack/templates/external-openstack-cloud-controller-manager-ds.yml.j2 @@ -44,6 +44,9 @@ spec: - --cloud-provider=openstack - --use-service-account-credentials=true - --address=127.0.0.1 +{% for key, value in external_openstack_cloud_controller_extra_args.items() %} + - "{{ '--' + key + '=' + value }}" +{% endfor %} volumeMounts: - mountPath: /etc/kubernetes/pki name: k8s-certs diff --git a/roles/kubernetes-apps/external_cloud_controller/vsphere/defaults/main.yml b/roles/kubernetes-apps/external_cloud_controller/vsphere/defaults/main.yml index c4422f31b..4691e324a 100644 --- a/roles/kubernetes-apps/external_cloud_controller/vsphere/defaults/main.yml +++ b/roles/kubernetes-apps/external_cloud_controller/vsphere/defaults/main.yml @@ -2,4 +2,10 @@ external_vsphere_vcenter_port: "443" external_vsphere_insecure: "true" +## A dictionary of extra arguments to add to the vsphere cloud controller manager daemonset +## Format: +## external_vsphere_cloud_controller_extra_args: +## arg1: "value1" +## arg2: "value2" +external_vsphere_cloud_controller_extra_args: {} external_vsphere_cloud_controller_image_tag: "latest" diff --git a/roles/kubernetes-apps/external_cloud_controller/vsphere/templates/external-vsphere-cloud-controller-manager-ds.yml.j2 b/roles/kubernetes-apps/external_cloud_controller/vsphere/templates/external-vsphere-cloud-controller-manager-ds.yml.j2 index 81120cec3..8bd4e6410 100644 --- a/roles/kubernetes-apps/external_cloud_controller/vsphere/templates/external-vsphere-cloud-controller-manager-ds.yml.j2 +++ b/roles/kubernetes-apps/external_cloud_controller/vsphere/templates/external-vsphere-cloud-controller-manager-ds.yml.j2 @@ -41,6 +41,9 @@ spec: - --v=2 - --cloud-provider=vsphere - --cloud-config=/etc/cloud/vsphere.conf +{% for key, value in external_vsphere_cloud_controller_extra_args.items() %} + - "{{ '--' + key + '=' + value }}" +{% endfor %} volumeMounts: - mountPath: /etc/cloud name: vsphere-config-volume