diff options
| author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-10-31 00:24:55 -0400 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2013-11-25 15:25:34 -0500 |
| commit | e2a6168655ac43d8fa70cfb21dc9c6713f09953c (patch) | |
| tree | b6b0757920df1f60c508c47a6ba2be1cf9d819fe /meta-openstack/recipes-devtools/python/python-keystone_git.bb | |
| parent | a5a59d040b5db77a06346a516d30566a21d41586 (diff) | |
| download | meta-cloud-services-e2a6168655ac43d8fa70cfb21dc9c6713f09953c.tar.gz | |
keystone: update to havana version
Updating the keystone OpenStack component to the havana release version.
As part of this switch, we also start building out of git versus the
release tarballs.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-keystone_git.bb')
| -rw-r--r-- | meta-openstack/recipes-devtools/python/python-keystone_git.bb | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-keystone_git.bb b/meta-openstack/recipes-devtools/python/python-keystone_git.bb new file mode 100644 index 0000000..882848a --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-keystone_git.bb | |||
| @@ -0,0 +1,114 @@ | |||
| 1 | DESCRIPTION = "Authentication service for OpenStack" | ||
| 2 | HOMEPAGE = "http://www.openstack.org" | ||
| 3 | SECTION = "devel/python" | ||
| 4 | LICENSE = "Apache-2.0" | ||
| 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" | ||
| 6 | |||
| 7 | PR = "r0" | ||
| 8 | SRCNAME = "keystone" | ||
| 9 | |||
| 10 | SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/havana \ | ||
| 11 | file://keystone.conf \ | ||
| 12 | file://identity.sh \ | ||
| 13 | file://keystone \ | ||
| 14 | file://openrc \ | ||
| 15 | " | ||
| 16 | |||
| 17 | SRCREV="4221b6020e6b0b42325d8904d7b8a22577a6acc0" | ||
| 18 | PV="2013.2+git${SRCPV}" | ||
| 19 | |||
| 20 | S = "${WORKDIR}/git" | ||
| 21 | |||
| 22 | inherit setuptools update-rc.d identity hosts | ||
| 23 | |||
| 24 | SERVICE_TOKEN = "password" | ||
| 25 | |||
| 26 | do_install_append() { | ||
| 27 | |||
| 28 | KEYSTONE_CONF_DIR=${D}${sysconfdir}/keystone | ||
| 29 | |||
| 30 | install -d ${KEYSTONE_CONF_DIR} | ||
| 31 | |||
| 32 | sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/keystone.conf | ||
| 33 | sed -e "s:%DB_USER%:${DB_USER}:g" -i ${WORKDIR}/keystone.conf | ||
| 34 | sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${WORKDIR}/keystone.conf | ||
| 35 | |||
| 36 | sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/keystone.conf | ||
| 37 | sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/identity.sh | ||
| 38 | |||
| 39 | install -d ${D}${localstatedir}/log/${SRCNAME} | ||
| 40 | |||
| 41 | install -m 600 ${WORKDIR}/keystone.conf ${KEYSTONE_CONF_DIR}/ | ||
| 42 | install -m 600 ${WORKDIR}/identity.sh ${KEYSTONE_CONF_DIR}/ | ||
| 43 | install -m 600 ${WORKDIR}/openrc ${KEYSTONE_CONF_DIR}/ | ||
| 44 | install -m 600 ${S}/etc/logging.conf.sample ${KEYSTONE_CONF_DIR}/logging.conf | ||
| 45 | install -m 600 ${S}/etc/policy.json ${KEYSTONE_CONF_DIR}/policy.json | ||
| 46 | |||
| 47 | if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | ||
| 48 | install -d ${D}${sysconfdir}/init.d | ||
| 49 | install -m 0755 ${WORKDIR}/keystone ${D}${sysconfdir}/init.d/keystone | ||
| 50 | fi | ||
| 51 | } | ||
| 52 | |||
| 53 | pkg_postinst_${SRCNAME} () { | ||
| 54 | # python-keystone postinst start | ||
| 55 | if [ "x$D" != "x" ]; then | ||
| 56 | exit 1 | ||
| 57 | fi | ||
| 58 | |||
| 59 | # This is to make sure postgres is configured and running | ||
| 60 | if ! pidof postmaster > /dev/null; then | ||
| 61 | /etc/init.d/postgresql-init | ||
| 62 | /etc/init.d/postgresql start | ||
| 63 | sleep 5 | ||
| 64 | fi | ||
| 65 | |||
| 66 | sudo -u postgres createdb keystone | ||
| 67 | keystone-manage db_sync | ||
| 68 | keystone-manage pki_setup --keystone-user=root --keystone-group=root | ||
| 69 | |||
| 70 | # Create users, services and endpoints | ||
| 71 | /etc/init.d/keystone start | ||
| 72 | sleep 2 | ||
| 73 | |||
| 74 | ADMIN_PASSWORD=${ADMIN_PASSWORD} \ | ||
| 75 | SERVICE_PASSWORD=${SERVICE_PASSWORD} \ | ||
| 76 | SERVICE_TENANT_NAME=${SERVICE_TENANT_NAME} \ | ||
| 77 | bash /etc/keystone/identity.sh | ||
| 78 | |||
| 79 | # end python-keystone postinst | ||
| 80 | } | ||
| 81 | |||
| 82 | PACKAGES += " ${SRCNAME}" | ||
| 83 | |||
| 84 | FILES_${PN} = "${libdir}/*" | ||
| 85 | |||
| 86 | FILES_${SRCNAME} = "${bindir}/* \ | ||
| 87 | ${sysconfdir}/${SRCNAME}/* \ | ||
| 88 | ${sysconfdir}/init.d/* \ | ||
| 89 | ${localstatedir}/* \ | ||
| 90 | " | ||
| 91 | |||
| 92 | RDEPENDS_${PN} += "python-pam \ | ||
| 93 | python-webob \ | ||
| 94 | python-eventlet \ | ||
| 95 | python-greenlet \ | ||
| 96 | python-pastedeploy \ | ||
| 97 | python-paste \ | ||
| 98 | python-routes \ | ||
| 99 | python-sqlalchemy \ | ||
| 100 | python-sqlalchemy-migrate \ | ||
| 101 | python-passlib \ | ||
| 102 | python-lxml \ | ||
| 103 | python-iso8601 \ | ||
| 104 | python-keystoneclient \ | ||
| 105 | python-oslo.config \ | ||
| 106 | python-dogpile.core \ | ||
| 107 | python-dogpile.cache \ | ||
| 108 | " | ||
| 109 | |||
| 110 | RDEPENDS_${SRCNAME} = "${PN} \ | ||
| 111 | postgresql postgresql-client python-psycopg2" | ||
| 112 | |||
| 113 | INITSCRIPT_PACKAGES = "${SRCNAME}" | ||
| 114 | INITSCRIPT_NAME_${SRCNAME} = "keystone" | ||
