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 |
|