Configmap type K8s yaml or plain config file
This takes commit 1b092d0bbb8bf945bb65258af4cb3e884ff805d0.
Condition to default or kuberenetes for config_type.
Change-Id: I1b69a9e65ad7ce36129ec7a1038b03fba9228cbb
diff --git a/README.rst b/README.rst
index 3c72d92..8e69cf4 100644
--- a/README.rst
+++ b/README.rst
@@ -462,6 +462,7 @@
kubernetes:
control:
+ config_type: default|kubernetes # Output is yaml k8s or default single files
configmap:
nova-control:
grains:
diff --git a/kubernetes/control/cluster.sls b/kubernetes/control/cluster.sls
index 2c7114b..f597c40 100644
--- a/kubernetes/control/cluster.sls
+++ b/kubernetes/control/cluster.sls
@@ -98,6 +98,34 @@
{%- if configmap.enabled|default(True) %}
{%- if configmap.pillar is defined %}
+{%- if control.config_type == "default" %}
+ {%- for service_name in configmap.pillar.keys() %}
+ {%- if pillar.get(service_name, {}).get('_support', {}).get('config', {}).get('enabled', False) %}
+
+ {%- set support_fragment_file = service_name+'/meta/config.yml' %}
+ {% macro load_support_file(pillar, grains) %}{% include support_fragment_file %}{% endmacro %}
+
+ {%- set service_config_files = load_support_file(configmap.pillar, configmap.get('grains', {}))|load_yaml %}
+ {%- for service_config_name, service_config in service_config_files.config.iteritems() %}
+
+/srv/kubernetes/configmap/{{ configmap_name }}/{{ service_config_name }}:
+ file.managed:
+ - source: {{ service_config.source }}
+ - user: root
+ - group: root
+ - template: {{ service_config.template }}
+ - makedirs: true
+ - require:
+ - file: /srv/kubernetes
+ - defaults:
+ pillar: {{ configmap.pillar|yaml }}
+ grains: {{ configmap.get('grains', {}) }}
+
+ {%- endfor %}
+ {%- endif %}
+ {%- endfor %}
+
+{%- else %}
/srv/kubernetes/configmap/{{ configmap_name }}.yml:
file.managed:
@@ -113,6 +141,8 @@
configmap: {{ configmap|yaml }}
grains: {{ configmap.get('grains', {}) }}
+{%- endif %}
+
{%- else %}
{# TODO: configmap not using support between formulas #}
{%- endif %}
diff --git a/kubernetes/map.jinja b/kubernetes/map.jinja
index 6c6e9b7..f36f9e3 100644
--- a/kubernetes/map.jinja
+++ b/kubernetes/map.jinja
@@ -34,9 +34,11 @@
{% set control = salt['grains.filter_by']({
'Debian': {
'service': {},
+ 'config_type': "default",
},
'RedHat': {
'service': {},
+ 'config_type': "default",
},
}, merge=salt['pillar.get']('kubernetes:control')) %}