WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud
  • Tanzu
    • Application Modernization
    • Tanzu services
    • Tanzu Community Edition
    • Tanzu Kubernetes Grid
    • vSphere with Tanzu
  • Home Lab
  • Nested Virtualization
  • Apple

Introducing Alexa to a few more VMware APIs

06.12.2017 by William Lam // 3 Comments

Over the weekend, while taking a break from putting together some furniture as it was my time for my daughters nap, I got that the chance to explore and create a new Alexa Skill which integrates with a few of VMware's APIs. This has been something I wanted to try out for some time but have not had any spare time. I had even purchased an Amazon Echo Dot but its just currently being used as a music player for the family. A couple of weeks back I saw an awesome blog post from Cody De Arkland where he demonstrates how to easily integrate the new vCenter Server 6.5 REST APIs into an Alexa Skill which can then be consumed using an Amazon Echo device.

Cody's write-up was fantastic and I was able to get everything up and running in about 20-25minutes with a few minor trial/error. It was great to see how easy it was for a non-developer like Cody to easily consume the new vCenter Server REST APIs which includes basic VM Management as well access to the VMware Management Appliance Interface or VAMI for short. Given Cody already did the hard work to create the initial Alexa integration, I figure it might be cool to extend his work and introduce Alexa to a few more VMware's APIs including the traditional vSphere API (SOAP) and the new vSAN Management API.

UPDATE (06/15/17) - Just added support for PowerCLI, it was a little tricky as Flask app is written in Python and so poor man workaround was to call Powershell/PowerCLI using subprocess.

Since Cody's integration module was written using Python, it was pretty simple to add support for both pyvmomi (vSphere SDK for Python) and vSAN Management SDK. To install pyvmomi, you can simply run

pip3 install pyvmomi

and for installing vSAN Management SDK, have a look at this blog post here.

Here is a quick video that I had recorded which demonstrates the use of both the vSphere API and vSAN Management API using my Amazon Echo.

You can find all my changes in this forked repo lamw/alexavsphereskill and make sure to follow Cody's blog post here for instructions on how to get setup. For those wondering if Cody will be publishing an Alexa Skill for general consumption, I know he is working on some awesome updates to make it even easier to consume. Here is a sneak peak at just some of the recent updates that Cody is working on ...

A little @VMwareClarity UI action going on with the @amazonecho & @VMware skill this weekend in the lab. So easy to work with! @vmwarecode pic.twitter.com/0iXMbU6Acz

— Cody De Arkland (@Codydearkland) June 12, 2017

Stay tuned on this blog and Github repo for future updates!

One thing to note which I was not aware of until Cody mentioned it, is that once your Alexa Skill is built, you can directly access it from your own personal Amazon Echo without needing to publish it. You need to activate the Alexa Skill by saying "Alexa Start [APP-NAME]" where name is the name used in the "Invocation Name" field as shown in the screenshot below when setting up your Alexa Skill. I should also mention that if you decide to change the Alexa Skill name itself, which I had initially done and called it "vGhetto Control", make sure you update the Flask App name in __init__.py to the same name (spaces are converted to underscores) or you will run into issues.

Categories // Automation, VAMI, VCSA, VSAN, vSphere Tags // Alexa, Flask, pyVmomi, REST API, vcenter server appliance, VCSA 6.5, VSAN, vSphere API

Automating post-configurations for both PSC & VCSA 6.0u1 using appliancesh

11.23.2015 by William Lam // 4 Comments

In vSphere 6.0, we introduced a new command-line option to allow you to automate both the deployment and upgrade of a vCenter Server Appliance (VCSA) and Platform Services Controller (PSC) using a simple JSON configuration file. This has been a very popular request from customers and one that I have been asking for some time now and was glad to see it was finally made available with the VCSA. One thing that was still missing from an Automation standpoint was being able to some basic post-configurations after the initial deployment. Common operations such as adding additional user accounts, configuring SNMP for monitoring or adding proxy server were available but had to be done interactively and manually.

