Python vSphere Client with a dialog(1) interface¶
PVC is an interactive text-mode VMware vSphere Client with a dialog(1) interface for GNU/Linux systems built on top of the pyVmomi VMware vSphere API Python bindings.
Using PVC allows you to quickly navigate in your VMware vSphere environment and perform common tasks against various VMware vSphere Managed Entities.
PVC is Open Source and licensed under the BSD License.

Status¶
Experimental. PVC is in early development stage. Using PVC in a production environment is not (yet) recommended.
Contributions¶
PVC is hosted on Github. Please contribute by reporting issues, suggesting features or by sending patches using pull requests.
Getting Started¶
Getting started with PVC is easy - simply go over the Installation of PVC and Configuration of PVC pages, which provide all the details about how to install and configure PVC.
Make sure to also check the Example screenshots of PVC page, which contains example screenshots of using PVC in a VMware vSphere environment.
Contents¶
Installation of PVC¶
This document walks you through the installation of PVC.
The easiest way to install PVC is by using pip, which would automatically install any dependencies for you or you could use the latest development version of PVC from the Github repository.
Requirements¶
The following list provides information about the PVC dependencies.
Some of the PVC features require additional packages to be present in order to take advantage of these features. The list below provides information about any optional dependencies of PVC.
Note, that these dependencies are not required and are only needed if you intend to use the features provided by them.
- gnuplot - Used for plotting performance graphs
- VMware Player - Used for establishing a remote console session
- A VNC client - Used for establishing a remote console VNC session
Installation with pip¶
In order to install PVC using pip, simply execute this command:
$ pip install pvc
If you would like to install PVC in a virtualenv, then follow these steps instead:
$ virtualenv pvc-venv
$ source pvc-venv/bin/activate
$ pip install pvc
Installation from source¶
The master
branch of PVC is where main development happens.
In order to install the latest version of PVC follow these simple steps:
$ git clone https://github.com/dnaeon/pvc.git
$ cd pvc
$ sudo python setup.py install
If you would like to install PVC in a virtualenv follow these steps instead:
$ virtualenv pvc-venv
$ source pvc-venv/bin/activate
$ git clone https://github.com/dnaeon/pvc.git
$ cd pvc
$ python setup.py install
This would take care of installing all dependencies for you as well.
Configuration of PVC¶
By default PVC does not require any special configuration to work.
Gnuplot Configuration Options¶
If you are using gnuplot for plotting perfomance graphs with PVC
and you want to customize the gnuplot terminal being used you could
set the GNUPLOT_TERM
environment variable to your desired terminal.
If GNUPLOT_TERM
is not set then PVC will use a dumb
terminal
when plotting a performance graph.
VMRC Console Support¶
Launching a remote console to a Virtual Machine requires that you have VMRC installed on your system.
Currently VMRC support is pvovided by VMware for Windows(R) and Mac OS X systems and support for GNU/Linux is underway.
VMRC support for GNU/Linux is planned, but not yet available, so in order to launch a console to a Virtual Machine from a GNU/Linux system you need to use VMware Player for now.
Check KB 2091284 for more details on the VMRC support.
VNC Console Support¶
PVC supports launching of VNC console to a Virtual Machine, but you need to make sure that certain ports on the ESXi hosts are opened, so that a successful VNC connection can be established.
PVC uses ports 5901-5999 for establishing a VNC connection to a Virtual Machine.
Refer to How to Create Custom Firewall Rules in ESXi 5.0 article for more information on how to manage the firewall rules on your VMware ESXi hosts and open the required ports for VNC communication.
Example screenshots of PVC¶
In this page you will find some example screenshots of using PVC in a VMware vSphere environment.

The PVC Welcome screen

Login window for establishing a connection to a VMware vSphere host

PVC displaying details about an established vSphere session

PVC displaying a message of the day, set by PVC!

The inventory menu of PVC and the available inventory items

The menu of available actions when browsing in a vSphere Datacenter

PVC menu allowing you to create, remove and view clusters within a VMware vSphere Datacenter

PVC displaying the summary information about a VMware vSphere Cluster

PVC displaying a menu of discovered Datastores and their connection state

PVC displaying summary information about a datastore

PVC displaying capacity information about a datastore

PVC displaying a menu of Virtual Machines and their power state

PVC displaying the progress of exporting a Virtual Machine as OVF template

PVC displaying the progress of powering on a Virtual Machine

PVC displaying the resource usage of a Virtual Machine

A screenshot showing PVC successfully launching a VMware Player console to a Virtual Machine

PVC displaying a menu of available hardware versions to choose from during creation of a new Virtual Machine.

PVC displaying a menu of available real-time performance counters on a Virtual Machine

PVC displaying information about a performance counter

PVC displaying a performance graph of the CPU usage in percentage using gnuplot

PVC displaying a performance graph of the network utilization using gnuplot