Author Archives: Alan

About Alan

Alan Renouf has a role of Automation Frameworks Product Manager at VMware responsible for providing the architects and operators of the cloud infrastructure with the toolkits/frameworks and command-line interfaces they require to build a fully automated software-defined datacenter. Alan is a frequent blogger at http://blogs.vmware.com/vipowershell and has a personal blog at http://virtu-al.net. You can follow Alan on twitter as @alanrenouf.

Automation Tip 7–Testing

image

One of the great things about automation is the ability to achieve consistent results, same thing every time, but go careful. What happens for example if your automation task is incorrect, if it doesn’t achieve what you want it to do.

Guess what?

You will get the undesired result every time.  Or as I like to say, you will retrieve mass produced crap!

This is exactly why testing in automation is key, both functional and scale testing, what happens when you start working at a larger scale, do things still react in the same way, do you still get the desired results?

Sometimes testing will show areas where throttling mechanisms may need to be used, take for example the ability to create a virtual machine, when we automate this we may produce 10 virtual machines in the same timescale, maybe 100, 1000 or even more.  Does your hardware allow you to do this? How does the storage or the network or the IP management system manage working at this rate? Throttling may cause a slight delay in the process but it will certainly ensure everything is available for future workflows.

In summary, testing will help you be aware of your bottlenecks and stop mass produced crap!

More Automation tips

More tips from this series created by myself and Thomas Corfmat for a session at VMworld 2013 can be found below (updated as published), if you have a login for VMworld.com you can also watch the full session here.

Automation Tip 1 – Measure It!

Automation Tip 2 – Find your standards

Automation Tip 3 – Its all about people

Automation Tip 4 – Select the right mix of people

Automation Tip 5 – Simplify, Don’t automate a broken process

Automation Tip 6 – Automate incrementally

Automation Tip 7 – Testing

Automation Tip 8 – Documentation

Automation Tip 9 – End to end automation

Automation Tip 10 – Follow the “Automation Triangle”

VMware vSphere Mobile Watchlist

Last week VMware announced vSphere Mobile Watchlist, this is a mobile phone app for iOS and Android devices that enables you to work with virtual machines, create custom lists or watchlists to monitor and control your VMs. 

 

Add to this the ability to search, bookmark and send on KB articles from the mobile device and this app comes in very handy for quickly troubleshooting your virtual machines. 

 

vSphere Mobile Watchlist give us the following abilities from the app:

 

  • Easily Create VM Watchlists:  Search for and select a subset of VMs from your VMware vCenter Server inventory to monitor in one or multiple watchlists.
  • VMs at a glance: Review the status of selected Watchlist VMs from your device including VM state, configuration details, resource usage, health alerts, view of the VM console, and related objects.
  • Discover:  VM alerts are linked to pertinent diagnostic information from the VMware Knowledge Base, as well as articles from the Web. 
  • Remediate Remotely:  Remediate problems directly from the phone by powering on/off, suspending, or restarting VMs — or for situations where on-site remediation is required, attach the VM alert(s) along with recommended solutions in an email to team members back at the datacenter.  

Watch it in action

Watch me controlling my home lab with the app from my iPhone below.

 

 

 

Download

Creating a manual VSAN Cluster with PowerCLI

In my previous post I showed how to create a datacenter, cluster, add hosts and create an automatic VSAN cluster allowing for the local SSDs and HDDs to be added to a new VSAN datastore, check it out here.

But what if you wanted to create a manual VSAN cluster and select the disks to add to the VSAN Diskgroup to create the datastore, this gives more control and allows for a precisely configured environment making the most of local resources and perhaps saving other disks for further use and alternate features.

In the below code you can see that instead of automatic we can easily set the cluster to manual and add the disks ourselves, with my code I have selected the disks I want to use as all blank SSDs and all HDDs but you could easily use PowerCLI to define the make, model, size or other factors to use before creating the diskgroup and manually adding the SSDs and HDDs.

Output

SNAGHTML15bb0de

The script

import-module VMware.VimAutomation.Extensions
Connect-VIServer 172.16.78.191 -User root -Password vmware
$Datacenter = "DC01"
$Cluster = "VSAN Cluster"
$ESXHosts = "172.16.78.129", "172.16.78.130"
$ESXUser = "root"
$ESXPWD = "vmware"
$VMKNetforVSAN = "Management Network"

