Welcome to #Blogtober

Happy #Blogtober, everyone! In this #Blogtober post, I want to give a brief description of exactly what #Blogtober is and drop in some details on how I intend to use it. I hope to include an overview of ideas (so I don’t forget and so that you can hold me accountable) that I’ll post over the month. Big should out to Matt Heldstab who encouraged me to participate. For more info directly from the source head over to blogtober.net.


What is #blogtober?

#Blogtober is a commitment for rookie and accomplished bloggers alike. The goal of #blogtober is pretty simple – create five blog posts in the month of October. In announcing the program, Matt lists the following three reasons –

  • #Blogtober gives new bloggers visibility in the community and issues a challenge to be held accountable to
  • We’re in conference season – There are many different conferences in the industry (VMworld, MS Ignite, etc.) that can provide blog topics
  • vExpert 2017 – Blogging can help earn vExpert status by sharing your knowledge with the community


To me, #blogtober is a more consumable version of #vdm30in30 which takes place in November. #vdm30in30’s goals are very much the same, but the requirements are loftier – 30 posts in the 30 days in November.  I want to participate, but I just don’t have that much content… yet!


How do I plan to use #blogtober?

That’s where #blogtober comes in. To me, this program will give me an easier, more consumable challenge. Five posts over the course of a month allows me to get into the mindset of blogging while also allowing me time to research how to start thinking like a blogger. I want to post technical content. I get so much useful information from others in our community. I have a sneaking suspicion that a lot of what I post will end up being about soft-skills or other observations. We’ll see what happens…


What topics are you going to cover, James?

I had a list of ideas that I wrote down specifically so as to not forget them. I’m pretty sure I threw it away. Great job, self!

What I remember:

  • Home Lab Setup – A description of my initial home lab setup followed by config changes and difficulties making said changes. Likely to be two separate posts.
  • DevOps – A discussion on  company culture and Deming’s 14 Points of Management. I may drop DevOps out of this. I’m not an authority on it and it feels buzzword-y. Open to suggestions.
  • VMUG – A discussion about how VMUG has influenced my career.
  • Project Work – A retrospective of a to-be-completed project (pending approval).
  • Maybe more if I can keep going?

Also, I’m open to ideas! If you think something is worth  expanding on, please let me know.


Want to get involved?

It’s October 3rd and there’s still plenty of month left! At the time of this writing, there’s approximately 65 people who are participating in the program! If you want to challenge yourself and/or get more involved in the community, this is a great starting place.

Step 1 – Head over to www.blogtober.net and comment on the blog post.
Step 2 – Write some neat stuff and post it on your blog (acquire a blog, if necessary… then blog about it!)
Step 3 – Throw the post out to the Twitterverse with the #blogtober hashtag

It’s really that simple.

Here’s to hoping that I can stick with five more posts for the month of #Blogtober (remember, this post doesn’t count!).

The Journey to #RunNSX Begins

Earlier this year, I worked to identify some goals for myself. Along the lines of those goals was to figure out what my next certification would be. You might have figured it out by the title of the post… it’s time to get in that #NSXMindset!

Why NSX?

There’s a ton of other certifications out there that may be beneficial to my career. Cybersecurity is a huge topic and seems to be desirable in the industry. I could continue down the Datacenter Virtualization path and work on my VCAPs. There’s many, many others.

First – I’m pretty bad at networking. Admittedly. I understand concepts. I’m pretty rough when it comes to implementing and managing them. I have no CCNA or similar certifications. I figure that learning NSX will give me a better foundation for networking while also moving me deeper into the VMware suite of products.

Second – I want to better understand the product. I understand (fundamentally) the micro-segmentation use-case. I know that NSX allows the use of policies to manage the network (similar to how vSAN or VVols use policies to manage storage).

Lastly – It’s something fairly important at work. It’s time to get learning!

“Wait, isn’t NSX only available in VMware’s Hands-On Labs? Those don’t let you install. You can only manipulate an already-created cluster. Won’t you need to learn from the ground up?”

…have you heard of this thing called VMUG Advantage?


For those of you that don’t know – VMUG Advantage offers a tremendous amount of savings for the VMware-focused person. The number one reason to snag VMUG Advantage is for the EVALExperience. This will get you a 1-year license to a whole host (Ha!) of software from the VMware portfolio. Need to test that upgrade to 6.5 in a test environment? Want to play around in the home lab? This is where you need to be.

“Enough with the pitch. What’s the big deal?”

 In early April, Chris McCain announced the VMUG NSX Community. He helped give away a ton of different swag and training packages for those that were engaged and helping others learn. A few weeks later, an announcement is made that NSX is part of EVALExperience. Follow that up with vRNI a week or so later. That same training that Chris was giving away is now exclusively available for purchase!

Why does that matter to me? Honestly, I didn’t feel like I could be active in the NSX Community. I didn’t know anything about NSX. How could I have possibly added input for others’ benefit?

This gives me the opportunity to learn and to get my boss to pay for it. That’s important.

The VMUG Advantage NSX Training Package

 Requirements –

  • Be a current VMUG Advantage subscriber (purchases process same-day, I believe)
  • Purchase the training package before 6/30 (YOU ONLY HAVE TEN DAYS!)

NSX Training & Certification Package –

  • VMware NSX: Install, Configure, Manage [V6.2] – On Demand Class
  • VMware NSX: Install, Configure, Manage [V6.2] – On Demand Labs
  • VMware Certification Exam Prep: vSphere 6 Foundations Exam
  • VMware Certification Exam Prep: VCP6 – Network Virtualization Exam V6.2
  • VMware vSphere 6 Foundations Exam Voucher
  • VMware Certified Professional 6 – Network Virtualization Exam Voucher

I’m trying to convince my boss (after just having taken training) to approve me for this package. It’s important to my career development. I want to learn.

When I priced these out individually they came out at somewhere around $4000. Through VMUG Advantage, I can pick it up for $1995! The boss will definitely like that.

The deal gets even better!

 Remember Chris McCain? He really wants people to get into the #NSXMindset. Enough so that he’s giving some people an opportunity to earn their VCIX-NV (VMware Certified Implementation Expert – Network Virtualization) for free!


Just shy of a month ago (May 24 to be exact), Chris dropped the video below on Twitter.

I’ll be honest, it hasn’t received enough traction. Not enough people know. I’ve thrown out some tweets. I talked it up at the recent #BOSVMUG UserCon… Hey, that’s just good news for you. This is legitimately a career-changing opportunity. That’s why I’m so hungry for it.

Too lazy to watch the video? Here’s what the VMUG NSX Ninja opportunity entails:

  • VMware NSX: Troubleshooting and Operations [V6.2]
  • VMware NSX: Design and Deploy [V6.2]
  • VMware Certified Advanced Professional – Network Virtualization Deployment Exam Voucher

(Note: Only the VCAP-NV Deploy exam is needed to earn VCIX-NV as no VCAP-NV Design exam is currently available.)

“Whoa! Alright, I’m ready to explode my career. How do I get in on the opportunity for a free VCIX-NV?”

 The easiest part – Purchase the VMUG Advantage NSX Training Package

The hardest part – Pass the VCP6-NV. (You and I both know that this round of VCP exams are no joke!)VCP6-NV

The part that’s out of your hands – Be one of 12 people selected for the #NSXNinja program.

This is a crazy opportunity. The worst thing that happens is that you don’t get into the #NSXNinja program, but you learned some new skills.

“I’ve got this. I’m all in! Where do I sign up?”

First, you have to pick up VMUG Advantage.

Second, sign up for the NSX Training Package before 6/30!

 Note: Purchase both of these using the same email that you used for your VMware myLearn account. The two accounts are associated automagically by VMUG. If you’re down to the wire on purchasing the training package, I recommend calling VMUG Member Services to expedite the process.

Lastly, get into the #NSXMindset and learn your ass off. I know I’m going to.

If you have some questions, fire them over to Twitter @jamesmuellerIT and I’ll do my best to help you out. Here’s to hoping that I see you in one of those #NSXNinja advanced classes!

Learning PowerCLI

Well, well, well… we meet again, Blog. I really need to get better at this whole “actually use your blog” thing. That’s for another day. Let’s get to the meat of it! Lots of words incoming.

I’ve been playing with PowerCLI (and by extension, Powershell) a lot more often as of late. I’ve struggled with identifying how to learn easier. I’m getting there! I’m not the best at crafting scripts yet, but I’m getting better at figuring out what I’m actually trying to accomplish.

I might just be mashing scripts together that I’ve collected from the Internet. That said, I feel like I’ve learned a lot over the last few days.

