* Rename EXTRA_FLAGS to EXTRA_OPTS
* Is dependant on https://review.openstack.org/4946 (MERGED)
Fixes bug 938924
Change-Id: Idee4f86e7846cff3529e173526d3ccb2289472f0
| ... | ... |
@@ -829,11 +829,11 @@ fi |
| 829 | 829 |
# ---- |
| 830 | 830 |
|
| 831 | 831 |
# Put config files in /etc/nova for everyone to find |
| 832 |
-NOVA_CONF=/etc/nova |
|
| 833 |
-if [[ ! -d $NOVA_CONF ]]; then |
|
| 834 |
- sudo mkdir -p $NOVA_CONF |
|
| 832 |
+NOVA_CONF_DIR=/etc/nova |
|
| 833 |
+if [[ ! -d $NOVA_CONF_DIR ]]; then |
|
| 834 |
+ sudo mkdir -p $NOVA_CONF_DIR |
|
| 835 | 835 |
fi |
| 836 |
-sudo chown `whoami` $NOVA_CONF |
|
| 836 |
+sudo chown `whoami` $NOVA_CONF_DIR |
|
| 837 | 837 |
|
| 838 | 838 |
if is_service_enabled n-api; then |
| 839 | 839 |
# We are going to use a sample http middleware configuration based on the |
| ... | ... |
@@ -844,7 +844,7 @@ if is_service_enabled n-api; then |
| 844 | 844 |
rm -f $NOVA_DIR/bin/nova-api-paste.ini |
| 845 | 845 |
|
| 846 | 846 |
# First we add a some extra data to the default paste config from nova |
| 847 |
- cp $NOVA_DIR/etc/nova/api-paste.ini $NOVA_CONF |
|
| 847 |
+ cp $NOVA_DIR/etc/nova/api-paste.ini $NOVA_CONF_DIR |
|
| 848 | 848 |
|
| 849 | 849 |
# Then we add our own service token to the configuration |
| 850 | 850 |
sed -e " |
| ... | ... |
@@ -854,11 +854,11 @@ if is_service_enabled n-api; then |
| 854 | 854 |
/admin_password/s/^.*$/admin_password = $SERVICE_PASSWORD/; |
| 855 | 855 |
s,%SERVICE_TENANT_NAME%,$SERVICE_TENANT_NAME,g; |
| 856 | 856 |
s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g; |
| 857 |
- " -i $NOVA_CONF/api-paste.ini |
|
| 857 |
+ " -i $NOVA_CONF_DIR/api-paste.ini |
|
| 858 | 858 |
|
| 859 | 859 |
# Finally, we change the pipelines in nova to use keystone |
| 860 | 860 |
function replace_pipeline() {
|
| 861 |
- sed "/\[pipeline:$1\]/,/\[/s/^pipeline = .*/pipeline = $2/" -i $NOVA_CONF/api-paste.ini |
|
| 861 |
+ sed "/\[pipeline:$1\]/,/\[/s/^pipeline = .*/pipeline = $2/" -i $NOVA_CONF_DIR/api-paste.ini |
|
| 862 | 862 |
} |
| 863 | 863 |
replace_pipeline "ec2cloud" "ec2faultwrap logrequest totoken authtoken keystonecontext cloudrequest authorizer validator ec2executor" |
| 864 | 864 |
replace_pipeline "ec2admin" "ec2faultwrap logrequest totoken authtoken keystonecontext adminrequest authorizer ec2executor" |
| ... | ... |
@@ -1178,68 +1178,69 @@ if is_service_enabled n-vol; then |
| 1178 | 1178 |
sudo start tgt |
| 1179 | 1179 |
fi |
| 1180 | 1180 |
|
| 1181 |
-function add_nova_flag {
|
|
| 1182 |
- echo "$1" >> $NOVA_CONF/nova.conf |
|
| 1181 |
+NOVA_CONF=nova.conf |
|
| 1182 |
+function add_nova_opt {
|
|
| 1183 |
+ echo "$1" >> $NOVA_CONF_DIR/$NOVA_CONF |
|
| 1183 | 1184 |
} |
| 1184 | 1185 |
|
| 1185 | 1186 |
# remove legacy nova.conf |
| 1186 | 1187 |
rm -f $NOVA_DIR/bin/nova.conf |
| 1187 | 1188 |
|
| 1188 | 1189 |
# (re)create nova.conf |
| 1189 |
-rm -f $NOVA_CONF/nova.conf |
|
| 1190 |
-add_nova_flag "--verbose" |
|
| 1191 |
-add_nova_flag "--allow_admin_api" |
|
| 1192 |
-add_nova_flag "--allow_resize_to_same_host" |
|
| 1193 |
-add_nova_flag "--scheduler_driver=$SCHEDULER" |
|
| 1194 |
-add_nova_flag "--dhcpbridge_flagfile=$NOVA_CONF/nova.conf" |
|
| 1195 |
-add_nova_flag "--fixed_range=$FIXED_RANGE" |
|
| 1190 |
+rm -f $NOVA_CONF_DIR/$NOVA_CONF |
|
| 1191 |
+add_nova_opt "[DEFAULT]" |
|
| 1192 |
+add_nova_opt "verbose=True" |
|
| 1193 |
+add_nova_opt "allow_resize_to_same_host=True" |
|
| 1194 |
+add_nova_opt "scheduler_driver=$SCHEDULER" |
|
| 1195 |
+add_nova_opt "dhcpbridge_flagfile=$NOVA_CONF_DIR/$NOVA_CONF" |
|
| 1196 |
+add_nova_opt "fixed_range=$FIXED_RANGE" |
|
| 1196 | 1197 |
if is_service_enabled n-obj; then |
| 1197 |
- add_nova_flag "--s3_host=$SERVICE_HOST" |
|
| 1198 |
+ add_nova_opt "s3_host=$SERVICE_HOST" |
|
| 1198 | 1199 |
fi |
| 1199 | 1200 |
if is_service_enabled quantum; then |
| 1200 |
- add_nova_flag "--network_manager=nova.network.quantum.manager.QuantumManager" |
|
| 1201 |
- add_nova_flag "--quantum_connection_host=$Q_HOST" |
|
| 1202 |
- add_nova_flag "--quantum_connection_port=$Q_PORT" |
|
| 1201 |
+ add_nova_opt "network_manager=nova.network.quantum.manager.QuantumManager" |
|
| 1202 |
+ add_nova_opt "quantum_connection_host=$Q_HOST" |
|
| 1203 |
+ add_nova_opt "quantum_connection_port=$Q_PORT" |
|
| 1203 | 1204 |
|
| 1204 | 1205 |
if is_service_enabled melange; then |
| 1205 |
- add_nova_flag "--quantum_ipam_lib=nova.network.quantum.melange_ipam_lib" |
|
| 1206 |
- add_nova_flag "--use_melange_mac_generation" |
|
| 1207 |
- add_nova_flag "--melange_host=$M_HOST" |
|
| 1208 |
- add_nova_flag "--melange_port=$M_PORT" |
|
| 1206 |
+ add_nova_opt "quantum_ipam_lib=nova.network.quantum.melange_ipam_lib" |
|
| 1207 |
+ add_nova_opt "use_melange_mac_generation=True" |
|
| 1208 |
+ add_nova_opt "melange_host=$M_HOST" |
|
| 1209 |
+ add_nova_opt "melange_port=$M_PORT" |
|
| 1209 | 1210 |
fi |
| 1210 | 1211 |
if is_service_enabled q-svc && [[ "$Q_PLUGIN" = "openvswitch" ]]; then |
| 1211 |
- add_nova_flag "--libvirt_vif_type=ethernet" |
|
| 1212 |
- add_nova_flag "--libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver" |
|
| 1213 |
- add_nova_flag "--linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver" |
|
| 1214 |
- add_nova_flag "--quantum_use_dhcp" |
|
| 1212 |
+ add_nova_opt "libvirt_vif_type=ethernet" |
|
| 1213 |
+ add_nova_opt "libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver" |
|
| 1214 |
+ add_nova_opt "linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver" |
|
| 1215 |
+ add_nova_opt "quantum_use_dhcp=True" |
|
| 1215 | 1216 |
fi |
| 1216 | 1217 |
else |
| 1217 |
- add_nova_flag "--network_manager=nova.network.manager.$NET_MAN" |
|
| 1218 |
+ add_nova_opt "network_manager=nova.network.manager.$NET_MAN" |
|
| 1218 | 1219 |
fi |
| 1219 | 1220 |
if is_service_enabled n-vol; then |
| 1220 |
- add_nova_flag "--volume_group=$VOLUME_GROUP" |
|
| 1221 |
- add_nova_flag "--volume_name_template=${VOLUME_NAME_PREFIX}%08x"
|
|
| 1221 |
+ add_nova_opt "volume_group=$VOLUME_GROUP" |
|
| 1222 |
+ add_nova_opt "volume_name_template=${VOLUME_NAME_PREFIX}%08x"
|
|
| 1222 | 1223 |
# oneiric no longer supports ietadm |
| 1223 |
- add_nova_flag "--iscsi_helper=tgtadm" |
|
| 1224 |
+ add_nova_opt "iscsi_helper=tgtadm" |
|
| 1224 | 1225 |
fi |
| 1225 |
-add_nova_flag "--osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions" |
|
| 1226 |
-add_nova_flag "--my_ip=$HOST_IP" |
|
| 1227 |
-add_nova_flag "--public_interface=$PUBLIC_INTERFACE" |
|
| 1228 |
-add_nova_flag "--vlan_interface=$VLAN_INTERFACE" |
|
| 1229 |
-add_nova_flag "--flat_network_bridge=$FLAT_NETWORK_BRIDGE" |
|
| 1226 |
+add_nova_opt "osapi_compute_extension=nova.api.openstack.compute.contrib.standard_extensions" |
|
| 1227 |
+add_nova_opt "my_ip=$HOST_IP" |
|
| 1228 |
+add_nova_opt "public_interface=$PUBLIC_INTERFACE" |
|
| 1229 |
+add_nova_opt "vlan_interface=$VLAN_INTERFACE" |
|
| 1230 |
+add_nova_opt "flat_network_bridge=$FLAT_NETWORK_BRIDGE" |
|
| 1230 | 1231 |
if [ -n "$FLAT_INTERFACE" ]; then |
| 1231 |
- add_nova_flag "--flat_interface=$FLAT_INTERFACE" |
|
| 1232 |
+ add_nova_opt "flat_interface=$FLAT_INTERFACE" |
|
| 1232 | 1233 |
fi |
| 1233 |
-add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova" |
|
| 1234 |
-add_nova_flag "--libvirt_type=$LIBVIRT_TYPE" |
|
| 1235 |
-add_nova_flag "--instance_name_template=${INSTANCE_NAME_PREFIX}%08x"
|
|
| 1234 |
+add_nova_opt "sql_connection=$BASE_SQL_CONN/nova" |
|
| 1235 |
+add_nova_opt "libvirt_type=$LIBVIRT_TYPE" |
|
| 1236 |
+add_nova_opt "instance_name_template=${INSTANCE_NAME_PREFIX}%08x"
|
|
| 1236 | 1237 |
# All nova-compute workers need to know the vnc configuration options |
| 1237 | 1238 |
# These settings don't hurt anything if n-xvnc and n-novnc are disabled |
| 1238 | 1239 |
if is_service_enabled n-cpu; then |
| 1239 | 1240 |
NOVNCPROXY_URL=${NOVNCPROXY_URL:-"http://$SERVICE_HOST:6080/vnc_auto.html"}
|
| 1240 |
- add_nova_flag "--novncproxy_base_url=$NOVNCPROXY_URL" |
|
| 1241 |
+ add_nova_opt "novncproxy_base_url=$NOVNCPROXY_URL" |
|
| 1241 | 1242 |
XVPVNCPROXY_URL=${XVPVNCPROXY_URL:-"http://$SERVICE_HOST:6081/console"}
|
| 1242 |
- add_nova_flag "--xvpvncproxy_base_url=$XVPVNCPROXY_URL" |
|
| 1243 |
+ add_nova_opt "xvpvncproxy_base_url=$XVPVNCPROXY_URL" |
|
| 1243 | 1244 |
fi |
| 1244 | 1245 |
if [ "$VIRT_DRIVER" = 'xenserver' ]; then |
| 1245 | 1246 |
VNCSERVER_PROXYCLIENT_ADDRESS=${VNCSERVER_PROXYCLIENT_ADDRESS=169.254.0.1}
|
| ... | ... |
@@ -1249,30 +1250,36 @@ fi |
| 1249 | 1249 |
# Address on which instance vncservers will listen on compute hosts. |
| 1250 | 1250 |
# For multi-host, this should be the management ip of the compute host. |
| 1251 | 1251 |
VNCSERVER_LISTEN=${VNCSERVER_LISTEN=127.0.0.1}
|
| 1252 |
-add_nova_flag "--vncserver_listen=$VNCSERVER_LISTEN" |
|
| 1253 |
-add_nova_flag "--vncserver_proxyclient_address=$VNCSERVER_PROXYCLIENT_ADDRESS" |
|
| 1254 |
-add_nova_flag "--api_paste_config=$NOVA_CONF/api-paste.ini" |
|
| 1255 |
-add_nova_flag "--image_service=nova.image.glance.GlanceImageService" |
|
| 1256 |
-add_nova_flag "--ec2_dmz_host=$EC2_DMZ_HOST" |
|
| 1257 |
-add_nova_flag "--rabbit_host=$RABBIT_HOST" |
|
| 1258 |
-add_nova_flag "--rabbit_password=$RABBIT_PASSWORD" |
|
| 1259 |
-add_nova_flag "--glance_api_servers=$GLANCE_HOSTPORT" |
|
| 1260 |
-add_nova_flag "--force_dhcp_release" |
|
| 1252 |
+add_nova_opt "vncserver_listen=$VNCSERVER_LISTEN" |
|
| 1253 |
+add_nova_opt "vncserver_proxyclient_address=$VNCSERVER_PROXYCLIENT_ADDRESS" |
|
| 1254 |
+add_nova_opt "api_paste_config=$NOVA_CONF_DIR/api-paste.ini" |
|
| 1255 |
+add_nova_opt "image_service=nova.image.glance.GlanceImageService" |
|
| 1256 |
+add_nova_opt "ec2_dmz_host=$EC2_DMZ_HOST" |
|
| 1257 |
+add_nova_opt "rabbit_host=$RABBIT_HOST" |
|
| 1258 |
+add_nova_opt "rabbit_password=$RABBIT_PASSWORD" |
|
| 1259 |
+add_nova_opt "glance_api_servers=$GLANCE_HOSTPORT" |
|
| 1260 |
+add_nova_opt "force_dhcp_release=True" |
|
| 1261 | 1261 |
if [ -n "$INSTANCES_PATH" ]; then |
| 1262 |
- add_nova_flag "--instances_path=$INSTANCES_PATH" |
|
| 1262 |
+ add_nova_opt "instances_path=$INSTANCES_PATH" |
|
| 1263 | 1263 |
fi |
| 1264 | 1264 |
if [ "$MULTI_HOST" != "False" ]; then |
| 1265 |
- add_nova_flag "--multi_host" |
|
| 1266 |
- add_nova_flag "--send_arp_for_ha" |
|
| 1265 |
+ add_nova_opt "multi_host=True" |
|
| 1266 |
+ add_nova_opt "send_arp_for_ha=True" |
|
| 1267 | 1267 |
fi |
| 1268 | 1268 |
if [ "$SYSLOG" != "False" ]; then |
| 1269 |
- add_nova_flag "--use_syslog" |
|
| 1269 |
+ add_nova_opt "use_syslog=True" |
|
| 1270 | 1270 |
fi |
| 1271 | 1271 |
|
| 1272 |
-# You can define extra nova conf flags by defining the array EXTRA_FLAGS, |
|
| 1273 |
-# For Example: EXTRA_FLAGS=(--foo --bar=2) |
|
| 1274 |
-for I in "${EXTRA_FLAGS[@]}"; do
|
|
| 1275 |
- add_nova_flag $I |
|
| 1272 |
+# Provide some transition from EXTRA_FLAGS to EXTRA_OPTS |
|
| 1273 |
+if [[ -z "$EXTRA_OPTS" && -n "$EXTRA_FLAGS" ]]; then |
|
| 1274 |
+ EXTRA_OPTS=$EXTRA_FLAGS |
|
| 1275 |
+fi |
|
| 1276 |
+ |
|
| 1277 |
+# You can define extra nova conf flags by defining the array EXTRA_OPTS, |
|
| 1278 |
+# For Example: EXTRA_OPTS=(foo=true bar=2) |
|
| 1279 |
+for I in "${EXTRA_OPTS[@]}"; do
|
|
| 1280 |
+ # Attempt to convert flags to options |
|
| 1281 |
+ add_nova_opt ${I//-}
|
|
| 1276 | 1282 |
done |
| 1277 | 1283 |
|
| 1278 | 1284 |
# XenServer |
| ... | ... |
@@ -1280,19 +1287,19 @@ done |
| 1280 | 1280 |
|
| 1281 | 1281 |
if [ "$VIRT_DRIVER" = 'xenserver' ]; then |
| 1282 | 1282 |
read_password XENAPI_PASSWORD "ENTER A PASSWORD TO USE FOR XEN." |
| 1283 |
- add_nova_flag "--connection_type=xenapi" |
|
| 1283 |
+ add_nova_opt "connection_type=xenapi" |
|
| 1284 | 1284 |
XENAPI_CONNECTION_URL=${XENAPI_CONNECTION_URL:-"http://169.254.0.1"}
|
| 1285 |
- add_nova_flag "--xenapi_connection_url=$XENAPI_CONNECTION_URL" |
|
| 1286 |
- add_nova_flag "--xenapi_connection_username=root" |
|
| 1287 |
- add_nova_flag "--xenapi_connection_password=$XENAPI_PASSWORD" |
|
| 1288 |
- add_nova_flag "--noflat_injected" |
|
| 1285 |
+ add_nova_opt "xenapi_connection_url=$XENAPI_CONNECTION_URL" |
|
| 1286 |
+ add_nova_opt "xenapi_connection_username=root" |
|
| 1287 |
+ add_nova_opt "xenapi_connection_password=$XENAPI_PASSWORD" |
|
| 1288 |
+ add_nova_opt "flat_injected=False" |
|
| 1289 | 1289 |
# Need to avoid crash due to new firewall support |
| 1290 | 1290 |
XEN_FIREWALL_DRIVER=${XEN_FIREWALL_DRIVER:-"nova.virt.firewall.IptablesFirewallDriver"}
|
| 1291 |
- add_nova_flag "--firewall_driver=$XEN_FIREWALL_DRIVER" |
|
| 1291 |
+ add_nova_opt "firewall_driver=$XEN_FIREWALL_DRIVER" |
|
| 1292 | 1292 |
else |
| 1293 |
- add_nova_flag "--connection_type=libvirt" |
|
| 1293 |
+ add_nova_opt "connection_type=libvirt" |
|
| 1294 | 1294 |
LIBVIRT_FIREWALL_DRIVER=${LIBVIRT_FIREWALL_DRIVER:-"nova.virt.libvirt.firewall.IptablesFirewallDriver"}
|
| 1295 |
- add_nova_flag "--firewall_driver=$LIBVIRT_FIREWALL_DRIVER" |
|
| 1295 |
+ add_nova_opt "firewall_driver=$LIBVIRT_FIREWALL_DRIVER" |
|
| 1296 | 1296 |
fi |
| 1297 | 1297 |
|
| 1298 | 1298 |
# Nova Database |
| ... | ... |
@@ -1539,10 +1546,10 @@ screen_it n-vol "cd $NOVA_DIR && $NOVA_DIR/bin/nova-volume" |
| 1539 | 1539 |
screen_it n-net "cd $NOVA_DIR && $NOVA_DIR/bin/nova-network" |
| 1540 | 1540 |
screen_it n-sch "cd $NOVA_DIR && $NOVA_DIR/bin/nova-scheduler" |
| 1541 | 1541 |
if is_service_enabled n-novnc; then |
| 1542 |
- screen_it n-novnc "cd $NOVNC_DIR && ./utils/nova-novncproxy --flagfile $NOVA_CONF/nova.conf --web ." |
|
| 1542 |
+ screen_it n-novnc "cd $NOVNC_DIR && ./utils/nova-novncproxy --config-file $NOVA_CONF_DIR/$NOVA_CONF --web ." |
|
| 1543 | 1543 |
fi |
| 1544 | 1544 |
if is_service_enabled n-xvnc; then |
| 1545 |
- screen_it n-xvnc "cd $NOVA_DIR && ./bin/nova-xvpvncproxy --flagfile $NOVA_CONF/nova.conf" |
|
| 1545 |
+ screen_it n-xvnc "cd $NOVA_DIR && ./bin/nova-xvpvncproxy --config-file $NOVA_CONF_DIR/$NOVA_CONF" |
|
| 1546 | 1546 |
fi |
| 1547 | 1547 |
if is_service_enabled n-cauth; then |
| 1548 | 1548 |
screen_it n-cauth "cd $NOVA_DIR && ./bin/nova-consoleauth" |
| ... | ... |
@@ -1673,5 +1680,10 @@ fi |
| 1673 | 1673 |
# Echo HOST_IP - useful for build_uec.sh, which uses dhcp to give the instance an address |
| 1674 | 1674 |
echo "This is your host ip: $HOST_IP" |
| 1675 | 1675 |
|
| 1676 |
+# Warn that EXTRA_FLAGS needs to be converted to EXTRA_OPTS |
|
| 1677 |
+if [[ -n "$EXTRA_FLAGS" ]]; then |
|
| 1678 |
+ echo "WARNING: EXTRA_FLAGS is defined and may need to be converted to EXTRA_OPTS" |
|
| 1679 |
+fi |
|
| 1680 |
+ |
|
| 1676 | 1681 |
# Indicate how long this took to run (bash maintained variable 'SECONDS') |
| 1677 | 1682 |
echo "stack.sh completed in $SECONDS seconds." |