[type/__bridge] Make --port optional
…to support a new use case: only create the bridge using cdist but add ports later using other software.
This commit is contained in:
parent
6d057bbb61
commit
5866dda7c7
|
@ -37,13 +37,13 @@ in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
bridge_ports= # space-separated list
|
||||||
bridge_stp='off'
|
bridge_stp='off'
|
||||||
|
|
||||||
cd "${__object:?}/parameter"
|
cd "${__object:?}/parameter"
|
||||||
for param in *
|
for param in *
|
||||||
do
|
do
|
||||||
case $param
|
case ${param}
|
||||||
in
|
in
|
||||||
(bootproto)
|
(bootproto)
|
||||||
bootproto=$(cat "${__object:?}/parameter/bootproto")
|
bootproto=$(cat "${__object:?}/parameter/bootproto")
|
||||||
|
@ -54,7 +54,7 @@ do
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
(port)
|
(port)
|
||||||
case $systype
|
case ${systype}
|
||||||
in
|
in
|
||||||
(redhat)
|
(redhat)
|
||||||
# TOOD
|
# TOOD
|
||||||
|
@ -67,13 +67,10 @@ do
|
||||||
printf 'Invalid bridge port name: %s\n' "${_port}" >&2
|
printf 'Invalid bridge port name: %s\n' "${_port}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
set -- "$@" "${_port}"
|
printf ' %s' "${_port}"
|
||||||
done <"${__object:?}/parameter/port"
|
done <"${__object:?}/parameter/port"
|
||||||
echo "$*"
|
|
||||||
)
|
)
|
||||||
|
bridge_ports=${bridge_ports# }
|
||||||
set -- "$@" --extra-config "BRIDGE_PORTS='${bridge_ports}'"
|
|
||||||
unset bridge_ports
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
@ -90,6 +87,8 @@ do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Set bridge ports
|
||||||
|
set -- "$@" --extra-config "BRIDGE_PORTS='${bridge_ports}'"
|
||||||
|
|
||||||
# Set boolean options
|
# Set boolean options
|
||||||
case $systype
|
case $systype
|
||||||
|
|
|
@ -22,19 +22,20 @@
|
||||||
__package_apt bridge-utils
|
__package_apt bridge-utils
|
||||||
export require=__package_apt/bridge-utils
|
export require=__package_apt/bridge-utils
|
||||||
|
|
||||||
|
bridge_ports='none' # space-separated list
|
||||||
bridge_stp='off'
|
bridge_stp='off'
|
||||||
enable_hotplug=no
|
enable_hotplug=no
|
||||||
|
|
||||||
cd "${__object:?}/parameter"
|
cd "${__object:?}/parameter"
|
||||||
for param in *
|
for param in *
|
||||||
do
|
do
|
||||||
case $param
|
case ${param}
|
||||||
in
|
in
|
||||||
(bootproto)
|
(bootproto)
|
||||||
bootproto=$(cat "${__object:?}/parameter/bootproto")
|
bootproto=$(cat "${__object:?}/parameter/bootproto")
|
||||||
set -- "$@" --bootproto "${bootproto}"
|
set -- "$@" --bootproto "${bootproto}"
|
||||||
|
|
||||||
case $bootproto
|
case ${bootproto}
|
||||||
in
|
in
|
||||||
(manual)
|
(manual)
|
||||||
# if set to manual, there is nothing to wait for…
|
# if set to manual, there is nothing to wait for…
|
||||||
|
@ -49,19 +50,18 @@ do
|
||||||
enable_hotplug=yes
|
enable_hotplug=yes
|
||||||
;;
|
;;
|
||||||
(port)
|
(port)
|
||||||
while read -r _port
|
bridge_ports=$(
|
||||||
do
|
while read -r _port
|
||||||
test -z "$(echo "${_port}" | tr -d 'A-Za-z0-9')" || {
|
do
|
||||||
printf 'Invalid bridge port name: %s\n' "${_port}" >&2
|
test -z "$(echo "${_port}" | tr -d 'A-Za-z0-9')" || {
|
||||||
exit 1
|
printf 'Invalid bridge port name: %s\n' "${_port}" >&2
|
||||||
}
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
bridge_ports="${bridge_ports-} ${_port}"
|
printf ' %s' "${_port}"
|
||||||
done <"${__object:?}/parameter/port"
|
done <"${__object:?}/parameter/port"
|
||||||
unset _port
|
)
|
||||||
|
bridge_ports=${bridge_ports# }
|
||||||
set -- "$@" --extra-config "bridge_ports${bridge_ports}"
|
|
||||||
unset bridge_ports
|
|
||||||
;;
|
;;
|
||||||
(stp)
|
(stp)
|
||||||
bridge_stp='on'
|
bridge_stp='on'
|
||||||
|
@ -77,6 +77,9 @@ do
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# Set bridge ports
|
||||||
|
set -- "$@" --extra-config "bridge_ports ${bridge_ports}"
|
||||||
|
|
||||||
# Set boolean options
|
# Set boolean options
|
||||||
set -- "$@" --extra-config "bridge_stp ${bridge_stp}"
|
set -- "$@" --extra-config "bridge_stp ${bridge_stp}"
|
||||||
test "${bridge_stp}" = 'on' || set -- "$@" --extra-config 'bridge_fd 0'
|
test "${bridge_stp}" = 'on' || set -- "$@" --extra-config 'bridge_fd 0'
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
address
|
address
|
||||||
extra-config
|
extra-config
|
||||||
|
port
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
port
|
|
Loading…
Reference in New Issue