Here’s the use-case:
ESXi hosts to be moved from vCenter 5.5 and added to vCenter 6.5
Heavily segmented network with hundreds of VLANs
Multiple Distributed Switches
Officially supported move is to migrate to Standard Switch, remove ESXi host from one vCenter, add ESXi host to new vCenter, and create a new Distributed switch with the necessary port groups.

Perfect use-case for PowerCLI, right?! Without it, I’d be repeating the same actions again and again on several different hosts in the inventory, right? Time to do some learning. Except…

I didn’t really know where to get started. I did a quick search online and found this post by Mark Jones (toss him a follow on Twitter!). The post gave me a starting point and a way to expand to meet my own use-case. In Mark’s post, he does a lot more than I’m comfortable doing. I also blatantly stole (read: reused) the section of setting VM network adapters to the Standard Switch.

I modified his script and wrote the following to take the many different distributed port groups and turn them into standard port groups. The script assumes that there is already a physical adapter associated with both the standard switch and the distributed switch. Shout out to my coworker Marty (Twitter) for helping me pull in the VLAN ID and solve some errors as I was working on this. Honestly, it feels like Marty wrote more of this than me. I’m fine with it…

# Request input items
$vDS = Read-Host "Which Distributed Switch would you like to copy Port Groups from?"

$VMHost = Read-Host "Which host would you like to copy the Distributed Port Groups to?"
$vSwitchName = Read-Host "Which Standard Switch on that host would you like the new Port Groups on? (Please ensure that the selected switch will support virtual machine connectivity!)"
# Create some variables
$dPG = Get-VDSwitch $vDS | Get-VDPortGroup
$vSwitch = Get-VMHost $VMHost | Get-VirtualSwitch -name $vSwitchName
$vmlist = Get-VMHost $VMHost | Get-VM

