1 #!/usr/local/bin/python
8 # Configure an affinity link and set its waypoint address.
11 def rest_method(url, verb):
14 print "REST call " + url
15 resp, content = h.request(url, verb)
18 print "return code %d" % (resp.status)
23 # Create two affinity groups
25 print "create web servers group"
26 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/group/webservers'
27 rest_method(put_url, "PUT")
29 print "create external addresses"
30 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/group/clients'
31 rest_method(put_url, "PUT")
33 print "create link inflows"
34 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/create/link/inflows/from/clients/to/webservers'
35 rest_method(put_url, "PUT")
37 print "add ip to webservers"
38 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/webservers/add/ip/192.168.1.1'
39 rest_method(put_url, "PUT")
41 print "add ip to webservers"
42 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/webservers/add/ip/192.168.1.2'
43 rest_method(put_url, "PUT")
45 print "add ip to external"
46 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/clients/add/ip/10.10.0.0'
47 rest_method(put_url, "PUT")
50 def get_all_affinity_groups():
51 print "get all affinity groups"
52 get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/affinity-groups'
53 rest_method(get_url, "GET")
55 def get_all_affinity_links():
56 print "get all affinity groups"
57 get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/affinity-links'
58 rest_method(get_url, "GET")
60 def get_affinity_group(groupname):
61 get_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/group/' + groupname
62 rest_method(get_url, "GET")
64 def set_waypoint_address():
66 put_url = 'http://localhost:8080/affinity/nb/v2/affinity/default/link/inflows/setwaypoint/' + wp
67 rest_method(put_url, "PUT")
69 # Add waypoint IP to an affinity link.
72 h = httplib2.Http(".cache")
73 h.add_credentials('admin', 'admin')
76 set_waypoint_address()
77 # unset_waypoint_address()
79 get_affinity_group('webservers')
80 get_affinity_group('clients')
82 get_all_affinity_groups()
83 # get_all_affinity_links()
85 if __name__ == "__main__":