Allow mongod service to launch on Fedora

Fixes bug 1144907

Previously, the mongod service may fail to launch, if the eager
filesystem freespace check trips over an SELinux AVC or finds
a lack of freespace (depending on the up-to-datedness of the
selinux-policy-targeted package and the disk size/usage in the
hosting instance).

We work around these issues by ensuring the selinux-policy-targeted
package is up-to-date when ceilometer is enabled on Fedora, and
also setting the --smallfiles option.

Change-Id: I74f21662aedf9cc07b9a335d22b833a8a80dfce2
This commit is contained in:
Eoghan Glynn 2013-03-04 13:13:03 -05:00
parent f90b2740f7
commit 285c75e7a4
2 changed files with 12 additions and 0 deletions

View File

@ -1,2 +1,3 @@
selinux-policy-targeted
mongodb-server mongodb-server
pymongo pymongo

View File

@ -88,9 +88,20 @@ function configure_ceilometer() {
iniset $CEILOMETER_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME iniset $CEILOMETER_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME
iniset $CEILOMETER_CONF keystone_authtoken signing_dir $CEILOMETER_AUTH_CACHE_DIR iniset $CEILOMETER_CONF keystone_authtoken signing_dir $CEILOMETER_AUTH_CACHE_DIR
configure_mongodb
cleanup_ceilometer cleanup_ceilometer
} }
function configure_mongodb() {
if is_fedora ; then
# ensure smallfiles selected to minimize freespace requirements
sudo sed -i '/--smallfiles/!s/OPTIONS=\"/OPTIONS=\"--smallfiles /' /etc/sysconfig/mongod
restart_service mongod
fi
}
# init_ceilometer() - Initialize etc. # init_ceilometer() - Initialize etc.
function init_ceilometer() { function init_ceilometer() {
# Create cache dir # Create cache dir