diff --git a/script/add-more-bridges.py b/script/add-more-bridges.py new file mode 100755 index 0000000..c62d58b --- /dev/null +++ b/script/add-more-bridges.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridge = mc.add_bridge().name('DHCPv6BRIDGE NO2').tenant_id(my_laptop).create() + port_left = bridge.add_exterior_port().create() + port_right = bridge.add_exterior_port().create() + tag = bridge.add_tag().tag("tomohiko_tag1").create() + tag = bridge.add_tag().tag("tomohiko_tag3").create() + + bridge = mc.add_bridge().name('DHCPv6BRIDGE NO3').tenant_id(my_laptop).create() + port_left = bridge.add_exterior_port().create() + port_right = bridge.add_exterior_port().create() + tag = bridge.add_tag().tag("tomohiko_tag1").create() + tag = bridge.add_tag().tag("tomohiko_tag2").create() + +if __name__ == '__main__': + main() diff --git a/script/add-tags.py b/script/add-tags.py new file mode 100755 index 0000000..0d56897 --- /dev/null +++ b/script/add-tags.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridges = mc.get_bridges({'tenant_id': my_laptop}) + bridge = bridges[0] + tag = bridge.add_tag().tag("tomohiko_tag1").create() + tag = bridge.add_tag().tag("tomohiko_tag2").create() + +if __name__ == '__main__': + main() diff --git a/script/add-vteps.py b/script/add-vteps.py new file mode 100755 index 0000000..5f52b74 --- /dev/null +++ b/script/add-vteps.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + vtep_management_ip = '119.15.112.22' + vtep_management_port = '6633' + + # Preparation + bridge_name = 'DHCPv6BRIDGE NO2' + bridge_exists = False + bridges = mc.get_bridges({'tenant_id': my_laptop}) + for b in bridges: + if b.get_name() == bridge_name: + bridge_exists = True + bridge = b + + if not bridge_exists: + bridge = mc.add_bridge().name(bridge_name).tenant_id(my_laptop).create() + + bridge_id = bridge.get_id() + print 'Bridge ID for %s: %s' % (bridge_name, bridge_id) + + # Create a new VTEP + vtep = mc.add_vtep().name('My VTEP').management_ip(vtep_management_ip).management_port(vtep_management_port).create() + print 'Created a VTEP.' + + # Add a new VTEP binding. + #vtep_binding = vtep.add_binding().port_name('in1').network_id(bridge_id).create() + vtep_binding = vtep.add_binding().port_name('in1').vlan_id(124).network_id(bridge_id).create() + print 'Added a new VTEP binding.' + + #mgmt_ip = vtep_binding.get_management_ip() + #port_name = vtep_binding.get_port_name() + #vlan_id = vtep_binding.get_vlan_id() + #network_id = vtep_binding.get_network_id() + #print 'mgmt ip=%s, port name=%s, vlan id=%d, network id=%s' % (mgmt_ip, port_name, vlan_id, network_id) + + # Add a new VTEP binding + #bindings = mc.get_bridge('SOME-BRIDGE-ID').get_vtep_bindings() + + +if __name__ == '__main__': + main() diff --git a/script/create-bridge.py b/script/create-bridge.py new file mode 100755 index 0000000..0803c8b --- /dev/null +++ b/script/create-bridge.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + bridge = mc.add_bridge().name('DHCPv6BRIDGE').tenant_id(my_laptop).create() + +if __name__ == '__main__': + main() diff --git a/script/delete-vteps.py b/script/delete-vteps.py new file mode 100755 index 0000000..7892a00 --- /dev/null +++ b/script/delete-vteps.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + mc = MidonetApi(**args) + vtep_management_ip = '119.15.112.22' + + # Delete a new VTEP + vtep = mc.delete_vtep(vtep_management_ip) + print 'Deleted a VTEP.' + + +if __name__ == '__main__': + main() diff --git a/script/get-bridges.py b/script/get-bridges.py new file mode 100755 index 0000000..c1dd9de --- /dev/null +++ b/script/get-bridges.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys +import time + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + # mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + # mc = MidonetApi(mn_uri, 'admin', 'password') + mc = MidonetApi(**args) + + mc.get_bridges({'tenant_id': 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7'}) + + print('Sleep for 2 secs.') + time.sleep(3) + #mc.get_bridges({'tenant_id': my_laptop}) + mc.get_port_groups({'tenant_id': 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7'}) + +if __name__ == '__main__': + main() diff --git a/script/get-tagged-resources.py b/script/get-tagged-resources.py new file mode 100755 index 0000000..a40baaf --- /dev/null +++ b/script/get-tagged-resources.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def lookup_tagged_resources(api, tag): + print 'Looking up bridges with tag: %s' % tag + bridges = api.get_tagged_resources(tag) + if bridges: + print '-Found %d resources.' % len(bridges) + else: + print '-No resources found.\n' + return + + for index, bridge in enumerate(bridges): + print('-Bridge %d' % index) + print(' Name: %s' % bridge.get_name()) + print(' id: %s' % bridge.get_id()) + print(' tenant id: %s' % bridge.get_tenant_id()) + + print '\n' + +def main(): + mn_uri = 'http://localhost:8081' + mc = MidonetApi(mn_uri, 'admin', 'password') + + lookup_tagged_resources(mc, 'tomohiko_tag1') + lookup_tagged_resources(mc, 'tomohiko_tag2') + lookup_tagged_resources(mc, 'tomohiko_tag3') + +if __name__ == '__main__': + main() diff --git a/script/get-tags.py b/script/get-tags.py new file mode 100755 index 0000000..96d0bcd --- /dev/null +++ b/script/get-tags.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridges = mc.get_bridges({'tenant_id': my_laptop}) + for bridge in bridges: + print("Bridge %s" % bridge.get_id()) + tags = bridge.get_tags() + for tag in tags: + print("tag: %s" % tag.get_tag()) + +if __name__ == '__main__': + main() diff --git a/script/get-vteps.py b/script/get-vteps.py new file mode 100755 index 0000000..5f52b74 --- /dev/null +++ b/script/get-vteps.py @@ -0,0 +1,58 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + vtep_management_ip = '119.15.112.22' + vtep_management_port = '6633' + + # Preparation + bridge_name = 'DHCPv6BRIDGE NO2' + bridge_exists = False + bridges = mc.get_bridges({'tenant_id': my_laptop}) + for b in bridges: + if b.get_name() == bridge_name: + bridge_exists = True + bridge = b + + if not bridge_exists: + bridge = mc.add_bridge().name(bridge_name).tenant_id(my_laptop).create() + + bridge_id = bridge.get_id() + print 'Bridge ID for %s: %s' % (bridge_name, bridge_id) + + # Create a new VTEP + vtep = mc.add_vtep().name('My VTEP').management_ip(vtep_management_ip).management_port(vtep_management_port).create() + print 'Created a VTEP.' + + # Add a new VTEP binding. + #vtep_binding = vtep.add_binding().port_name('in1').network_id(bridge_id).create() + vtep_binding = vtep.add_binding().port_name('in1').vlan_id(124).network_id(bridge_id).create() + print 'Added a new VTEP binding.' + + #mgmt_ip = vtep_binding.get_management_ip() + #port_name = vtep_binding.get_port_name() + #vlan_id = vtep_binding.get_vlan_id() + #network_id = vtep_binding.get_network_id() + #print 'mgmt ip=%s, port name=%s, vlan id=%d, network id=%s' % (mgmt_ip, port_name, vlan_id, network_id) + + # Add a new VTEP binding + #bindings = mc.get_bridge('SOME-BRIDGE-ID').get_vtep_bindings() + + +if __name__ == '__main__': + main() diff --git a/script/list-vteps.py b/script/list-vteps.py new file mode 100755 index 0000000..8fcee3c --- /dev/null +++ b/script/list-vteps.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + vtep_management_ip = '119.15.112.22' + vtep_management_port = '6633' + + # Create a new VTEP + # vtep = mc.add_vtep().name('My VTEP').management_ip(vtep_management_ip).management_port(vtep_management_port).create() + # print 'Created a VTEP.' + + # list VTEPs + vteps = mc.get_vteps() + print 'Retrieved a list of %d VTEPs.' % len(vteps) + + +if __name__ == '__main__': + main() diff --git a/script/remove-bridges.py b/script/remove-bridges.py new file mode 100755 index 0000000..291d039 --- /dev/null +++ b/script/remove-bridges.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridges = mc.get_bridges({'tenant_id': my_laptop}) + for bridge in bridges: + print("Removing Bridge %s" % bridge.get_id()) + bridge.delete() + +if __name__ == '__main__': + main() diff --git a/script/remove-particular-tag.py b/script/remove-particular-tag.py new file mode 100755 index 0000000..335789f --- /dev/null +++ b/script/remove-particular-tag.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridges = mc.get_bridges({'tenant_id': my_laptop}) + bridge = bridges[0] + for bridge in bridges: + print("Bridge %s" % bridge.get_id()) + tags = bridge.get_tags() + for tag in tags: + print("Deleting tag: %s" % tag.get_tag()) + tag.delete() + +if __name__ == '__main__': + main() diff --git a/script/remove-tags.py b/script/remove-tags.py new file mode 100755 index 0000000..7c536ad --- /dev/null +++ b/script/remove-tags.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridges = mc.get_bridges({'tenant_id': my_laptop}) + for bridge in bridges: + print("Bridge %s" % bridge.get_id()) + tags = bridge.get_tags() + for tag in tags: + print("Deleting tag: %s" % tag.get_tag()) + tag.delete() + +if __name__ == '__main__': + main() diff --git a/script/searchservice.py b/script/searchservice.py new file mode 100755 index 0000000..a377eac --- /dev/null +++ b/script/searchservice.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +_MN_URI = 'http://localhost:8081' +_MC = MidonetApi(_MN_URI, 'admin', 'password') + +def lookup_tagged_bridges(tag): + print 'Looking up bridges with tag: %s' % tag + bridges = _MC.get_tagged_resources(tag) + if bridges: + print '-Found %d resources.' % len(bridges) + else: + print '-No resources found.\n' + return + + for bridge in bridges: + print('-Bridge') + print(' Name: %s' % bridge.get_name()) + print(' id: %s' % bridge.get_id()) + print(' tenant id: %s' % bridge.get_tenant_id()) + + print '\n' diff --git a/script/setup-bridges.py b/script/setup-bridges.py new file mode 100755 index 0000000..137fc87 --- /dev/null +++ b/script/setup-bridges.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + bridge = mc.add_bridge().name('DHCPv6BRIDGE').tenant_id(my_laptop).create() + port_left = bridge.add_exterior_port().create() + port_right = bridge.add_exterior_port().create() + +if __name__ == '__main__': + main() diff --git a/script/setup-port-group.py b/script/setup-port-group.py new file mode 100755 index 0000000..86a9683 --- /dev/null +++ b/script/setup-port-group.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(**args) + + port_group = mc.add_port_group().name('tomohiko-port-group').tenant_id(my_laptop).create() + port_group.add_port_group_port().port_id('3e7c31c5-64d9-4184-a27a-3f985d83a71b').create() + +if __name__ == '__main__': + main() diff --git a/script/setup-rules.py b/script/setup-rules.py new file mode 100755 index 0000000..5fa43a9 --- /dev/null +++ b/script/setup-rules.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + # mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + # mc = MidonetApi(mn_uri, 'admin', 'password') + mc = MidonetApi(**args) + + chain = mc.add_chain().name('tomohiko_11th_chain').tenant_id(my_laptop).create() + print('*** 5th chain id: ' + chain.get_id()) + rule = chain.add_rule() + rule.type('snat') + rule.flow_action('accept') + rule.nw_src_address('172.16.1.1') + rule.nw_src_length(24) + rule.nw_dst_address('172.16.1.2') + rule.nw_dst_length(24) + rule.out_ports(['3e7c31c5-64d9-4184-a27a-3f985d83a71b']) + rule.nat_targets([{'addressFrom': '200.11.11.11', + 'addressTo': '200.11.11.12', + 'portFrom': 8888, + 'portTo': 9999}]) + rule.create() + print('*** rule id: ' + rule.get_id()) + +if __name__ == '__main__': + main() diff --git a/script/setup-tags.py b/script/setup-tags.py new file mode 100755 index 0000000..def5a36 --- /dev/null +++ b/script/setup-tags.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import sys + +def main(): + mn_uri = 'http://localhost:8080/midonet-api' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + mc = MidonetApi(mn_uri, 'admin', 'password') + + bridge = mc.add_bridge().name('DHCPv6BRIDGE').tenant_id(my_laptop).create() + port_left = bridge.add_exterior_port().create() + port_right = bridge.add_exterior_port().create() + tag = bridge.add_tag().tag("tomohiko_tag1").create() + tag = bridge.add_tag().tag("tomohiko_tag2").create() + + ## Test deleting a bridge. + bridge_delete = mc.add_bridge().name('BRIDGE_DELETE_TEST').tenant_id(my_laptop).create() + tag = bridge_delete.add_tag().tag("bridge_delete_tag1").create() + tag = bridge_delete.add_tag().tag("bridge_delete_tag2").create() + bridge_delete.delete() + + tags = bridge.get_tags() + for tag in tags: + print("%s\n", tag.get_tag()) + + ## # Set up interface/vport binding + ## host = mc.get_host(my_laptop) + ## interface_left = host.add_host_interface_port().port_id(port_left.get_id()).interface_name('leftdp') + ## interface_left.create() + ## interface_right = host.add_host_interface_port().port_id(port_right.get_id()).interface_name('rightdp') + ## interface_right.create() + +if __name__ == '__main__': + main() diff --git a/script/setup-tunnelzones.py b/script/setup-tunnelzones.py new file mode 100755 index 0000000..d71f230 --- /dev/null +++ b/script/setup-tunnelzones.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + # mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + # mc = MidonetApi(mn_uri, 'admin', 'password') + mc = MidonetApi(**args) + + tz1 = mc.add_tunnel_zone() + tz1.name('tomohiko') + tz1.type('gre') + tz1.create() + +if __name__ == '__main__': + main() diff --git a/script/show-versions.py b/script/show-versions.py new file mode 100755 index 0000000..5572527 --- /dev/null +++ b/script/show-versions.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +from midonetclient.api import MidonetApi +import logging +import sys + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://localhost:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +def main(): + # mn_uri = 'http://localhost:8081' + my_laptop = 'c1b9eb8a-c83b-43d3-b7b8-8613f921dbe7' + # mc = MidonetApi(mn_uri, 'admin', 'password') + mc = MidonetApi(**args) + + hosts = mc.get_host_versions() + for host in hosts: + print('host: %s, host_id: %s, version: %s' % (host.get_host(), + host.get_host_id(), + host.get_version())) + +if __name__ == '__main__': + main() diff --git a/script/test_token.py b/script/test_token.py new file mode 100755 index 0000000..171a5e2 --- /dev/null +++ b/script/test_token.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +import logging +import time + +from midonetclient import api + +logging.basicConfig(level=logging.DEBUG) + +args = { + 'base_uri': "http://127.0.0.1:8080", + #'base_uri': "http://127.0.0.1:8080/midonet", + #'base_uri': "http://127.0.0.1:8080/midonet-api", + 'username': 'quantum', + 'password': 'quantum', + 'project_id': 'service', +} + +mido = api.MidonetApi(**args) + +for h in mido.get_hosts(): print h.get_name() + +time.sleep(2) + +for h in mido.get_hosts(): print h.get_name()