Add classes for Ironic
Change-Id: Ia265bea6ee95435e25110d85d1c8e0eef7c11a3b
diff --git a/galera/server/database/ironic.yml b/galera/server/database/ironic.yml
new file mode 100644
index 0000000..8cb14a3
--- /dev/null
+++ b/galera/server/database/ironic.yml
@@ -0,0 +1,15 @@
+parameters:
+ mysql:
+ server:
+ database:
+ ironic:
+ encoding: utf8
+ users:
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: '%'
+ rights: all
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: ${_param:cluster_local_address}
+ rights: all
diff --git a/haproxy/proxy/listen/openstack/ironic.yml b/haproxy/proxy/listen/openstack/ironic.yml
new file mode 100644
index 0000000..221a9cc
--- /dev/null
+++ b/haproxy/proxy/listen/openstack/ironic.yml
@@ -0,0 +1,25 @@
+parameters:
+ haproxy:
+ proxy:
+ listen:
+ ironic:
+ type: general-service
+ service_name: ironic
+ check: false
+ binds:
+ - address: ${_param:cluster_vip_address}
+ port: 6385
+ servers:
+ - name: ctl01
+ host: ${_param:cluster_node01_address}
+ port: 6385
+ params: check
+ - name: ctl02
+ host: ${_param:cluster_node02_address}
+ port: 6385
+ params: check
+ - name: ctl03
+ host: ${_param:cluster_node03_address}
+ port: 6385
+ params: check
+
diff --git a/ironic/apache.yml b/ironic/apache.yml
new file mode 100644
index 0000000..c2c4932
--- /dev/null
+++ b/ironic/apache.yml
@@ -0,0 +1,20 @@
+#include:
+# - service.ironic.conductor.single
+applications:
+ - apache
+parameters:
+ apache:
+ server:
+ enabled: true
+ bind:
+ address: '0.0.0.0'
+ ports:
+ - 80
+ site:
+ ironic:
+ name: 'ironic'
+ enabled: true
+ type: 'static'
+ root: '/var/www/httproot'
+ host:
+ name: ${linux:system:name}.${linux:system:domain}
diff --git a/ironic/api/cluster.yml b/ironic/api/cluster.yml
new file mode 100644
index 0000000..de73318
--- /dev/null
+++ b/ironic/api/cluster.yml
@@ -0,0 +1,12 @@
+classes:
+- service.ironic.api.single
+- system.ironic.common
+parameters:
+ ironic:
+ transport_url: rabbit://openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node01_address}:5672,openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node01_address}:5672,openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node03_address}:5672//openstack
+ api:
+ bind:
+ address: ${_param:cluster_local_address}
+ identity:
+ host: ${_param:cluster_vip_address}
+
diff --git a/ironic/api/single.yml b/ironic/api/single.yml
new file mode 100644
index 0000000..4221f74
--- /dev/null
+++ b/ironic/api/single.yml
@@ -0,0 +1,8 @@
+classes:
+- service.ironic.api.single
+- system.ironic.common
+parameters:
+ ironic:
+ api:
+ bind:
+ address: '0.0.0.0'
diff --git a/ironic/common.yml b/ironic/common.yml
new file mode 100644
index 0000000..ebe4cbf
--- /dev/null
+++ b/ironic/common.yml
@@ -0,0 +1,26 @@
+applications:
+ - ironic
+parameters:
+ ironic:
+ version: ${_param:ironic_version}
+ transport_url: rabbit://openstack:${_param:rabbitmq_openstack_password}@${_param:single_address}:5672//openstack
+ database:
+ engine: mysql
+ host: ${_param:openstack_database_address}
+ port: 3306
+ name: ironic
+ user: ironic
+ password: ${_param:mysql_ironic_password}
+ identity:
+ engine: keystone
+ region: ${_param:openstack_region}
+ host: ${_param:single_address}
+ port: 35357
+ protocol: http
+ user: ironic
+ username: ${ironic:identity:user}
+ password: ${_param:keystone_ironic_password}
+ tenant: service
+ auth_type: password
+ user_domain_id: default
+ project_domain_id: default
diff --git a/ironic/conductor/cluster.yml b/ironic/conductor/cluster.yml
new file mode 100644
index 0000000..0b16953
--- /dev/null
+++ b/ironic/conductor/cluster.yml
@@ -0,0 +1,10 @@
+classes:
+- service.ironic.conductor.single
+- system.ironic.common
+parameters:
+ _param:
+ ironic_baremetal_address: ${_param:cluster_local_address}
+ ironic:
+ deploy:
+ http_url: 'http://${_param:ironic_baremetal_address}'
+ transport_url: rabbit://openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node01_address}:5672,openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node01_address}:5672,openstack:${_param:rabbitmq_openstack_password}@${_param:openstack_message_queue_node03_address}:5672//openstack
diff --git a/ironic/conductor/single.yml b/ironic/conductor/single.yml
new file mode 100644
index 0000000..a464378
--- /dev/null
+++ b/ironic/conductor/single.yml
@@ -0,0 +1,9 @@
+classes:
+- service.ironic.conductor.single
+- system.ironic.common
+parameters:
+ _param:
+ ironic_baremetal_address: ${_param:single_address}
+ ironic:
+ deploy:
+ http_url: 'http://${_param:ironic_baremetal_address}'
diff --git a/ironic/database_mysql.yml b/ironic/database_mysql.yml
new file mode 100644
index 0000000..1859503
--- /dev/null
+++ b/ironic/database_mysql.yml
@@ -0,0 +1,11 @@
+ironic:
+ encoding: utf8
+ users:
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: '%'
+ rights: all
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: ${_param:cluster_local_address}
+ rights: all
diff --git a/ironic/tftpd_hpa.yml b/ironic/tftpd_hpa.yml
new file mode 100644
index 0000000..70e3760
--- /dev/null
+++ b/ironic/tftpd_hpa.yml
@@ -0,0 +1,16 @@
+include:
+ - service.ironic.conductor.single
+applications:
+ - tftpd_hpa
+parameters:
+ tftpd_hpa:
+ server:
+ enabled: true
+ bind:
+ address: '0.0.0.0'
+ port: 69
+ username: 'ironic'
+ path: ${ironic:tftp:root}
+ options:
+ - secure
+ - map-file: '${ironic:tftp:root}/map-file'
diff --git a/keystone/client/service/ironic.yml b/keystone/client/service/ironic.yml
new file mode 100644
index 0000000..7635e2c
--- /dev/null
+++ b/keystone/client/service/ironic.yml
@@ -0,0 +1,30 @@
+parameters:
+ _param:
+ cluster_public_protocol: https
+ keystone:
+ client:
+ server:
+ identity:
+ project:
+ service:
+ user:
+ ironic:
+ is_admin: true
+ password: ${_param:keystone_ironic_password}
+ email: ${_param:admin_email}
+ service:
+ ironic:
+ type: baremetal
+ description: OpenStack Baremetal Service
+ endpoints:
+ - region: ${_param:openstack_region}
+ public_address: ${_param:cluster_public_host}
+ public_protocol: ${_param:cluster_public_protocol}
+ public_port: 6385
+ public_path: ''
+ internal_address: ${_param:ironic_service_host}
+ internal_port: 6385
+ internal_path: ''
+ admin_address: ${_param:ironic_service_host}
+ admin_port: 6385
+ admin_path: ''
diff --git a/mysql/client/database/ironic.yml b/mysql/client/database/ironic.yml
new file mode 100644
index 0000000..a4b9904
--- /dev/null
+++ b/mysql/client/database/ironic.yml
@@ -0,0 +1,18 @@
+parameters:
+ mysql:
+ client:
+ server:
+ database:
+ database:
+ ironic:
+ encoding: utf8
+ users:
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: '%'
+ rights: all
+ - name: ironic
+ password: ${_param:mysql_ironic_password}
+ host: ${_param:cluster_local_address}
+ rights: all
+