# If doesnt exist create the datacenter
If (-Not ($NewDatacenter = Get-Datacenter $Datacenter -ErrorAction SilentlyContinue)){ 
	Write-Host "Adding $Datacenter"
	$NewDatacenter = New-Datacenter -Name $Datacenter -Location (Get-Folder Datacenters) 
}

# Create the initial cluster
if (-Not ($NewCluster = Get-Cluster $Cluster -ErrorAction SilentlyContinue)) { 
	Write-Host "Adding $Cluster"
	$NewCluster = New-Cluster -Name $Cluster -Location $NewDatacenter 
}

# For each of our hosts
$ESXHosts | Foreach {
	Write-Host "Adding $($_) to $($NewCluster)"
	# Add them to the cluster
	$AddedHost = Add-VMHost -Name $_ -Location $NewCluster -User $ESXUser -Password $ESXPWD -Force
	# Check to see if they have a VSAN enabled VMKernel
	$VMKernel = $AddedHost | Get-VMHostNetworkAdapter -VMKernel | Where {$_.PortGroupName -eq $VMKNetforVSAN }
	$IsVSANEnabled = $VMKernel | Where { $_.VsanTrafficEnabled}
	# If it isnt Enabled then Enable it
	If (-not $IsVSANEnabled) {
		Write-Host "Enabling VSAN Kernel on $VMKernel"
		$VMKernel | Set-VMHostNetworkAdapter -VsanTrafficEnabled $true -Confirm:$false | Out-Null
	} Else {
		Write-Host "VSAN Kernel already enabled on $VmKernel"
		$IsVSANEnabled | Select VMhost, DeviceName, IP, PortGroupName, VSANTrafficEnabled
	}
}
# Enable VSAN on the cluster and set to Automatic Disk Claim Mode
Write-Host "Enabling VSAN on $NewCluster"
$VSANCluster = $NewCluster | Set-Cluster -VsanEnabled:$true -VsanDiskClaimMode Manual -Confirm:$false -ErrorAction SilentlyContinue

$ESXHosts | Foreach {
	Write-Host "Finding disks for $($_)"
	# Find the blank SSDs for the current host
	$disks = Get-VMHost $_ | Get-VMHostDisk
	$SSDs = $disks | Where { $_.scsilun.extensiondata.ssd }
	$BlankSSDs = $SSDs | Where { -not $_.Extensiondata.Layout.Partition[0].partition }
	Write-Host "Blank SSDs"
	$BlankSSDsArray = ""
	$BlankSSDs | Foreach { $BlankSSDsArray += $_.scsilun.CanonicalName }
	$BlankSSDsArray
	
	# Find the blank Magnetic disks for the current host
	$HDDs = $disks | Where { -not $_.scsilun.extensiondata.ssd }
	$BlankHDDs = $HDDs | Where { -not $_.Extensiondata.Layout.Partition[0].partition }
	Write-Host "Blank HDDs"
	$BlankHDDsArray = ""
	$BlankHDDs | Foreach { $BlankHDDsArray += $_.scsilun.CanonicalName }
	$BlankHDDsArray
	
	New-VsanDiskGroup -VMHost $_ -SSDCanonicalName $BlankSSDsArray -DataDiskCanonicalName $BlankHDDsArray | Out-Null
}

If ($VSANCluster.VSANEnabled){
	Write-Host "VSAN cluster $($VSANCLuster.Name) created in $($VSANCluster.VSANDiskClaimMode) configuration"
	Write-Host "The following Hosts and Disk Groups now exist:"
	Get-VsanDiskGroup | Select VMHost, Name | FT -AutoSize
	Write-Host "The following VSAN Datastore now exists:"
	Get-Datastore | Where {$_.Type -eq "vsan"} | Select Name, Type, FreeSpaceGB, CapacityGB
} Else {
	Write-Host "Something went wrong, VSAN not enabled"
}

Creating a VSAN Cluster with PowerCLI

Recently there was a new fling released on the VMware Flings site, this enables us to use VSAN and VMware Flash Read Cache with PowerCLI, check out the site here for more details.

I wrote a post on the PowerCLI Blog which showed the cmdlets and some examples on how you might use these, recently I had the chance to put them to use when I needed to stand up a new VSAN cluster, I was able to easily build myself a test cluster with the help of Williams post here.

