Merge "Refactor ns_vrouter ocf"

This commit is contained in:
Jenkins 2017-03-14 12:15:15 +00:00 committed by Gerrit Code Review
commit 46f01bc4ee
1 changed files with 18 additions and 9 deletions

View File

@ -182,6 +182,10 @@ END
exit $OCF_SUCCESS
}
nsip() {
ip netns exec "${OCF_RESKEY_ns}" ip ${@}
}
check_ns() {
local LH="${LL} check_ns():"
local ns=$(ip netns list | awk "/${OCF_RESKEY_ns}/ {print \$1}")
@ -206,11 +210,7 @@ get_ns() {
return $rc
}
set_ns_routing() {
nsip() {
ip netns exec "${OCF_RESKEY_ns}" ip ${@}
}
set_ns_interfaces() {
# create host-ns veth pair unless it's present
ip link | grep -q '^[[:digit:]]\+:[[:space:]]\+'"${OCF_RESKEY_host_interface}"'[@:]'
if [ $? -gt 0 ]; then
@ -248,11 +248,9 @@ set_ns_routing() {
ocf_log debug "Setting namespace interface: ${OCF_RESKEY_namespace_interface} IP to: ${OCF_RESKEY_namespace_ip}/${OCF_RESKEY_network_mask}"
ocf_run nsip addr add "${OCF_RESKEY_namespace_ip}/${OCF_RESKEY_network_mask}" dev "${OCF_RESKEY_namespace_interface}"
fi
ocf_log debug "Flushing global scope routes"
nsip route save '0.0.0.0/0' > ${HA_RSCTMP}/default.routes
nsip route flush scope global
nsip route restore < ${HA_RSCTMP}/default.routes
}
set_ns_routing() {
# set default gateway inside ns
nsip route list | grep -q "default via ${OCF_RESKEY_host_ip}"
if [ $? -gt 0 ]; then
@ -281,13 +279,24 @@ set_ns_routing() {
fi
}
set_ns_flushing() {
ocf_log debug "Flushing global scope routes"
nsip route save '0.0.0.0/0' > ${HA_RSCTMP}/default.routes
nsip route flush scope global
nsip route restore < ${HA_RSCTMP}/default.routes
}
vrouter_status() {
get_ns || return $OCF_NOT_RUNNING
set_ns_interfaces
set_ns_routing
}
vrouter_start()
{
get_ns
set_ns_interfaces
set_ns_flushing
set_ns_routing
return $OCF_SUCCESS
}