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.

_images/pvc-screenshot.jpg

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.

Bugs

Probably. If you experience a bug issue, please report it to the PVC issue tracker on Github.

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.

_images/pvc-welcome.jpg

The PVC Welcome screen

_images/pvc-login.jpg

Login window for establishing a connection to a VMware vSphere host

_images/pvc-session.jpg

PVC displaying details about an established vSphere session

_images/pvc-motd.jpg

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

_images/pvc-inventory.jpg

The inventory menu of PVC and the available inventory items

_images/pvc-datacenter-menu.jpg

The menu of available actions when browsing in a vSphere Datacenter

_images/pvc-datacenter-cluster-menu.jpg

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

_images/pvc-cluster-summary.jpg

PVC displaying the summary information about a VMware vSphere Cluster

_images/pvc-datastore-menu.jpg

PVC displaying a menu of discovered Datastores and their connection state

_images/pvc-datastore-summary.jpg

PVC displaying summary information about a datastore

_images/pvc-datastore-capacity.jpg

PVC displaying capacity information about a datastore

_images/pvc-inventory-vms.jpg

PVC displaying a menu of Virtual Machines and their power state

_images/pvc-ovf-export-progress.jpg

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

_images/pvc-vm-power-on.jpg

PVC displaying the progress of powering on a Virtual Machine

_images/pvc-vm-resource-usage.jpg

PVC displaying the resource usage of a Virtual Machine

_images/pvc-vm-console.jpg

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

_images/pvc-vmx-selection.jpg

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

_images/pvc-perf-realtime-counters.jpg

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

_images/pvc-perf-counter-info.jpg

PVC displaying information about a performance counter

_images/pvc-perf-graph-cpu.jpg

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

_images/pvc-perf-graph-net.jpg

PVC displaying a performance graph of the network utilization using gnuplot