Once I had a couple of hosts and my fresh vCenter server, I used the following script to setup the Datacenter, Cluster, add the hosts, enable the VSAN VMKernel port and enable VSAN in automatic mode.  The cmdlets are very easy to use and I was amazed at how easy and quick it is to setup VSAN.

Output

VSAN

The script

import-module VMware.VimAutomation.Extensions
Connect-VIServer 172.16.78.191 -User root -Password vmware
$Datacenter = "DC01"
$Cluster = "VSAN Cluster"
$ESXHosts = "172.16.78.129", "172.16.78.130"
$ESXUser = "root"
$ESXPWD = "vmware"
$VMKNetforVSAN = "Management Network"

# If doesnt exist create the datacenter
If (-Not ($NewDatacenter = Get-Datacenter $Datacenter -ErrorAction SilentlyContinue)){ 
	Write-Host "Adding $Datacenter"
	$NewDatacenter = New-Datacenter -Name $Datacenter -Location (Get-Folder Datacenters) 
}

# Create the initial cluster
if (-Not ($NewCluster = Get-Cluster $Cluster -ErrorAction SilentlyContinue)) { 
	Write-Host "Adding $Cluster"
	$NewCluster = New-Cluster -Name $Cluster -Location $NewDatacenter 
}

# For each of our hosts
$ESXHosts | Foreach {
	Write-Host "Adding $($_) to $($NewCluster)"
	# Add them to the cluster
	$AddedHost = Add-VMHost -Name $_ -Location $NewCluster -User $ESXUser -Password $ESXPWD -Force
	# Check to see if they have a VSAN enabled VMKernel
	$VMKernel = $AddedHost | Get-VMHostNetworkAdapter -VMKernel | Where {$_.PortGroupName -eq $VMKNetforVSAN }
	$IsVSANEnabled = $VMKernel | Where { $_.VsanTrafficEnabled}
	# If it isnt Enabled then Enable it
	If (-not $IsVSANEnabled) {
		Write-Host "Enabling VSAN Kernel on $VMKernel"
		$VMKernel | Set-VMHostNetworkAdapter -VsanTrafficEnabled $true -Confirm:$false | Out-Null
	} Else {
		Write-Host "VSAN Kernel already enabled on $VmKernel"
		$IsVSANEnabled | Select VMhost, DeviceName, IP, PortGroupName, VSANTrafficEnabled
	}
}
# Enable VSAN on the cluster and set to Automatic Disk Claim Mode
Write-Host "Enabling VSAN on $NewCluster"
$VSANCluster = $NewCluster | Set-Cluster -VsanEnabled:$true -VsanDiskClaimMode Automatic -Confirm:$false -ErrorAction SilentlyContinue
If ($VSANCluster.VSANEnabled){
	Write-Host "VSAN cluster $($VSANCLuster.Name) created in $($VSANCluster.VSANDiskClaimMode) configuration"
	Write-Host "The following Hosts and Disk Groups now exist:"
	Get-VsanDiskGroup | Select VMHost, Name | FT -AutoSize
	Write-Host "The following VSAN Datastore now exists:"
	Get-Datastore | Where {$_.Type -eq "vsan"} | Select Name, Type, FreeSpaceGB, CapacityGB
} Else {
	Write-Host "Something went wrong, VSAN not enabled"
}

Automation Tip 6–Automate Incrementally

image

I think the correct phase for this one is “Don’t try and boil the Ocean”, if you try and automate everything at once you will end up with a broken system and will ultimately fail.

Identify the areas that cause you the most pain at the moment, the tasks that take the most time or need the most people to currently work.  Once you have identified these areas take a look at the tasks that make up this process.   What part of the process is the biggest pain today, the one that is loosing you the most time and effecting service delivery? That’s a great place to start.

Once you have automated this area and showed the results that have been achieved by automation, only then move on to the next item that causes you pain. Following this iterative approach and over time you fill find that you have automated a good amount of your datacenter operations and over time the cost of automation will exceed the value.

More Automation tips

More tips from this series created by myself and Thomas Corfmat for a session at VMworld 2013 can be found below (updated as published), if you have a login for VMworld.com you can also watch the full session here.

 

Automation Tip 1 – Measure It!

Automation Tip 2 – Find your standards

