add sahara
diff --git a/haproxy/proxy/listen/openstack/sahara.yml b/haproxy/proxy/listen/openstack/sahara.yml
new file mode 100644
index 0000000..3bbf809
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/sahara.yml
@@ -0,0 +1,24 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ sahara_api:
+ type: openstack-service
+ options:
+ - httplog
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8386
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 8386
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 8386
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 8386
+ params: check inter 10s fastinter 2s downinter 3s rise 3 fall 3
diff --git a/mysql/client/database/sahara.yml b/mysql/client/database/sahara.yml
new file mode 100644
index 0000000..86497d8
--- /dev/null
+++ b/mysql/client/database/sahara.yml
@@ -0,0 +1,17 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ sahara:
+ encoding: utf8
+ users:
+ - name: sahara
+ password: ${_param:mysql_sahara_password}
+ host: '%'
+ rights: all
+ - name: sahara
+ password: ${_param:mysql_sahara_password}
+ host: ${_param:single_address}
+ rights: all
diff --git a/nginx/server/proxy/openstack/sahara.yml b/nginx/server/proxy/openstack/sahara.yml
new file mode 100644
index 0000000..17ae236
--- /dev/null
+++ b/nginx/server/proxy/openstack/sahara.yml
@@ -0,0 +1,17 @@
+parameters:
+ nginx:
+ server:
+ enabled: true
+ site:
+ nginx_proxy_openstack_api_sahara:
+ enabled: true
+ type: nginx_proxy
+ name: openstack_api_sahara
+ proxy:
+ host: ${_param:nginx_proxy_openstack_api_proxy_host}
+ port: 8386
+ protocol: http
+ host:
+ name: ${_param:nginx_proxy_openstack_api_host}
+ port: 8386
+ ssl: ${_param:nginx_proxy_ssl}
diff --git a/sahara/server/cluster.yml b/sahara/server/cluster.yml
new file mode 100644
index 0000000..cdb7b04
--- /dev/null
+++ b/sahara/server/cluster.yml
@@ -0,0 +1,39 @@
+classes:
+- service.sahara.server.cluster
+- service.keepalived.cluster.single
+- system.haproxy.proxy.listen.openstack.sahara
+- service.haproxy.proxy.single
+parameters:
+ sahara:
+ server:
+ enabled: true
+ version: ${_param:sahara_version}
+ notification: false
+ bind:
+ address: ${_param:single_address}
+ port: 8386
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: sahara
+ user: sahara
+ password: ${_param:mysql_sahara_password}
+ identity:
+ engine: keystone
+ protocol: http
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: sahara
+ password: ${_param:keystone_sahara_password}
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ members:
+ - host: ${_param:openstack_message_queue_node01_address}
+ - host: ${_param:openstack_message_queue_node02_address}
+ - host: ${_param:openstack_message_queue_node03_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/sahara/server/single.yml b/sahara/server/single.yml
new file mode 100644
index 0000000..01e7b38
--- /dev/null
+++ b/sahara/server/single.yml
@@ -0,0 +1,31 @@
+classes:
+- service.sahara.server.single
+parameters:
+ sahara:
+ server:
+ enabled: true
+ version: ${_param:sahara_version}
+ bind:
+ host: ${_param:single_address}
+ port: 8386
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: sahara
+ user: sahara
+ password: ${_param:mysql_sahara_password}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ user: sahara
+ password: ${_param:keystone_sahara_password}
+ tenant: service
+ message_queue:
+ engine: rabbitmq
+ host: ${_param:cluster_vip_address}
+ port: 5672
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
diff --git a/salt/master/formula/git/openstack.yml b/salt/master/formula/git/openstack.yml
index 6f296c4..569e54f 100644
--- a/salt/master/formula/git/openstack.yml
+++ b/salt/master/formula/git/openstack.yml
@@ -100,6 +100,10 @@
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-rabbitmq.git'
revision: ${_param:salt_master_environment_revision}
+ sahara:
+ source: git
+ address: '${_param:salt_master_environment_repository}/salt-formula-sahara.git'
+ revision: ${_param:salt_master_environment_revision}
statsd:
source: git
address: '${_param:salt_master_environment_repository}/salt-formula-statsd.git'
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index b795e06..11a240d 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -73,6 +73,9 @@
rabbitmq:
source: pkg
name: salt-formula-rabbitmq
+ sahara:
+ source: pkg
+ name: salt-formula-sahara
statsd:
source: pkg
name: salt-formula-statsd