VMware Community #vAllStars

On this Thanksgiving Eve in the US, it is easy to recount the things for which I am grateful: my family, my friends, my health, etc. Monday will be 6 years since I exited from my service in the Marine Corps. At that time I was not sure I would even stay in tech as a career (law school still seems like a good backup plan). I am incredibly grateful and humbled by my career and the trajectory it has taken in recent years. A substantial part of this has been involvement in the tech community, especially the VMware community. I’m far from the only person that has built a career on the back of the VMware community. I am thankful for the guidance and inspiration I have received over the past six years.

Read More »

App Volumes 2.12 – Provisioning Machine Must be Domain Joined?

App Volumes uses a provisioning machine to capture applications in order to create AppStacks. According to the App Volumes User Guide, “the provisioning of AppStacks must be performed on a clean base image…”

Screen Shot 2016-12-20 at 7.02.00 PM.png

In my opinion, a “clean base image” implies that this machine is not domain joined and therefore not inheriting any group policies.

In earlier versions of App Volumes, there was an option when initially configuring or later reconfiguring App Volumes’ Active Directory integration to “Allow non-domain entities.” This is an option that I always selected in order to have a non-domain joined provisioning machine.

Screen Shot 2016-12-20 at 4.20.18 PM.png

However, now in App Volumes 2.12, that option is no longer available.

Screen Shot 2016-12-20 at 3.09.57 PM.png

I’ve yet to figure out an option to bypass having the provisioning machine on the domain. And there’s no mention of this in the release notes.

😦

2016 takes a leap…a leap second

As if 2016 weren’t bad enough…this year is going to be slightly longer than normal. New Year’s Eve will be one second longer in 2016 to adjust for the shifting rotation of the Earth.

giphy-2

leap second is a one-second adjustment that is sometimes applied to Coordinated Universal Time (UTC) in order to keep its time of day close to the mean solar time, or UT1.

This leap second has the potential to cause chaos for IT systems that cannot deal with a 61-second minute. Websites such as Reddit, Yelp, LinkedIn have previously experienced outages for a period of time due to the leap second in 2012.

Most VMware products are unaffected by this time change that will occur this weekend However, some products are affected. Please see KB 2147498 for more information.

For those VMware products affected, the common work-around is to enabled Slew Mode for NTP. For more information see KB 2121016.

Horizon Agent fails to install: “system must be rebooted” error

Nothing is more fun than walking into a client site on a Monday morning and something that’s supposed to be easy (installing Horizon Agent in base image) doesn’t work.

I logged into the Windows 7 virtual desktop image and tried to install the Horizon Agent, however, I received a message stating: “The system must be rebooted before installation can continue.” Seemed simple enough, so I restarted the machine, and tried again. Same error. #facedesk

00.png

Did some digging and found an old KB (1029288). The KB doesn’t say that it is applicable to Horizon View 7.0.x but it solved the issue I was having.

First I tried to uninstall and re-install VMware Tools. No luck.

I went through the registry keys suggested by the aforementioned KB but there weren’t any associated strings associated with the registry keys.

At the very end of the list, two registry keys were listed:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx\

There were values located in HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce, so I deleted all the values, rebooted the machine.

Voilà! I was finally able to get the Horizon Agent to install so I could proceed with my day. It appeared that there was a previously failed installation that was preventing the Horizon Agent from launching its own installer.

Horizon 7 Instant Clones – Folder Structure

When provisioning Horizon 7 Instant Clones, you may have noticed some new folders that were created in the VM and Template view in the vSphere Web Client.

Screen Shot 2016-12-19 at 9.37.17 AM.png

Each of these folders has a specific purpose for Instant Clones:

  • ClonePrepInternalTemplateFolder
    • cp-template-xxxx –  Virtual machine that is a template used to create Instant Clones; this is created from the master image.
  • ClonePrepParentVmFolder
    • cp-parent-xxxx – These virtual machines exist in a 1:1 relationship to the number of ESXi hosts in the cluster. I have a four node cluster, therefore I have 4 clone prep parent virtual machines. Each ESXi host has one of these powered on and in memory in order to provision the Instant Clone VMs.
  • ClonePrepReplicaVmFolder
    • cp-replica-xxxx – This virtual machine is used to create the clone prep parent virtual machines. It will be also used as necessary to provision additional clone prep parent virtual machines.
  • ClonePrepResyncVmFolder
    • If the Instant Clones are updated with a new image, a virtual machine will be created here for staging purposes.