In vSphere 6.0 Update 1, an enhancement was made to the appliancesh interface which will now allow customers to automate the post-configurations of either a VCSA or PSC by simply re-directing a series of appliancesh commands within a file using SSH. Although SSH may not be ideal for all customers and having a programmatic interface via an API is ultimately where we want to get to; This at least allows customers to automate the end-to-end deployment of both the VCSA and PSC as well as covering any additional post-configurations that might be required to stand up a vSphere environment.

To make use of this feature, you simply create a file that contains the list of appliancesh commands that you wish to run on either the VCSA and/or PSC. Here is an example configuration called psc.config (you can name it anything you want):

access.shell.set --enabled false
access.ssh.set --enabled false
ntp.server.add --servers "0.pool.ntp.org,1.pool.ntp.org"
timesync.set --mode NTP
services.restart --name ntp
proxy.set --protocol https --server proxy.primp-industries.com
localaccounts.user.add --email *protected email* --role operator --fullname 'William Lam' --username lamw --password 'VMware1!'
snmp.set --communities public --targets [email protected]/public
snmp.enable

Once you have saved the configuration file, you simply SSH to either your VCSA or PSC and re-direct the configuration file by running the following command:

ssh *protected email* < psc.config

Once authenticated, the series of appliancesh commands will be executed and then you will be automatically logged off as seen in the screenshot below.
automating-post-configurations-for-psc-and-vcsa-using-appliancesh-0
If you have any feedback in this particular area, please leave a comment as I know both PM/Engineering are interested in hearing your thoughts and what you might want to see in the future in terms of post-configuration of the VCSA and PSC.

Categories // Automation, VAMI, VCSA, vSphere 6.0 Tags // appliancesh, psc, vami, vcenter server appliance, vcsa, vcva, vSphere 6.0 Update 1

How to upgrade from VCSA 5.x & 6.x to VCSA 6.0 Update 1?

09.11.2015 by William Lam // 100 Comments

I have seen quite a few questions come in on how to properly upgrade from an existing vCenter Server Appliance (VCSA) 5.x and/or 6.x environment to the latest vSphere 6.0 Update 1 which was just released today. Before I jump straight into the process, I think its worth covering on how updates (patches) and upgrades have traditionally been handled for the VCSA. In an update or patch scenario, you are staying within a major release of vSphere (e.g. vSphere 5.0) and moving to something like vSphere 5.0 p01 and in this case, an in-place update or patch is performed. In an upgrade scenario, where you are moving from one major release (e.g. vSphere 5.0) to another major release (e.g. vSphere 6.0), a "migration based" approach is taken. This means that you would need to deploy the new VCSA that you wish to upgrade to and then migrate the data from your old VCSA appliance to the new one which is part of the upgrade workflow. This "migration based" approach was also true for any "U" (Update) releases (e.g. vSphere 5.5 to vSphere 5.5 Update 1). 

For major releases, this makes perfect sense and provides customers a nice way to easily rollback if something goes wrong. You simply power off the new VCSA and then power on your original VCSA and you are back in business. For update releases, we have heard from our customers that this process was not ideal and though there is always a risk when updating software (which is why I always recommend customers test thoroughly in a Dev/Test environment before moving to production), the amount of changes in the code is significantly less when compared to a major upgrade. One of the new features that we have introduced in vSphere 6.0 Update 1 is an in-place upgrade for "U" (Update) releases which I have already blogged about here among other new features.

This means that if you are coming from a VCSA 6.x environment and you wish to upgrade to vSphere 6.0 Update 1, you simply just mount the vSphere 6.0 Update 1 Patch ISO to your VCSA 6.x environment and perform the update from the command-line via the appliancesh interface. This is quite nice as it reduces the need to copy data between your old and new appliance and helps reduce the overall downtime. In fact, you can upgrade to vSphere 6.0 Update 1 in about 10min or so using this new method. If you are coming from a VCSA 5.x (5.0, 5.1 or 5.5) environment, this would be consider a major to major upgrade and you would need to follow the "migration based" approach to upgrade to vSphere 6.0 Update 1. One other thing to note after you have upgraded to vSphere 6.0 Update 1, we have now re-introduced URL based patching via the VAMI interface. This means in the future, you no longer need to update or patch from an ISO but can do so directly from VMware's online repository.

