This eliminated a number of sudo calls by doing the copy/chown/chmod in
a single step and sets a common pattern.
Change-Id: I9c8f48854d5bc443cc187df0948c28b82c4d2838
| ... | ... |
@@ -163,11 +163,7 @@ function _config_ceilometer_apache_wsgi {
|
| 163 | 163 |
|
| 164 | 164 |
# configure_ceilometer() - Set config files, create data dirs, etc |
| 165 | 165 |
function configure_ceilometer {
|
| 166 |
- [ ! -d $CEILOMETER_CONF_DIR ] && sudo mkdir -m 755 -p $CEILOMETER_CONF_DIR |
|
| 167 |
- sudo chown $STACK_USER $CEILOMETER_CONF_DIR |
|
| 168 |
- |
|
| 169 |
- [ ! -d $CEILOMETER_API_LOG_DIR ] && sudo mkdir -m 755 -p $CEILOMETER_API_LOG_DIR |
|
| 170 |
- sudo chown $STACK_USER $CEILOMETER_API_LOG_DIR |
|
| 166 |
+ sudo install -d -o $STACK_USER -m 755 $CEILOMETER_CONF_DIR $CEILOMETER_API_LOG_DIR |
|
| 171 | 167 |
|
| 172 | 168 |
iniset_rpc_backend ceilometer $CEILOMETER_CONF DEFAULT |
| 173 | 169 |
|
| ... | ... |
@@ -267,8 +263,7 @@ function configure_mongodb {
|
| 267 | 267 |
# init_ceilometer() - Initialize etc. |
| 268 | 268 |
function init_ceilometer {
|
| 269 | 269 |
# Create cache dir |
| 270 |
- sudo mkdir -p $CEILOMETER_AUTH_CACHE_DIR |
|
| 271 |
- sudo chown $STACK_USER $CEILOMETER_AUTH_CACHE_DIR |
|
| 270 |
+ sudo install -d -o $STACK_USER $CEILOMETER_AUTH_CACHE_DIR |
|
| 272 | 271 |
rm -f $CEILOMETER_AUTH_CACHE_DIR/* |
| 273 | 272 |
|
| 274 | 273 |
if is_service_enabled mysql postgresql; then |
| ... | ... |
@@ -174,16 +174,15 @@ function configure_cinder_rootwrap {
|
| 174 | 174 |
if [[ -d $CINDER_CONF_DIR/rootwrap.d ]]; then |
| 175 | 175 |
sudo rm -rf $CINDER_CONF_DIR/rootwrap.d |
| 176 | 176 |
fi |
| 177 |
+ |
|
| 177 | 178 |
# Deploy filters to /etc/cinder/rootwrap.d |
| 178 |
- sudo mkdir -m 755 $CINDER_CONF_DIR/rootwrap.d |
|
| 179 |
- sudo cp $CINDER_DIR/etc/cinder/rootwrap.d/*.filters $CINDER_CONF_DIR/rootwrap.d |
|
| 180 |
- sudo chown -R root:root $CINDER_CONF_DIR/rootwrap.d |
|
| 181 |
- sudo chmod 644 $CINDER_CONF_DIR/rootwrap.d/* |
|
| 179 |
+ sudo install -d -o root -g root -m 755 $CINDER_CONF_DIR/rootwrap.d |
|
| 180 |
+ sudo install -o root -g root -m 644 $CINDER_DIR/etc/cinder/rootwrap.d/*.filters $CINDER_CONF_DIR/rootwrap.d |
|
| 181 |
+ |
|
| 182 | 182 |
# Set up rootwrap.conf, pointing to /etc/cinder/rootwrap.d |
| 183 |
- sudo cp $CINDER_DIR/etc/cinder/rootwrap.conf $CINDER_CONF_DIR/ |
|
| 183 |
+ sudo install -o root -g root -m 644 $CINDER_DIR/etc/cinder/rootwrap.conf $CINDER_CONF_DIR |
|
| 184 | 184 |
sudo sed -e "s:^filters_path=.*$:filters_path=$CINDER_CONF_DIR/rootwrap.d:" -i $CINDER_CONF_DIR/rootwrap.conf |
| 185 |
- sudo chown root:root $CINDER_CONF_DIR/rootwrap.conf |
|
| 186 |
- sudo chmod 0644 $CINDER_CONF_DIR/rootwrap.conf |
|
| 185 |
+ |
|
| 187 | 186 |
# Specify rootwrap.conf as first parameter to rootwrap |
| 188 | 187 |
ROOTWRAP_CSUDOER_CMD="$cinder_rootwrap $CINDER_CONF_DIR/rootwrap.conf *" |
| 189 | 188 |
|
| ... | ... |
@@ -197,10 +196,7 @@ function configure_cinder_rootwrap {
|
| 197 | 197 |
|
| 198 | 198 |
# configure_cinder() - Set config files, create data dirs, etc |
| 199 | 199 |
function configure_cinder {
|
| 200 |
- if [[ ! -d $CINDER_CONF_DIR ]]; then |
|
| 201 |
- sudo mkdir -p $CINDER_CONF_DIR |
|
| 202 |
- fi |
|
| 203 |
- sudo chown $STACK_USER $CINDER_CONF_DIR |
|
| 200 |
+ sudo install -d -o $STACK_USER -m 755 $CINDER_CONF_DIR |
|
| 204 | 201 |
|
| 205 | 202 |
cp -p $CINDER_DIR/etc/cinder/policy.json $CINDER_CONF_DIR |
| 206 | 203 |
|
| ... | ... |
@@ -351,8 +347,7 @@ function create_cinder_accounts {
|
| 351 | 351 |
# create_cinder_cache_dir() - Part of the init_cinder() process |
| 352 | 352 |
function create_cinder_cache_dir {
|
| 353 | 353 |
# Create cache dir |
| 354 |
- sudo mkdir -p $CINDER_AUTH_CACHE_DIR |
|
| 355 |
- sudo chown $STACK_USER $CINDER_AUTH_CACHE_DIR |
|
| 354 |
+ sudo install -d -o $STACK_USER $CINDER_AUTH_CACHE_DIR |
|
| 356 | 355 |
rm -f $CINDER_AUTH_CACHE_DIR/* |
| 357 | 356 |
} |
| 358 | 357 |
|
| ... | ... |
@@ -90,15 +90,7 @@ function cleanup_glance {
|
| 90 | 90 |
|
| 91 | 91 |
# configure_glance() - Set config files, create data dirs, etc |
| 92 | 92 |
function configure_glance {
|
| 93 |
- if [[ ! -d $GLANCE_CONF_DIR ]]; then |
|
| 94 |
- sudo mkdir -p $GLANCE_CONF_DIR |
|
| 95 |
- fi |
|
| 96 |
- sudo chown $STACK_USER $GLANCE_CONF_DIR |
|
| 97 |
- |
|
| 98 |
- if [[ ! -d $GLANCE_METADEF_DIR ]]; then |
|
| 99 |
- sudo mkdir -p $GLANCE_METADEF_DIR |
|
| 100 |
- fi |
|
| 101 |
- sudo chown $STACK_USER $GLANCE_METADEF_DIR |
|
| 93 |
+ sudo install -d -o $STACK_USER $GLANCE_CONF_DIR $GLANCE_METADEF_DIR |
|
| 102 | 94 |
|
| 103 | 95 |
# Copy over our glance configurations and update them |
| 104 | 96 |
cp $GLANCE_DIR/etc/glance-registry.conf $GLANCE_REGISTRY_CONF |
| ... | ... |
@@ -263,12 +255,8 @@ function create_glance_accounts {
|
| 263 | 263 |
# create_glance_cache_dir() - Part of the init_glance() process |
| 264 | 264 |
function create_glance_cache_dir {
|
| 265 | 265 |
# Create cache dir |
| 266 |
- sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/api |
|
| 267 |
- sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/api |
|
| 268 |
- rm -f $GLANCE_AUTH_CACHE_DIR/api/* |
|
| 269 |
- sudo mkdir -p $GLANCE_AUTH_CACHE_DIR/registry |
|
| 270 |
- sudo chown $STACK_USER $GLANCE_AUTH_CACHE_DIR/registry |
|
| 271 |
- rm -f $GLANCE_AUTH_CACHE_DIR/registry/* |
|
| 266 |
+ sudo install -d -o $STACK_USER $GLANCE_AUTH_CACHE_DIR/api $GLANCE_AUTH_CACHE_DIR/registry |
|
| 267 |
+ rm -f $GLANCE_AUTH_CACHE_DIR/api/* $GLANCE_AUTH_CACHE_DIR/registry/* |
|
| 272 | 268 |
} |
| 273 | 269 |
|
| 274 | 270 |
# init_glance() - Initialize databases, etc. |
| ... | ... |
@@ -85,10 +85,7 @@ function configure_heat {
|
| 85 | 85 |
setup_develop $HEAT_DIR/contrib/heat_keystoneclient_v2 |
| 86 | 86 |
fi |
| 87 | 87 |
|
| 88 |
- if [[ ! -d $HEAT_CONF_DIR ]]; then |
|
| 89 |
- sudo mkdir -p $HEAT_CONF_DIR |
|
| 90 |
- fi |
|
| 91 |
- sudo chown $STACK_USER $HEAT_CONF_DIR |
|
| 88 |
+ sudo install -d -o $STACK_USER $HEAT_CONF_DIR |
|
| 92 | 89 |
# remove old config files |
| 93 | 90 |
rm -f $HEAT_CONF_DIR/heat-*.conf |
| 94 | 91 |
|
| ... | ... |
@@ -172,15 +169,11 @@ function configure_heat {
|
| 172 | 172 |
iniset $HEAT_CONF DEFAULT enable_stack_abandon true |
| 173 | 173 |
fi |
| 174 | 174 |
|
| 175 |
- # heat environment |
|
| 176 |
- sudo mkdir -p $HEAT_ENV_DIR |
|
| 177 |
- sudo chown $STACK_USER $HEAT_ENV_DIR |
|
| 175 |
+ sudo install -d -o $STACK_USER $HEAT_ENV_DIR $HEAT_TEMPLATES_DIR |
|
| 176 |
+ |
|
| 178 | 177 |
# copy the default environment |
| 179 | 178 |
cp $HEAT_DIR/etc/heat/environment.d/* $HEAT_ENV_DIR/ |
| 180 | 179 |
|
| 181 |
- # heat template resources. |
|
| 182 |
- sudo mkdir -p $HEAT_TEMPLATES_DIR |
|
| 183 |
- sudo chown $STACK_USER $HEAT_TEMPLATES_DIR |
|
| 184 | 180 |
# copy the default templates |
| 185 | 181 |
cp $HEAT_DIR/etc/heat/templates/* $HEAT_TEMPLATES_DIR/ |
| 186 | 182 |
|
| ... | ... |
@@ -199,8 +192,7 @@ function init_heat {
|
| 199 | 199 |
# create_heat_cache_dir() - Part of the init_heat() process |
| 200 | 200 |
function create_heat_cache_dir {
|
| 201 | 201 |
# Create cache dirs |
| 202 |
- sudo mkdir -p $HEAT_AUTH_CACHE_DIR |
|
| 203 |
- sudo chown $STACK_USER $HEAT_AUTH_CACHE_DIR |
|
| 202 |
+ sudo install -d -o $STACK_USER $HEAT_AUTH_CACHE_DIR |
|
| 204 | 203 |
} |
| 205 | 204 |
|
| 206 | 205 |
# install_heatclient() - Collect source and prepare |
| ... | ... |
@@ -233,22 +233,14 @@ function cleanup_ironic {
|
| 233 | 233 |
# configure_ironic_dirs() - Create all directories required by Ironic and |
| 234 | 234 |
# associated services. |
| 235 | 235 |
function configure_ironic_dirs {
|
| 236 |
- if [[ ! -d $IRONIC_CONF_DIR ]]; then |
|
| 237 |
- sudo mkdir -p $IRONIC_CONF_DIR |
|
| 238 |
- fi |
|
| 236 |
+ sudo install -d -o $STACK_USER $IRONIC_CONF_DIR $STACK_USER $IRONIC_DATA_DIR \ |
|
| 237 |
+ $IRONIC_STATE_PATH $IRONIC_TFTPBOOT_DIR $IRONIC_TFTPBOOT_DIR/pxelinux.cfg |
|
| 238 |
+ sudo chown -R $STACK_USER:$LIBVIRT_GROUP $IRONIC_TFTPBOOT_DIR |
|
| 239 | 239 |
|
| 240 | 240 |
if [[ "$IRONIC_IPXE_ENABLED" == "True" ]] ; then |
| 241 |
- sudo mkdir -p $IRONIC_HTTP_DIR |
|
| 242 |
- sudo chown -R $STACK_USER:$LIBVIRT_GROUP $IRONIC_HTTP_DIR |
|
| 241 |
+ sudo install -d -o $STACK_USER -g $LIBVIRT_GROUP $IRONIC_HTTP_DIR |
|
| 243 | 242 |
fi |
| 244 | 243 |
|
| 245 |
- sudo mkdir -p $IRONIC_DATA_DIR |
|
| 246 |
- sudo mkdir -p $IRONIC_STATE_PATH |
|
| 247 |
- sudo mkdir -p $IRONIC_TFTPBOOT_DIR |
|
| 248 |
- sudo chown -R $STACK_USER $IRONIC_DATA_DIR $IRONIC_STATE_PATH |
|
| 249 |
- sudo chown -R $STACK_USER:$LIBVIRT_GROUP $IRONIC_TFTPBOOT_DIR |
|
| 250 |
- mkdir -p $IRONIC_TFTPBOOT_DIR/pxelinux.cfg |
|
| 251 |
- |
|
| 252 | 244 |
if [ ! -f $IRONIC_PXE_BOOT_IMAGE ]; then |
| 253 | 245 |
die $LINENO "PXE boot file $IRONIC_PXE_BOOT_IMAGE not found." |
| 254 | 246 |
fi |
| ... | ... |
@@ -267,7 +259,6 @@ function configure_ironic_dirs {
|
| 267 | 267 |
# configure_ironic() - Set config files, create data dirs, etc |
| 268 | 268 |
function configure_ironic {
|
| 269 | 269 |
configure_ironic_dirs |
| 270 |
- sudo chown $STACK_USER $IRONIC_CONF_DIR |
|
| 271 | 270 |
|
| 272 | 271 |
# Copy over ironic configuration file and configure common parameters. |
| 273 | 272 |
cp $IRONIC_DIR/etc/ironic/ironic.conf.sample $IRONIC_CONF_FILE |
| ... | ... |
@@ -175,14 +175,10 @@ function _config_keystone_apache_wsgi {
|
| 175 | 175 |
|
| 176 | 176 |
# configure_keystone() - Set config files, create data dirs, etc |
| 177 | 177 |
function configure_keystone {
|
| 178 |
- if [[ ! -d $KEYSTONE_CONF_DIR ]]; then |
|
| 179 |
- sudo mkdir -p $KEYSTONE_CONF_DIR |
|
| 180 |
- fi |
|
| 181 |
- sudo chown $STACK_USER $KEYSTONE_CONF_DIR |
|
| 178 |
+ sudo install -d -o $STACK_USER $KEYSTONE_CONF_DIR |
|
| 182 | 179 |
|
| 183 | 180 |
if [[ "$KEYSTONE_CONF_DIR" != "$KEYSTONE_DIR/etc" ]]; then |
| 184 |
- cp -p $KEYSTONE_DIR/etc/keystone.conf.sample $KEYSTONE_CONF |
|
| 185 |
- chmod 600 $KEYSTONE_CONF |
|
| 181 |
+ install -m 600 $KEYSTONE_DIR/etc/keystone.conf.sample $KEYSTONE_CONF |
|
| 186 | 182 |
cp -p $KEYSTONE_DIR/etc/policy.json $KEYSTONE_CONF_DIR |
| 187 | 183 |
if [[ -f "$KEYSTONE_DIR/etc/keystone-paste.ini" ]]; then |
| 188 | 184 |
cp -p "$KEYSTONE_DIR/etc/keystone-paste.ini" "$KEYSTONE_PASTE_INI" |
| ... | ... |
@@ -490,8 +486,7 @@ function init_keystone {
|
| 490 | 490 |
$KEYSTONE_DIR/bin/keystone-manage pki_setup |
| 491 | 491 |
|
| 492 | 492 |
# Create cache dir |
| 493 |
- sudo mkdir -p $KEYSTONE_AUTH_CACHE_DIR |
|
| 494 |
- sudo chown $STACK_USER $KEYSTONE_AUTH_CACHE_DIR |
|
| 493 |
+ sudo install -d -o $STACK_USER $KEYSTONE_AUTH_CACHE_DIR |
|
| 495 | 494 |
rm -f $KEYSTONE_AUTH_CACHE_DIR/* |
| 496 | 495 |
fi |
| 497 | 496 |
} |
| ... | ... |
@@ -495,8 +495,7 @@ function create_nova_conf_neutron {
|
| 495 | 495 |
# create_neutron_cache_dir() - Part of the _neutron_setup_keystone() process |
| 496 | 496 |
function create_neutron_cache_dir {
|
| 497 | 497 |
# Create cache dir |
| 498 |
- sudo mkdir -p $NEUTRON_AUTH_CACHE_DIR |
|
| 499 |
- sudo chown $STACK_USER $NEUTRON_AUTH_CACHE_DIR |
|
| 498 |
+ sudo install -d -o $STACK_USER $NEUTRON_AUTH_CACHE_DIR |
|
| 500 | 499 |
rm -f $NEUTRON_AUTH_CACHE_DIR/* |
| 501 | 500 |
} |
| 502 | 501 |
|
| ... | ... |
@@ -800,10 +799,7 @@ function cleanup_neutron {
|
| 800 | 800 |
|
| 801 | 801 |
function _create_neutron_conf_dir {
|
| 802 | 802 |
# Put config files in ``NEUTRON_CONF_DIR`` for everyone to find |
| 803 |
- if [[ ! -d $NEUTRON_CONF_DIR ]]; then |
|
| 804 |
- sudo mkdir -p $NEUTRON_CONF_DIR |
|
| 805 |
- fi |
|
| 806 |
- sudo chown $STACK_USER $NEUTRON_CONF_DIR |
|
| 803 |
+ sudo install -d -o $STACK_USER $NEUTRON_CONF_DIR |
|
| 807 | 804 |
} |
| 808 | 805 |
|
| 809 | 806 |
# _configure_neutron_common() |
| ... | ... |
@@ -1075,10 +1071,8 @@ function _neutron_service_plugin_class_add {
|
| 1075 | 1075 |
# _neutron_deploy_rootwrap_filters() - deploy rootwrap filters to $Q_CONF_ROOTWRAP_D (owned by root). |
| 1076 | 1076 |
function _neutron_deploy_rootwrap_filters {
|
| 1077 | 1077 |
local srcdir=$1 |
| 1078 |
- mkdir -p -m 755 $Q_CONF_ROOTWRAP_D |
|
| 1079 |
- sudo cp -pr $srcdir/etc/neutron/rootwrap.d/* $Q_CONF_ROOTWRAP_D/ |
|
| 1080 |
- sudo chown -R root:root $Q_CONF_ROOTWRAP_D |
|
| 1081 |
- sudo chmod 644 $Q_CONF_ROOTWRAP_D/* |
|
| 1078 |
+ sudo install -d -o root -m 755 $Q_CONF_ROOTWRAP_D |
|
| 1079 |
+ sudo install -o root -m 644 $srcdir/etc/neutron/rootwrap.d/* $Q_CONF_ROOTWRAP_D/ |
|
| 1082 | 1080 |
} |
| 1083 | 1081 |
|
| 1084 | 1082 |
# _neutron_setup_rootwrap() - configure Neutron's rootwrap |
| ... | ... |
@@ -1097,13 +1091,11 @@ function _neutron_setup_rootwrap {
|
| 1097 | 1097 |
# Set up ``rootwrap.conf``, pointing to ``$NEUTRON_CONF_DIR/rootwrap.d`` |
| 1098 | 1098 |
# location moved in newer versions, prefer new location |
| 1099 | 1099 |
if test -r $NEUTRON_DIR/etc/neutron/rootwrap.conf; then |
| 1100 |
- sudo cp -p $NEUTRON_DIR/etc/neutron/rootwrap.conf $Q_RR_CONF_FILE |
|
| 1100 |
+ sudo install -o root -g root -m 644 $NEUTRON_DIR/etc/neutron/rootwrap.conf $Q_RR_CONF_FILE |
|
| 1101 | 1101 |
else |
| 1102 |
- sudo cp -p $NEUTRON_DIR/etc/rootwrap.conf $Q_RR_CONF_FILE |
|
| 1102 |
+ sudo install -o root -g root -m 644 $NEUTRON_DIR/etc/rootwrap.conf $Q_RR_CONF_FILE |
|
| 1103 | 1103 |
fi |
| 1104 | 1104 |
sudo sed -e "s:^filters_path=.*$:filters_path=$Q_CONF_ROOTWRAP_D:" -i $Q_RR_CONF_FILE |
| 1105 |
- sudo chown root:root $Q_RR_CONF_FILE |
|
| 1106 |
- sudo chmod 0644 $Q_RR_CONF_FILE |
|
| 1107 | 1105 |
# Specify ``rootwrap.conf`` as first parameter to neutron-rootwrap |
| 1108 | 1106 |
ROOTWRAP_SUDOER_CMD="$NEUTRON_ROOTWRAP $Q_RR_CONF_FILE *" |
| 1109 | 1107 |
|
| ... | ... |
@@ -232,16 +232,15 @@ function configure_nova_rootwrap {
|
| 232 | 232 |
if [[ -d $NOVA_CONF_DIR/rootwrap.d ]]; then |
| 233 | 233 |
sudo rm -rf $NOVA_CONF_DIR/rootwrap.d |
| 234 | 234 |
fi |
| 235 |
+ |
|
| 235 | 236 |
# Deploy filters to /etc/nova/rootwrap.d |
| 236 |
- sudo mkdir -m 755 $NOVA_CONF_DIR/rootwrap.d |
|
| 237 |
- sudo cp $NOVA_DIR/etc/nova/rootwrap.d/*.filters $NOVA_CONF_DIR/rootwrap.d |
|
| 238 |
- sudo chown -R root:root $NOVA_CONF_DIR/rootwrap.d |
|
| 239 |
- sudo chmod 644 $NOVA_CONF_DIR/rootwrap.d/* |
|
| 237 |
+ sudo install -d -o root -g root -m 755 $NOVA_CONF_DIR/rootwrap.d |
|
| 238 |
+ sudo install -o root -g root -m 644 $NOVA_DIR/etc/nova/rootwrap.d/*.filters $NOVA_CONF_DIR/rootwrap.d |
|
| 239 |
+ |
|
| 240 | 240 |
# Set up rootwrap.conf, pointing to /etc/nova/rootwrap.d |
| 241 |
- sudo cp $NOVA_DIR/etc/nova/rootwrap.conf $NOVA_CONF_DIR/ |
|
| 241 |
+ sudo install -o root -g root -m 644 $NOVA_DIR/etc/nova/rootwrap.conf $NOVA_CONF_DIR |
|
| 242 | 242 |
sudo sed -e "s:^filters_path=.*$:filters_path=$NOVA_CONF_DIR/rootwrap.d:" -i $NOVA_CONF_DIR/rootwrap.conf |
| 243 |
- sudo chown root:root $NOVA_CONF_DIR/rootwrap.conf |
|
| 244 |
- sudo chmod 0644 $NOVA_CONF_DIR/rootwrap.conf |
|
| 243 |
+ |
|
| 245 | 244 |
# Specify rootwrap.conf as first parameter to nova-rootwrap |
| 246 | 245 |
local rootwrap_sudoer_cmd="$NOVA_ROOTWRAP $NOVA_CONF_DIR/rootwrap.conf *" |
| 247 | 246 |
|
| ... | ... |
@@ -256,10 +255,7 @@ function configure_nova_rootwrap {
|
| 256 | 256 |
# configure_nova() - Set config files, create data dirs, etc |
| 257 | 257 |
function configure_nova {
|
| 258 | 258 |
# Put config files in ``/etc/nova`` for everyone to find |
| 259 |
- if [[ ! -d $NOVA_CONF_DIR ]]; then |
|
| 260 |
- sudo mkdir -p $NOVA_CONF_DIR |
|
| 261 |
- fi |
|
| 262 |
- sudo chown $STACK_USER $NOVA_CONF_DIR |
|
| 259 |
+ sudo install -d -o $STACK_USER $NOVA_CONF_DIR |
|
| 263 | 260 |
|
| 264 | 261 |
cp -p $NOVA_DIR/etc/nova/policy.json $NOVA_CONF_DIR |
| 265 | 262 |
|
| ... | ... |
@@ -318,8 +314,7 @@ function configure_nova {
|
| 318 | 318 |
# ---------------- |
| 319 | 319 |
|
| 320 | 320 |
# Nova stores each instance in its own directory. |
| 321 |
- sudo mkdir -p $NOVA_INSTANCES_PATH |
|
| 322 |
- sudo chown -R $STACK_USER $NOVA_INSTANCES_PATH |
|
| 321 |
+ sudo install -d -o $STACK_USER $NOVA_INSTANCES_PATH |
|
| 323 | 322 |
|
| 324 | 323 |
# You can specify a different disk to be mounted and used for backing the |
| 325 | 324 |
# virtual machines. If there is a partition labeled nova-instances we |
| ... | ... |
@@ -603,8 +598,7 @@ function init_nova_cells {
|
| 603 | 603 |
# create_nova_cache_dir() - Part of the init_nova() process |
| 604 | 604 |
function create_nova_cache_dir {
|
| 605 | 605 |
# Create cache dir |
| 606 |
- sudo mkdir -p $NOVA_AUTH_CACHE_DIR |
|
| 607 |
- sudo chown $STACK_USER $NOVA_AUTH_CACHE_DIR |
|
| 606 |
+ sudo install -d -o $STACK_USER $NOVA_AUTH_CACHE_DIR |
|
| 608 | 607 |
rm -f $NOVA_AUTH_CACHE_DIR/* |
| 609 | 608 |
} |
| 610 | 609 |
|
| ... | ... |
@@ -621,8 +615,7 @@ function create_nova_conf_nova_network {
|
| 621 | 621 |
# create_nova_keys_dir() - Part of the init_nova() process |
| 622 | 622 |
function create_nova_keys_dir {
|
| 623 | 623 |
# Create keys dir |
| 624 |
- sudo mkdir -p ${NOVA_STATE_PATH}/keys
|
|
| 625 |
- sudo chown -R $STACK_USER ${NOVA_STATE_PATH}
|
|
| 624 |
+ sudo install -d -o $STACK_USER ${NOVA_STATE_PATH} ${NOVA_STATE_PATH}/keys
|
|
| 626 | 625 |
} |
| 627 | 626 |
|
| 628 | 627 |
# init_nova() - Initialize databases, etc. |
| ... | ... |
@@ -101,11 +101,7 @@ function cleanup_sahara {
|
| 101 | 101 |
|
| 102 | 102 |
# configure_sahara() - Set config files, create data dirs, etc |
| 103 | 103 |
function configure_sahara {
|
| 104 |
- |
|
| 105 |
- if [[ ! -d $SAHARA_CONF_DIR ]]; then |
|
| 106 |
- sudo mkdir -p $SAHARA_CONF_DIR |
|
| 107 |
- fi |
|
| 108 |
- sudo chown $STACK_USER $SAHARA_CONF_DIR |
|
| 104 |
+ sudo install -d -o $STACK_USER $SAHARA_CONF_DIR |
|
| 109 | 105 |
|
| 110 | 106 |
if [[ -f $SAHARA_DIR/etc/sahara/policy.json ]]; then |
| 111 | 107 |
cp -p $SAHARA_DIR/etc/sahara/policy.json $SAHARA_CONF_DIR |
| ... | ... |
@@ -115,9 +111,7 @@ function configure_sahara {
|
| 115 | 115 |
cp $SAHARA_DIR/etc/sahara/sahara.conf.sample $SAHARA_CONF_FILE |
| 116 | 116 |
|
| 117 | 117 |
# Create auth cache dir |
| 118 |
- sudo mkdir -p $SAHARA_AUTH_CACHE_DIR |
|
| 119 |
- sudo chown $STACK_USER $SAHARA_AUTH_CACHE_DIR |
|
| 120 |
- sudo chmod 700 $SAHARA_AUTH_CACHE_DIR |
|
| 118 |
+ sudo install -d -o $STACK_USER -m 700 $SAHARA_AUTH_CACHE_DIR |
|
| 121 | 119 |
rm -rf $SAHARA_AUTH_CACHE_DIR/* |
| 122 | 120 |
|
| 123 | 121 |
configure_auth_token_middleware $SAHARA_CONF_FILE sahara $SAHARA_AUTH_CACHE_DIR |
| ... | ... |
@@ -306,8 +306,8 @@ function configure_swift {
|
| 306 | 306 |
# Make sure to kill all swift processes first |
| 307 | 307 |
swift-init --run-dir=${SWIFT_DATA_DIR}/run all stop || true
|
| 308 | 308 |
|
| 309 |
- sudo mkdir -p ${SWIFT_CONF_DIR}/{object,container,account}-server
|
|
| 310 |
- sudo chown -R ${STACK_USER}: ${SWIFT_CONF_DIR}
|
|
| 309 |
+ sudo install -d -o ${STACK_USER} ${SWIFT_CONF_DIR}
|
|
| 310 |
+ sudo install -d -o ${STACK_USER} ${SWIFT_CONF_DIR}/{object,container,account}-server
|
|
| 311 | 311 |
|
| 312 | 312 |
if [[ "$SWIFT_CONF_DIR" != "/etc/swift" ]]; then |
| 313 | 313 |
# Some swift tools are hard-coded to use ``/etc/swift`` and are apparently not going to be fixed. |
| ... | ... |
@@ -534,8 +534,7 @@ function create_swift_disk {
|
| 534 | 534 |
# changing the permissions so we can run it as our user. |
| 535 | 535 |
|
| 536 | 536 |
local user_group=$(id -g ${STACK_USER})
|
| 537 |
- sudo mkdir -p ${SWIFT_DATA_DIR}/{drives,cache,run,logs}
|
|
| 538 |
- sudo chown -R ${STACK_USER}:${user_group} ${SWIFT_DATA_DIR}
|
|
| 537 |
+ sudo install -d -o ${STACK_USER} -g ${user_group} ${SWIFT_DATA_DIR}/{drives,cache,run,logs}
|
|
| 539 | 538 |
|
| 540 | 539 |
# Create a loopback disk and format it to XFS. |
| 541 | 540 |
if [[ -e ${SWIFT_DISK_IMAGE} ]]; then
|
| ... | ... |
@@ -675,8 +674,7 @@ function init_swift {
|
| 675 | 675 |
} && popd >/dev/null |
| 676 | 676 |
|
| 677 | 677 |
# Create cache dir |
| 678 |
- sudo mkdir -p $SWIFT_AUTH_CACHE_DIR |
|
| 679 |
- sudo chown $STACK_USER $SWIFT_AUTH_CACHE_DIR |
|
| 678 |
+ sudo install -d -o ${STACK_USER} $SWIFT_AUTH_CACHE_DIR
|
|
| 680 | 679 |
rm -f $SWIFT_AUTH_CACHE_DIR/* |
| 681 | 680 |
} |
| 682 | 681 |
|
| ... | ... |
@@ -170,12 +170,8 @@ function configure_tempest {
|
| 170 | 170 |
|
| 171 | 171 |
# Create tempest.conf from tempest.conf.sample |
| 172 | 172 |
# copy every time, because the image UUIDS are going to change |
| 173 |
- if [[ ! -d $TEMPEST_CONFIG_DIR ]]; then |
|
| 174 |
- sudo mkdir -p $TEMPEST_CONFIG_DIR |
|
| 175 |
- fi |
|
| 176 |
- sudo chown $STACK_USER $TEMPEST_CONFIG_DIR |
|
| 177 |
- cp $TEMPEST_DIR/etc/tempest.conf.sample $TEMPEST_CONFIG |
|
| 178 |
- chmod 644 $TEMPEST_CONFIG |
|
| 173 |
+ sudo install -d -o $STACK_USER $TEMPEST_CONFIG_DIR |
|
| 174 |
+ install -m 644 $TEMPEST_DIR/etc/tempest.conf.sample $TEMPEST_CONFIG |
|
| 179 | 175 |
|
| 180 | 176 |
password=${ADMIN_PASSWORD:-secrete}
|
| 181 | 177 |
|
| ... | ... |
@@ -121,10 +121,7 @@ function configure_trove {
|
| 121 | 121 |
setup_develop $TROVE_DIR |
| 122 | 122 |
|
| 123 | 123 |
# Create the trove conf dir and cache dirs if they don't exist |
| 124 |
- sudo mkdir -p ${TROVE_CONF_DIR}
|
|
| 125 |
- sudo mkdir -p ${TROVE_AUTH_CACHE_DIR}
|
|
| 126 |
- sudo chown -R $STACK_USER: ${TROVE_CONF_DIR}
|
|
| 127 |
- sudo chown -R $STACK_USER: ${TROVE_AUTH_CACHE_DIR}
|
|
| 124 |
+ sudo install -d -o $STACK_USER ${TROVE_CONF_DIR} ${TROVE_AUTH_CACHE_DIR}
|
|
| 128 | 125 |
|
| 129 | 126 |
# Copy api-paste file over to the trove conf dir |
| 130 | 127 |
cp $TROVE_LOCAL_API_PASTE_INI $TROVE_API_PASTE_INI |
| ... | ... |
@@ -105,8 +105,7 @@ function configure_zaqarclient {
|
| 105 | 105 |
function configure_zaqar {
|
| 106 | 106 |
setup_develop $ZAQAR_DIR |
| 107 | 107 |
|
| 108 |
- [ ! -d $ZAQAR_CONF_DIR ] && sudo mkdir -m 755 -p $ZAQAR_CONF_DIR |
|
| 109 |
- sudo chown $USER $ZAQAR_CONF_DIR |
|
| 108 |
+ sudo install -d -o $STACK_USER -m 755 $ZAQAR_CONF_DIR |
|
| 110 | 109 |
|
| 111 | 110 |
iniset $ZAQAR_CONF DEFAULT debug True |
| 112 | 111 |
iniset $ZAQAR_CONF DEFAULT verbose True |
| ... | ... |
@@ -168,8 +167,7 @@ function configure_mongodb {
|
| 168 | 168 |
# init_zaqar() - Initialize etc. |
| 169 | 169 |
function init_zaqar {
|
| 170 | 170 |
# Create cache dir |
| 171 |
- sudo mkdir -p $ZAQAR_AUTH_CACHE_DIR |
|
| 172 |
- sudo chown $STACK_USER $ZAQAR_AUTH_CACHE_DIR |
|
| 171 |
+ sudo install -d -o $STACK_USER $ZAQAR_AUTH_CACHE_DIR |
|
| 173 | 172 |
rm -f $ZAQAR_AUTH_CACHE_DIR/* |
| 174 | 173 |
} |
| 175 | 174 |
|