summaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-support/deploychef/files/conf-templates
diff options
context:
space:
mode:
authorMustapha Lansana <Mustapha.Lansana@windriver.com>2014-05-27 22:02:58 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-09-26 09:09:21 -0400
commit48bd378fda4db37b519742bdcf98b6a48f83b594 (patch)
tree399306667c5de33d5fac1b311f53e91150f9b88e /meta-openstack/recipes-support/deploychef/files/conf-templates
parent800f64a64014fdbe046a6d0969303057de2e6539 (diff)
downloadmeta-cloud-services-48bd378fda4db37b519742bdcf98b6a48f83b594.tar.gz
deploychef: make chef-solo templates for openstack services
The deploychef package enables us to reconfigure an openstack installation at run-time. It does this with the help of chef-solo, by first creating a set of template files from openstack services' configuration files. The template files are then passed on to chef-solo at run-time. Finally, chef-solo recreates the services' configuration files from the template files at run-time; this enables us to reconfigure openstack services with dynamic run-time environment variables. This patch set consist of files with helper functions which enables deploychef to recreate the template files for the respective openstack services. Later on in this commit series, the files in this patch set will be deleted, because the functionality they provide will be provided by openstackchef class. Signed-off-by: Mustapha Lansana <Mustapha.Lansana@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-support/deploychef/files/conf-templates')
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/ceilometer-template.inc19
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/ceph-template.inc26
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/cinder-template.inc21
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/constants.inc23
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/glance-template.inc16
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/heat-template.inc15
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/hosts-template.inc10
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/keystone-template.inc24
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/neutron-template.inc24
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/nova-template.inc47
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/postgresql-template.inc12
-rw-r--r--meta-openstack/recipes-support/deploychef/files/conf-templates/swift-template.inc37
12 files changed, 274 insertions, 0 deletions
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/ceilometer-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/ceilometer-template.inc
new file mode 100644
index 0000000..471ef1e
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/ceilometer-template.inc
@@ -0,0 +1,19 @@
1#Ceilometer chefsolo template generation functions
2
3ceilometer-conf_chefsolo_template() {
4 file_name=$1
5 if [ -e $file_name ]; then
6 sed "s/^os_password=.*$/os_password=<%=node[:ADMIN_PASSWORD]%>/" -i $file_name
7 sed "s/^os_tenant_name=.*$/os_tenant_name= <%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
8 sed "s/^auth_host=.*$/auth_host=<%=node[:CONTROLLER_IP]%>/" -i $file_name
9 sed "s/^admin_password=.*$/admin_password= <%=node[:ADMIN_PASSWORD]%>/" -i $file_name
10 sed "s/^admin_tenant_name=.*$/admin_tenant_name= <%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
11
12 sed "s/^rabbit_host =.*$/rabbit_host = <%=node[:CONTROLLER_IP]%>/" -i $file_name
13 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
14 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
15 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
16 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
17 mv $file_name $file_name$SUFFIX
18 fi
19}
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/ceph-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/ceph-template.inc
new file mode 100644
index 0000000..2946808
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/ceph-template.inc
@@ -0,0 +1,26 @@
1#!/bin/bash
2#Ceph related chefsolo template functions
3ceph-conf_chefsolo_template() {
4 file_name=$1
5 if [ -e $file_name ]; then
6 sed "s/mon initial members =.*$/mon initial members = <%=node[:HOST_NAME]%> /" -i $file_name
7 sed "s/mon host =.*$/mon host = <%=node[:PUBLIC_IP]%>/" -i $file_name
8
9 sed "s:public network =.*/:public network = <%=node[\:CONTROLLER_IP]%>/:" -i $file_name
10 sed "s/mon.$CONTROLLER_HOST/mon.<%=node[:HOST_NAME]%>/" -i $file_name
11 sed "s/host =.*$/host = <%=node[:HOST_NAME]%>/" -i $file_name
12 sed "s#mon addr =.*:#mon addr = <%=node[:PUBLIC_IP]%>:#" -i $file_name
13 sed "s#public addr =.*:#public addr = <%=node[:PUBLIC_IP]%>:#" -i $file_name
14 sed "s#cluster addr =.*:#cluster addr = <%=node[:PRIVATE_IP]%>:#" -i $file_name
15 mv $file_name $file_name$SUFFIX
16 fi
17}
18
19ceph-setup_chefsolo_template() {
20 file_name=$1
21 if [ -e $file_name ]; then
22 sed "s/^HOST_NAME.*$/HOST_NAME= <%=node[:HOST_NAME]%> /" -i $file_name
23 sed "s/^PUBLIC_IP.*$/PUBLIC_IP= <%=node[:PUBLIC_IP]%>/" -i $file_name
24 mv $file_name $file_name$SUFFIX
25 fi
26}
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/cinder-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/cinder-template.inc
new file mode 100644
index 0000000..4aeb616
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/cinder-template.inc
@@ -0,0 +1,21 @@
1#Cinder related configuration functions
2cinder-conf_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
6 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
7 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
8 mv $file_name $file_name$SUFFIX
9 fi
10}
11
12cinder-api_chefsolo_template() {
13 file_name=$1
14 if [ -e $file_name ]; then
15 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%> /" -i $file_name
16 sed "s/^admin_user =.*$/admin_user = <%=node[:SERVICE_USER]%> /" -i $file_name
17 sed "s/^admin_password =.*$/admin_password = <%=node[:SERVICE_PASSWORD]%> /" -i $file_name
18 mv $file_name $file_name$SUFFIX
19 fi
20}
21
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/constants.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/constants.inc
new file mode 100644
index 0000000..48994d3
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/constants.inc
@@ -0,0 +1,23 @@
1#This file is used in the generation of config script
2CONTROLLER_HOST="%CONTROLLER_HOST%"
3COMPUTE_HOST="%COMPUTE_HOST%"
4CONTROLLER_IP="%CONTROLLER_IP%"
5COMPUTE_IP="%COMPUTE_IP%"
6
7DB_USER="%DB_USER%"
8DB_PASSWORD="%DB_PASSWORD%"
9ADMIN_USER="%ADMIN_USER%"
10ADMIN_TENANT_NAME="%ADMIN_PASSWORD%"
11
12ADMIN_PASSWORD="%ADMIN_PASSWORD%"
13SERVICE_PASSWORD="%SERVICE_PASSWORD%"
14SERVICE_TENANT_NAME="%SERVICE_TENANT_NAME%"
15
16SERVICE_USER="%SERVICE_USER%"
17SERVICE_TOKEN="%SERVICE_TOKEN%"
18DEMO_USER="%DEMO_USER%"
19DEMO_PASSWORD="%DEMO_PASSWORD%"
20
21OS_TENANT_NAME="%OS_TENANT_NAME%"
22OS_USERNAME="%OS_USERNAME%"
23OS_PASSWORD="%OS_PASSWORD%"
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/glance-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/glance-template.inc
new file mode 100644
index 0000000..cbf3264
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/glance-template.inc
@@ -0,0 +1,16 @@
1#Glance related configuration functions
2glance_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
6 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
7 sed "s/^swift_store_user =.*$/swift_store_user = <%=node[:SERVICE_TENANT_NAME]%>:glance/" -i $file_name
8 sed "s/^swift_store_key =.*$/swift_store_key = <%=node[:SERVICE_PASSWORD]%> /" -i $file_name
9
10 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%> /" -i $file_name
11 sed "s/^admin_user =.*$/admin_user = <%=node[:SERVICE_USER]%> /" -i $file_name
12 sed "s/^admin_password =.*$/admin_password = <%=node[:SERVICE_PASSWORD]%> /" -i $file_name
13 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
14 mv $file_name $file_name$SUFFIX
15 fi
16}
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/heat-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/heat-template.inc
new file mode 100644
index 0000000..578d2e7
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/heat-template.inc
@@ -0,0 +1,15 @@
1#Heat related configuration function(s)
2heat-conf_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
6 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
7 sed "s/^auth_host =.*$/auth_host = <%=node[:CONTROLLER_IP]%> /" -i $file_name
8 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%> /" -i $file_name
9 sed "s/^admin_password =.*$/admin_password = <%=node[:ADMIN_PASSWORD]%> /" -i $file_name
10 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
11 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
12 mv $file_name $file_name$SUFFIX
13 fi
14}
15
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/hosts-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/hosts-template.inc
new file mode 100644
index 0000000..b7690b8
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/hosts-template.inc
@@ -0,0 +1,10 @@
1#Hosts related configuration function(s)
2hosts_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$CONTROLLER_IP.*$/<%=node[:CONTROLLER_IP]%> <%=node[:CONTROLLER_HOST]%>/" -i $file_name
6 sed "s/$COMPUTE_IP*$/<%=node[:COMPUTE_IP]%> <%=node[:COMPUTE_HOST]%>/" -i $file_name
7 mv $file_name $file_name$SUFFIX
8 fi
9}
10
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/keystone-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/keystone-template.inc
new file mode 100644
index 0000000..dc43639
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/keystone-template.inc
@@ -0,0 +1,24 @@
1#Keystone related configuration functions
2keystone-conf_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 #keystone.conf related
6 sed "s/^admin_token =.*$/admin_token=<%=node[:SERVICE_TOKEN]%> /" -i $file_name
7 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
8 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
9 mv $file_name $file_name$SUFFIX
10 fi
11}
12
13keystone-identity_chefsolo_template() {
14 file_name=$1
15 if [ -e $file_name ]; then
16 #Identifyy related substitutions
17 sed "s/^export OS_SERVICE_TOKEN.*$/export OS_SERVICE_TOKEN=<%=node[:SERVICE_TOKEN]%>/" \
18 -i $file_name
19 sed "s/$ADMIN_PASSWORD/<%=node[:ADMIN_PASSWORD]%>/" -i $file_name
20 sed "s/$SERVICE_TENANT_NAME/<%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
21 sed "s/^KEYSTONE_HOST.*$/KEYSTONE_HOST=<%=node[:CONTROLLER_IP]%> /" -i $file_name
22 mv $file_name $file_name$SUFFIX
23 fi
24}
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/neutron-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/neutron-template.inc
new file mode 100644
index 0000000..4d10607
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/neutron-template.inc
@@ -0,0 +1,24 @@
1#Neutron chefsolo template generation related function(s)
2neutron-conf_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
6 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
7 sed "s/^admin_user =.*$/admin_user = <%=node[:SERVICE_USER]%>/" -i $file_name
8 sed "s/^admin_password =.*$/admin_password =<%=node[:SERVICE_PASSWORD]%>/g" -i $file_name
9 sed "s/^rabbit_host =.*$/rabbit_host = <%=node[:CONTROLLER_IP]%>/" -i $file_name
10 mv $file_name $file_name$SUFFIX
11 fi
12}
13
14neutron-plugins_chefsolo_template() {
15 file_name=$1
16 if [ -e $file_name ]; then
17 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
18 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
19 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
20 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
21 mv $file_name $file_name$SUFFIX
22 fi
23}
24
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/nova-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/nova-template.inc
new file mode 100644
index 0000000..74b0d4c
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/nova-template.inc
@@ -0,0 +1,47 @@
1#Nova chefsolo template generation functions
2openrc_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/^export OS_TENANT_NAME=.*$/export OS_TENANT_NAME=<%=node[:OS_TENANT_NAME]%> /" -i $file_name
6 sed "s/^export OS_USERNAME=.*$/export OS_USERNAME=<%=node[:OS_USERNAME]%> /" -i $file_name
7 sed "s/^export OS_PASSWORD=.*$/export OS_PASSWORD=<%=node[:OS_PASSWORD]%> /" -i $file_name
8 sed "s/^export SERVICE_TOKEN=.*$/export SERVICE_TOKEN=<%=node[:SERVICE_TOKEN]%> /" -i $file_name
9 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
10 mv $file_name $file_name$SUFFIX
11 fi
12}
13
14nova-conf_chefsolo_template() {
15 file_name=$1
16 if [ -e $file_name ]; then
17 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
18 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
19 sed "s/$COMPUTE_IP/<%=node[:COMPUTE_IP]%>/g" -i $file_name
20 sed "s/$DB_USER:/<%=node[:DB_USER]%>:/g" -i $file_name
21 sed "s/$DB_PASSWORD@/<%=node[:DB_PASSWORD]%>@/g" -i $file_name
22 mv $file_name $file_name$SUFFIX
23 fi
24}
25
26api-paste_chefsolo_template() {
27 file_name=$1
28 if [ -e $file_name ]; then
29 sed "s/auth_host =.*$/auth_host = <%=node[:CONTROLLER_IP]%> /" -i $file_name
30 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%> /" -i $file_name
31 sed "s/^admin_user =.*$/admin_user = <%=node[:SERVICE_USER]%> /" -i $file_name
32 sed "s/^admin_password =.*$/admin_password = <%=node[:SERVICE_PASSWORD]%> /" -i $file_name
33 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
34 mv $file_name $file_name$SUFFIX
35 fi
36}
37
38deploy-conf_chefsolo_template() {
39 file_name=$1
40 if [ -e $file_name ]; then
41 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
42 sed "s/$CONTROLLER_HOST/<%=node[:CONTROLLER_HOST]%>/g" -i $file_name
43 sed "s/$COMPUTE_IP/<%=node[:COMPUTE_IP]%>/g" -i $file_name
44 sed "s/$COMPUTE_HOST/<%=node[:COMPUTE_HOST]%>/g" -i $file_name
45 mv $file_name $file_name$SUFFIX
46 fi
47}
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/postgresql-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/postgresql-template.inc
new file mode 100644
index 0000000..6022cd2
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/postgresql-template.inc
@@ -0,0 +1,12 @@
1#Postgresql chefsolo template generation functions
2postgresql_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$CONTROLLER_IP/<%=node[:CONTROLLER_IP]%>/g" -i $file_name
6 sed "s/$COMPUTE_IP/<%=node[:COMPUTE_IP]%>/g" -i $file_name
7 sed "s/^DB_USER=.*$/DB_USER=<%=node[:DB_USER]%>/" -i $file_name
8 sed "s/^DB_PASSWORD=.*$/DB_PASSWORD=<%=node[:DB_PASSWORD]%>/" -i $file_name
9 mv $file_name $file_name$SUFFIX
10 fi
11}
12
diff --git a/meta-openstack/recipes-support/deploychef/files/conf-templates/swift-template.inc b/meta-openstack/recipes-support/deploychef/files/conf-templates/swift-template.inc
new file mode 100644
index 0000000..4a33536
--- /dev/null
+++ b/meta-openstack/recipes-support/deploychef/files/conf-templates/swift-template.inc
@@ -0,0 +1,37 @@
1#Swift chefso template generation functions
2dispersion-conf_chefsolo_template() {
3 file_name=$1
4 if [ -e $file_name ]; then
5 sed "s/$SERVICE_TENANT_NAME/<%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
6 sed "s/$SERVICE_USER/<%=node[:SERVICE_USER]%>/" -i $file_name
7 sed "s/$SERVICE_PASSWORD/<%=node[:SERVICE_PASSWORD]%>/" -i $file_name
8 mv $file_name $file_name$SUFFIX
9 fi
10}
11
12test-conf_chefsolo_template() {
13 file_name=$1
14 if [ -e $file_name ]; then
15 sed "s/^account =.*$/account = <%=node[:ADMIN_TENANT_NAME]%>/" -i $file_name
16 sed "s/^username =.*$/username = <%=node[:ADMIN_USER]%>/" -i $file_name
17 sed "s/^password =.*$/password = <%=node[:ADMIN_PASSWORD]%>/g" -i $file_name
18
19 sed "s/^account2 =.*$/account = <%=node[:SERVICE_TENANT_NAME]%>/" -i $file_name
20 sed "s/^username2 =.*$/username = <%=node[:SERVICE_USER]%>/" -i $file_name
21 sed "s/^password2 =.*$/password = <%=node[:SERVICE_PASSWORD]%>/g" -i $file_name
22
23 sed "s/^username3 =.*$/username = <%=node[:DEMO_USER]%>/" -i $file_name
24 sed "s/^password3 =.*$/password = <%=node[:DEMO_PASSWORD]%>/g" -i $file_name
25 mv $file_name $file_name$SUFFIX
26 fi
27}
28
29proxy-server_chefsolo_template() {
30 file_name=$1
31 if [ -e $file_name ]; then
32 sed "s/^admin_tenant_name =.*$/admin_tenant_name = <%=node[:SERVICE_TENANT_NAME]%> /" -i $file_name
33 sed "s/^admin_user =.*$/admin_user = <%=node[:SERVICE_USER]%> /" -i $file_name
34 sed "s/^admin_password =.*$/admin_password = <%=node[:SERVICE_PASSWORD]%> /" -i $file_name
35 mv $file_name $file_name$SUFFIX
36 fi
37}