Abhinandan Prateek created CLOUDSTACK-8488:
----------------------------------------------

             Summary: network with LB rules fails to restart
                 Key: CLOUDSTACK-8488
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8488
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: Virtual Router
    Affects Versions: 4.6.0
            Reporter: Abhinandan Prateek
            Priority: Critical
             Fix For: 4.6.0


Restarting network fails as the LB rules formatting is not good:

Snippet from the VR config son that is degenerated for LB:

</script>
<file>
/var/cache/cloud/load_balancer.json
{"rules":[{"configuration":["global","\tlog 127.0.0.1:3914   local0 
warning","\tmaxconn 4096","\tmaxpipes 1024","\tchroot /var/lib/haproxy","\tuser 
haproxy","\tgroup haproxy","\tdaemon","\t ","defaults","\tlog     
global","\tmode    tcp","\toption  dontlognull","\tretries 3","\toption 
redispatch","\toption forwardfor","\toption forceclose","\ttimeout connect    
5000","\ttimeout client     50000","\ttimeout server     50000","\nlisten 
stats_on_public 192.168.100.67:8081\n\tmode http\n\toption httpclose\n\tstats 
enable\n\tstats uri     /admin?stats\n\tstats realm   Haproxy\\ 
Statistics\n\tstats auth    admin1:AdMiN123\n","\t ","listen 192_168_100_67-80 
192.168.100.67:80","\tbalance roundrobin","\tserver 192_168_100_67-80_0 
10.1.1.121:80 check","\tserver 192_168_100_67-80_1 10.1.1.211:80 check","\tmode 
http","\toption httpclose","\t ","\t 
"],"tmp_cfg_file_path":"/etc/haproxy/","tmp_cfg_file_name":"haproxy.cfg.new.1432103998137","add_rules":["192.168.100.67:80:"],"remove_rules":[],"stat_rules":["192.168.100.67:8081:0/0:,"],"router_ip":"169.254.3.40"}],"type":"loadbalancer"}
</file>

Due to formatting issues, there is an error when tis config is applied on VR:


2015-05-20 12:10:05,222 ERROR [c.c.u.s.SshHelper] (DirectAgent-86:ctx-94e1e0a8) 
SSH execution of command /opt/cloud/bin/router_proxy.sh vr_cfg.sh 169.254.3.40 
-c /var/cache/cloud/VR-41f28904-b10b-4074-aa42-f4d4105ec49b.cfg has an error 
status code in return. result output: VR config: execution failed: 
"/opt/cloud/bin/update_config.py load_balancer.json", check /var/log/cloud.log 
in VR for details 

On VR the rules are copied to /var/cache/cloud/load_balancer.json with content:

{"rules":[{"configuration":["global","tlog 127.0.0.1:3914 local0 
warning","tmaxconn 4096","tmaxpipes 1024","tchroot /var/lib/haproxy","tuser 
haproxy","tgroup haproxy","tdaemon","t ","defaults","tlog global","tmode 
tcp","toption dontlognull","tretries 3","toption redispatch","toption 
forwardfor","toption forceclose","ttimeout connect 5000","ttimeout client 
50000","ttimeout server 50000","nlisten stats_on_public 
192.168.100.67:8081ntmode httpntoption httpclosentstats enablentstats uri 
/admin?statsntstats realm Haproxy\ Statisticsntstats auth admin1:AdMiN123n","t 
","listen 192_168_100_67-80 192.168.100.67:80","tbalance roundrobin","tserver 
192_168_100_67-80_0 10.1.1.121:80 check","tserver 192_168_100_67-80_1 
10.1.1.211:80 check","tmode http","toption httpclose","t ","t 
"],"tmp_cfg_file_path":"/etc/haproxy/","tmp_cfg_file_name":"haproxy.cfg.new.1432103998137","add_rules":["192.168.100.67:80:"],"remove_rules":[],"stat_rules":["192.168.100.67:8081:0/0:,"],"router_ip":"169.254.3.40"}],"type":"loadbalancer"}


The following text is badly formatted:

"nlisten stats_on_public 192.168.100.67:8081ntmode httpntoption 
httpclosentstats enablentstats uri /admin?statsntstats realm Haproxy\ 
Statisticsntstats auth admin1:AdMiN123n","t ",

Looks like the \n and \t have messed up the format.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to