The VMware Labs flings monthly for November 2018

The year’s almost over but for me it feels like it just got started, how does it feel for you? Time certainly flies! This month there was one new fling: vSphere PKS Plugin and five have received updates: Workspace ONE UEM Profile Migration UtilityHCIBenchESXi Embedded Host ClientCross vCenter Workload Migration Utility and Workspace ONE Configuration Tool for Provisioning.

New

vSphere PKS Plugin

The vSphere PKS Plugin provides a user interface for managing and monitoring Kubernetes cluster deployments for the PKS platform. Using the vSphere PKS Plugin you can view details about your Kubernetes clusters, including master and worker nodes as well as networking configuration.

Features

The vSphere PKS Plugin:

  • Provides a graphical interface to visualize the Kubernetes clusters deployed and managed by PKS
  • Provides visibility into underlying infrastructure such as VMs, network objects and storage objects that are created when a Kubernetes cluster is deployed in a vSphere environment
  • Provides a centralized launch point for viewing components deployed with the Kubernetes cluster, including nodes and network objects such as routers, logical switches, load balancers
  • Provides a simple user interface to get easy access to the cluster using the kubectl interface and the cluster Dashboard

Updated

Workspace ONE UEM Profile Migration Utility

The Workspace ONE UEM Profile Migration Utility helps  in moving profiles between various WS One UEM Consoles.

Changelog

Version 1.6

  • Added a log file for more advanced troubleshooting and auditing. A new file in the folder called: WS1UEM-Profile-Migration-Utility-log.txt
  • Added logic to ensure the user has to hit Review button before Create
  • Fixed a bug where the Status wouldn’t clear if selecting a new Profile therefore the user was unable to tell if the new Create Profile was successful

HCIBench

The HCIBench is a Hyperconverged Infrastructure Benchmark build around VDbench.

Changelog

Version 1.6.8.1

  • Fixed regression when datastore is in the datastore folder
  • Avoid checking connection to host directly and use tvm deployment instead
  • Added Vdbench version check in summary script

Version 1.6.8

  • Added resource pool and VM folder fields for VMC environment
  • Fixed easy-run disk size issue
  • Enhanced pre-validation error message handling
  • Changed the names of network interface from “Public Network” to “Management Network”, and “Private Network” to “VM Network”

ESXi Embedded Host Client

While the ESXi embedded host client has been officially released for 5.5, 6, 6.5 and 6.7 the fling gets all the latest updates.

Changelog

Version 1.32.0 build 10692217 (Fling 22) – November 2, 2018

  • Import / Export
    • Iso files and nvram files can now be exported and imported (if suppored by the esx version)
    • Files can be individually selected when exporting
    • All advanced vm config options are exported by default
    • Several bug fixes related to the export wizard
  • General
    • Permissions previews now display correctly
    • Support Bundles are now generated on the fly
    • Domain user functionality has been restored
    • Fibre Channel WWNs are displayed in hex

Cross vCenter Workload Migration Utility

If you want to use a gui to move vm’s between different vCenter servers than the Cross vCenter Workload Migration Utility is the tool to use.

Changelog

Version 2.5, November 5, 2018

  • Remember registered site information (without password)
  • Easily retry a previously attempted task in case of failures
  • Search box for keyword filtering of migration task history
  • Option to clear task history by removing completed tasks
  • Added documentation and other links under the help menu
  • Partial fix for an issue related to duplicate network names

Workspace ONE Configuration Tool for Provisioning

The Workspace ONE Configuration Tool for Provisioning assists in building unattend.xml configuration files that can be used by Dell (or others when more provide the service) when delivering systems from the factory to set them up for your environment.

Changelog

Release Update – Version 2.0.0

