Jekyll2019-07-12T11:28:34-05:00http://vsential.com/feed.xmlvSentialvirtualization in the real worldJames Bowlingjames[dot]bowling[at]vsential[dot]comA Couple of Things2017-01-13T11:19:00-06:002017-01-13T11:19:00-06:00http://vsential.com/2017/01/13/a-couple-of-things<p>So I know that it has been quite a while since I have posted anything. Needless to say that we all have things that come up in our lives that keep us from doing some of the things we would normally do or things that people would expect us to normally do. This is exactly what has happened to me and this site. There are quite a few things that have happened in the last year, so I feel that I should outline some of those things.</p>
<h4 id="personal-life">Personal Life</h4>
<hr />
<p>This past year has been somewhat of a whirlwind for me. I had quite a few changes happen over the course of 2016. Some of those changes were stressful, some were good, and some were just flat out bad decisions. Just to clue some of you in on those things and not to get too personal, during 2016 I had the following things happen:</p>
<ul>
<li>I changed companies…I know this isn’t exactly personal but in a way it was.</li>
<li>My oldest son’s Godmother passed away 5 weeks after finding out she had cancer.</li>
<li>My Father-in-law passed away after a long battle with multiple cancers.</li>
<li>I adopted my wife’s two teenage boys. (Definitely was an amazing day!)</li>
<li>I ended up being hospitalized for a hemorrhagic stroke with no deficits. (Thank God for it not causing any deficits!)</li>
</ul>
<p>So needless to say, personally this year was very trying with both ups and down which we all know one can only handle so much before their Dixie cup is overflowing. I have to say that I handled all of that pretty damn good considering everything.</p>
<h4 id="professional-life">Professional Life</h4>
<hr />
<p>Professionally, 2016 was a good year. What can you really say about your professionally life? Work is work and we do our best to keep things separated. Most of us do a really good job of it too. Here are some of the things that happened for me this year:</p>
<ul>
<li>I changed companies to help spearhead a new practice and lead a team. This has been amazing and definitely something I am proud of.</li>
<li>I was also asked to start helping develop some of the VMware certification exams as a subject matter expert. This was something that I felt was a ton of fun and definitely challenging. I got to meet quite a few awesome people that I have kept in touch with through that process. I hope to continue my contributions to the certification tracks.</li>
<li>I have been on and off working on my VCDX design due to time and the things that were going on in my personal life.</li>
</ul>
<p>Overall, I was able to maintain pretty well.</p>
<p>Now some of you may be reading this wondering, “Why the hell is he telling me all of this?”</p>
<p>I completely understand if you asked yourself that. Just like everything in my life, things happen to pop up without notice and so you have to tackle things as you can and try to appropriate them to your goals and life. One of those things was an opportunity that was presented to me. One that I have been toying with for a while now. I have talked the ears off of a bunch of people over the past year or two regarding where I am at in my career and what might be next for me. What is this opportunity, you ask. Well let me tell you,</p>
<blockquote>
<p>I saved 15% by switching to Geico.</p>
</blockquote>
<p>Hahahaha, just kidding, seriously though, I have decided to make the jump and join <strong>VMware</strong> as <strong>Senior Technical Solutions Architect</strong> on the <strong>Global Services Engineering Team</strong>. This is definitely something that I am extremely excited about. I am looking forward to the transition from the Partner-side to the Vendor-side and essentially, the <em>Mothership</em>.</p>
<p>This is not to say that I was unhappy at my previous employer…hell…things were just fine for me there. I have been toying with the idea of moving over to VMware for quite some time. The opportunity came knocking once again and this time I felt I was ready to make that jump.</p>
<h4 id="site-changes">Site Changes</h4>
<hr />
<p>I probably should have written this first but for those of you who have been to my site before, you see that I have switched to a new look. This look is extremely simple and pretty minimal. I believe it is easier to read the content this way. So I hope you enjoy the new design.</p>
<p>So here is to the next year and hopefully a not-so-personally stressful 2017. I hope to be back in the groove of things and blogging again. See you soon!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comSo I know that it has been quite a while since I have posted anything. Needless to say that we all have things that come up in our lives that keep us from doing some of the things we would normally do or things that people would expect us to normally do. This is exactly what has happened to me and this site. There are quite a few things that have happened in the last year, so I feel that I should outline some of those things.Change is Good2016-04-04T11:00:00-05:002016-04-04T11:00:00-05:00http://vsential.com/2016/04/04/change-is-good<blockquote>
<p>Life belongs to the living, and he who lives must be prepared for changes.
– <strong><em>Johann Wolfgang von Goethe</em></strong></p>
</blockquote>
<p>The quote above is one that I feel is suitable for the changes that are happening in my life and career. Before I go into it, let me begin with the last three years of my career.</p>
<p>Three years ago I made the change from the customer side to the VAR space. I took a position with GDT in Dallas, TX as a Datacenter Consulting Engineer. This took me from one side of the table to the other side. No longer was I involved in conversations where I was the one answering questions regarding requirements and upcoming tech, I was now the one doing the questioning and guiding customers to the best of my ability. I was providing solutions to problems from an outsider perspective. This was something that I had contemplated doing for years and finally was afforded the opportunity to make that leap.</p>
<p>During my time at GDT I met many people who made a great impact on my life and career. Those people know who they are. I made new friends and built some long lasting relationships, both personally and professionally. I also reaped the benefit of the “nod”, the “pat on the back”, and the thanks for “pointing us in the right direction”.</p>
<p>Shortly after my beginning at GDT I was afforded another opportunity within the organization to take over as Principal Consultant of the Datacenter Practice. In my role I was challenged more by having to focus on technical futures for the team as a whole, focusing on technical direction and mentoring engineers. This in itself was a fun and challenging deal. I got to mentor engineers and help them grow as I was once aided in a similar fashion. Over the years I got to see many engineers move on to bigger and better things in their careers. The fact that I got to say that I played a part in helping them grow professionally and technically was amazing and such a great feeling.</p>
<p>In our industry we all know that change is evident. It is the nature of the beast and bears the fruit of innovation. We, therefore, look to keep a constant eye on change and try our best to stay on top of it all in order to stay relevant and provide value as we grow.</p>
<blockquote>
<p>The most glorious moments in your life are not the so-called days of success, but rather those days when out of dejection and despair you feel rise in you a challenge to life, and the promise of future accomplishments. – <strong><em>Gustave Flaubert</em></strong></p>
</blockquote>
<p>Well, my time to continue growing is now…I didn’t make the leap into the vendor space just yet, but rather, took on a new challenge at a new company.</p>
<p>I was approached by a colleague regarding my potential involvement in building a new practice. This would be the first time I have ever built a practice from scratch, a challenge in itself. After a few talks with various people at the company and speaking with some of my close friends regarding my career and path for growth, I decided to accept the challenge.</p>
<p>So…I am proud to say that I have accepted a position with <strong>Sigma Solutions, Inc.</strong> as the <strong>Principal/Practice Lead</strong> of their new <strong>Data Center Transformation Practice</strong>. I am very excited to take on this new opportunity and look forward to the coming years as I help build this practice for Sigma.</p>James Bowlingjames[dot]bowling[at]vsential[dot]comLife belongs to the living, and he who lives must be prepared for changes. – Johann Wolfgang von GoetheExport vRealize Automation 7 Blueprints2016-02-26T15:58:19-06:002016-02-26T15:58:19-06:00http://vsential.com/2016/02/26/export-vrealize-automation-7-blueprints<p>Now that people are starting to build out vRealize Automation 7 in some environments, we find that we need to use some of the new features, or at least, we want to use the new features. One of the new features was the ability to export blueprints from vRA. This feature is not one that you will find in the vRA UI, oddly enough. (Ooooh…sounds like another potential blog post and project) VMware has given us a tool to use called <a href="https://developercenter.vmware.com/tool/cloudclient/4.0.0">vRealize CloudClient</a>. vRealize CloudClient is a command-line tool that allows you to interface with the vRealize Automation API.</p>
<p>Many people who are use to writing scripts may find this tool extremely useful for some quick and dirty tasks. Hell, some may even find that it can be used for some more advanced and complex tasks. I am one of those people who was brought up in a Linux environment so I feel at home on the command-line. I digress, I needed to export all of my blueprints that I created…somewhere in the range of about 100 or so. I definitely didn’t want to recreate them one by one so in comes the ability to utilize the export blueprint functionality.</p>
<p>To get started you need to download the vRealize CloudClient from <a href="https://developercenter.vmware.com/tool/cloudclient/4.0.0">here</a> and unzip it to a directory of your choosing. For me, on my Macbook, I just unzipped it to <code class="highlighter-rouge">/Users/james/CloudClient</code>. You can also use the tool on Windows, just change the script file that you execute from the command-line, if you look in the directory you will see <code class="highlighter-rouge">cloudclient.[bat|sh]</code>. You can use this tool interactively by just executing the cloudclient.[bat|sh] script. I won’t go into this as it is out of the scope of this article. When you go to export blueprints, you can only export one at a time.</p>
<blockquote>
<p>That isn’t efficient for this use case, James!</p>
</blockquote>
<p>I wasn’t about to sit here and run <code class="highlighter-rouge">vra blueprint detail --id <bluePrintId></code> for every single blueprint I had. Have no fear though, I wrote a script that you can reuse to export all of the blueprints. I wrote this script to work on my Mac so it should also work in Linux. I am sure with some clever fixing it can be made to run on Windows but I may let someone else tackle that. Anyway, on to the script. First we need to set some environment variables, so I have created a script to include in all of my scripts for this purpose. Let’s call it <code class="highlighter-rouge">env.sh</code>. Here is the script:</p>
<figure class="highlight"><code class="language-bash" data-lang="bash"><table class="rouge-table"><tbody><tr><td class="gutter gl"><pre class="lineno">1
2
3
4
5
6
7
</pre></td><td class="code"><pre><span class="c">#!/bin/sh</span>
<span class="nb">export </span><span class="nv">vra_server</span><span class="o">=</span>vra.vsential.lab
<span class="nb">export </span><span class="nv">vra_username</span><span class="o">=</span>tenantadmin
<span class="nb">export </span><span class="nv">vra_password</span><span class="o">=</span>myPassword
<span class="nb">export </span><span class="nv">vra_tenant</span><span class="o">=</span>myTenant
<span class="nb">export </span><span class="nv">cloudclient_home</span><span class="o">=</span>/Users/james/cloudclient</pre></td></tr></tbody></table></code></figure>
<p>As you can see above, I have used a plaintext password. There are other methods that involve using keys but for the sake of simplicity I chose to use a plaintext password passed through here. The above script will set the environment variables required to make a connection to your vRA server from the CloudClient.</p>
<p>Now we need to create the script that will actually make the magic happen. Let us create another script and call it <code class="highlighter-rouge">exportBlueprints.sh</code>. Here is the script that I created:</p>
<figure class="highlight"><code class="language-bash" data-lang="bash"><table class="rouge-table"><tbody><tr><td class="gutter gl"><pre class="lineno">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre><span class="c">#!/bin/sh</span>
<span class="c">#########################################################################################</span>
<span class="c">#</span>
<span class="c"># CloudClient : Cloud Solutions Engineering, Management Business Unit, VMware</span>
<span class="c"># Description : Script to export all blueprints</span>
<span class="c"># Date : February 2016</span>
<span class="c"># Version : vRA 7.0</span>
<span class="c">#</span>
<span class="c">#########################################################################################</span>
<span class="c">#</span>
<span class="c"># Setup environment variables for auto login to CloudClient Shell</span>
<span class="nb">.</span> ./env.sh
<span class="c"># Execute CloudClient</span>
<span class="nv">$cloudclient_home</span>/bin/cloudclient.sh vra blueprint list <span class="nt">--format</span> CSV <span class="nt">--export</span> /tmp/list-blueprints.txt
<span class="c"># Parse output and massage</span>
<span class="nb">cat</span> /tmp/list-blueprints.txt | awk <span class="nt">-F</span> , <span class="o">{</span><span class="s1">'print $1'</span><span class="o">}</span> | sed <span class="s1">'1d'</span> <span class="o">></span> /tmp/blueprintIds.txt
<span class="c"># Loop through to export each blueprint</span>
<span class="k">for </span>i <span class="k">in</span> <span class="sb">`</span><span class="nb">cat</span> /tmp/blueprintIds.txt<span class="sb">`</span><span class="p">;</span> <span class="k">do</span>
<span class="nv">$cloudclient_home</span>/bin/cloudclient.sh vra blueprint detail <span class="nt">--id</span> <span class="nv">$i</span> <span class="nt">--export</span> /tmp/<span class="nv">$i</span>.yaml<span class="p">;</span>
<span class="k">done</span>
<span class="c"># Logout CloudClient</span>
<span class="nv">$cloudclient_home</span>/bin/cloudclient.sh vra <span class="nb">logout</span></pre></td></tr></tbody></table></code></figure>
<p>In line <em>12</em>, we are calling our environment variable script to set the variables we want for connection to vRA through the CloudClient shell.</p>
<p>In line <em>15</em>, we call the CloudClient script with the command of <code class="highlighter-rouge">vra blueprint list</code> with some options to generate a list of the blueprints in your tenant.</p>
<p>In line <em>18</em>, we are stripping off the second returned value for each line since the command on line 15 returns <em>_id, name_</em> and we only want the id for our script.</p>
<p>In lines <em>21-23</em>, we take the massaged output and run through a loop for each one until complete, exporting the blueprint to a YAML file for use to import.</p>
<p>Just kick off the script from the command-line and watch it export each one of your blueprints. The process still takes a while because it seems like the CloudClient checks the active session each time it runs because of the way we call the script. (If someone else knows different or another way to speed this up then please let me know!)</p>
<p>I hope that this saves you some time. This can also open up the doors to more exciting ways to manage or create blueprints. Let me know in the comments what use cases you see coming from this!</p>
<h4 id="updates">Updates</h4>
<ul>
<li>Added logout at the end of the script (03/18/2016)</li>
</ul>James Bowlingjames[dot]bowling[at]vsential[dot]comNow that people are starting to build out vRealize Automation 7 in some environments, we find that we need to use some of the new features, or at least, we want to use the new features. One of the new features was the ability to export blueprints from vRA. This feature is not one that you will find in the vRA UI, oddly enough. (Ooooh…sounds like another potential blog post and project) VMware has given us a tool to use called vRealize CloudClient. vRealize CloudClient is a command-line tool that allows you to interface with the vRealize Automation API.New Look…Fresh Feel2016-02-26T13:58:18-06:002016-02-26T13:58:18-06:00http://vsential.com/2016/02/26/new-look/new-look...fresh-feel<p>I am not quite sure why but I decided to change the look of my site again. I know that I was not on the old design for long but I just felt it was lacking. I have moved to what I feel is a better design with a very similar feel. The feel and flow of the previous site was nice so I kept most of that in this new design. I will be continuing to add functionality to the site and will add the search back soon. I hope everyone understands and I hope you enjoy this “easier on the eyes” design!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comI am not quite sure why but I decided to change the look of my site again. I know that I was not on the old design for long but I just felt it was lacking. I have moved to what I feel is a better design with a very similar feel. The feel and flow of the previous site was nice so I kept most of that in this new design. I will be continuing to add functionality to the site and will add the search back soon. I hope everyone understands and I hope you enjoy this “easier on the eyes” design!VMware vCenter Server Appliance v6 Services2016-02-09T17:01:25-06:002016-02-09T17:01:25-06:00http://vsential.com/2016/02/09/vmware-vcenter-server-appliance-v6-services<p>So I have been asked by a few people,</p>
<blockquote>
<p>“James, how do I restart the [vCSA] services from the cli and what order do I need to start/stop/restart them in?”</p>
</blockquote>
<p>Some people have not truly ventured into the inner workings of the vCenter Server Appliance (VCSA) to troubleshoot stuff on their own yet. The biggest reason I could see this being the case is due to most people being accustomed to building a Windows-based vCenter server. On top of that, some people are just not comfortable with Linux. Either way, here is some information on how to restart the services and the order they start in just in case one needs to restart the services individually.</p>
<p>You will want to ssh into the VCSA as root. VMware has made it very easy to restart all of the services required to get the VCSA back up and running. The command that has all of the awesomeness built in is <code class="highlighter-rouge">service-control</code>. <sarcasm>The sheer thought that went into naming that command is amazing!</sarcasm> It can be used like so:</p>
<p>Stop all VCSA Services:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell">service-control <span class="nt">--stop</span> <span class="nt">--all</span></code></pre></figure>
<p>Start all VCSA Services:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell">service-control <span class="nt">--start</span> <span class="nt">--all</span></code></pre></figure>
<p>Get current status of all VCSA Services:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell">service-control <span class="nt">--status</span></code></pre></figure>
<p>List all VCSA Services:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell">service-control <span class="nt">--list</span></code></pre></figure>
<p>The above commands will allow you to control all of the services in one command as opposed to doing each command individually. If you need to start/stop a specific service then you can use the same command. To do this, use the command like this:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell">service-control <span class="nt">--</span><span class="o">[</span>start/stop] serviceName</code></pre></figure>
<p>Now, <code class="highlighter-rouge">serviceName</code> is derived from the <code class="highlighter-rouge">service-control --list</code> command. For your reference, here is the output of that command:</p>
<figure class="highlight"><pre><code class="language-shell" data-lang="shell"><span class="c"># service-control --list</span>
applmgmt <span class="o">(</span>VMware Appliance Management Service<span class="o">)</span>
vmware-cis-license <span class="o">(</span>VMware License Service<span class="o">)</span>
vmware-cm <span class="o">(</span>VMware Component Manager<span class="o">)</span>
vmware-eam <span class="o">(</span>VMware ESX Agent Manager<span class="o">)</span>
vmware-sts-idmd <span class="o">(</span>VMware Identity Management Service<span class="o">)</span>
vmware-invsvc <span class="o">(</span>VMware Inventory Service<span class="o">)</span>
vmware-mbcs <span class="o">(</span>VMware Message Bus Configuration Service<span class="o">)</span>
vmware-netdumper <span class="o">(</span>VMware vSphere ESXi Dump Collector<span class="o">)</span>
vmware-perfcharts <span class="o">(</span>VMware Performance Charts<span class="o">)</span>
vmware-psc-client <span class="o">(</span>VMware Platform Services Controller Client<span class="o">)</span>
vmware-rbd-watchdog <span class="o">(</span>VMware vSphere Auto Deploy Waiter<span class="o">)</span>
vmware-rhttpproxy <span class="o">(</span>VMware HTTP Reverse Proxy<span class="o">)</span>
vmware-sca <span class="o">(</span>VMware Service Control Agent<span class="o">)</span>
vmware-sps <span class="o">(</span>VMware vSphere Profile-Driven Storage Service<span class="o">)</span>
vmware-stsd <span class="o">(</span>VMware Security Token Service<span class="o">)</span>
vmware-syslog <span class="o">(</span>VMware Common Logging Service<span class="o">)</span>
vmware-syslog-health <span class="o">(</span>VMware Syslog Health Service<span class="o">)</span>
vmware-vapi-endpoint <span class="o">(</span>VMware vAPI Endpoint<span class="o">)</span>
vmware-vdcs <span class="o">(</span>VMware Content Library Service<span class="o">)</span>
vmafdd <span class="o">(</span>VMware Authentication Framework<span class="o">)</span>
vmcad <span class="o">(</span>VMware Certificate Service<span class="o">)</span>
vmdird <span class="o">(</span>VMware Directory Service<span class="o">)</span>
vmware-vpostgres <span class="o">(</span>VMware Postgres<span class="o">)</span>
vmware-vpx-workflow <span class="o">(</span>VMware vCenter Workflow Manager<span class="o">)</span>
vmware-vpxd <span class="o">(</span>VMware vCenter Server<span class="o">)</span>
vmware-vsan-health <span class="o">(</span>VMware VSAN Health Service<span class="o">)</span>
vmware-vsm <span class="o">(</span>VMware vService Manager<span class="o">)</span>
vsphere-client <span class="o">()</span>
vmware-vws <span class="o">(</span>VMware System and Hardware Health Manager<span class="o">)</span></code></pre></figure>
<p>If you need to see the startup order then you can just follow the output of the <code class="highlighter-rouge">service-control --start</code> and <code class="highlighter-rouge">service-control --stop</code> commands. Each command has a specific start and stop order. As with any time spent in the cli of the VCSA, you need to proceed with great caution on the commands you enter. So here is the disclaimer…</p>
<blockquote>
<p>DO THIS AT YOUR OWN RISK!!!</p>
</blockquote>
<p>I know this seems like I am trying to scare you but I am just trying to make sure you pay close attention to what you are typing in the session as to not cause any issues. This is really important if you are unfamiliar with Linux and shell. Don’t be scared though, just be thorough! I hope that this helps and maybe even taught you something. Have fun!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comSo I have been asked by a few people,VMware Client Integration Plugin (CIP) v6.0 Issue on Mac OS X2016-02-01T00:00:00-06:002016-02-01T00:00:00-06:00http://vsential.com/2016/02/01/vmware-client-integration-plugin-(cip)-v6.0-issue<p>So for a little while I have noticed that I could not get the VMware Client Integration Plugin to work for v6.0. I had tried on multiple Mac machines that I have to isolate the issue. I was never able to really resolve the issue…until today. I decided to do some digging around on the CLI on my Mac to see if I could get any debug information.</p>
<p>First, I needed to find out where the CIP binaries were and what was being executed when a browser was opened. Of course, on any Mac, you will find the applications in <code class="highlighter-rouge">/Applications</code>. In this case, the full path to the CIP is <code class="highlighter-rouge">/Applications/VMware Client Integration Plug-in.app/Contents/Library</code>. In here you will find all of the contents of the CIP package. Two particular things to note are the <code class="highlighter-rouge">vmware-csd</code> and <code class="highlighter-rouge">vmware-csd-installer</code> binaries.
<img src="/assets/images/vmware-csd.png" alt="vmware-csd" /></p>
<p>After trying to run either one of the binaries from the CLI you will be faced with the following error:
<img src="/assets/images/vmware-csd-error1.png" alt="vmware-csd-error" />
As you can see, we have a potential error when trying to load a library. If we look to see if the requested library exists you will find that the directory it is looking for doesn’t exist. What does that mean? You guessed it, the library doesn’t exist…or at least not in the place the CIP is hoping to find it. Let’s fix that…</p>
<p>You will want to do the following to resolve this piece of the puzzle:</p>
<ol>
<li><code class="highlighter-rouge">cd /Applications/VMware Client Integration Plug-in.app/Contents/Library/lib</code></li>
<li><code class="highlighter-rouge">sudo mkdir -pv /build/toolchain/mac32/openssl-1.0.1p/lib</code><sup id="fnref:1"><a href="#fn:1" class="footnote">1</a></sup></li>
<li><code class="highlighter-rouge">sudo cp libcrypto.1.0.1.dylib /build/toolchain/mac32/openssl-1.0.1p/lib/.</code><sup id="fnref:1:1"><a href="#fn:1" class="footnote">1</a></sup></li>
<li><code class="highlighter-rouge">sudo cp libssl.1.0.1.dylib /build/toolchain/mac32/openssl-1.0.1p/lib/.</code><sup id="fnref:1:2"><a href="#fn:1" class="footnote">1</a></sup></li>
<li><code class="highlighter-rouge">cd /Applications/VMware Client Integration Plug-in.app/Contents/Library</code></li>
</ol>
<p>Once you do this, you can re-run the installer from the CLI to complete the installation. You do this by running <code class="highlighter-rouge">sudo ./vmware-csd-installer --install</code>. You will soon see some text scrolling by regarding installation. Give it a little bit to complete because it will sit for a minute at one spot when creating the SSL cert.</p>
<p>When you see this has completed you can test by running the other binary which is the actual CIP binary. Do this by running <code class="highlighter-rouge">./vmware-csd</code>. You will see the following:
<img src="/assets/images/vmware-csd-test.png" alt="vmware-csd-test" /></p>
<p>If your results look like the above image then you should be good to go in both Chrome and Firefox. I know this isn’t a pretty fix but at least we can use the functionality again.</p>
<p>Hope this helps out! Let me know if you run into any issues or if this does not work for you!</p>
<div class="footnotes">
<ol>
<li id="fn:1">
<p>02.03.2017 - Path to the libraries have been updated due to updates to openssl on macOS. <a href="#fnref:1" class="reversefootnote">↩</a> <a href="#fnref:1:1" class="reversefootnote">↩<sup>2</sup></a> <a href="#fnref:1:2" class="reversefootnote">↩<sup>3</sup></a></p>
</li>
</ol>
</div>James Bowlingjames[dot]bowling[at]vsential[dot]comSo for a little while I have noticed that I could not get the VMware Client Integration Plugin to work for v6.0. I had tried on multiple Mac machines that I have to isolate the issue. I was never able to really resolve the issue…until today. I decided to do some digging around on the CLI on my Mac to see if I could get any debug information.vCenter Server Appliance v6.0 Upgrade Login Issue2016-01-21T04:15:14-06:002016-01-21T04:15:14-06:00http://vsential.com/2016/01/21/vcenter-server-appliance-v6.0-upgrade-login-issue<p>So today I ran across an interesting issue after deciding to upgrade the vCenter Server Appliance in my lab environment. After applying the upgrade patches it seems that I was having trouble logging into the Web Client with <strong>any</strong> credentials. It didn’t seem to matter what credentials were used. Every time I would attempt to login I would receive an error that stated:</p>
<blockquote>
<p>Username and password are required.</p>
</blockquote>
<p>This was very odd…so here is what I did that seem to clear the issue.</p>
<ol>
<li>Cleared my browsing history.</li>
<li>Removed the certificate for the vCenter from my local machine. (<em>I did this because I was using a self-signed cert</em>)</li>
<li>Opened a new tab in my browser and connected to the vSphere Web Client.</li>
</ol>
<p>Odd behavior and somewhat bothersome fix. What was weird to me is I tried just clearing my browser history and that didn’t seem to fix it. It only worked once I removed the accepted self-signed certificate. Just wanted to note this in case someone else ran into the same issue. Hope this helps!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comSo today I ran across an interesting issue after deciding to upgrade the vCenter Server Appliance in my lab environment. After applying the upgrade patches it seems that I was having trouble logging into the Web Client with any credentials. It didn’t seem to matter what credentials were used. Every time I would attempt to login I would receive an error that stated:Automate/Orchestrate - Yes, Please!2016-01-05T16:16:51-06:002016-01-05T16:16:51-06:00http://vsential.com/2016/01/05/automate-orchestrate-yes-please<p>Most of you know that I am a Principal Consultant/Architect for a VAR in Texas. If you didn’t know that then now you do…any-who…I am often receiving emails from customers with various questions regarding portions of their infrastructure or questions around futures. I am sure that most of you have found that yourself or your management chain wants to dabble in automation within your infrastructure. This could be anything from simple automation of a menial task to full blown end-to-end provisioning. Can we all agree that automation is something that we want to see somewhere in our environments? Of course we can! :)</p>
<p>My rant, well, not really a rant but more of an educational diarrhea of the mouth, begins here…</p>
<p>People always tell me that they want to automate or orchestrate their environment. They also follow that statement with the same question:</p>
<blockquote>
<p>What cloud automation tool or platform should I be using in my environment to automate?</p>
</blockquote>
<p>I am not one who typically beats around the bush or sugar coats anything. (Those of you who know me know this!) For some reason that statement and question combination always makes me cringe or shake my head. I want to take this time to try to clear the air with everyone who has said/asked this. The first thing you need to understand is the difference between automation and orchestration. Allow me to explain…</p>
<p>Automation, by definition, is the technique, method, or system of operating or controlling a process by highly automatic means, as by electronic devices, reducing human intervention to a minimum. <em>(Source: Dictionary.com)</em> We can modify a portion of this when looking at this from our industry by replacing “electronic devices” with “scripting/coding”. Fair enough? Ok, good. To continue, we would typically “automate” <strong>individual tasks</strong> within a process workflow. Who likes symphonies? I do…so think of the automated tasks as individual sections in an orchestra. Each one has a specific set of notes to play at a specific time, which can be looked at as a task.</p>
<p>Orchestration, by definition, is to arrange or manipulate, especially by means of clever or thorough planning or maneuvering. <em>(Source: Dictionary.com)</em> This can be thought of in the manner of a conductor of a symphony. The conductor has all the music in front of him, which is used to create the final masterpiece. He “orchestrates” each section within the symphony, giving them their timing, letting them know when to play and how to keep the correct tempo. Orchestration in our environments is much like this as it is used to manipulate automated tasks to reach an expected consistent end result.</p>
<p>Now you might ask, what the hell are you talking about, James? This allows me to lead into my typical discussion with people about this topic. Here we go…</p>
<p>One needs to fully understand what they are trying to achieve initially and what they are wanting to achieve as their end goal. Ask yourself some questions?</p>
<ul>
<li>Do you have a good documented process of what you want to automate?</li>
<li>What do you want to automate or orchestrate?</li>
<li>What steps are required to reach point B from point A?</li>
<li>Do I really need to automate that task?</li>
<li>Are these tasks part of a bigger picture?</li>
<li>Do I really need to orchestrate that process?</li>
<li>Do you often find mistakes and non-standard methods of doing a task that is commonplace in your organization?</li>
</ul>
<p>There are so many more questions that can be asked. Once you have asked yourself those questions then you are ready to move on to the next portion of your journey…the tools to be used. Often you will find that the tools to be used will be dictated by a couple of things that are right in front of you. Things like staff competencies, budget, methods of communicating with various applications within your infrastructure and so on. These are all things that can dictate a tool to be used to accomplish your automation/orchestration goals.</p>
<p>Be careful to choose your tools as you need to make sure that they are ones that can be utilized as the technology changes. One might ask, “Is there a single tool to rule them all?” I would be the first to say that there is not, some might say different but to each their own. You will often find a few different tools that are being used in conjunction with each other to achieve the big picture. Now do you need multiple tools? Of course, it is all dependent on what you are trying to achieve. Simple automation can be done with simple scripting tools (ie. PowerShell, Python, Ruby, Bash, etc.). More complex end-to-end orchestration will require a little more sprockets to make the world go ‘round. This is when you would start to look at various Cloud Management Platforms (CMP), Continuous Integration and other tools to facilitate your needs. There are quite a few out there and no one is better than the other for all. The best one is the one that suits your business goals and needs both now and possibly in the future.</p>
<p>I hope that this helps out a little bit with the thought process and helps you achieve a roadmap for your automation/orchestration goals. Feel free to comment below and we can definitely discuss further!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comMost of you know that I am a Principal Consultant/Architect for a VAR in Texas. If you didn’t know that then now you do…any-who…I am often receiving emails from customers with various questions regarding portions of their infrastructure or questions around futures. I am sure that most of you have found that yourself or your management chain wants to dabble in automation within your infrastructure. This could be anything from simple automation of a menial task to full blown end-to-end provisioning. Can we all agree that automation is something that we want to see somewhere in our environments? Of course we can! :)Migrating to GitHub Pages2015-12-14T19:23:53-06:002015-12-14T19:23:53-06:00http://vsential.com/2015/12/14/migrating-to-github-pages<p>So today marks the day where I start my journey migrating off of <a href="http://wpengine.com">wpEngine</a> and moving to <a href="http://pages.github.com">GitHub Pages</a>. During this transition please bare with me as I get the content out of <a href="http://wordpress.com">Wordpress</a> and into proper Markdown format. I will be posting an update article once this is complete to talk about why I have made this transition. I know I have been dormant for quite some time but I will be hitting the ground running yet again here very shortly. This is the first step for me to get everything inline for me to start bringing more content back to the community. Thanks for sticking around and I hope to see you guys soon!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comSo today marks the day where I start my journey migrating off of wpEngine and moving to GitHub Pages. During this transition please bare with me as I get the content out of Wordpress and into proper Markdown format. I will be posting an update article once this is complete to talk about why I have made this transition. I know I have been dormant for quite some time but I will be hitting the ground running yet again here very shortly. This is the first step for me to get everything inline for me to start bringing more content back to the community. Thanks for sticking around and I hope to see you guys soon!NSX Edge - Troubleshooting via CLI2014-08-11T10:00:37-05:002014-08-11T10:00:37-05:00http://vsential.com/2014/08/11/nsx-edge-troubleshooting-via-cli<p>So let us continue down the path of the various commands to help troubleshooting. We have been down the path of the VXLAN via esxcli, NSX Controller and Logical Switching, the NSX Controller and Logical Routing/Bridging, and using net-vdr. Now we can move into troubleshooting from the NSX Edge device.</p>
<h3 id="what-is-a-nsx-edge">What is a NSX Edge?</h3>
<p>NSX Edge provides network edge security and gateway services to isolate your virtualized networks. You can install an NSX Edge either as a logical (distributed) router or as a services gateway. The NSX Edge logical (distributed) router provides East-West distributed routing with tenant IP address space and data path isolation. Virtual machines or workloads that reside on the same host on different subnets can communicate with one another without having to traverse a traditional routing interface. The NSX Edge gateway connects isolated, stub networks to shared (uplink) networks by providing common gateway services such as DHCP, VPN, NAT, dynamic routing, and Load Balancing. Common deployments of NSX Edge include in the DMZ, VPN Extranets, and multi-tenant Cloud environments where the NSX Edge creates virtual boundaries for each tenant.</p>
<p>Without further ado, shall we?</p>
<p>So one thing we would want to see would be how many interfaces exist on a particular NSX Edge device. To do this, you would simply run the following on the NSX Edge: <code class="highlighter-rouge">show interface all</code></p>
<p>As stated before, one way to deploy NSX Edge is in services gateway mode. Here are some commands you can run to view the status of some of those services:</p>
<ul>
<li>OSPF: <code class="highlighter-rouge">show ip ospf</code></li>
<li>DHCP: <code class="highlighter-rouge">show service dhcp</code></li>
<li>Loadbalancer: <code class="highlighter-rouge">show service loadbalancer</code></li>
</ul>
<p>Need to see the configuration of services on the NSX Edge? Run these:</p>
<ul>
<li>Firewall: <code class="highlighter-rouge">show configuration firewall</code></li>
<li>OSPF: <code class="highlighter-rouge">show configuration ospf</code></li>
<li>NAT: <code class="highlighter-rouge">show configuration nat</code></li>
</ul>
<p>Hopefully you find these as a good starting point for your NSX Edge Troubleshooting. Of course, a lot of this can be done through the GUI but it is ALWAYS a good idea, IMHO, to be conscious of any CLI commands and their use. Hope this helps and see you again next time!</p>James Bowlingjames[dot]bowling[at]vsential[dot]comSo let us continue down the path of the various commands to help troubleshooting. We have been down the path of the VXLAN via esxcli, NSX Controller and Logical Switching, the NSX Controller and Logical Routing/Bridging, and using net-vdr. Now we can move into troubleshooting from the NSX Edge device.