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:
parent
8503fcd9a0
commit
0f1107ce53
37
vmworld2017/README.md
Normal file
37
vmworld2017/README.md
Normal 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, CLI’s
|
||||
* 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 (poorman’s 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
1
vmworld2017/_config.yml
Normal file
@ -0,0 +1 @@
|
||||
theme: jekyll-theme-tactile
|
182
vmworld2017/lab.md
Normal file
182
vmworld2017/lab.md
Normal 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
|
Loading…
Reference in New Issue
Block a user