Improvements

  • The version number is shown in the window title
  • The version number is shown as a comment in the generated XML
  • The product key is now validated to conform with the 11111-11111-11111-11111-11111 pattern
  • Split the locale settings into ‘Operating System Language’, and ‘Region and Keyboard Settings’.
  • ‘Operating System Language’ maps to the language of the operating system installation media, and ‘Region and Keyboard Settings’ maps to the locale settings available to the user during OOBE
  • ‘Operating System Language’ is now a required field as it is needed for certain customizations, such as adding a user to the administrators group
  • Removed the ability to set a custom computer name. The computer name now defaults to ‘*’, which causes the Windows OS to generate a random name, taking up to seven characters from the ‘Registered Organization’ field plus eight random characters. This change makes sure every computer has a unique name on the network.
  • The ‘Auto Admin Logon’ feature is no longer selectable. Instead, it will be activated when it is required by the deployment scenario.
  • All deployment scenarios now allow for the creation of a local user.
  • Moved the node from the ‘oobeSystem’ pass to the ‘specialize’ pass
    to be consistent with the node

Bug Fixes

  • Auto Admin Logon would only work with an unattend XML generated for an en-US installation image
  • Enabled the ASSIGNEDTOLOGGEDINUSER=Y flag to enable the WS1 agent to correctly enroll the user in the ‘Workgroup’ deployment scenario
  • Fixed an issue where the ‘Show Privacy Settings’ option would have no effect

What’s (in) my bag for Nutanix .Next 2018 London

This post is fairly similar to my posts for .Next Nice in 2017 and VMworld US of this year. For security reasons I decided to go with the XD Design Bobby again. Since it’s a lot harder to open when on my back I feel it’s a bit more secure while travelling on the London Underground. A couple of other changes also have been made, the bubm bag was replaced by a bit smaller pouch from the same maker and my Sony headset has gone to my wife since I settled on the Jabra Move I got from Cohesity at VMworld. The Jabra just sits a bit more comfortable for me and fits perfectly in it’s own bubm case.

For the rest there are the usual suspects: Xiaomi 10k battery pack, HP Probook 440 G5Microsoft designer mouseRoundcube Rewirable  USB Travel adapter and some various bits & pieces. My suitcase is simply packed with lots of stroopwafels and all the Nutanix NTC gear I have.

Horizon View Api’s: back to basics part 3: Methods

Like I said in part two I wanted to do that first before going to method’s since for some methods you actually need the output from a query. I posted an example of that in the meanwhile with my post about sending messages to users. The get-hvglobalsession and get-hvlocalsession are based on queries that are used for the Session_SendMessages method of the session service.

The obvious way of finding available methods is by looking into the API Explorer.

It’s a complete list but it’s hard to find all the methods that belong to a service. It’s easier to do a get-method on a service.

So, in here we have two methods: ConnectionServerHealth_Get and ConnectionServerHealth_List. Even my wide PowerShell window is not big enough to show what’s needed to with the ConnectionServerHealth_Get method. For that we can use service.method without any brackets.

and

The required input for the method’s is visible between the brackets. The _Get method requires an id of the type vmware.hv.connectionserverid and the list doesn’t even need an input. I will keep the first one to use for later while I run the latter one.

A lot of these lists have information that is available on a deeper level, with a get-method everything is shown.

The ones where you see a property that has a definition that starts with vmware.hv…. has more content hidden. It is possible to access these by putting the entire line between brackets followed by .membername for example

Please be aware that this can go multiple levels deep for some methods. To avoid unneeded api calls it’s wise to declare a variable from the method and use that to access the data.

Now to show the use of the _get method I could use the id that I received from the _list method but that would be cheating. What I will do is put a list of all connectionservers into an array (even though I only have 1) and do a foreach with the _get method.

This is the basic usage for method’s. For some method’s a spec is required for input please take a look at this post about adding an instantclone administrator for an example. I will show some more details about that one in here. Let’s take a look at what the method requires as input.

You can see that a spec is required of the type VMware.Hv.InstantCloneEngineDomainAdministratorSpec. The API Explorer will show that this actually is a bit weird one since it one contains a base.

If you click on the base you’ll see whats required in there.

These levels actually show that we need to declare multiple objects to build the actual spec. You can create the basic object with new-object objecttype

As you see the base is empty and doesn’t know what data it can contain. This shows that we need to declare the object for every level where we need to enter some information.

First I tried this using the class that’s shown in the API explorer, this obviously didn’t work so I use the data object name.

