add murano
diff --git a/haproxy/proxy/listen/openstack/murano.yml b/haproxy/proxy/listen/openstack/murano.yml
new file mode 100644
index 0000000..0427820
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/murano.yml
@@ -0,0 +1,18 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ murano_api:
+ type: openstack-service
+ check: false
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 8082
+ servers:
+ - name: ${_param:cluster_node01_hostname}
+ host: ${_param:cluster_node01_address}
+ port: 8082
+ params: check
+ - name: ${_param:cluster_node02_hostname}
+ host: ${_param:cluster_node02_address}
+ port: 8082
\ No newline at end of file
diff --git a/murano/server/cluster.yml b/murano/server/cluster.yml
new file mode 100644
index 0000000..d698e7c
--- /dev/null
+++ b/murano/server/cluster.yml
@@ -0,0 +1,46 @@
+classes:
+- service.murano.server.cluster
+- service.keepalived.cluster.single
+- system.haproxy.proxy.listen.openstack.murano
+- service.rabbitmq.server.single
+parameters:
+ murano:
+ server:
+ enabled: true
+ version: ${_param:murano_version}
+ bind:
+ address: ${_param:single_address}
+ port: 8082
+ network:
+ external: ${_param:murano_external_network}
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: murano
+ user: murano
+ password: ${_param:mysql_murano_password}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: murano
+ password: ${_param:keystone_murano_password}
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ members:
+ - host: ${_param:openstack_messaging_queue_node01_address}
+ - host: ${_param:openstack_messaging_queue_node02_address}
+ - host: ${_param:openstack_messaging_queue_node03_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ murano_agent_queue:
+ engine: rabbitmq
+ host: ${_param:openstack_proxy_address}
+ port: 5673
+ user: openstack
+ password: ${_param:rabbitmq_murano_agent_password}
+ virtual_host: '/catalog'
diff --git a/murano/server/single.yml b/murano/server/single.yml
new file mode 100644
index 0000000..c3da9f8
--- /dev/null
+++ b/murano/server/single.yml
@@ -0,0 +1,41 @@
+classes:
+- service.murano.server.single
+- service.rabbitmq.server.single
+parameters:
+ murano:
+ server:
+ enabled: true
+ version: ${_param:murano_version}
+ bind:
+ address: ${_param:single_address}
+ port: 8082
+ network:
+ external: ${_param:murano_external_network}
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: murano
+ user: murano
+ password: ${_param:mysql_murano_password}
+ identity:
+ engine: keystone
+ host: ${_param:openstack_control_address}
+ port: 35357
+ tenant: service
+ user: murano
+ password: ${_param:keystone_murano_password}
+ message_queue:
+ engine: rabbitmq
+ port: 5672
+ host: ${_param:cluster_vip_address}
+ user: openstack
+ password: ${_param:rabbitmq_openstack_password}
+ virtual_host: '/openstack'
+ murano_agent_queue:
+ engine: rabbitmq
+ host: ${_param:openstack_proxy_address}
+ port: 5673
+ user: openstack
+ password: ${_param:rabbitmq_murano_agent_password}
+ virtual_host: '/catalog'
diff --git a/mysql/client/database/murano.yml b/mysql/client/database/murano.yml
new file mode 100644
index 0000000..561ea3d
--- /dev/null
+++ b/mysql/client/database/murano.yml
@@ -0,0 +1,17 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ murano:
+ encoding: utf8
+ users:
+ - name: murano
+ password: ${_param:mysql_murano_password}
+ host: '%'
+ rights: all
+ - name: murano
+ password: ${_param:mysql_murano_password}
+ host: ${_param:single_address}
+ rights: all
\ No newline at end of file
diff --git a/nginx/server/proxy/openstack/murano.yml b/nginx/server/proxy/openstack/murano.yml
new file mode 100644
index 0000000..a93b07e
--- /dev/null
+++ b/nginx/server/proxy/openstack/murano.yml
@@ -0,0 +1,19 @@
+ parameters:
+ _param:
+ nginx_proxy_openstack_api_host: ${_param:cluster_public_host}
+ nginx:
+ server:
+ enabled: true
+ site:
+ nginx_proxy_openstack_api_murano:
+ enabled: true
+ type: nginx_proxy
+ name: openstack_api_murano
+ proxy:
+ host: ${_param:nginx_proxy_openstack_api_proxy_host}
+ port: 8082
+ protocol: http
+ host:
+ name: ${_param:nginx_proxy_openstack_api_host}
+ port: 8082
+ ssl: ${_param:nginx_proxy_ssl}
diff --git a/rabbitmq/server/vhost/catalog.yml b/rabbitmq/server/vhost/catalog.yml
new file mode 100644
index 0000000..23cb0f2
--- /dev/null
+++ b/rabbitmq/server/vhost/catalog.yml
@@ -0,0 +1,20 @@
+parameters:
+ rabbitmq:
+ server:
+ host:
+ '/murano':
+ enabled: true
+ user: openstack
+ password: ${_param:rabbitmq_murano_agent_password}
+ policies:
+ - name: HA
+ pattern: '^(?!amq\.).*'
+ definition: '{"ha-mode": "all", "message-ttl": 120000}'
+ admin:
+ name: admin
+ password: zeQuooQu47eed8esahpie2Lai8En9ohp
+ bind:
+ address: ${_param:single_address}
+ management:
+ bind:
+ address: ${_param:single_address}
diff --git a/reclass/storage/system/openstack_catalog_cluster.yml b/reclass/storage/system/openstack_catalog_cluster.yml
new file mode 100644
index 0000000..332e5d6
--- /dev/null
+++ b/reclass/storage/system/openstack_catalog_cluster.yml
@@ -0,0 +1,27 @@
+parameters:
+ _param:
+ openstack_catalog_node01_hostname: asc01
+ openstack_catalog_node02_hostname: asc02
+ reclass:
+ storage:
+ node:
+ openstack_catalog_node01:
+ name: ${_param:openstack_catalog_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.catalog
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_catalog_node01_address}
+ keepalived_vip_priority: 102
+ openstack_catalog_node02:
+ name: ${_param:openstack_catalog_node02_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.catalog
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_catalog_node02_address}
+ keepalived_vip_priority: 101
diff --git a/reclass/storage/system/openstack_catalog_single.yml b/reclass/storage/system/openstack_catalog_single.yml
new file mode 100644
index 0000000..b48ab27
--- /dev/null
+++ b/reclass/storage/system/openstack_catalog_single.yml
@@ -0,0 +1,15 @@
+parameters:
+ _param:
+ openstack_catalog_node01_hostname: asc01
+ reclass:
+ storage:
+ node:
+ openstack_catalog_node01:
+ name: ${_param:openstack_catalog_node01_hostname}
+ domain: ${_param:cluster_domain}
+ classes:
+ - cluster.${_param:cluster_name}.openstack.catalog
+ params:
+ salt_master_host: ${_param:reclass_config_master}
+ linux_system_codename: ${_param:linux_system_codename}
+ single_address: ${_param:openstack_catalog_node01_address}
diff --git a/salt/master/formula/pkg/openstack.yml b/salt/master/formula/pkg/openstack.yml
index b795e06..aa696c1 100644
--- a/salt/master/formula/pkg/openstack.yml
+++ b/salt/master/formula/pkg/openstack.yml
@@ -55,6 +55,9 @@
mysql:
source: pkg
name: salt-formula-mysql
+ murano:
+ source: pkg
+ name: salt-formula-murano
neutron:
source: pkg
name: salt-formula-neutron