2 #parse("openstack_l4/openstack_common.vm")
\r
4 #property("summary", "Manage Configuration of L4 HA service date: [2013-05-08]")
\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
19 ##setup global slb flags
\r
20 /c/slb/adv/direct ena
\r
23 #set($vipIpVer="#os_get_ip_version($vip)")
\r
24 #set($vipIpVer=$vipIpVer.trim())
\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
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
40 ##clean the virt and virs before redoing the definition
\r
43 ## vname is maximum 32 characters
\r
47 #os_print_bool_to_ena_dis($virtServerEnabled)
\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
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
58 #if($vipIpVer==$IPV4)
\r
59 addr v4 $vip 255.255.255.255 v6 none persist disable
\r
61 addr v4 none v6 $vip 128 persist disable
\r