[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] Add network-del and network-show commands to xm
# HG changeset patch # User Tom Wilkie <tom.wilkie@xxxxxxxxx> # Date 1177598435 -3600 # Node ID a9b9847d97bbc510e765452a1ad5c4286df50f57 # Parent 16e38247dee8b244b13b98cce8b96b4049b08873 Add network-del and network-show commands to xm signed-off-by: Tom Wilkie <tom.wilkie@xxxxxxxxx> --- tools/python/xen/xm/main.py | 70 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 68 insertions(+), 2 deletions(-) diff -r 16e38247dee8 -r a9b9847d97bb tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Thu Apr 26 15:39:30 2007 +0100 +++ b/tools/python/xen/xm/main.py Thu Apr 26 15:40:35 2007 +0100 @@ -2233,7 +2233,7 @@ def xm_vnet_delete(args): def xm_network_new(args): xenapi_only() - arg_check(args, "xm_network_new", 1) + arg_check(args, "network-new", 1) network = args[0] record = { @@ -2245,7 +2245,71 @@ def xm_network_new(args): } server.xenapi.network.create(record) - + +def xm_network_del(args): + xenapi_only() + arg_check(args, "network-del", 1) + network = args[0] + + networks = dict([(record['name_label'], record['uuid']) + for record in + server.xenapi.network.get_all_records()]) + + if network not in networks.keys(): + raise ValueError("'%s' is not a valid network name" % network) + + server.xenapi.network.destroy(networks[network]) + +def uuid_dict_trans(records): + return dict([(record['uuid'], record) + for record in records]) + +def xm_network_show(args): + xenapi_only() + arg_check(args, "network-show", 0) + + networks = server.xenapi.network.get_all_records() + pifs = uuid_dict_trans( + server.xenapi.PIF.get_all_records()) + vifs = uuid_dict_trans( + server.xenapi.VIF.get_all_records()) + + print '%-20s %-40s %-10s' % \ + ('Name', 'VIFs', 'PIFs') + + format2 = "%(name_label)-20s %(vif)-40s %(pif)-10s" + + for network in networks: + for i in range(max(len(network['PIFs']), + len(network['VIFs']), 1)): + if i < len(network['PIFs']): + pif_uuid = network['PIFs'][i] + else: + pif_uuid = None + + if i < len(network['VIFs']): + vif_uuid = network['VIFs'][i] + else: + vif_uuid = None + + pif = pifs.get(pif_uuid, {'device':''}) + vif = vifs.get(vif_uuid, None) + + if vif: + dom_name = server.xenapi.VM.get_name_label(vif['VM']) + vif = "%s.%s" % (dom_name, vif['device']) + else: + vif = '' + + if i == 0: + r = {'name_label':network['name_label'], + 'vif':vif, 'pif':pif['device']} + else: + r = {'name_label':'','vif':vif,'pif':pif['device']} + + print format2 % r + + commands = { "shell": xm_shell, "event-monitor": xm_event_monitor, @@ -2301,6 +2365,8 @@ commands = { "network-list": xm_network_list, # network (as in XenAPI) "network-new": xm_network_new, + "network-del": xm_network_del, + "network-show": xm_network_show, # vnet "vnet-list": xm_vnet_list, "vnet-create": xm_vnet_create, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |