Category Archives: VMware

Using PowerCLI to manage VMware Cloud on AWS

Recently VMware released PowerCLI 6.5.4 and one of the great enhancements in this new version is the ability to work with VMware Cloud on AWS (VMC), but what does that mean?

As you may know by now, VMware Cloud on AWS is a great new joint offering from VMware and AWS to provide a VMware SDDC in the public cloud.

If we break this down a little and think about how we might manage this with PowerShell we can see that we are in pretty good shape.

VMC

PowerCLI has always been able to manage our On-Premises SDDC and as the SDDC deployed in VMware Cloud on AWS is still the same software we have always been able to manage that through PowerCLI as well.  With the AWS Tools for Windows PowerShell we have also been able to work with the AWS Services.

So whats new then? Added in PowerCLI 6.5.4 was the ability to manage the VMware Cloud on AWS Service features depicted by the green dotted line in the diagram above. For example, what if i wanted to list all my SDDCs available to me or what if i wanted to automate the creation of a new SDDC or what if I wanted to provision or de-provision a new AWS bare metal instance into my SDDC, well now you can, and all from the same shell.

PowerCLI 6.5.4 VMware Cloud on AWS Module

As mentioned in the VMware PowerCLI 6.5.4 Release Blog Post we now have a new module that allows us to work with the VMware Cloud on AWS service, it gives us 3 new cmdlets:

Connect-Vmc –This cmdlet establishes a connection to a VMware Cloud on AWS server.                              

Disconnect-Vmc – This cmdlet closes the connection to the servers specified by the Server parameter.                

Get-VmcService – This cmdlet retrieves PSObject objects that represent a proxy to a VMware Cloud on AWS API service, it essentially allows us to access 100% of the public VMware Cloud on AWS API.

Whilst these are a great start you really need to work with the Get-VMCService and the properties and methods it brings back to really automate the features.  Luckily William Lam, Brian Graf and I have already been working with this cmdlet and wanted to make it easier to use and also provide examples of how to use the cmdlet to work with any of the features available in the VMware Cloud on AWS API now and in the future…..

VMware Cloud on AWS simple functions

This module adds more functions to enable you to easier work with VMware Cloud on AWS, the included functions so far are:

Get-VMCCommand – Returns all cmdlets for VMware Cloud on AWS in both this module and the VMware official module.

Connect-VMCVIServer – This Cmdlet pulls the default SDDC credentials and connects to your VMC vCenter Server to ease the connection from service to SDDC. 

Get-VMCOrg – Returns the Orgs that you have available in VMware Cloud on AWS.                          

Get-VMCSDDC – Returns all of the SDDCs that you have available to you in VMware Cloud on AWS.

Get-VMCSDDCDefaultCredential – Returns the default credential for a given SDDC.

Get-VMCSDDCPublicIP – Returns your Public IPs for a given SDDC.

Get-VMCSDDCVersion – Returns the SDDC Version.

Get-VMCTask – Returns all of the VMC Tasks.                                             

Get-VMCVMHost – Returns the Host information within VMware Cloud on AWS.

Clearly these are just the first set we have worked on as an example, more functions will be added in the future and probably have been by the time you read this post!

An example of some of these being used is below:

How do I get the module?

The module is available in the PowerShell Gallery here so installing could not be simpler, but of course make sure you have PowerCLI 6.5.4 installed first otherwise this module wont do you much good!

PS> Install-Module -Name VMware.VMC -Scope User

How do I contribute to the module?

This module is also available in Github as part of the /PowerCLI-Example-Scripts repo so please do clone the repo, edit the module and contribute back to make this easy for everyone!

 

Tech Confessions at VMworld BCN 2017

This year I was introduced to a new show put together by Amy Lewis from http://commsninja.com/ and her team called Tech Confessions or as I like to call it “Bedside confessions of a geek”, unofficially of course!

In this show I was able to relax on the comfy couch while Amy quizzed me on how i got started with virtualization, there was something about that couch that made me very relaxed as I think I took Amy pretty much through my entire career up to the point where I made it on stage with Pat during the VMworld 2017 Barcelona conference.

I was proud to be the first of many to share their bedside confessions so make sure you subscribe to the youtube channel or the podcast to keep up to date with other people sharing their software defined experiences.

Ways to Watch/Listen

