1
0
mirror of https://github.com/vmware/vsphere-automation-sdk-python.git synced 2024-11-22 01:39:58 -05:00

add lab for vmworld 2017

This commit is contained in:
Tianhao He 2017-08-27 17:32:52 -07:00
parent 8503fcd9a0
commit 0f1107ce53
3 changed files with 220 additions and 0 deletions

37
vmworld2017/README.md Normal file
View File

@ -0,0 +1,37 @@
# VMTN6720U - Hackathon Training: Getting started with the vSphere Automation SDK for Python
**Date:** 08/28/17 6:30PM-8:00PM
# Agenda
* Introduction to vSphere REST API
* vSphere Automation SDKs
* Getting Started Using the Python SDK
* Lab
# Introduction to vSphere REST API
* Consume from SDKs, CLIs
* NOTE: Need bullets from Alan
# vSphere Automation SDKs
* Supported Languages
* Python, Java, Ruby, Perl, .NET, REST (JavaScript/Postman)
* Open Source on Github
* SDK Includes:
* Runtime
* Serialization
* Language Binding
* Python Wrapper around REST API
* API Reference Documentation (for offline usage)
# [Labs](lab.md)
**Wifi**: VMworld-Hackathon-Training-4<br />
**Wifi Password**: Hackathon2017
Connect to VC matching first letter of your last name (poormans load balance):
**VC1**: [192.168.104.11](https://192.168.104.11) (A-H)<br />
**VC2**: [192.168.104.13](https://192.168.104.13) (I-Q)<br />
**VC3**: [192.168.104.13](https://192.168.104.13) (R-Z)<br />
**VC Username**: administrator@vsphere.local<br />
**VC Password**: VMware1!

1
vmworld2017/_config.yml Normal file
View File

@ -0,0 +1 @@
theme: jekyll-theme-tactile

182
vmworld2017/lab.md Normal file
View File

@ -0,0 +1,182 @@
# VMworld 2017 Python SDK Hackathon
## Install Python
Go to: https://www.python.org/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](https://github.com/vmware/vsphere-automation-sdk-python)
```bash
git clone https://github.com/vmware/vsphere-automation-sdk-python
```
Or optionally [download](https://github.com/vmware/vsphere-automation-sdk-python/archive/master.zip) the SDK from Github as a .zip file.
## Install dependencies
```bash
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](https://code.visualstudio.com/)<br />
[Python Plugin](https://marketplace.visualstudio.com/items?itemName=donjayamanne.python)
## 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
```python
from samples.vsphere.common import vapiconnect
stub_config = vapiconnect.connect("<VC_IP_Address>", "administrator@vsphere.local", "VMware1!", True)
```
### List VMs
```python
from com.vmware.vcenter_client import VM
vm_svc = VM(stub_config)
vm_svc.list()
```
### List Datacenters
```python
from com.vmware.vcenter_client import *
Datacenter(stub_config).list()
```
### List Clusters
```python
Cluster(stub_config).list()
```
### List Hosts
```python
Host(stub_config).list()
```
### List Folders
```python
Folder(stub_config).list()
```
### List Datastore
```python
Datastore(stub_config).list()
```
### Find a specific host using a filter spec
```python
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:
```python
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](https://code.visualstudio.com/). 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:
```bash
vi samples/vsphere/vcenter/setup/testbed.py
```
#### Windows:
```shell
notepad samples\vsphere\vcenter\setup\testbed.py
```
And then change the following two settings:
```python
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!!
```bash
python samples/vsphere/vcenter/vm/create/create_basic_vm.py -v -n "vm_<firstname_lastname>"
```
### Verify the new VM is created successfully
```bash
python samples/vsphere/vcenter/vm/list_vms.py -v
```
### Run deploy ovf template sample
**NOTE:** Use single quote for password in Mac 'VMware1!'
```bash
python samples/vsphere/contentlibrary/ovfdeploy/deploy_ovf_template.py -v -clustername "Cluster1" -libitemname "Sample_OVF"
```
### Verify the new VM is deployed successfully
```bash
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