net-conf: make bridge and interface name optional
authorDan Prince <dprince@redhat.com>
Sat, 17 Dec 2016 14:46:03 +0000 (09:46 -0500)
committerDan Prince <dprince@redhat.com>
Sat, 17 Dec 2016 14:46:03 +0000 (09:46 -0500)
Update the run-os-net-config.sh so that we make the
bridge_name and interface_name parameters (supplied by
the SoftwareConfig) optional. This allows operators to
create custom network templates to be used on roles other than
compute and controller which appear to be the only two roles which
set bridge_name and interface_name parameters.

Change-Id: I8997cf8177c1bf0e1f19de5f93dc4e81da1a951f

network/scripts/run-os-net-config.sh

index fc1e6d5..5df67b7 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
-# Note this script expects the following environment variables to be set
-# normally these are provided by the calling SoftwareConfig resource, but
-# they may also be set manually for testing
+# The following environment variables may be set to substitute in a
+# custom bridge or interface name.  Normally these are provided by the calling
+# SoftwareConfig resource, but they may also be set manually for testing.
 # $bridge_name : The bridge device name to apply
 # $interface_name : The interface name to apply
 #
@@ -113,8 +113,8 @@ if [ -n '$network_config' ]; then
     mkdir -p /etc/os-net-config
     # Note these variables come from the calling heat SoftwareConfig
     echo '$network_config' > /etc/os-net-config/config.json
-    sed -i "s/bridge_name/$bridge_name/" /etc/os-net-config/config.json
-    sed -i "s/interface_name/$interface_name/" /etc/os-net-config/config.json
+    sed -i "s/bridge_name/${bridge_name:-''}/" /etc/os-net-config/config.json
+    sed -i "s/interface_name/${interface_name:-''}/" /etc/os-net-config/config.json
 
     os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes
     RETVAL=$?