You can subscribe to the podcast here, check out the Tech Confessions website here or Follow their Youtube channel here

For now, here is my video to keep you going….

Announcing VMware VR Datacenter Experience

It gives me great pleasure to announce a new open source project from VMware called VMware VR Datacenter Experience, this is an immersive experience that allows you to put on your virtual reality headset and take yourself into a virtual management environment where you will be able to control your vSphere Environment with the wave of a hand or click of a button.

Details

The VMware VR Datacenter Experience allows you to use a HTC Vive headset to enter a virtual datacenter where a virtual representation of each of your hosts is created by integration with the vSphere 6.5 REST API, once these are created the VM’s are dropped onto these hosts, one for each VM currently registered with the host.  In this environment you are able to teleport yourself to each of these hosts and interact with the VMs.

You can pick them up to find out more information about their configuration:

VM Details

 

 

 

 

 

You can even drop them into a trashcan to remove them from your datacenter:

VM Trash

 

 

 

 

 

 

We even extended it to work with VMware Cloud on AWS (VMC) where you could literally throw (vMotion) your VM’s from your On-Premises datacenter into VMC.

Showing you the 2D pictures of this virtual reality environment really does not do it justice, you need to try it to believe it!

Background

At VMware we have internal Hackathon’s where we are able to take a couple of days away from our day job to work on projects which we think are interesting and could provide valuable to VMware, this is a great initiative that fosters

innovation, personally I love working for a company that provides this level of free thinking!  Together with William LamYateendra KulkarniVinod Pai and Steve Trefethen, I put a team together and we set out to work on what a VMware Datacenter would look like in Virtual Reality.

I should mention at this point that none of us had developed for VR before, in fact we had never even used the IDE (Unity) before, that was fun!  After a couple of days we were pleased when we managed to produce a single host and VMs on that host all by calling the vSphere 6.5 REST API.

After this and some internal marketing and some spare time hacking away at the project we came up with something pretty cool that later allowed me to realize one of my bucket list items and present on the main VMworld Keynote stage with Pat Gelsinger (VMware CEO).

VMworld Keynote

If you didn’t get a chance to watch the VMworld Barcelona Keynote then please do take 5 minutes out of your time to watch the demo below that shows the full remit of what we expanded this project to work with.

Where Can I Get this?

The initial project is now available and ready for you to download, it has been cut down to its basics so we can build on it and ensure the code we are adding and the functionality is based around user input.

Of course you will need the following:

Check out the project landing page here for more details: https://vmware.github.io/vr-dc-ex/

And if you want to take a look at the code, ask for more features or even contribute back to the project then please checkout the github repo here: https://github.com/vmware/vr-dc-ex

The Full story

At VMworld I had the chance to catch up with Barry Coombs who interviewed my on this complete story, check out the clip below to learn how a small town boy ended up on stage with a Silicon Valley CEO…

Checking you are up to date with PowerCLI

Now that PowerCLI is a module and in the PowerShell Gallery there have been a lot of releases and bug fixes, you would be forgiven for not having the latest version installed or even knowing what the latest version is.

With this in mind and with the latest 6.5.3 version triggering this in my mind, I created a function that checks your installed PowerCLI version against the one thats in the PowerShell Gallery online and lets you know if there is a new version.

Now of course this can be run manually and it will return the results letting you know which modules are out of date:

And once completed of course its easy to update PowerCLI to the latest version:

Even better why not add it to your profile. It does take a couple of seconds to run so maybe you will want to run it on a certain day past a certain time in your profile so it doesn’t slow down every launch of PowerShell you have, here is an example of what I have in my profile where I check every Wednesday after 2PM.

if ( ((Get-Date).tostring('%H') -ge "14" ) -and ( (Get-Date).DayofWeek -eq "Wednesday" ) ) {
        Check-PowerCLIUpdate
}

Check-PowerCLIUpdate Script

Here is the function that allows you to check for updates:

Function Check-PowerCLIUpdate {
    #Based on great module by Jeff Hicks here: http://jdhitsolutions.com/blog/powershell/5441/check-for-module-updates/
    [cmdletbinding()]
    Param()

    # Getting installed modules
    $modules = Get-Module -ListAvailable VMware* | Sort Version -Descending | Select-object -Unique

    #Filter to modules from the PSGallery
    $gallery = $modules.where({$_.repositorysourcelocation})

    # Comparing to online versions
    $AllUpdatedModules = @()
    foreach ($module in $gallery) {

         #find the current version in the gallery
         Try {
            $online = Find-Module -Name $module.name -Repository PSGallery -ErrorAction Stop
         }
         Catch {
            Write-Warning "Module $($module.name) was not found in the PSGallery and therefore not checked for an update"
         }

         #compare versions
         if ($online.version -gt $module.version) {
            $AllUpdatedModules += new-object PSObject -Property @{
                Name = $module.name
                InstalledVersion = $module.version
                OnlineVersion = $online.version
                Update = $True
                Path = $module.modulebase
             } 
         }
    }
    $AllUpdatedModules | Format-Table
    #Check completed

}

Virtual Machines meet Virtual Reality at VMworld US 2017

Normally when I create blogs and use the word “virtual” it of course refers to the awesome virtualization technology invented by VMware, this post however is a little different but still just as awesome!

The virtual word that I speak of in this post refers not just to virtual machines but also to virtual reality.  Having purchased a HTC Vive earlier this year and being totally inthralled by virtual reality (VR), I started to wonder what an enterprise world would look like if we all had VR headsets, how would we control todays applications in a VR world?

I don’t want to give away too much information just now as the excitement will be at VMworld and on stage, lets just say that managing your virtual infrastructure has never been so much fun, here is a teaser for now:

Want to win a HTC Vive and Alienware laptop?

This year at VMworld I will be presenting an awesome demo on stage with the following members of the VMware executive leadership team and VPs:

  • Raghu RaghuramChief Operating Officer – Products & Cloud Services
  • Mark LohmeyerVP Products for Cloud Platform Business Unit
  • Guido AppenzellerCTO Cloud & Networking

During this session we will be showing some cool integrations with Virtual Reality and VMware products.

As part of this session we will also be giving away a fully spec’d Dell Alienware laptop and a full HTC Vive headset and accessories.

Believe me, this is an awesome piece of equipment that will blow your mind!

To enter all you need to do is attend the following session, watch the demo and wait for the chance to win this amazing prize!

Session: Simplifying and Accelerating Your Multi-Cloud Strategy [IPC7001KU]

Add it to your session list here: https://my.vmworld.com/scripts/catalog/uscatalog.jsp?search=[IPC7001KU]&showEnrolled=false

Im looking forward to blowing some minds in this session!

 

Ensuring peak configuration for vSphere with Runecast

Back in the day when I could spend time working on vCheck (I miss those days!) I always wished there was a programmatic way to look at the data in the VMware KB articles and be able to mine the information for potential issues or be aware of enhancements to the configuration I had made with my specific version of vCenter or other VMware products.