In the link I posted above you should be able to find what’s required to create an actual instantcloneadministrator. With this I have covered most of the method’s and how they work. Please don’t assume that _list nevers needs an id or that _get always needs one because that’s not true. Sometimes it will also say ids like with my previous post about sending messages that means it needs an array of id’s most possibly generated by a query or an _list method.

 

 

Sending messages to users with the Horizon API’s

I got the question today from Fabian Lenz if it is possible to send messages to end users using the Horizon API. I knew I had seen it somewhere already and here’s a quick explanation.

There are two method’s to do this, one for a single session and the other for a group of sessions. Both fall under the session service.

You can see both the methods called session_sendmessage and session_sendmessages if we look at what’s required for both we see that the difference is a single sessionid or an array of session id’s.

Let’s see what the API explorer says what’s needed.

So the msgtype is a string that can have three values and the message is just a string, let’s test this.

I am lazy and will use get-hvlocalsession for the sessionid.

I do the -first 1 so it isn’t an array but a single session.

Now let’s send a message.

And the result:

Now let’s do the same for multiple sessions.

And to show that this also works for global sessions (both where connected to pod2cbr1)

If you want to filter the sessions on user or machine name you can filter the $globalsessions on $globalsessions.namesdata.basenames

With the localsessions it’s located in $sessions.namesdata

It’s also possible to filter this with the query service, take a look on my previous post on how to handle queries.

So now you know how to send messages to users. Not that they always read these messages but at least you can try warning them a bit faster now!

Nutanix Technology Champion, what’s in it for you?

This week it was announced that applications for the 2019 Nutanix Technology Champions (NTC) are open. Despite not having worked with Nutanix in production in a while I have been a member of this great piece of vCommunity for two years now. Angelo, who runs the program, listed the benefits to include the following:

  • Early access briefings about Nutanix products and announcements
  • Access to private betas and insight into ongoing product development
  • Participation in exclusive meetings with engineering teams
  • Access to discussions on the Nutanix NTC slack channel with internal teams
  • Exclusive activities at our annual .NEXT conference including pre-show briefings
  • Support and Mentorship for those seeking NCP, NCAP and NPX career development

Let’s dive into these benefits a bit deeper.

Early access briefings about Nutanix products and announcements

Since I don’t work with the tech this is what really keeps me up to speed on what Nutanix is doing. While sometimes it’s hard for them to do it really early with the fast pace of developing new features or tools this still gives the edge for bloggers who like to blog about this. But it also gives us the possibility to provide feedback before it’s released for new ideas or enhancements.

Access to private betas and insight into ongoing product development

Again due to the high pace of developing at Nutanix the first part doesn’t happen too often but the second one does every now and then. Engineers pitch ideas during regular calls and use our reactions to those to see if it would be worth implementing.

Participation in exclusive meetings with engineering teams

See the previous point, it’s really valuable for both sides to give and receive the input on new developments.

Access to discussions on the Nutanix NTC slack channel with internal teams

Being a customer or partner this is the icing on the cake for you. Besides communicating with your fellow NTC’s every Nutanix employee can have access to our Slack Channel. I have been on the phone with support during an issue while on Slack I was able to give logs and other information that otherwise might have taken a bit more time to end up on their side. In here there are no stupid questions and if the person with the required knowledge isn’t in the channel someone else will invite them in. And it isn’t about Nutanix software only, if someone at Nutanix has the knowledge we will get them in there. Want to ask CEO Dheeraj Pandey a question? He’s in there as well!

Exclusive activities at our annual .NEXT conference including pre-show briefings

We always have a NTC lunch at .Next and several briefings up front so we know what to expect. Angelo is also a selfie maniac at conferences so you probably won’t get away without one posted on Twitter. Everywhere you go you’ll find another NTC around so like most conferences it’s a great place to make new and meet old friends.

(and no I never look good on selfies :D)

Support and Mentorship for those seeking NCP, NCAP and NPX career development

For this again the Slack channel is essential. After a call about the NPX certification ealy this year I pitched the idea to have a bootcamp in The Netherlands and that turned out to be a success as you can see in my blogpost about it.

Other things

