wiki:Internal/WiMAX/AggMgr/ogs_wimaxvm

Version 4 (modified by seskar, 15 years ago) ( diff )

Name changed from Internal/WiMAX/ogs_wimaxvm to Internal/WiMAX/AggMgr/ogs_wimaxvm

WiMAX Virtual Machine Grid Service

Accessibility

Running on: cons-wm-02 Base URL: http://wm-asngw-02:5012/wimaxcl/

Functions supported

root@cons-wm-02:/usr/lib/ruby/1.8/omf-aggmgr/ogs_wimaxvm

<?xml version='1.0'?>
<services><serviceGroup name='wimaxvm' prefix='/wimaxvm'><info>Service to control virtual machines</info>

<service name='addclient'>
<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>

<service name='create'>
<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>

<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>
</service>

<service name='stop'>
<info>Service to stop a VM</info><args><arg name='vmname' isRequired='true' value='vmname'><info>Name of the virtual machine</info></arg></args>
</service><service name='stopshaping'><info>Stop shaping scrip
t</info></service><service name='vmlist'><info>List all  VMs</info></service>


<service name='vmstat'>
<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>

Sample Queries and corresponding outputs

1) To initialize the service.

  • Checks for the number of running VMs, populates MAC list and also assigns VLAN ids.
  • Is also supposed to send the VLAN information to the server on ASN-GW
    wget http://wm-asngw-02:5012/wimaxvm/initvms
    
    
    vm30 VLANid  7         mac address='52:52:52:52:52:52'/
    vm7 VLANid  2         mac address='52:54:00:1c:00:cb'/
    vm10 VLANid  6         mac address='54:52:00:2c:05:7a'/
    vm55 VLANid  3         mac address='01:23:45:67:89:ab'/
    vm57 VLANid  4         mac address='01:32:54:67:98:ba'/
    vm58 VLANid  5         mac address='01:65:23:67:98:ba'/
    vm5 VLANid  0         mac address='52:54:00:2a:85:b6'/
    vm6 VLANid  1         mac address='52:54:00:34:aa:a3'/
    

2) Start VM

  • Start vm, assign vlan tag and send info to server on ASNGW
  • Socket part is yet to be integrated
     http://wm-asngw-02:5012/wimaxvm/start/?vmname=vm30
    Domain vm30 started  with vlan tag 9
    

3) Stop VM

  • Similar to start VM, but does exactly the opposite
     http://wm-asngw-02:5012/wimaxvm/stop/?vmname=vm8
    Domain vm8 destroyed
    

4) Get statistics about a VM

  • Gets all relavent information for a particular VM name
    http://wm-asngw-02:5012/wimaxvm/vmstat/?vmname=vm8
    <domain type='kvm' id='40'>
      <name>vm30</name>
      <uuid>94c79efa-01b1-64e7-3bd7-2baedd3cfb1a</uuid>
      <memory>262144</memory>
      <currentMemory>262144</currentMemory>
      <vcpu>1</vcpu>
      <os>
        <type arch='i686' machine='pc'>hvm</type>
        <boot dev='hd'/>
      </os>
      <features>
        <acpi/>
      </features>
      <clock offset='utc'/>
      <on_poweroff>destroy</on_poweroff>
      <on_reboot>restart</on_reboot>
      <on_crash>destroy</on_crash>
      <devices>
        <emulator>/usr/bin/kvm</emulator>
        <disk type='file' device='disk'>
          <source file='/home/native/vm30/disk0.qcow2'/>
          <target dev='hda' bus='ide'/>
        </disk>
        <interface type='network'>
          <mac address='52:52:52:52:52:52'/>
          <source network='default'/>
          <target dev='vnet6'/>
          <model type='virtio'/>
        </interface>
        <input type='mouse' bus='ps2'/>
        <graphics type='vnc' port='5905' autoport='yes' listen='127.0.0.1'/>
      </devices>
    </domain>
    

5) Get VM list

  • Useful for an admin and gives a list of all VMs.
  • Format is vmname, Vlanid, vm-mac-addr.
     http://wm-asngw-02:5012/wimaxvm/vmlist
    
    vm30 VLANid  7         mac address='52:52:52:52:52:52'/
    vm7 VLANid  2         mac address='52:54:00:1c:00:cb'/
    vm10 VLANid  6         mac address='54:52:00:2c:05:7a'/
    vm55 VLANid  3         mac address='01:23:45:67:89:ab'/
    vm57 VLANid  4         mac address='01:32:54:67:98:ba'/
    vm58 VLANid  5         mac address='01:65:23:67:98:ba'/
    vm5 VLANid  0         mac address='52:54:00:2a:85:b6'/
    vm6 VLANid  1         mac address='52:54:00:34:aa:a3'/
    
Note: See TracWiki for help on using the wiki.