4.0 KiB
VMworld 2017 Python SDK Hackathon
Install Python
Go to: Python Downloads and download and install Python for your Platform. The SDK supports both python2 and python3, but we recommend to install the latest version of python3.
Setup Python SDK
Create and activate a virtual env:
Python2:
virtualenv <env_dir>
Python3:
Windows | OSX |
---|---|
py -m venv <env_dir> |
python3 -m venv <env_dir> |
<env_dir>\Scripts\activate |
source <env_dir>/bin/activate |
Clone the github repo
The python github repo is located here
git clone https://github.com/vmware/vsphere-automation-sdk-python
Or optionally download the SDK from Github as a .zip file.
Install dependencies
cd vsphere-automation-sdk-python
pip install -r requirements.txt
Set PYTHONPATH to use SDK helper methods
Linux/Mac:
export PYTHONPATH=${PWD}:$PYTHONPATH
Windows:
set PYTHONPATH=%cd%;%PYTHONPATH%
OPTIONAL: Install Visual Studio Code IDE
Microsoft's Visual Studio Code is a great (free) IDE that can be used for Python via a plugin providing a rich development environment.
Visual Studio Code
Python Plugin
vSphere Python SDK Examples
Start the Python command interpreter:
Linux/Mac:
python3
Windows:
py
List VC inventory in interactive mode
Connect to the vSphere REST API endpoint
from samples.vsphere.common import vapiconnect
stub_config = vapiconnect.connect("<VC_IP_Address>", "administrator@vsphere.local", "VMware1!", True)
List VMs
from com.vmware.vcenter_client import VM
vm_svc = VM(stub_config)
vm_svc.list()
List Datacenters
from com.vmware.vcenter_client import *
Datacenter(stub_config).list()
List Clusters
Cluster(stub_config).list()
List Hosts
Host(stub_config).list()
List Folders
Folder(stub_config).list()
List Datastore
Datastore(stub_config).list()
Find a specific host using a filter spec
filter_spec = Host.FilterSpec(names=set(["<HOST_IP_Address>"]))
Host(stub_config).list(filter_spec)
Note: To exit interactive Python simply type quit() and press Return:
quit()
Run samples on github
For this portion of the lab we recommend using your favorite code editor or as mentioned above download and install Visual Studio Code. We will be using Visual Studio code to demo these examples.
Open the sample property file testbed.py using your favourite text editor, such as:
Linux/OSX:
vi samples/vsphere/vcenter/setup/testbed.py
Windows:
notepad samples\vsphere\vcenter\setup\testbed.py
And then change the following two settings:
config["SERVER"] = "<VC_IP_Address>"
config["VM_DATASTORE_NAME"] = "vsanDatastore"
Run create basic VM sample
NOTE: Be sure to name the VM using your First and Last name so it's unique!!
python samples/vsphere/vcenter/vm/create/create_basic_vm.py -v -n "vm_<firstname_lastname>"
Verify the new VM is created successfully
python samples/vsphere/vcenter/vm/list_vms.py -v
Run deploy ovf template sample
NOTE: Use single quote for password in Mac 'VMware1!'
python samples/vsphere/contentlibrary/ovfdeploy/deploy_ovf_template.py -v -clustername "Cluster1" -libitemname "Sample_OVF"
Verify the new VM is deployed successfully
python samples/vsphere/vcenter/vm/list_vms.py -v
Exercises
Try to use the sample_template to create three scripts and then run them:
- Power on/off the VM you created
- Edit VM cpu/memory
- Add a CD-ROM to your VM