Are there any other advantages than those that Angelo names? Yes there certainly are, all NTC’s get a free subscription to Pluralsight and on a regular base we have calls with vendors that also supply us with nfr licenses. For example we have access to hycu, Bitdefender and after the comming call also  Unitrends.

Conclusion

It doesn’t matter if you are a partner, customer or member of the greater vCommunity being a member of the NTC program is great benefit. Angelo really strives to help us grow in whatever we do and succeeds in that! If it isn’t about the knowledge then it is about expanding your network in this awesome thing that we call the vCommunity.

Horizon View Api’s: back to basics part 1: Connecting

Intro

I have done a lot of deep dives but just like the VMware{Code} session I did at VMworld I think it’s time to go back to the basics on how to work with the Horizon api’s from PowerCLI. First up is connecting to a Connection server and disconnecting. I will be showing various ways to do but the new and secure one is the best for me since that’s also usable when you want to schedule scripts.

The easy way

The easiest wat to connect is by using the connect-hvserver SERVERNAME

This will give you a nice credentials popup.

The Unsecure way

The previous way that I used was by using the -user, -pass and maybe the -domain parameters.

The ‘new’ and secure way

Since one of the latest updates it is also possible to use a credential object. We found this out during the Hackathon @VMworld US that it is possible. It will use the good old credentials function from Powershell like in this post from 2008. First you’ll need to make a file with the encrypted password. Big thanks to Ariel & Edgar 🙂 check this for the vDocumentation script.

The next two lines I will combine into one, just because I can.

Doing it in two lines is also possible and might make it a bit easier to read

And then it’s time to connect

That’s easy right?

Connect to the api’s

There’s a little bit more to it so you can actually use the api’s. First we need to put the session into a variable. I always use a number so it’s easy to separate my various pods.

Next up is actually making the services visible. Again I added the number for when I am working with multiple pod’s.

And a quick look at the available services which I will explain in a next blog post.

Disconnecting

If you are connected to a single Connection server this is easy, just a disconnect-hvserver is enough.

Or without confirmation, this is a standard powershell thing.

This will not work when you are connected to multiple Pod’s so you’ll need to specify the server you are connected to.

The End

Next time I will go into some of the things you can do with the services I quickly showed you.

My experience at the Nutanix NPX bootcamp

The preparation

After a Nutanix Technology Champions websession we had earlier this year I thought it was a good idea if there would be one in The Netherlands. The only requirement was to supply at least 12 people and also to leave some spots for Nutants. While I reached out to the current NTC’s Bert van der Lingen reached out to the NPP’s he trained in the Netherlands. It didn’t take long before we had enough people interested to start the process. The location was also arranged quickly at the Dutch Nutanix offices while the date was set for september 24-28th.

The coaches