Automation Tip 3 – Its all about people

Automation Tip 4 – Select the right mix of people

Automation Tip 5 – Simplify, Don’t automate a broken process

Automation Tip 6 – Automate incrementally

Automation Tip 7 – Testing

Automation Tip 8 – Documentation

Automation Tip 9 – End to end automation

Automation Tip 10 – Follow the “Automation Triangle”

Remotely Managing VMware vSphere through your mobile device

Remember the VMware Community PowerPack for PowerGUI? With it we were able to manage our VMware environment through a MMC style GUI placed on top of PowerCLI Scripts, this gave us the benefit of custom task based actions with a nice and easy to use interface.

Now Imagine if you could have the same great customized management options for your vSphere environment on a mobile device or tablet device.  Imagine no longer!

Mobile IT

Mobile IT is a new application which is available on a number of different mobile devices and tablets that allows us to import Mobile Packs which are custom written packs that work with your applications and also Power Packs which were previously written for PowerGUI.

So What do I need?

The Server

The first thing you will need to do is setup the server which is going to run Mobile IT, this is where we have two options.  In a corporate environment you will probably want all connections to go straight to your systems and you will want to manage the traffic and every aspect of the environment, in this case you would have the Mobile IT Server in your DMZ and the Mobile IT Agent on your network as per the image below taken from the Mobile IT documentation.

TinyGrab Screen Shot 12-01-2014 17.55.30

The second option (which was perfect for my home lab) is where Dell hosts the gateway server for you, you can then install the Mobile IT Server and Agent on your network (I had them both on the same server) as per the below diagram taken from the Mobile IT documentation.

TinyGrab Screen Shot 12-01-2014 17.55.08

The Install was very easy and I had the system up and running in around 20 minutes, once setup it was easy to import the VMware Community Power Pack and add the same machine as a new instance in the web admin interface.  I also installed PowerCLI on this server which is needed by the Community PowerPack.

TinyGrab Screen Shot 12-01-2014 18.58.46

The Client

Now all you need to do is install the app on your phone or tablet, a client is available in the app store of each of the following devices and is currently free. Once downloaded and you have entered your company name and credentials it will communicate with your Mobile IT server where you can authorize the device for use on your network.

Download

Check out the Mobile IT Site here for downloads and documentation.

See it in action

See it in action with the VMware Power Pack below and remember, this is all based on PowerCLI so you can customize the scripts and allow access to your tasks from any mobile device.

The UK, now with more VMUGs

imageI am a big fan of the VMUGs, especially in the UK, my first VMUG was the London VMUG, I started attending a long time ago and traveled from the south west of England to join in.  This is where I started presenting and learning more about VMware and vendor related products.

As a side note you should also make sure you volunteer to talk at the VMUGs, Duncan gave some great tips about talking in his recent post so make sure you check them out.

My first real presentation was at a the London VMUG, I stumbled my way all the way through it and never did I think that just a few years later I would present to over 1,000 people at VMworld, I guess it shows you what you can achieve and why you should get involved!

Anyway, the main reason for this post is to let everyone in the UK know that there are now multiple VMUGs that you can attend so you have no reason not to join in and talk to like minded people.

London VMUG

Next meeting is January 23rd 2014, sign up here to find out more info and learn about upcoming VMUGs.

South West VMUG

Next meeting is February 18th 2104, sign up here to find out more info and learn about upcoming VMUGs.

North East VMUG

Next meeting is March 13th 2014, sign up here to find out more info and learn about upcoming VMUGs.

North West VMUG

Next meeting is not currently scheduled, sign up here to find out more info and learn about upcoming VMUGs.

Yorkshire VMUG

It would seam Yorkshire is no longer in the North of England Winking smile Next meeting is January 30th 2014, sign up here to find out more info and learn about upcoming VMUGs.

Scotland VMUG

Next meeting is not currently scheduled, sign up here to find out more info and learn about upcoming VMUGs.

And don’t forget the Ireland VMUG

Next meeting is not currently scheduled, sign up here to find out more info and learn about upcoming VMUGs.

Automation Tip 5 – Simplify, Don’t automate a broken process

image

The most important item in automation is the process, if the process is broken so will the automated process be, automation is not a magic wand that will suddenly fix any issues with processes you have at the moment.