A few weeks back, whilst at the Melbourne and Syndey VMUGs in Australia I was introduced to a pretty awesome company and product that sparked my interest.. Runecast (https://www.runecast.biz/)

Recently I managed to find time to install this in my home lab and get started, I have to say, I was impressed.

What is Runecast?

Runecast is a virtual appliance which checks your environment, vCenter, ESXi servers and VMs to ensure they are running at peak performance with no known configuration issues or security issues.

The appliance is updated from the internet or can also be updated via a ISO image attached to the virtual appliance for environments without internet access.  It is updated with information which has been mined from the VMware KB articles and is used to proactively check log and configuration for issues in the virtual environment.

Additionally the information from the security hardening guide or what is now known as the vSphere Security Configuration Guide is also added to the virtual appliance to ensure security configuration is also taken into consideration. Continue reading Ensuring peak configuration for vSphere with Runecast

Retrieving NVMe details through PowerCLI

Recently I was contacted and asked if there was a way to retrieve information about the NVMe Drives in an ESXi host, this information is easily accessible via ESXCLI using the “nvme” namespaces.

Through PowerCLI this can be easily called and then each feature can be called under this namespace to give you detailed information on the NVMe devices in your ESXi host.  The reason they wanted to do this was to first check the firmware on all the NVMe devices in a cluster to see if they are at the latest revision.  Another reason they wanted this script was in case one of the NVMe devices was behaving differently than the others it would be an easy way to compare the devices.

You can see an example of the script running below:

Continue reading Retrieving NVMe details through PowerCLI

Automating the VSAN HCL with PowerCLI

Recently I was contacted by a customer who needed to be able to update their VSAN Hardware Compatibility List in the VSAN Health Check but was unable to do so via the GUI as their vCenter servers did not have internet access.

This is a common setup as a lot of customers clearly do not want their Server infrastructure having a direct connection to the internet due to strict security requirements. The problem is when the vCenter server needs to update the VSAN HCL database file it requires a connection to the internet to do this. Whats more, this specific customer had several VCs and was getting quite frustrated with the warning that the HCL database had not been updated. Rather than turning this feature off the customer was looking for a way to update the HCL from a computer that had internet access – his desktop.

New in PowerCLI 6.5 (backwards compatible to previous versions) is a cmdlet that will help us achieve this… Update-VSANHCLDatabase, as you can see from the below image this can be run either grabbing the database information directly from the internet or if you add the “FilePath” parameter you can load the database locally.

Continue reading Automating the VSAN HCL with PowerCLI

Getting started with PowerCLI 6.5 and Horizon View

One of the recent enhancement released in PowerCLI 6.5 R1 was the addition of a new Horizon View Module which allows you to manage Horizon View from a remote connection, this is a huge enhancement from the previous PowerShell implementation which fell short by many means.

With the new Horizon View Module you will be able to access 100% of the public API meaning if its available as a feature in the UI then the likelihood is that you will be able to automate it and being able to use these from a scripting host with all the other PowerCLI features, your own workstation or a jump box makes this very convenient.

What do I need?

Lets get started…

image

Get-Module –ListAvailable VMware*Horizon* | Import-Module

Get-Command –Module Vmware.VimAutomation.HorizonView

 

Once you have installed PowerCLI 6.5 R1 and launched it you will see that if we import the module and list the commands all we have is 2 cmdlets to work with, well that isn’t much use is it?! or is it?
Continue reading Getting started with PowerCLI 6.5 and Horizon View

Automating the build of your vSphere 6.5 home lab

This year at VMworld SFO and BCN I was involved in organizing a couple of great hackathons with the @VMwareCode guys and William Lam, these were highly successful and I have to say the highlight of both my VMworlds.  The teams were great, the end projects were fantastic and most of all, everyone that attended told me they learned something, this if you ask me was the main objective for the hackathon.

If you attended I do want to extend a huge thanks for joining in, having fun and learning with us.

credc8rusaa8un0

To put the hacakthon together we needed to build up some environments for people to use, William came up with the idea of using Intel NUCs as these were easily transportable and packed a punch for their size, the equipment we purchased is listed below:

Quantity: 2 Crucial 16GB Single DDR4 2133 MT/s (PC4-17000) SODIMM 260-Pin Memory – CT16G4SFD8213
Quantity: 1 Intel NUC Kit NUC6i3SYH BOXNUC6I3SYH Silver/Black
Quantity: 1 Samsung 850 EVO 500GB 2.5-Inch SATA III Internal SSD (MZ-75E500B/AM) (For Capacity)
Quantity: 1 Samsung SM951 128 GB Internal Solid State Drive MZHPV128HDGM-00000 (For Performance)

For the hackathon we needed to build a lot of these units, whilst we did some parts of it manually William and I recently took the time to complete the automated deployment of these units, in fact the script is not specific to these units, it will work on any ESXi host with 2 disks, one for performance and 1 for capacity.  Of course you can also adjust the script to use more disks if you have them!

Once you have ESXi on a USB insert it into the machine and configure it to boot from the USB, after the ESXi machine is on the network you can alter the configuration settings in the start of the script and run the script in the Deployment Script section of this blog to automate the following:

  • Configure VSAN in a single node configuration (Unsupported)
    • Use the smaller SSD for performance
    • Use the larger SSD for Capacity
  • Configure NTP on the ESXi Host
  • Enable SSH on the ESXi Host for debugging
  • Configure the Syslog settings on the ESXi Host
  • Deploy the VCSA on the ESXi Host
  • Enable VSAN Traffic on the Management Network
  • Create a Datacenter
  • Create a Cluster
  • Create a subscribed content library for William Lams Nested ESXi Library
  • Enable Autostart so the VCSA VM starts when the ESXi machine powers on
  • Enable SSH on the VCSA Server

Continue reading Automating the build of your vSphere 6.5 home lab