Add virtual_routes and virtual_rules options

It adds virtual_routes and virtual_rules options to
keepalived.conf .

Change-Id: I101501d39482f36483bcbd4a10774def447fd942
Closes-bug: #prod-14973
diff --git a/keepalived/files/keepalived.conf b/keepalived/files/keepalived.conf
index 491c0f8..bb88504 100644
--- a/keepalived/files/keepalived.conf
+++ b/keepalived/files/keepalived.conf
@@ -58,6 +58,20 @@
         {{ instance.address }}
         {%- endif %}
     }
+    {%- if instance.virtual_routes is defined %}
+    virtual_routes {
+    {%- for route in instance.virtual_routes %}
+    {{ route }}
+    {%- endfor %}
+    }
+    {%- endif %}
+    {%- if instance.virtual_rules is defined %}
+    virtual_rules {
+    {%- for rule in instance.virtual_rules %}
+    {{ rule }}
+    {%- endfor %}
+    }
+    {%- endif %}
     {%- if instance.track_script is defined %}
     track_script {
     {%- if instance.track_script is mapping %}
diff --git a/tests/pillar/keepalived_cluster.sls b/tests/pillar/keepalived_cluster.sls
index 01833f2..2035d90 100644
--- a/tests/pillar/keepalived_cluster.sls
+++ b/tests/pillar/keepalived_cluster.sls
@@ -19,6 +19,8 @@
         - 192.168.10.2
         interface: eth0
         track_script: check_random_exit
+        virtual_routes: []
+        virtual_rules: []
       VIP2:
         priority: 100
         virtual_router_id: 12
@@ -28,6 +30,8 @@
         - 192.168.12.2
         interface: eth0
         track_script: check_haproxy
+        virtual_routes: ['add default via 192.168.12.1 table 120']
+        virtual_rules: ['add from 0.0.0.0 table 120']
       VIP3:
         priority: 100
         virtual_router_id: 13
@@ -41,6 +45,8 @@
             interval: 10
           check_mysql_cluster:
             weight: 50
+        virtual_routes: ['add default via 192.168.12.1 table 120']
+        virtual_rules: ['add from 0.0.0.0 table 120']
       VIP4:
         priority: 100
         virtual_router_id: 14