Automating a task does however give you a good chance to review a process and think about if this is still the best way to achieve things, often processes are organically grown and are not reviewed, take this opportunity to draw out the process with the people involved, make it as simple as possible, do you still need 17 approvals?

Remember, some steps just can not be automated, make sure you identify these and look for a way in the future to resolve these, its not ideal but sometimes the only way to succeed is by automating most of the work and then processing the manual tasks at the end or in worst case half way through, in the past I have seen prompts to an operator or an email telling them what to do before clicking on a link to perform the rest of the automation task.

Sometimes there are tasks that simply can not be automated, these are far and few between but don’t worry, don’t try and jam them in to an automated process, move on and return later, think about how to mitigate this when looking at new software or SDDC solutions.

Simplify, it will save you time and it will make you automation tasks much easier to implement and debug later!

More Automation tips

More tips from this series created by myself and Thomas Corfmat for a session at VMworld 2013 can be found below (updated as published), if you have a login for VMworld.com you can also watch the full session here.

 

Automation Tip 1 – Measure It!

Automation Tip 2 – Find your standards

Automation Tip 3 – Its all about people

Automation Tip 4 – Select the right mix of people

Automation Tip 5 – Simplify, Don’t automate a broken process

Automation Tip 6 – Automate incrementally

Automation Tip 7 – Testing

Automation Tip 8 – Documentation

Automation Tip 9 – End to end automation

Automation Tip 10 – Follow the “Automation Triangle”

Automation Tip 4–Select the right mix of people

image

When automating, make sure you think about automating the solution end-to-end, as part of this you will need to talk to domain experts, the people with tribal knowledge and normally admin rights to the systems.  The people who know not only how the systems work in your environment but also have the specific process knowledge for that area.  These people will help you automate the task so much quicker and easier.  This will also go a long way to gaining their buy in for the task and the areas that will be handed off and covered by this automation process.

It helps if these people already know what you are trying to achieve and even more if they have previous knowledge on automation, scripting or development.  Creating a cross departmental or technology automation task force* will help with building relationships and pave the path for future automation projects.

*YMCA dance not necessary when forming automation task force!

 

More Automation tips

More tips from this series created by myself and Thomas Corfmat for a session at VMworld 2013 can be found below (updated as published), if you have a login for VMworld.com you can also watch the full session here.

 

Automation Tip 1 – Measure It!

Automation Tip 2 – Find your standards

Automation Tip 3 – Its all about people

Automation Tip 4 – Select the right mix of people

Automation Tip 5 – Simplify, Don’t automate a broken process

Automation Tip 6 – Automate incrementally

Automation Tip 7 – Testing

Automation Tip 8 – Documentation

Automation Tip 9 – End to end automation

Automation Tip 10 – Follow the “Automation Triangle”

Automation Tip 3–Its all about people

image

 

Remember, when automating its all about the people, you will be crossing boundaries, sometimes annoying people by accessing their systems and potentially removing some of the work they need to do in a manual process.  This is why its key to get a corporate sponsor or champion that fully backs what you are trying to do and agrees with your vision.  You will need their backup and help!

 

Tell people about what you want to do, educate the people who are involved in the current manual process, tell them about what will be changing, how it will be working and how they can help, often people can see the benefits of Automation and are keen to help achieve the goal, you will need their help.

 

You will be talking to many different teams in complex processes as you will want to automate tasks from end to end, this includes gaining access to systems you may not have access to at the moment, breaking down the silo-ed mentality that some teams have.  Storage admins will not let you touch their baby, equally networking staff who have named and cared for each of their switches will not want anyone having access but them!

 

This can be a challenge which requires help from the sponsor and also enthusiasm through education of the end goal.

 

 

More Automation tips

More tips from this series created by myself and Thomas Corfmat for a session at VMworld 2013 can be found below (updated as published), if you have a login for VMworld.com you can also watch the full session here.

 

Automation Tip 1 – Measure It!

Automation Tip 2 – Find your standards

Automation Tip 3 – Its all about people

Automation Tip 4 – Select the right mix of people

Automation Tip 5 – Simplify, Don’t automate a broken process

Automation Tip 6 – Automate incrementally

Automation Tip 7 – Testing

Automation Tip 8 – Documentation

Automation Tip 9 – End to end automation

Automation Tip 10 – Follow the “Automation Triangle”