Esempio n. 1
0
def createNicSpec(nicKey,netName,macAddress,nicType):
    """
    Define a virtual nic spec
    """
    nicSpec = VirtualDeviceConfigSpec()
    nicSpec.setOperation(VirtualDeviceConfigSpecOperation.add)
    nicBacking = VirtualEthernetCardNetworkBackingInfo()
    # Assign Portgroup
    nicBacking.setDeviceName(netName)
    if nicType == "e1000":
        nic = VirtualE1000()
    elif nicType == "vmxnet2":
        nic = VirtualVmxnet2()
    elif nicType == "vmxnet3":
        nic = VirtualVmxnet3()
    nic.setKey(nicKey)
    nic.setBacking(nicBacking)
    # Address type is one of the following "generated", "manual", "assigned" by VC
    if macAddress:
        nic.setAddressType("manual")
        # MacAddress format is not validated here.
        nic.setMacAddress(macAddress)
    else:
        nic.setAddressType("generated")
    nicSpec.setDevice(nic)

    return nicSpec
Esempio n. 2
0
def createScsiSpec(scsiKey,busNumber):
    """
    Define a virtual scsi ctrl spec
    """
    scsiSpec = VirtualDeviceConfigSpec()
    scsiSpec.setOperation(VirtualDeviceConfigSpecOperation.add)
    scsiCtrl = VirtualLsiLogicSASController()
    scsiCtrl.setKey(scsiKey)
    scsiCtrl.setBusNumber(busNumber)
    scsiCtrl.setSharedBus(VirtualSCSISharing.noSharing)
    scsiSpec.setDevice(scsiCtrl)

    return scsiSpec
Esempio n. 3
0
def createScsiSpec(scsiKey,busNumber,scsiType):
    """
    Define a virtual scsi ctrl spec
    """
    scsiSpec = VirtualDeviceConfigSpec()
    scsiSpec.setOperation(VirtualDeviceConfigSpecOperation.add)
    if scsiType == "sas":
        scsiCtrl = VirtualLsiLogicSASController()
    elif scsiType == "parallel":
        scsiCtrl = VirtualLsiLogicController()
    elif scsiType == "buslogic":
        scsiCtrl = VirtualBusLogicController()
    elif scsiType == "paravirt":
        scsiCtrl = ParaVirtualSCSIController()
    scsiCtrl.setKey(scsiKey)
    scsiCtrl.setBusNumber(busNumber)
    scsiCtrl.setSharedBus(VirtualSCSISharing.noSharing)
    scsiSpec.setDevice(scsiCtrl)

    return scsiSpec
Esempio n. 4
0
def createDiskSpec(scsiKey,diskKey,unitNumber,diskSize,diskMode,datastore):
    """
    Define a virtual disk spec
    """
    diskSpec = VirtualDeviceConfigSpec()
    diskSpec.setOperation(VirtualDeviceConfigSpecOperation.add)
    diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.create)
    vd = VirtualDisk()
    vd.setKey(diskKey)
    vd.setCapacityInKB(diskSize)
    vd.setUnitNumber(unitNumber)
    vd.setControllerKey(scsiKey)
    diskfileBacking = VirtualDiskFlatVer2BackingInfo()
    fileName = "["+datastore+"]"
    diskfileBacking.setFileName(fileName)
    diskfileBacking.setDiskMode(diskMode)
    diskfileBacking.setThinProvisioned(True)
    vd.setBacking(diskfileBacking)
    diskSpec.setDevice(vd)

    return diskSpec
Esempio n. 5
0
rootME = mo.util.MorUtil.createExactManagedEntity(service.serverConnection, sc.rootFolder)
invNav = mo.InventoryNavigator(rootME)

host = invNav.searchManagedEntity('HostSystem', 'coho.reflex')
if host is None:
    print >>sys.stderr, "could not locate host"
for network in host.networks:
    if network.name == 'VM Network':
        break
vm = invNav.searchManagedEntity('VirtualMachine', 'testers')
if vm is None:
    print >>sys.stderr, "VirtualMachine is NOT correct."
#    return False

datastore = invNav.searchManagedEntity('Datastore', 'NetApp Dev NFS Datastore')
configSpec = VirtualMachineConfigSpec()
devSpec = VirtualDeviceConfigSpec()

devSpec.setOperation(VirtualDeviceConfigSpecOperation.edit)
config = vm.getConfig()
hardware = config.hardware
for device in hardware.device:
    info = device.getDeviceInfo()
    if info.label == 'Network adapter 1':
        device.backing.setDeviceName("VM Network")
        devSpec.setDevice(device)

configSpec.setDeviceChange([devSpec])
task = vm.reconfigVM_Task(configSpec)
task.waitForMe()
Esempio n. 6
0
import com.vmware.vim25.Description as Description


url = URL('https://%s/sdk' % '172.16.10.102')
service = mo.ServiceInstance(url, 'administrator', 'temp123$', True)
sc = service.getServiceContent()
rootME = mo.util.MorUtil.createExactManagedEntity(service.serverConnection, sc.rootFolder)
invNav = mo.InventoryNavigator(rootME)

vm = invNav.searchManagedEntity('VirtualMachine', 'alexy sink')
if vm is None:
    print >>sys.stderr, "VirtualMachine is NOT correct."
#    return False

configSpec = VirtualMachineConfigSpec()
devSpec = VirtualDeviceConfigSpec()
devSpec.setOperation(VirtualDeviceConfigSpecOperation.add)
nic = VirtualVmxnet3()
nicBacking = VirtualEthernetCardNetworkBackingInfo()
nicBacking.setDeviceName('Private Network');
nic.setAddressType("generated");
nic.setBacking(nicBacking);
desc = Description()
desc.setLabel('wooty')
desc.setSummary("this is a super awesome nic")
nic.setDeviceInfo(desc)
devSpec.setDevice(nic);
configSpec.setDeviceChange([devSpec])
task = vm.reconfigVM_Task(configSpec)
task.waitForMe()