From d42684ccde8f2dcd1fea0fc1f2ec7df6c89a0ce6 Mon Sep 17 00:00:00 2001 From: Mustapha Lansana Date: Wed, 30 Jul 2014 21:36:33 -0400 Subject: 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 --- .../recipes-devtools/python/python-barbican_git.bb | 14 ++++-- .../python/python-ceilometer_git.bb | 27 +++++----- .../recipes-devtools/python/python-heat_git.bb | 36 ++++++++------ .../recipes-devtools/python/python-keystone_git.bb | 57 +++++++++++++--------- .../recipes-devtools/python/python-nova_git.bb | 56 +++++++++++---------- .../recipes-devtools/python/python-swift_git.bb | 50 +++++++++++-------- .../cloud-init/cloud-init_0.7.4.bb | 13 +++-- .../postgresql/postgresql_9.2.4.bbappend | 26 ++++++---- 8 files changed, 162 insertions(+), 117 deletions(-) diff --git a/meta-openstack/recipes-devtools/python/python-barbican_git.bb b/meta-openstack/recipes-devtools/python/python-barbican_git.bb index 7885ab5..d5c43ff 100644 --- a/meta-openstack/recipes-devtools/python/python-barbican_git.bb +++ b/meta-openstack/recipes-devtools/python/python-barbican_git.bb @@ -19,7 +19,7 @@ SRCREV="ada968e162d9795613bfb346a1018f63ef7025cc" PV="2014.2.b3+git${SRCPV}" S = "${WORKDIR}/git" -inherit update-rc.d setuptools identity hosts useradd default_configs +inherit update-rc.d setuptools identity hosts useradd default_configs openstackchef SERVICECREATE_PACKAGES = "${SRCNAME}-setup" KEYSTONE_HOST="${CONTROLLER_IP}" @@ -48,10 +48,10 @@ do_install_append() { cp -r ${TEMPLATE_CONF_DIR}/* ${BARBICAN_CONF_DIR} install -d ${D}${localstatedir}/lib/barbican - - sed -e "s:%BARBICAN_MAX_PACKET_SIZE%:${BARBICAN_MAX_PACKET_SIZE}:g" -i ${BARBICAN_CONF_DIR}/vassals/barbican-api.ini - sed -e "s:%BARBICAN_MAX_PACKET_SIZE%:${BARBICAN_MAX_PACKET_SIZE}:g" -i ${BARBICAN_CONF_DIR}/vassals/barbican-admin.ini - + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%BARBICAN_MAX_PACKET_SIZE%:${BARBICAN_MAX_PACKET_SIZE}:g" -i ${BARBICAN_CONF_DIR}/vassals/barbican-api.ini + sed -e "s:%BARBICAN_MAX_PACKET_SIZE%:${BARBICAN_MAX_PACKET_SIZE}:g" -i ${BARBICAN_CONF_DIR}/vassals/barbican-admin.ini + fi if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d @@ -68,6 +68,10 @@ do_install_append() { -i ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/tests/api/test_resources_policy.py } +CHEF_SERVICES_CONF_FILES :="\ + ${sysconfdir}/${SRCNAME}/vassals/barbican-api.ini \ + ${sysconfdir}/${SRCNAME}/vassals/barbican-admin.ini \ + " USERADD_PACKAGES = "${PN}" GROUPADD_PARAM_${PN} = "--system barbican" USERADD_PARAM_${PN} = "--system --home /var/lib/barbican -g barbican \ diff --git a/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb index 816088e..aa7f07d 100644 --- a/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb +++ b/meta-openstack/recipes-devtools/python/python-ceilometer_git.bb @@ -64,21 +64,21 @@ do_install_append() { install -m 600 ${TEMPLATE_CONF_DIR}/*.yaml ${CEILOMETER_CONF_DIR} install -m 600 ${TEMPLATE_CONF_DIR}/api_paste.ini ${CEILOMETER_CONF_DIR} + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%CEILOMETER_SECRET%:${CEILOMETER_SECRET}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%CEILOMETER_SECRET%:${CEILOMETER_SECRET}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - - sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - - sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${CEILOMETER_CONF_DIR}/ceilometer.conf + fi if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d @@ -107,6 +107,9 @@ do_install_append() { cp setup-test-env.sh ${CEILOMETER_CONF_DIR} } +CHEF_SERVICES_CONF_FILES :="\ + ${sysconfdir}/${SRCNAME}/ceilometer.conf \ + " pkg_postinst_${SRCNAME}-setup () { if [ "x$D" != "x" ]; then exit 1 @@ -124,7 +127,7 @@ pkg_postinst_${SRCNAME}-setup () { ceilometer-dbsync } -inherit setuptools identity hosts update-rc.d default_configs +inherit setuptools identity hosts update-rc.d default_configs openstackchef PACKAGES += " ${SRCNAME}-tests" PACKAGES += "${SRCNAME}-setup ${SRCNAME}-common ${SRCNAME}-api" diff --git a/meta-openstack/recipes-devtools/python/python-heat_git.bb b/meta-openstack/recipes-devtools/python/python-heat_git.bb index b094a4c..5c73b99 100644 --- a/meta-openstack/recipes-devtools/python/python-heat_git.bb +++ b/meta-openstack/recipes-devtools/python/python-heat_git.bb @@ -71,25 +71,25 @@ do_install_append() { install -d ${HEAT_CONF_DIR}/environment.d install -m 600 ${TEMPLATE_CONF_DIR}/environment.d/* ${HEAT_CONF_DIR}/environment.d install -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${HEAT_CONF_DIR} + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ + -i ${HEAT_CONF_DIR}/api-paste.ini + sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${HEAT_CONF_DIR}/api-paste.ini + sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${HEAT_CONF_DIR}/api-paste.ini + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${HEAT_CONF_DIR}/api-paste.ini - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ - -i ${HEAT_CONF_DIR}/api-paste.ini - sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${HEAT_CONF_DIR}/api-paste.ini - sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${HEAT_CONF_DIR}/api-paste.ini - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${HEAT_CONF_DIR}/api-paste.ini + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${HEAT_CONF_DIR}/heat.conf - - sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${HEAT_CONF_DIR}/heat.conf - - sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${HEAT_CONF_DIR}/heat.conf - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${HEAT_CONF_DIR}/heat.conf + sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${HEAT_CONF_DIR}/heat.conf + fi if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d @@ -106,6 +106,10 @@ do_install_append() { cp run_tests.sh ${HEAT_CONF_DIR} } +CHEF_SERVICES_CONF_FILES :="\ + ${sysconfdir}/${SRCNAME}/heat.conf \ + ${sysconfdir}/${SRCNAME}/api-paste.ini \ + " pkg_postinst_${SRCNAME}-setup () { if [ "x$D" != "x" ]; then exit 1 @@ -123,7 +127,7 @@ pkg_postinst_${SRCNAME}-setup () { heat-manage db_sync } -inherit setuptools identity hosts update-rc.d default_configs +inherit setuptools identity hosts update-rc.d default_configs openstackchef PACKAGES += "${SRCNAME}-tests ${SRCNAME}-templates ${SRCNAME}-common ${SRCNAME}-api ${SRCNAME}-api-cfn ${SRCNAME}-engine" PACKAGES += "${SRCNAME}-setup" diff --git a/meta-openstack/recipes-devtools/python/python-keystone_git.bb b/meta-openstack/recipes-devtools/python/python-keystone_git.bb index 49aa278..5e7fca1 100644 --- a/meta-openstack/recipes-devtools/python/python-keystone_git.bb +++ b/meta-openstack/recipes-devtools/python/python-keystone_git.bb @@ -22,7 +22,7 @@ PV="2014.2.b3+git${SRCPV}" S = "${WORKDIR}/git" -inherit setuptools update-rc.d identity hosts default_configs +inherit setuptools update-rc.d identity hosts default_configs openstackchef SERVICE_TOKEN = "password" TOKEN_FORMAT ?= "PKI" @@ -97,27 +97,36 @@ do_install_append() { ${KEYSTONE_CGI_DIR}/main cp -r ${S}/examples ${KEYSTONE_PACKAGE_DIR} - - sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" \ - -i ${KEYSTONE_CONF_DIR}/keystone.conf - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${KEYSTONE_CONF_DIR}/keystone.conf - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" \ - -i ${KEYSTONE_CONF_DIR}/keystone.conf - - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" \ - -i ${KEYSTONE_CONF_DIR}/keystone.conf - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" \ - -i ${KEYSTONE_CONF_DIR}/identity.sh - - sed -e "s:%TOKEN_FORMAT%:${TOKEN_FORMAT}:g" \ - -i ${KEYSTONE_CONF_DIR}/keystone.conf - + + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" \ + -i ${KEYSTONE_CONF_DIR}/keystone.conf + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${KEYSTONE_CONF_DIR}/keystone.conf + sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" \ + -i ${KEYSTONE_CONF_DIR}/keystone.conf + + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" \ + -i ${KEYSTONE_CONF_DIR}/keystone.conf + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" \ + -i ${KEYSTONE_CONF_DIR}/identity.sh + + sed -e "s:%TOKEN_FORMAT%:${TOKEN_FORMAT}:g" \ + -i ${KEYSTONE_CONF_DIR}/keystone.conf + + sed -e "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" \ + -i ${D}${sysconfdir}/init.d/keystone + sed -e "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" \ + -i ${D}${sysconfdir}/init.d/keystone + sed -e "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" \ + -i ${D}${sysconfdir}/init.d/keystone + fi + sed "/# admin_endpoint = .*/a \ - public_endpoint = http://${CONTROLLER_IP}:8081/keystone/main/ " \ + public_endpoint = http://%CONTROLLER_IP%:8081/keystone/main/ " \ -i ${KEYSTONE_CONF_DIR}/keystone.conf sed "/# admin_endpoint = .*/a \ - admin_endpoint = http://${CONTROLLER_IP}:8081/keystone/admin/ " \ + admin_endpoint = http://%CONTROLLER_IP%:8081/keystone/admin/ " \ -i ${KEYSTONE_CONF_DIR}/keystone.conf if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; @@ -135,12 +144,6 @@ do_install_append() { cp run_tests.sh ${KEYSTONE_CONF_DIR} - sed -e "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" \ - -i ${D}${sysconfdir}/init.d/keystone - sed -e "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" \ - -i ${D}${sysconfdir}/init.d/keystone - sed -e "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" \ - -i ${D}${sysconfdir}/init.d/keystone if ${@base_contains('DISTRO_FEATURES', 'OpenLDAP', 'true', 'false', d)}; then @@ -187,6 +190,12 @@ role_tree_dn = ou=Roles,${LDAP_DN} \ fi } +CHEF_SERVICES_CONF_FILES := "\ + ${sysconfdir}/${SRCNAME}/keystone.conf \ + ${sysconfdir}/${SRCNAME}/identity.sh \ + ${sysconfdir}/init.d/keystone \ + " + pkg_postinst_${SRCNAME}-setup () { # python-keystone postinst start if [ "x$D" != "x" ]; then diff --git a/meta-openstack/recipes-devtools/python/python-nova_git.bb b/meta-openstack/recipes-devtools/python/python-nova_git.bb index 207b965..5a8ba84 100644 --- a/meta-openstack/recipes-devtools/python/python-nova_git.bb +++ b/meta-openstack/recipes-devtools/python/python-nova_git.bb @@ -30,7 +30,7 @@ PV="2014.2.b3+git${SRCPV}" S = "${WORKDIR}/git" -inherit update-rc.d setuptools identity hosts useradd default_configs +inherit update-rc.d setuptools identity hosts useradd default_configs openstackchef LIBVIRT_IMAGES_TYPE ?= "default" @@ -103,38 +103,38 @@ do_install_append() { install -o nova -m 664 ${WORKDIR}/nova.conf ${NOVA_CONF_DIR}/nova.conf install -o nova -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${NOVA_CONF_DIR} install -o nova -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR} + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + # Configuration options + sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ + -i ${NOVA_CONF_DIR}/api-paste.ini + sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/api-paste.ini + sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \ + -i ${NOVA_CONF_DIR}/api-paste.ini + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/api-paste.ini - # Configuration options - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \ - -i ${NOVA_CONF_DIR}/api-paste.ini - sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/api-paste.ini - sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \ - -i ${NOVA_CONF_DIR}/api-paste.ini - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/api-paste.ini + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf + sed -e "s:%LIBVIRT_IMAGES_TYPE%:${LIBVIRT_IMAGES_TYPE}:g" -i ${NOVA_CONF_DIR}/nova.conf - sed -e "s:%LIBVIRT_IMAGES_TYPE%:${LIBVIRT_IMAGES_TYPE}:g" -i ${NOVA_CONF_DIR}/nova.conf - - sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc - sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc - - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc - sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc + sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc + sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc + sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc + fi install -o nova -d ${NOVA_CONF_DIR}/instances if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then @@ -159,6 +159,12 @@ do_install_append() { cp -r "${S}/plugins" "${D}/${PYTHON_SITEPACKAGES_DIR}/nova" } +CHEF_SERVICES_CONF_FILES := "\ + ${sysconfdir}/${SRCNAME}/nova.conf \ + ${sysconfdir}/${SRCNAME}/api-paste.ini \ + ${sysconfdir}/${SRCNAME}/openrc \ + " + pkg_postinst_${SRCNAME}-setup () { if [ "x$D" != "x" ]; then exit 1 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" PV="2.1.0+git${SRCPV}" S = "${WORKDIR}/git" -inherit setuptools python-dir update-rc.d hosts identity +inherit setuptools python-dir update-rc.d hosts identity openstackchef # The size of the backing file (in Gigabytes) of loopback devices # which are used for setting up Swift storage devices. The value @@ -82,31 +82,39 @@ do_install_append() { sed 's/^# swift_dir =.*/swift_dir = \/etc\/swift/' -i ${SWIFT_CONF_DIR}/object-server.conf sed 's/^# devices =.*/devices = \/etc\/swift\/node/' -i ${SWIFT_CONF_DIR}/object-server.conf sed 's/^# mount_check =.*/mount_check = false/' -i ${SWIFT_CONF_DIR}/object-server.conf - - sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf - sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf - sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf - - sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf - sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf - sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf - - sed "s/%ADMIN_TENANT_NAME%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%ADMIN_USER%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%DEMO_USER%/demo/g" -i ${SWIFT_CONF_DIR}/test.conf - sed "s/%DEMO_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf - + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf + sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf + sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/proxy-server.conf + + sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf + sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf + sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/dispersion.conf + + sed "s/%ADMIN_TENANT_NAME%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%ADMIN_USER%/admin/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%ADMIN_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%SERVICE_TENANT_NAME%/${SERVICE_TENANT_NAME}/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%SERVICE_USER%/${SRCNAME}/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%SERVICE_PASSWORD%/${SERVICE_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%DEMO_USER%/demo/g" -i ${SWIFT_CONF_DIR}/test.conf + sed "s/%DEMO_PASSWORD%/${ADMIN_PASSWORD}/g" -i ${SWIFT_CONF_DIR}/test.conf + + sed "s/%SWIFT_BACKING_FILE_SIZE%/${SWIFT_BACKING_FILE_SIZE}/g" -i ${D}${sysconfdir}/init.d/swift + sed "s/%CONTROLLER_IP%/${CONTROLLER_IP}/g" -i ${D}${sysconfdir}/init.d/swift + fi cp -r test ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/ grep -rl '^from test' ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/test | xargs sed 's/^from test/from swift\.test/g' -i - sed "s/%SWIFT_BACKING_FILE_SIZE%/${SWIFT_BACKING_FILE_SIZE}/g" -i ${D}${sysconfdir}/init.d/swift - sed "s/%CONTROLLER_IP%/${CONTROLLER_IP}/g" -i ${D}${sysconfdir}/init.d/swift } +CHEF_SERVICES_CONF_FILES := " \ + ${sysconfdir}/${SRCNAME}/test.conf \ + ${sysconfdir}/${SRCNAME}/dispersion.conf \ + ${sysconfdir}/${SRCNAME}/proxy-server.conf \ + ${sysconfdir}/init.d/swift \ + " + pkg_postinst_${SRCNAME}-setup () { if [ "x$D" != "x" ]; then exit 1 diff --git a/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb b/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb index 9e460a7..baa186b 100644 --- a/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb +++ b/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb @@ -27,15 +27,20 @@ do_install_prepend() { } do_install_append() { - sed -e "s:%MANAGE_HOSTS%:${MANAGE_HOSTS}:g" -i ${WORKDIR}/cloud.cfg - sed -e "s:%HOSTNAME%:${HOSTNAME}:g" -i ${WORKDIR}/cloud.cfg install -m 0755 ${WORKDIR}/cloud.cfg ${D}${sysconfdir}/cloud/cloud.cfg - + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%MANAGE_HOSTS%:${MANAGE_HOSTS}:g" -i ${D}${sysconfdir}/cloud/cloud.cfg + sed -e "s:%HOSTNAME%:${HOSTNAME}:g" -i ${D}${sysconfdir}/cloud/cloud.cfg + fi ln -s ${libdir}/${BPN}/uncloud-init ${D}${sysconfdir}/cloud/uncloud-init ln -s ${libdir}/${BPN}/write-ssh-key-fingerprints ${D}${sysconfdir}/cloud/write-ssh-key-fingerprints } -inherit setuptools update-rc.d +inherit setuptools update-rc.d openstackchef + +CHEF_SERVICES_CONF_FILES := " \ + ${sysconfdir}/cloud/cloud.cfg \ + " FILES_${PN} += "${sysconfdir}/* \ ${datadir}/*" diff --git a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend index 2e61fde..db247e5 100644 --- a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend +++ b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend @@ -3,7 +3,7 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://postgresql \ file://postgresql-init" -inherit useradd update-rc.d identity hosts autotools-brokensep +inherit useradd update-rc.d identity hosts autotools-brokensep openstackchef PACKAGECONFIG[libxml] = "--with-libxml CFLAGS=-I${STAGING_INCDIR}/libxml2,--without-libxml,libxml2,libxml2" @@ -16,20 +16,26 @@ do_install_append() { install -d ${D}${sysconfdir}/init.d/ install -m 0755 ${WORKDIR}/postgresql ${INIT_D_DEST_DIR}/postgresql install -m 0755 ${WORKDIR}/postgresql-init ${INIT_D_DEST_DIR}/postgresql-init + if [ -z "${OPENSTACKCHEF_ENABLED}" ]; then + sed -e "s:%DB_DATADIR%:${DB_DATADIR}:g" -i ${INIT_D_DEST_DIR}/postgresql + sed -e "s:%DB_DATADIR%:${DB_DATADIR}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%DB_DATADIR%:${DB_DATADIR}:g" -i ${INIT_D_DEST_DIR}/postgresql - sed -e "s:%DB_DATADIR%:${DB_DATADIR}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - - sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${INIT_D_DEST_DIR}/postgresql-init - sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${INIT_D_DEST_DIR}/postgresql-init + fi } +CHEF_SERVICES_CONF_FILES := "\ + ${sysconfdir}/init.d/postgresql \ + ${sysconfdir}/init.d/postgresql-init \ + " + RDEPENDS_${PN} += "postgresql-timezone eglibc-utils update-rc.d" USERADD_PACKAGES = "${PN}" GROUPADD_PARAM_${PN} = "--system postgres" -- cgit v1.2.3-54-g00ecf