When Zabbix plugin restarts HAproxy, the routes disappear from "haproxy" namespace
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Released
|
High
|
Oleksiy Molchanov |
Bug Description
--- Environment ---
MOS: 9.2
Zabbix plugin: 2.5.5
--- Description ---
From ./plugin_
...
class plugin_
include openstack:
...
From /etc/puppet/
class openstack:
exec { 'haproxy-restart':
command => '/usr/lib/
environment => ['OCF_ROOT=
path => '/usr/bin:
logoutput => true,
provider => 'shell',
tries => 10,
try_sleep => 10,
returns => [0, ''],
refreshonly => true,
}
}
The only passed variable here is "OCF_ROOT". There is no variable "other_networks"
Such call of haproxy restart flushes the routes (https:/
--- Steps to reproduce ---
1) Identify the value of "other_networks" variable
# crm configure show | grep -A5 "primitive p_haproxy"
primitive p_haproxy ocf:fuel:ns_haproxy \
params debug=false ns=haproxy other_networks=
meta failure-timeout=120 migration-
op monitor interval=30 timeout=60 \
op start interval=0 timeout=60 \
op stop interval=0 timeout=60
2) Identify the current routes
# ip netns exec haproxy ip route show
default via 172.16.34.1 dev b_public metric 10
default via 240.0.0.1 dev hapr-ns metric 10000
10.20.17.0/24 via 240.0.0.1 dev hapr-ns metric 10000
172.16.34.0/24 dev b_public proto kernel scope link src 172.16.34.3
172.16.34.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.0.0/24 dev b_management proto kernel scope link src 192.168.0.2
192.168.0.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.1.0/24 via 240.0.0.1 dev hapr-ns metric 10000
240.0.0.0/30 dev hapr-ns proto kernel scope link src 240.0.0.2
3) Reload HAproxy by the OCF script
# export OCF_ROOT=
# /usr/lib/
4) Check the routes list again
# ip netns exec haproxy ip route show
--- Actual behavior ---
The routes for the networks from "other_networks" variable are missing:
# ip netns exec haproxy ip route show
default via 240.0.0.1 dev hapr-ns metric 10000
172.16.34.0/24 dev b_public proto kernel scope link src 172.16.34.3
192.168.0.0/24 dev b_management proto kernel scope link src 192.168.0.2
240.0.0.0/30 dev hapr-ns proto kernel scope link src 240.0.0.2
--- Expected behavior ---
The routes for the networks from "other_networks" variable have been re-created:
default via 172.16.34.1 dev b_public metric 10
default via 240.0.0.1 dev hapr-ns metric 10000
10.20.17.0/24 via 240.0.0.1 dev hapr-ns metric 10000
172.16.34.0/24 dev b_public proto kernel scope link src 172.16.34.3
172.16.34.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.0.0/24 dev b_management proto kernel scope link src 192.168.0.2
192.168.0.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.1.0/24 via 240.0.0.1 dev hapr-ns metric 10000
240.0.0.0/30 dev hapr-ns proto kernel scope link src 240.0.0.2
--- Notes ---
The expected behavior can be reached if HAproxy is restarted by Pacemaker CLI
# pcs resource disable p_haproxy
# pcs resource enable p_haproxy
# ip netns exec haproxy ip route show
default via 172.16.34.1 dev b_public metric 10
default via 240.0.0.1 dev hapr-ns metric 10000
10.20.17.0/24 via 240.0.0.1 dev hapr-ns metric 10000
172.16.34.0/24 dev b_public proto kernel scope link src 172.16.34.3
172.16.34.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.0.0/24 dev b_management proto kernel scope link src 192.168.0.2
192.168.0.0/24 via 240.0.0.1 dev hapr-ns metric 10000
192.168.1.0/24 via 240.0.0.1 dev hapr-ns metric 10000
240.0.0.0/30 dev hapr-ns proto kernel scope link src 240.0.0.2
Changed in fuel: | |
assignee: | MOS Maintenance (mos-maintenance) → Vladimir Khlyunev (vkhlyunev) |
status: | New → Confirmed |
Changed in fuel: | |
milestone: | 9.x-updates → 9.2-mu-9 |
Changed in fuel: | |
assignee: | Vladimir Khlyunev (vkhlyunev) → Oleksiy Molchanov (omolchanov) |
status: | Confirmed → In Progress |
sla1 for 9.0-updates