diff options
author | Mustapha Lansana <Mustapha.Lansana@windriver.com> | 2014-07-30 21:36:33 -0400 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2014-09-26 09:09:22 -0400 |
commit | d42684ccde8f2dcd1fea0fc1f2ec7df6c89a0ce6 (patch) | |
tree | 686853037adde6488749d0a9adb26ec8d9242804 /meta-openstack/recipes-devtools/python/python-swift_git.bb | |
parent | 2b726dacf1d2213c0a5ebc01f1db4f0caa8d06d5 (diff) | |
download | meta-cloud-services-d42684ccde8f2dcd1fea0fc1f2ec7df6c89a0ce6.tar.gz |
openstack: add support for openstackchef class to services
Openstackchef enables us to recreate configuration files
for services in an openstack installation. It does this by
creating template file(s) out of configuration file(s) exposed
to the class by services.
The following services are inheriting the openstack class
and then exposing a set of configuration files to the class.
These services expose their configuration files to openstackchef
by assigning them to the variable CHEF_SERVICES_CONF_FILES. The files
are assumend to have been installed in the image directory under the
service's WORKDIR.
At build-time, openstackchef makes chef-solo templates out of
the registered files. And at run-time, the deploychef package
makes a call to chef-solo, which in-turn use the template files
to recreate the registered configuration files.
For legacy reasons, the string OPENSTACKCHEF_ENABLED is defined in
openstackchef class, but it can be overwritten in a .bb, .class,
.bbappend or local.conf file to an empty string when openstackchef
support is not desired. This enables all of these services to be built
without openstackchef support. In addition, it prevents the recipes
from substituting the placeholders in their configuration files
when inheriting openstackchef.
Signed-off-by: Mustapha Lansana <Mustapha.Lansana@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-swift_git.bb')
-rw-r--r-- | meta-openstack/recipes-devtools/python/python-swift_git.bb | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-swift_git.bb b/meta-openstack/recipes-devtools/python/python-swift_git.bb index b00788f..bac992a 100644 --- a/meta-openstack/recipes-devtools/python/python-swift_git.bb +++ b/meta-openstack/recipes-devtools/python/python-swift_git.bb | |||
@@ -20,7 +20,7 @@ SRCREV="d4da726f6f45187dc053578f11246d6b36679142" | |||
20 | PV="2.1.0+git${SRCPV}" | 20 | PV="2.1.0+git${SRCPV}" |
21 | S = "${WORKDIR}/git" | 21 | S = "${WORKDIR}/git" |
22 | 22 | ||
23 | inherit setuptools python-dir update-rc.d hosts identity | 23 | inherit setuptools python-dir update-rc.d hosts identity openstackchef |
24 | 24 | ||
25 | # The size of the backing file (in Gigabytes) of loopback devices | 25 | # The size of the backing file (in Gigabytes) of loopback devices |
26 | # which are used for setting up Swift storage devices. The value | 26 | # which are used for setting up Swift storage devices. The value |
@@ -82,31 +82,39 @@ do_install_append() { | |||
82 | sed 's/^# swift_dir =.*/swift_dir = \/etc\/swift/' -i ${SWIFT_CONF_DIR}/object-server.conf | 82 | sed 's/^# swift_dir =.*/swift_dir = \/etc\/swift/' -i ${SWIFT_CONF_DIR}/object-server.conf |
83 | sed 's/^# devices =.*/devices = \/etc\/swift\/node/' -i ${SWIFT_CONF_DIR}/object-server.conf | 83 | sed 's/^# devices =.*/devices = \/etc\/swift\/node/' -i ${SWIFT_CONF_DIR}/object-server.conf |
84 | sed 's/^# mount_check =.*/mount_check = false/' -i ${SWIFT_CONF_DIR}/object-server.conf | 84 | sed 's/^# mount_check =.*/mount_check = false/' -i ${SWIFT_CONF_DIR}/object-server.conf |
85 | 85 | if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then | |
86 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf | 86 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf |
87 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf | 87 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf |
88 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf | 88 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf |
89 | 89 | ||
90 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf | 90 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf |
91 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf | 91 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf |
92 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf | 92 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf |
93 | 93 | ||
94 | sed "s/%ADMIN_TENANT_NAME%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf | 94 | sed "s/%ADMIN_TENANT_NAME%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf |
95 | sed "s/%ADMIN_USER%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf | 95 | sed "s/%ADMIN_USER%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf |
96 | sed "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf | 96 | sed "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf |
97 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/test.conf | 97 | sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/test.conf |
98 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/test.conf | 98 | sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/test.conf |
99 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf | 99 | sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf |
100 | sed "s/%DEMO_USER%/demo/g" -i ${SWIFT_CONF_DIR}/test.conf | 100 | sed "s/%DEMO_USER%/demo/g" -i ${SWIFT_CONF_DIR}/test.conf |
101 | sed "s/%DEMO_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf | 101 | sed "s/%DEMO_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf |
102 | 102 | ||
103 | sed "s/%SWIFT_BACKING_FILE_SIZE%/${SWIFT_BACKING_FILE_SIZE}/g" -i ${D}${sysconfdir}/init.d/swift | ||
104 | sed "s/%CONTROLLER_IP%/${CONTROLLER_IP}/g" -i ${D}${sysconfdir}/init.d/swift | ||
105 | fi | ||
103 | cp -r test ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/ | 106 | cp -r test ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/ |
104 | grep -rl '^from test' ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/test | xargs sed 's/^from test/from swift\.test/g' -i | 107 | grep -rl '^from test' ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/test | xargs sed 's/^from test/from swift\.test/g' -i |
105 | 108 | ||
106 | sed "s/%SWIFT_BACKING_FILE_SIZE%/${SWIFT_BACKING_FILE_SIZE}/g" -i ${D}${sysconfdir}/init.d/swift | ||
107 | sed "s/%CONTROLLER_IP%/${CONTROLLER_IP}/g" -i ${D}${sysconfdir}/init.d/swift | ||
108 | } | 109 | } |
109 | 110 | ||
111 | CHEF_SERVICES_CONF_FILES := " \ | ||
112 | ${sysconfdir}/${SRCNAME}/test.conf \ | ||
113 | ${sysconfdir}/${SRCNAME}/dispersion.conf \ | ||
114 | ${sysconfdir}/${SRCNAME}/proxy-server.conf \ | ||
115 | ${sysconfdir}/init.d/swift \ | ||
116 | " | ||
117 | |||
110 | pkg_postinst_${SRCNAME}-setup () { | 118 | pkg_postinst_${SRCNAME}-setup () { |
111 | if [ "x$D" != "x" ]; then | 119 | if [ "x$D" != "x" ]; then |
112 | exit 1 | 120 | exit 1 |