Merge "Added identity information to salt minion conf"
diff --git a/README.rst b/README.rst
index eb0181d..d08e983 100644
--- a/README.rst
+++ b/README.rst
@@ -394,6 +394,32 @@
roles:
- custom-roles
+Multiple servers example
+
+.. code-block:: yaml
+
+ keystone:
+ client:
+ enabled: true
+ server:
+ keystone01:
+ admin:
+ host: 10.0.0.2
+ port: 5000
+ project: 'admin'
+ user: admin
+ password: 'workshop'
+ region_name: RegionOne
+ protocol: https
+ keystone02:
+ admin:
+ host: 10.0.0.3
+ port: 5000
+ project: 'admin'
+ user: admin
+ password: 'workshop'
+ region_name: RegionOne
+
Documentation and Bugs
======================
diff --git a/keystone/client/server.sls b/keystone/client/server.sls
index 38d8169..8dd2df1 100644
--- a/keystone/client/server.sls
+++ b/keystone/client/server.sls
@@ -15,7 +15,6 @@
{%- set protocol = 'https' %}
{%- endif %}
-
{%- if server.admin.token is defined %}
{%- set connection_args = {'endpoint': protocol+'://'+server.admin.host+':'+server.admin.port|string+'/'+version,
'token': server.admin.token} %}
diff --git a/keystone/client/service.sls b/keystone/client/service.sls
index 40c68df..efdef37 100644
--- a/keystone/client/service.sls
+++ b/keystone/client/service.sls
@@ -5,4 +5,10 @@
pkg.installed:
- names: {{ client.pkgs }}
-{%- endif %}
+keystone_profile:
+ file.managed:
+ - name: /etc/salt/minion.d/_keystone.conf
+ - source: salt://keystone/files/keystone.conf
+ - template: jinja
+
+{%- endif %}
\ No newline at end of file
diff --git a/keystone/files/keystone.conf b/keystone/files/keystone.conf
new file mode 100644
index 0000000..906ce62
--- /dev/null
+++ b/keystone/files/keystone.conf
@@ -0,0 +1,22 @@
+{%- from "keystone/map.jinja" import client with context %}
+{%- for profile_name, identity in client.server.iteritems() %}
+
+{%- if identity.admin.get('protocol', 'http') == 'http' %}
+{%- set protocol = 'http' %}
+{%- else %}
+{%- set protocol = 'https' %}
+{%- endif %}
+
+{%- if identity.admin.get('api_version', '2') == '3' %}
+{%- set version = "v3" %}
+{%- else %}
+{%- set version = "v2.0" %}
+{%- endif %}
+
+{{ profile_name }}:
+ keystone.user: '{{ identity.admin.user }}'
+ keystone.password: '{{ identity.admin.password }}'
+ keystone.tenant: '{{ identity.admin.project }}'
+ keystone.auth_url: '{{ protocol+'://'+identity.admin.host+':'+identity.admin.port|string+'/'+version }}'
+ keystone.region_name: '{{ identity.admin.region_name }}'
+{%- endfor %}
\ No newline at end of file