# Creates a new portgroup on the specified vSwitch and includes VLAN ID.
# Note: Trunk ports do not come over properly. Trunk ports that are listed include the Uplinks.
Write-Host "This script does not yet handle Trunk port groups properly."
foreach ($pg in $dpg){
Write-Host "Creating Port Group " $pg " with VLAN ID " $pg.vlanconfiguration.vlanid on $vSwitchName -ForegroundColor Green
New-VirtualPortGroup -VirtualSwitch $vSwitch -name $pg.Name -vlan $pg.vlanconfiguration.vlanid

Write-Host "Pausing for five seconds. Gather your thoughts!" -ForegroundColor Green
Start-Sleep -seconds 5

foreach ($vm in $vmlist){
Get-NetworkAdapter $vm | % {
Write-Host "Changing the network adapter of" $vm "to" $_.NetworkName "on the Virtual Standard Switch." -ForegroundColor Green
$_ | Set-NetworkAdapter -PortGroup (Get-VirtualPortGroup -VMHost $VMHost -Standard -Name $_.NetworkName) -Confirm:$false
# Removes newly created portgroups from test host
# Get-VMhost $vmhost | Get-VirtualSwitch -name $vSwitchName | Get-VirtualPortGroup | ? {$_.Name -ne "Management Network" -AND $_.Name -ne "iSCSI" -AND $_.Name -ne "vMotion"} | Remove-VirtualPortGroup -Confirm:$false

It worked! It was very exciting to me, as one of the first pieces of usable code I’ve written, to see this complete successfully. I’ll revisit the Trunk ports, but I don’t currently have any that would require my attention. On to the next piece…


I needed to figure out how to go back to a vDS once it’s in my new vCenter. I borrowed some other bits and pieces from the Internet, but I think they came together nicely. This script does much more and likely gets too complicated for what it does. Here’s what I came up with:

# Create menu for the selection of the Virtual Switch
function Select-Switch
param (
[string]$title = 'Which Virtual Standard Switch would you like to copy port groups from?'
Write-Host "$title"

Write-Host "1:" $vSwitch[0]
Write-Host "2:" $vSwitch[1]
Write-Host "3:" $vSwitch[2]
Write-Host "Q: Press to quit."

# Allow script runner to identify the host to run the script against.
$VMHost = Read-Host "Which host would you like to copy Port Groups from?"
# Populate the Select-Switch menu by getting the virtual switches on the host.
$vSwitch = Get-VMHost $VMHost | Get-VirtualSwitch

# Ask script runner for the name of the distributed switch to add port groups to. If the switch
# doesn't exist, create the switch and create distributed port groups based on the user's selection
# of the standard switch found on the host.
$dVS = Read-Host "What is the name of the Distributed Switch you like to copy Port Groups to?"
If ((Get-VDSwitch -name $dVS -Erroraction SilentlyContinue) -eq $null) {
New-VDSwitch -Name $dVS -Version (Get-VMHost $VMHost).Version -Location (Get-Datacenter)

$input = Read-Host "Please select one of the following:"
switch ($input)
$vSwitchName = $vSwitch[0]
} '2'{
$vSwitchName = $vSwitch[1]
} '3'{
$vSwitchName = $vSwitch[2]
} 'Q'{
Until ($input -ne $null)
$vSSPG = Get-VMhost $VMHost | Get-VirtualSwitch -name $vSwitchName | Get-VirtualPortGroup
$vmlist = Get-VMHost $VMHost | Get-VM

Write-Host "This script does not yet handle Trunk port groups properly." -ForegroundColor Green
foreach ($pg in $vSSPG){
Write-Host "Creating Port Group" $pg "with VLAN ID" $pg.vlanId on $dVS -ForegroundColor Green
New-VDPortGroup -VDSwitch $dVS -Name $pg.Name -vlanid $pg.vlanid
Write-Host "Port Groups have been created. You must manually add an Uplink from" $VMHost to $vDS "before continuing.
Please do so now. This script will now sleep for 30 seconds before it can continue." -ForegroundColor Green
Start-Sleep -seconds 30

# If the distributed switch already exists, there should be no port groups on the host to add to the distributed switch.
elseif((Get-VDSwitch -name $dVS) -ne $null){
Write-Host "Great news! The distributed switch" $dVS "already exists! We can skip Port Group creation and move forward." -ForegroundColor Green

# Require user input before continuing with the script.
Write-Host "The next section of this script will migrate Virtual Machines from the Standard Switch to the Distributed Switch.
Press any key to continue." -ForegroundColor Green

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp")

# Require additional input to ensure that user has added an uplink to the distributed switch.
Write-Host "Press any key to continue." -ForegroundColor Cyan

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp")

# Migrate virtual machine network adapters from standard switch port group to distributed switch port group.
$vmlist = Get-VMHost $VMHost | Get-VM
foreach ($vm in $vmlist){
Get-NetworkAdapter $vm | % {
Write-Host "Changing the network adapter of" $vm "to" $_.NetworkName "on the Virtual Standard Switch." -ForegroundColor Green
$_ | Set-NetworkAdapter -PortGroup (Get-VDPortGroup -VDSwitch $dVS -Name $_.NetworkName) -Confirm:$false
Write-Host "Virtual machines have had their network's updated to use the Distributed Switch. Pausing for another 30 seconds." -ForegroundColor Green
Start-Sleep -seconds 30

# Require user input before continuing with the script.
Write-Host "The last section of the script will remove all Standard Switch port groups EXCEPT Management Network, iSCSI, and vMotion. Press any key to continue." -ForegroundColor Green

$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyUp")

# Removes newly created portgroups from test host
Get-VMhost $vmhost | Get-VirtualSwitch -name $vSwitchName | Get-VirtualPortGroup | ? {$_.Name -ne "Management Network" -AND $_.Name -ne "iSCSI" -AND $_.Name -ne "vMotion"} | Remove-VirtualPortGroup -Confirm:$false

Write-Host "Well done! Take a break, you deserve it." -ForegroundColor Green

In this script, a menu is created (which is stolen from here) to call later in the script. The user is asked for inputs of ESXi host and name of vDS they want to move vSS port groups to. An “if” statement checks to see whether the vDS exists or not.

If the vDS DOESN’T exist, it creates a new vDS (which, for me, needs to be the same version as the ESXi host as specified by -Version). Next, it runs the menu to determine which Standard Switch to copy port groups from. If the distributed switch DOES exist, it skips port group creation altogether.

Once the vDS and port groups are created, the script pauses and prompts the user to add an uplink to the vDS before continuing. I purposely wanted this process to be manual! The script pauses for 30 seconds and requires the user to press a key to continue (check here for info). Twice!

Next, it swings VM network adapters from vSS port groups to the vDS port groups (reusing and reworking a bit of code from the last script). Once complete, the script requires user input again before removing vSS port groups.

I’m able to run both of these scripts in a test environment. I can go back and forth from vSS to vDS and from vDS to vSS with relative ease. There’s probably some cleanup to do. More likely is that there are different and better ways to accomplish these tasks, too. I’m happy to hear them. Share your thoughts with me!

New Year’s Goals… a bit late?

In my last post, I talked about how failure had given me motivation to buckle down and get to work. I happened to fail my VCP6-DCV right before the end of the year. After some reflection, I decided that I needed to develop some goals for the coming New Year and work to develop myself to achieve them.

I woke up this morning and it was February already! Where has time gone!?  At the very least, I’ve been able to accomplish some of my going-to-be-shared-right-now goals.

Goal #1: Achieve VCP6-DCV – Complete!

I successfully passed my VCP exam on January 4, 2017 to start the year off! The sidebar looks nice with a little certification in it, I think. I still BARELY passed, but… pass is a pass.

Goal #2: Obtain a more technically-focused job. – Complete!

I took my last job working for a laboratory of scientists a little more than a year ago. My primary goal was to focus on sharing a vision and to enable the group to better consume technology. As I made my exit, I felt as though I accomplished these goals.

I started my new job as a Virtualization Operations Engineer at the tail end of January. I’ve joined a team of people who will easily be able to teach me something new every day. There’s a LOT more technology and I can’t wait to get down and dirty with it.

Goal #3: Achieve vExpert status – Complete!

My understanding of the VMware vExpert program is that you’re evangelizing the technology VMware offers. I’ll be honest, I don’t think I’m there yet. A lot of the things I offer the virtualization community are in terms of Boston VMUG items (I’m a member of the Steering Team). I want to add more tech-related posts to this blog (I should make that a goal!). Goal #2 should help with that! vExpert for the first half of 2017 is being announced on 2/8/17.

Edit: March 3, 2017 –
I found out on 2/8/17 that I had been accepted to the vExpert program! My new job has been taking priority over most things and it’s taken me almost a month to update this post.

Thus far, the vExpert program has been nothing short of amazing and I haven’t even done much yet. There are some incredibly talented people that hold the vExpert title. I’ve spent quite a bit of time lurking in the vExpert Slack channel and learning. I can only imagine that things will get better moving forward. Stay tuned for future blog posts…?

Goal #4: Blog a little more regularly – Defined moments ago!

I started this blog in October 2016. I haven’t given it a lot of thought, really. I’ve learned that blogging well takes a bit more training and perseverance than I previously gave it credit for. I want to hit 2017 with more technology-related posts. A quick-fix here or a use-case there.

Goal #5: Identify and earn another certification

I’m not positive what my next certification will be, but I imagine it will be VMware-focused. If I had to guess, it will be either VCP-DTM or VCP-NV. VCP-NV appears to be a valuable commodity as NSX becomes more commonplace in the market.

Goal #6: Get better at identifying long-term goals.

All of these goals are relatively short-term. That’s an issue I have with identifying personal goals. I like to focus on right now so that I can get to work RIGHT NOW. I need to focus on my personal goals over the next three to five years. Turns out that takes a lot more thought than I anticipated.

If you’re reading this, feel free to hold me accountable for the yet-to-be-met goals. Thanks for following along this far.

Failure has only renewed my focus.

I want to share with you how a simple conversation can lead to a lot of self-reflection and excitement at a very unexpected time.

It’s 10PM on Saturday night. For the last hour or so, I’ve been chatting with Ariel Sanchez @arielsanchezmor after having commented on a Tweet of his. His Tweet shares a blog post about his experience with the VMware vExpert program. I felt that it was incredibly refreshing to read an account of someone’s journey through the program and wanted to let him know. Afterward, Ariel reached out to chat about why he didn’t see me listed as a vExpert and to question whether I had applied.

Thankfully, I was able to tell Ariel that I had applied to the vExpert program this year. I had never previously felt like I was quite “there” yet. His simple response to this opened my eyes a bit as to why I’ve been feeling down the last few days.

“The worst thing that can happen is that you get told no.” – A. Sanchez (Official quote!)

That’s not a new sentiment to me. I’ve even said it to others when talking about the vExpert application much earlier in the year! Somehow, Ariel made me realize that if the powers that be feel like I’m really not there yet, I’ll just have to reapply next year. To soften the blow even more: I realized that even if I AM accepted to the program, I’ll STILL have to reapply next year.

This was important for me to come to terms with! Failure just means that I have to get back to work and keep working. It means that I have to focus more on some of my shortcomings. Failure is only really failure when you give up! That said, let’s talk about why I’ve been down.

After finally attending the required training course and passing the Foundations Exam, I failed my VCP6-DCV exam by only a handful of points earlier this week. I felt embarrassed to have failed. I felt ashamed of myself. I’ll be honest, it’s difficult to write about it. It felt like a slap in the face since I’ve been using the product for a handful of years now. Admittedly, it covered some pieces that I’ve never had to use. But that’s just an excuse!

Before taking the exam, I spoke to several people about it. Most of those people told me that they took it more than once. The #vBrownBag videos I watched to refresh my knowledge all mentioned how much more difficult the exam was than it had been for previous releases. I anticipated the failure, but I’ve still let it eat at me for the last few days.

I have to say that my chat with Ariel has been an incredibly awesome, focused conversation about my personal goals and some of the exciting things I hope to accomplish as a member of the Boston VMUG. The conversation led me to realize that my failure is just a quick stop in my journey to success. He also unknowingly helped me map my goals for the next several months. Thanks so much, Ariel, for taking the time to reach out to me tonight!

There’s some awesome things to come in the future and I can’t wait to get to work on them. I managed to get my vExpert application in before the deadline last night. It’s time to focus on those tricky areas of that VCP exam.There’s nothing quite like product documentation to end a Saturday night, right!?

Reach out to Ariel on Twitter: @arielsanchezmor and make sure to check out his blog, too!

VMware Cloud on AWS – Initial Thoughts

For the better half of the day yesterday, my Twitter feed and blog channels were filled with news of the partnership between VMware and Amazon Web Services. In short, VMware has dropped their own public cloud offering in lieu of a more strategic relationship with AWS. With VMware Cloud on AWS, traditional VMware SDDC workloads (ESXi, VSAN, NSX, etc.) can be run on AWS infrastructure using the same tools that administrators are comfortable with for their on-premises deployments. See Frank Denneman’s (@frankdenneman) blog post on the announcement. It’s packed with information and potential use-cases.


One of the most interesting things that jumped out at me while reading Frank’s blog is the mention (albeit, only graphically) of AWS GovCloud. AWS GovCloud allows US Government Agencies and contractors to run workloads in the cloud while maintaining necessary FISMA requirements. AWS GovCloud, since June of this year, has been authorized to run workloads that reach a High impact level. Prior to that, only the Moderate impact level was supported.


To me, this means that USG agencies and contractors can likely run a successful hybrid cloud deployment with much less effort. I’m sure that VMware Cloud on AWS itself needs to be approved by the Federal Risk and Management Program (FedRAMP). However, this process might be streamlined since AWS GovCloud already has a Provisional Approval to Operate. Assuming that the necessary components on-prem. have been configured to the proper level (i.e., DISA STIGs for ESXi 6.0, NSX, and vCenter Server), VMware Cloud on AWS can allow USG agencies and contractors a significantly more flexible approach to consuming IT resources.


Sure – this helps move existing Government workloads to the cloud. It doesn’t necessarily encourage the redesign of those workloads to be better-performing or more modern. My experience thus far has been that the USG is relatively slow to complete these tasks. It’s fair to say that there are a lot of hoops to jump through to do much of anything. Does this help facilitate keeping up with the times or is it more geared towards remaining where we are?

Share your thoughts!

How I Learned To Read Error Messages

Not long ago, I tore down my homelab (more of a test/dev environment for work, really) to focus on another project. It’s time to start the homelab fresh and play with some VSAN stuff.

I’ve installed ESXi 6.0 Update 2 and I’m ready to deploy my VCSA. I go through all installation dialogues and leave the system to churn. I return a little while later to a failed deployment.


The VCSA is powered-on. The storage appears to have been provisioned properly. I reboot to see if the error was a fluke, yet I continue to get a “firstboot error” which indicates that services have failed to start.

Having deployed several VCSAs for test/dev, I wasn’t too positive what I could have done wrong. I start the entire process over and the deployment fails again. This time, I’m paying attention as the VCSA boots. I can’t quite figure out where or why it’s failing.

Tip of the week: Click the Show All button to get more information about errors (including why your deployment failed). In this instance, it answered 100% of my questions without the need to even view the log file.

As I ran through this deployment for the third time, I realized that I was referencing a FQDN which didn’t even exist yet. I’ve deployed the VCSA so many times that I was entering the FQDN that I WANTED the machine to have. That’s a deployment-killer.

The simple solution here is to create a DNS record in advance or to just use the IP address. Creating a DNS record saw this final deployment as successful with a useable VCSA. This issue is actually called out in the Release Notes for vCenter Server 6.0 as well as in this KB.