Below are the instructions on upgrading from VCSA 6.x to VCSA 6.0 Update 1:

Note (09/14/15):

  • If you have an External PSC with your VCSA 6.x and wish to upgrade, the process shown below is the same for both the PSC and the VCSA. You will want to first upgrade your PSC first as that provides authentication to your vCenter Server. Once the PSC has been upgraded and accessible on the network again, you will then want to move to your VCSA. If you are interested in the proper sequence and ordering of VMware Products to update, you can also check out this handy VMware KB 2109760 which provides all the details
  • Thanks to fellow reader Idan for reporting this but it looks like after an upgrade of the VCSA, the default VMware URL for the VAMI is not working. You will need to update it to point to the following URL https://vapp-updates.vmware.com/vai-catalog/valm/vmw/647ee3fc-e6c6-4b06-9dc2-f295d12d135c/6.0.0.10000.latest/ instead of the default one as shown in the screenshot below. This is only applicable for upgrade scenarios. If you deploy a new VCSA 6.0 Update 1, it will automatically be using the correct URL

incorrect-vami-repo-url
Step 0 - Ensure you have a proper backup and take a snapshot of your VCSA 6.x appliance before beginning.

Step 1 - Download the VCSA 6.0 Update 1 Full Patch (VMware-vCenter-Server-Appliance-6.0.0.10000-3018521-patch-FP.iso) by visiting the VMware Patch Download site.

upgrade-from-vcsa-6.0-to-vcsa-6.0-update-1-0
Step 2 - Mount the VCSA 6.0 Update 1 Patch ISO to your VCSA 6.x appliance using either the vSphere Web/C# Client

Step 3 - Login to your VCSA 6.x appliance via SSH to the appliancesh interface. If you have disabled that, simply type "appliancesh" and login with the root credentials.

Step 4 - Run the following command to stage and install the patches from the VCSA 6.0 Update 1 Patch ISO:

software-packages install --iso --acceptEulas

upgrade-from-vcsa-6.0-to-vcsa-6.0-update-1-1
Note: If you run into any errors while either staging or installing the patches, you should drop into the bash shell and take a look at /var/log/vmware/applmgmt/software-packages.log file for additional information. One common issue that I have seen in the past is if your /storage/log partition is full and you may need to perform a clean up before continuing.

Step 5 - Once the upgrade has completed, you just need to reboot your VCSA by running the following command:

shutdown reboot -r "Updated to vSphere 6.0u1"

upgrade-from-vcsa-6.0-to-vcsa-6.0-update-1-2
Step 6 - A quick way to confirm that you have successfully upgraded your VCSA to vSphere 6.0 Update 1, simply open a browser to the following URL: https://[VCSA-IP]:5480 and it should take you to the new HTML5 VAMI interface.

upgrade-from-vcsa-6.0-to-vcsa-6.0-update-1-3
If you would like additional information, take a look at this VMware KB 2119924.

Categories // VAMI, VCSA Tags // appliancesh, upgrade, vami, vcsa, vcva, vSphere 6.0 Update 1

  • 1
  • 2
  • Next Page »

Search

Author

William Lam is a Senior Staff Solution Architect working in the VMware Cloud team within the Cloud Infrastructure Business Group (CIBG) at VMware. He focuses on Cloud Native technologies, Automation, Integration and Operation for the VMware Cloud based Software Defined Datacenters (SDDC)

Connect

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • Vimeo

Recent

  • Automated ESXi Installation with a USB Network Adapter using Kickstart 02/01/2023
  • How to bootstrap ESXi compute only node and connect to vSAN HCI Mesh? 01/31/2023
  • Quick Tip - Easily move or copy VMs between two Free ESXi hosts? 01/30/2023
  • vSphere with Tanzu using Intel Arc GPU 01/26/2023
  • Quick Tip - Automating allowed and not allowed Datastores for use with vSphere Cluster Services (vCLS) 01/25/2023

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2023

 

Loading Comments...