Since we had 25 people signed up for the bootcamp there where three coaches assigned for this week: Tim Buckholz (NPX #12), Bruno Sousa (NPX #15) and Crescenzo Oliviero (NPX #16). Including in their coaching role they also where the Nubank customer for whom we had to create a new design. While being the customer we had to ask the right questions but if we weren’t sure about something they also showed great patience with us in explaining things.

The Bootcamp

In the time leading up to the bootcamp itself I was still apprehensive about my own (lack of) experience but lots of people told me that it shouldn’t be a problem. I went in with an open mind that it would be a great learning opportunity. Looking back at the week this was the best way to look at the process. No matter what you designed the NuBank customer always managed to find flaws and gave good feedback on what was lacking but also on what was good.

https://twitter.com/tbuckholz/status/1044243355977351168

One constant factor was change! The first day was a shock to most: Sizing can be rather difficult you know. On each day new tasks were added like networking, storage but also Business Critical apps and VDI you could expect curveballs to be thrown at any time! For this my open mind probably was a bonus because it was clear some people had issues with this. If you didn’t care about failing but still did the best you could in building the designs you would learn the most in my opinion. During the week we also learned to ask more and more questions to the customer, something we hardly did during the first day.

During the afternoon on day four it was time to build that last design so we could do a proper defence of it for the Nubank customer. For the presentation each team had 45 minutes and time management was difficult. It’s really easy to go down a rabbit hole in explaining nerd knobs while there is no time for that.

Even during the last presentation it was clear that the newly tech created during the week was needed in some cases. Our team required wireless ipmi while others had wireless load balancers, wireless 40GB lines and other wireless stuff.

My own verdict

For myself I consider this one of the best weeks of learning I have ever done. There’s hardly anywhere to work with a such a group of dedicated and motivated people. And it proved even more how good and important the vCommunity is in sharing knowledge and caring for others.

I would like to thank the three awesome coaches and also my teammates Wouter Iliohan, Nick Maeckelberghe and Arjan Hendriks for being such good sports this week.

The VMware Labs flings monthly for September 2018

September flew past for me like a whirlwind. So much new things that I learned so here’s my monthly overview of all the new and updated VMware flings. There are three new ones with the DRS Dump Insight H5 PluginWorkspace One Configuration Tool for provisioning and the Horizon Session Recording. Four have received updates: ESXi Compatibility Checker, HCIBench, vRealize Operations REST Notifications and but not least the SDDC Certificate tool. It’s also one of the few months where the HTML5 Client didn’t get an update.

New

Horizon Session Recording

The Horizon Session Recording fling gives Horizon View administrators a way to record and save their users activity.

VMware Horizon Session Recording allows administrators of a VMware Horizon environment record their users activity in their Blast Extreme virtual desktop and application sessions.

With Session Recording, the administrator can choose to record local or remote sessions, to a central recording Server where the administrator can watch the recordings back via a HTML 5 web console integrated into the server.

The Session Recordings are stored as MP4 files for watching via the web console or downloading to play in a local player.

The VMware Horizon Session Recording Fling comprises of two components:

  • A Central Recording Repository + Web Front End
  • The Agent to be installed in the virtual desktop or RDSH host template which facilitates the recording.

Today VMware Horizon Session Recording supports Windows Server 2016 as the Central Server along with Windows 7, 10, Server 2012 and Server 2016 on the agent.

DRS Dump Insight H5 Plugin

If you like the the older DRS Dump Insight fling you will like the DRS Dump Insight H5 Plugin even more. No need anymore for pulling the data yourself, with the Plugin it will be available directly.

The DRS Dump Insight H5 Plugin helps answer simple questions like

  • “Can I get all the recommendations made by DRS?”
  • “Why did DRS make a certain recommendation?”
  • “Why is DRS not making any recommendations to balance my cluster?”
  • “How is my custom affinity/anti-affinity rule affecting load balancing in my cluster?”
  • “If I have a policy defined in my cluster, how different would DRS load balancing be?”

When diagnosing Distributed Resource Scheduler (DRS) cluster issues in vSphere, we look at vCenter server logs from the support bundle, including DrmDump files to find any clues. Analyzing DrmDumps is a slow and tedious process, is usually done by VMware support or Engineering teams for advanced debugging of algorithm related issues. This is because analyzing the dumps requires building a replayer module, for which one needs access to the source code. Another challenge is that the final DrmDump data is not in plain text format; it requires someone with an understanding of the source code to be able to make good sense of it.

There is an existing DRS Dump Insight fling, which can replay DrmDumps and provide useful information for debugging. However, Dump Insight requires users to manually upload relevant DrmDump files from the time when the issue occurred. With the DRS Dump Insight H5 Plugin, customers do not need to upload any DrmDump files, and can access all the anal yzed information from their vSphere HTML5 web client itself.

  • Once a customer installs the HTML5 plugin, a new DRS Dump Insight tab will be available under the “cluster -> monitor” view.
  • All the DrmDump files that are available for the given cluster are listed in the opening screen. Customers can select the dump file of their choice for analysis.
  • They can also select multiple dump files to be analyzed together.
  • After analysis, the tool shows the analysis for each dump file in a separate tab view.

Workspace ONE Configuration Tool for Provisioning

The Workspace ONE Configuration Tool for Provisioning fling is created for the Workspace One provisioning in the Dell factory.

The Workspace ONE Configuration Tool helps you build special-purpose unattend.xml configuration files to be applied in the Dell factory as part of Factory Provisioning. This helps to domain join (domain, workgroup, AAD, AAD Premium) and enroll devices automatically on first-boot. This simplifies the creation of the unattend.xml configuration file for Windows 10.

Features

  • It’s a stand-alone .exe app that helps IT administrators configure general and Out-of-the-Box Experience Windows setups to automatically enroll users in Workspace ONE.
  • The User Interface is made simple with explicit instructions about each field for easy and quick use by IT admins.
  • The User Interface has dynamic and efficient validations in Clarity and Angular, preventing the user from building the unattend.xml until all the validations are correctly satisfied.
  • This makes the UI fool-proof and reduces the chances of generating an invalid xml file.
  • The tool is made as a .Net Core 2.0 web app with Angular 5 and Clarity, which eases the integration of v2.0 into the AirWatch Console.

Updated

ESXi Compatibility Checker

With the ESXi Compatibility Checker a vSphere admin can automatically check and validate a current vSphere environment against the HCL.

Changelog

Build 10066133

  • Fixed bugs

HCIBench

While it probably is optimized for VSAN workloads the HCIBench is a benchmark tool that can be used with any HCI solution.

Changelog

Version 1.6.7.2

  • Enhanced write/read buffer/cache methodology
  • Fixed network ip-prefix selection issue
  • Fixed 95% percentile calculation issue

vRealize Operations REST Notifications Helper

With the vRealize Operations REST Notifications Helper fling it is possible it’s easier to use alerts in vRealize Operations Manager and send them to third-party tools.

Changelog

Version 1.1.2

  • Changed the line endings in text files from Win to Unix

Version 1.1

  • The new version of imset.jar
  • Updated properties file (imset.properties)
  • A new configuration file example (slack.json)
  • New version release notes (v1.1_notes.pdf)

SDDC Certificate Tool

The SDDC Certificate Tool is your one stop shop to replace all the certificates in a range of VMware Products: vSphere,NSX,vRLI,vROps etc.

Changelog

1.0.1 – Build 10253169

  • Spring Frameworks updated to version 4.3.19 due to security vulnerability

My #VMworld presentations @vbrownbag and @vmwarecode

Time flies when you’re having fun and it’s already been over two weeks since I came back from VMworld 2018 in Las Vegas. I just thought of the fact that I promised some people to post my presentations. While they kept looping on the provided mac’s they don’t do that on a windows system, or at least for me.

This is the link to the vBrownbag Presentation

and the video

This is the link to the VMware {Code} presentation

And the video

 

#vCommunity is………teaching the next generation

Yesterday I had the honor of teaching 2 separate classes an introduction to VMware vSphere. This was a first time for me since until now I had always been on the receiving end of schoolclasses/courses. The journey started when I noticed a shared post on linkedin where Ellis Uytdehage of the Radius College in Breda (The Netherlands) was looking for guest lecturers. This is Dutch MBO level and could roughly be translated to Junior College / Vocational Education in other country’s. It’s post high school and they actually learn how to be a systems/network/application admin. The people whom I thought are all in their fourth and last year and doing internships or did BBL which consists of working four days and learning one day each week.

Since I didn’t want to bore the students by making them have to listen to me giving boring college for an hour we decided on me doing a 10 minute introduction and after that I gave them some basic tasks to to in the Virtualization 101 Hands On Lab. I could have gone with some boring specs and workings of vSphere but for me it was also about introducing them to the vCommunity. Supported by a couple of pictures I explained how important it is to share knowledge and that it will pay back in the end. That it isn’t all serious I showed them some of the examples of fun we had at VMworld.

I have to say that despite the HOL’s being slow with 40 persons starting the same lab at the same time that the classes where a success. While several students already used vSphere for a bit at their internships or even had already played with the Hands On Labs, they showed great interest in the tech and I am 100% sure that almost all of them learned something new. My side mission or message of showing them that sharing = caring also came across and if anyone of them wants any help in blogging/presenting/whatever they’re always welcome to contact me.

I would like to thank Ellis, Radius College and my employer AnylinQ for the opportunity and already look forward to next time!