27 | | == WiMAX VM Aggregate Manager (WiMAX VM AggMgr) [Grid Service] == |
| 28 | == WiMAX VM Aggregate Manager (WiMAX VM AggMgr) [Grid Service] [WiMAX Slice Manager] == |
| 29 | |
| 30 | |
| 31 | === Accessibility === |
| 32 | Running on: cons-wm-02 |
| 33 | Base URL: http://wm-asngw-02:5012/wimaxcl/ |
| 34 | |
| 35 | === Functions supported === |
| 36 | |
| 37 | {{{ |
| 38 | root@cons-wm-02:/usr/lib/ruby/1.8/omf-aggmgr/ogs_wimaxvm |
| 39 | |
| 40 | <?xml version='1.0'?> |
| 41 | <services><serviceGroup name='wimaxvm' prefix='/wimaxvm'><info>Service to control virtual machines</info> |
| 42 | |
| 43 | <service name='addclient'> |
| 44 | <info>Service to Add a wimax client</info><args><arg name='clientmac' isRequired='true' value='clientmac'><info>MAC address of the client</info></arg><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service> |
| 45 | |
| 46 | <service name='create'> |
| 47 | <info>Service to create a VM</info><args><arg name='mac' isRequired='true' value='mac'><info>MAC address of the vm</info></arg><arg name='ip' isRequired='true' value='ip'><info>IP address of the vm</info></arg><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service> |
| 48 | |
| 49 | <service name='initvms'/><service name='start'><info>Service to start a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service><service name='startshaping'><info>Service to start vnts controller</info> |
| 50 | </service> |
| 51 | |
| 52 | <service name='stop'> |
| 53 | <info>Service to stop a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args> |
| 54 | </service><service name='stopshaping'><info>Stop shaping scrip |
| 55 | t</info></service><service name='vmlist'><info>List all VMs</info></service> |
| 56 | |
| 57 | |
| 58 | <service name='vmstat'> |
| 59 | <info>Service to query info from a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args></service></serviceGroup></services> |
| 60 | |
| 61 | }}} |
| 62 | |
| 63 | === Sample Queries and corresponding outputs === |
| 64 | |
| 65 | 1) To initialize the service. |
| 66 | - Checks for the number of running VMs, populates MAC list and also |
| 67 | assigns VLAN ids. |
| 68 | - Is also supposed to send the VLAN information to the server on ASN-GW |
| 69 | {{{ |
| 70 | |
| 71 | wget http://wm-asngw-02:5012/wimaxvm/initvms |
| 72 | |
| 73 | |
| 74 | vm30 VLANid 7 mac address='52:52:52:52:52:52'/ |
| 75 | vm7 VLANid 2 mac address='52:54:00:1c:00:cb'/ |
| 76 | vm10 VLANid 6 mac address='54:52:00:2c:05:7a'/ |
| 77 | vm55 VLANid 3 mac address='01:23:45:67:89:ab'/ |
| 78 | vm57 VLANid 4 mac address='01:32:54:67:98:ba'/ |
| 79 | vm58 VLANid 5 mac address='01:65:23:67:98:ba'/ |
| 80 | vm5 VLANid 0 mac address='52:54:00:2a:85:b6'/ |
| 81 | vm6 VLANid 1 mac address='52:54:00:34:aa:a3'/ |
| 82 | }}} |
| 83 | |
| 84 | |
| 85 | 2) Start VM |
| 86 | - Start vm, assign vlan tag and send info to server on ASNGW |
| 87 | - Socket part is yet to be integrated |
| 88 | {{{ |
| 89 | http://wm-asngw-02:5012/wimaxvm/start/?vmname=vm30 |
| 90 | Domain vm30 started with vlan tag 9 |
| 91 | }}} |
| 92 | |
| 93 | |
| 94 | 3) Stop VM |
| 95 | - Similar to start VM, but does exactly the opposite |
| 96 | {{{ |
| 97 | http://wm-asngw-02:5012/wimaxvm/stop/?vmname=vm8 |
| 98 | Domain vm8 destroyed |
| 99 | }}} |
| 100 | |
| 101 | 4) Get statistics about a VM |
| 102 | - Gets all relavent information for a particular VM name |
| 103 | {{{ |
| 104 | http://wm-asngw-02:5012/wimaxvm/vmstat/?vmname=vm8 |
| 105 | <domain type='kvm' id='40'> |
| 106 | <name>vm30</name> |
| 107 | <uuid>94c79efa-01b1-64e7-3bd7-2baedd3cfb1a</uuid> |
| 108 | <memory>262144</memory> |
| 109 | <currentMemory>262144</currentMemory> |
| 110 | <vcpu>1</vcpu> |
| 111 | <os> |
| 112 | <type arch='i686' machine='pc'>hvm</type> |
| 113 | <boot dev='hd'/> |
| 114 | </os> |
| 115 | <features> |
| 116 | <acpi/> |
| 117 | </features> |
| 118 | <clock offset='utc'/> |
| 119 | <on_poweroff>destroy</on_poweroff> |
| 120 | <on_reboot>restart</on_reboot> |
| 121 | <on_crash>destroy</on_crash> |
| 122 | <devices> |
| 123 | <emulator>/usr/bin/kvm</emulator> |
| 124 | <disk type='file' device='disk'> |
| 125 | <source file='/home/native/vm30/disk0.qcow2'/> |
| 126 | <target dev='hda' bus='ide'/> |
| 127 | </disk> |
| 128 | <interface type='network'> |
| 129 | <mac address='52:52:52:52:52:52'/> |
| 130 | <source network='default'/> |
| 131 | <target dev='vnet6'/> |
| 132 | <model type='virtio'/> |
| 133 | </interface> |
| 134 | <input type='mouse' bus='ps2'/> |
| 135 | <graphics type='vnc' port='5905' autoport='yes' listen='127.0.0.1'/> |
| 136 | </devices> |
| 137 | </domain> |
| 138 | }}} |
| 139 | |
| 140 | 5) Get VM list |
| 141 | - Useful for an admin and gives a list of all VMs. |
| 142 | - Format is vmname, Vlanid, vm-mac-addr. |
| 143 | {{{ |
| 144 | http://wm-asngw-02:5012/wimaxvm/vmlist |
| 145 | |
| 146 | vm30 VLANid 7 mac address='52:52:52:52:52:52'/ |
| 147 | vm7 VLANid 2 mac address='52:54:00:1c:00:cb'/ |
| 148 | vm10 VLANid 6 mac address='54:52:00:2c:05:7a'/ |
| 149 | vm55 VLANid 3 mac address='01:23:45:67:89:ab'/ |
| 150 | vm57 VLANid 4 mac address='01:32:54:67:98:ba'/ |
| 151 | vm58 VLANid 5 mac address='01:65:23:67:98:ba'/ |
| 152 | vm5 VLANid 0 mac address='52:54:00:2a:85:b6'/ |
| 153 | vm6 VLANid 1 mac address='52:54:00:34:aa:a3'/ |
| 154 | }}} |