Learning from Failure – My Path to VCDX (Part II)

ICYMI, you can find Part I here.

Second Attempt – Pass!

The important decision to make whether I should wait or reapply immediately. Brett and I talked a lot about this over the two days following our results. I decided that I would shore up the gaps in our design (primarily our DR plan and the capacity planning) and reapply for the November defense. The deadline for application was Aug 24…that meant I had slightly less than two weeks to edit the design and reapply. Brett decided to wait because he had a lot of work obligations for the second half of the year. Per policy, VCDX partners can defend separately (however, must apply at the same time) but must be within two defenses of each other.

In case you did not know, a second defense on the same design requires a change log to be created. Check out Lior Kamrat’s blog post here.

In hindsight, it was a crazy move to reapply so quickly. Between application and defense in November, I had VMworld US, two Europe trips, and VMworld EU…translating to not a lot of time to prepare. But I felt like I had a better idea of what I needed to do and what the panelists wanted to see.

I talked to many VCDX candidates and VCDXs while at VMworld US and VMworld EU. I listened to all their advice and how they prepared. I’m grateful for the time that so many spent with me.

This time I decided to prepare differently. I was going to do it my way. I went into a little bit of an isolation; I didn’t tweet about it. I didn’t work with as many people, I kept my group small. I just focused on working with my study group. I didn’t do as many mocks for myself (I think only two or three), but I participated in quite a few mocks as a “panelist” for others. I created flashcards for questions I thought panelists would ask. And I completely rebuilt my slide deck so that the intro (or main deck) would talk more to my requirements and constraints, as well as specifically highlight my design decisions.

I went up to Palo Alto a few days before my defense to do some mocks and study with a member of my study group. Unluckily, my defense was the morning after the US election so I stayed up later than I had planned. I went over my slide deck, slide-by-slide, with someone in my study group that night. I woke up early, flipped through my main deck one last time, and then headed to VMware’s campus. While I waited for my panel, I reviewed through my Quizlet sets one more time.

Honestly, I wasn’t sure how I did. I felt more comfortable in the design scenario because I did what I normally do with a client—I wasn’t so focused on following someone else’s template. In the defense section, I felt I did ok but I could tell I wasn’t doing well explaining my networking. I got a little ramble-y in that area. I think I may have made up for that in the scenario. Either way, I was convinced I’d failed again.

To VMware’s credit, they cranked out our results much quicker than in July. I defended on Wednesday and found out my results the following Tuesday. I passed! I’m officially #243.

giphy1

My Thoughts  

  • Make sure your friends and family realize how much time you’ll be dedicating to VCDX.
  • No (wo)man is an island. Surround yourself with a community of others doing the same.
  • Join a study group. Gregg Robertson runs a great one on Google+ and Slack. Join it! But then find a smaller group who are preparing to defend around the same time as you.
  • Have someone (or multiple people) review your design as you are writing it.
  • Review your design and have someone else review your design once submitted. There will be gaps and errors—-find them! Figure out how to address them in your defense.
  • Do mocks! Do more mocks!!
  • Create backup slides in your PPT for reference, but do not be afraid to whiteboard in your defense.
  • Be familiar with your slide deck. You don’t want to waste time fumbling around looking for a slide in the defense. Work out those kinks in mocks.

But you should do what feels right to you. Don’t focus on the techniques that helped others. Don’t feel the need to follow someone else’s template. Achieve VCDX your own way. Grant Orchard (#233) just wrote a brilliant post along the same lines, read it here.

Obligatory Thank You(s) 

First and foremost, I would like to thank my VCDX partner, Brett Guarino, and his wife, Leann, for putting up with us working weekends and late nights and letting me stay all of those weeks in their home in Raleigh while we worked. Thank you to Brett’s managers at VMware for letting him dedicate time to this project. I can’t wait until he gets his number.

And a massive thank you to:

Lastly, Chris Williams, thank you so much for being the only person who responded with notes when we sent our design out for review. Your time reading our design is greatly appreciated and your notes were invaluable.