]> review.fuel-infra Code Review - openstack-build/neutron-build.git/blob
6874e8ccdfcebc3d82b3dd8b5fbebbe001190924
[openstack-build/neutron-build.git] /
1 \r
2 #parse("openstack_l4/openstack_common.vm")\r
3 \r
4 #property("summary", "Manage Configuration of L4 HA service date: [2013-05-08]")\r
5 \r
6 #param("groupId", "int", "in", "prompt = Group id")\r
7 #param("virtId", "int", "in", "prompt = Virt id")\r
8 #param("virtServerEnabled", "bool", "in" "prompt = Is VIP enabled?")\r
9 #param("vip", "ip", "in", "prompt = IP address for the virtual service")\r
10 #param("virtSvcPort", "int", "in", "prompt = Virtual Service Port (0 means no value)")\r
11 #param("virtSvcType", "string", "in", "prompt = Virtual Service Type", "values=HTTP,HTTPS,TCP")\r
12 #param("svcPortAlgorithm", "string", "in", "prompt = Memeber Selection Algorithm", "values=ROUND_ROBIN,LEAST_CONNECTIONS,SOURCE_IP")\r
13 #param("groupEnabled", "bool", "in" "prompt = Is Group enabled?")\r
14 #param("virtSvcPersistMethod", "string", "in", "prompt = Virtual Service Persistence Method", "values=SOURCE_IP,HTTP_COOKIE,APP_COOKIE")\r
15 #param("virtSvcCookieName", "string", "in", "prompt = Virtual Service Cookie Name")\r
16 \r
17 \r
18 \r
19 ##setup global slb flags\r
20 /c/slb/adv/direct ena\r
21 \r
22 \r
23 #set($vipIpVer="#os_get_ip_version($vip)")\r
24 #set($vipIpVer=$vipIpVer.trim())\r
25 \r
26 ## name is maximum 31 characters\r
27 /c/slb/group $groupId\r
28     #verify_field_length("Group name","$groupId",$GROUP_NAME_MAX_LENGTH)\r
29     name "$groupId"\r
30     #os_print_metric_command($svcPortAlgorithm)\r
31 ##  The admin state of opens stack exists both on vip, pool and members\r
32 ##  As a memeber can only be assigned to one pool the effect of disabling the pool is the same as disbaling all of its memebers\r
33 ##  Currently, alteon does not have a method to disbale the pool\r
34 ##    #if($groupEnabled)\r
35 ##    ena\r
36 ##    #else\r
37 ##    dis\r
38 ##    #end\r
39 \r
40 ##clean the virt and virs before redoing the definition\r
41 /c/slb/virt $virtId\r
42     del\r
43 ## vname is maximum 32 characters\r
44 /c/slb/virt $virtId\r
45     ipver $vipIpVer\r
46     vip $vip\r
47     #os_print_bool_to_ena_dis($virtServerEnabled)\r
48 \r
49 #set($serviceType="#os_get_service_type($virtSvcType)")\r
50 #set($serviceType=$serviceType.trim())\r
51 /c/slb/virt $virtId/service $virtSvcPort $serviceType\r
52     group $groupId\r
53     rport 0\r
54 /c/slb/virt $virtId/service $virtSvcPort $serviceType\r
55     #os_print_persist_command($virtSvcPersistMethod, $virtSvcCookieName, $serviceType)\r
56 /c/slb/virt $virtId/service $virtSvcPort $serviceType/pip\r
57     mode address\r
58     #if($vipIpVer==$IPV4)\r
59     addr v4 $vip 255.255.255.255 v6 none persist disable\r
60     #else\r
61     addr v4 none v6 $vip 128 persist disable\r
62     #end\r