First let me say, I love VCS, it took all of the complexity out of using NetApp storage in a vSphere environment. I have been tolerating one annoyance for quite some time now, and this morning said annoyance broke VCS at a customer site. What’s wrong with VCS? Well, for some reason it forces you to register the plugin with vCenter using an IP address. Due to an over-restrictive proxy configuration, which caused only fully qualified domain names(FQDN) worked. Any IP address was redirected to an web page that explained said over-restricted policy, because VCS is mainly a web page the use of an IP address broke everything. I searched around a little, and found Williams Lams post on removing plug-ins with the MOB. Once I found the pivot point for Plug-ins, I searched the API Reference, and found the ExtensionManager object. Now that I had the Object in hand, I fired up PowerCLI and in less than 10 min figured out how to manually adjust the URL VSC used. It was so easy that I think I’m going to try and slap together a quick module to manage plug-ins via PowerCLI, but in the meantime if you, like me, have been frustrated by VSCs use of an IP address… try this.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<span style="color: #ff4500;">$URL</span> <span style="color: #a9a9a9;">=</span> <span style="color: #8b0000;">'https://VCS.getadmin.local:8143/vSphereExtensionDescriptor.xml'</span> <span style="color: #006400;"># Get the Service Instance..</span> <span style="color: #ff4500;">$SI</span> <span style="color: #a9a9a9;">=</span> <span style="color: #0000ff;">Get-View</span> <span style="color: #8a2be2;">serviceinstance</span> <span style="color: #006400;"># Get the extension manager</span> <span style="color: #ff4500;">$ExtensionManager</span> <span style="color: #a9a9a9;">=</span> <span style="color: #0000ff;">get-view</span> <span style="color: #ff4500;">$SI</span><span style="color: #8a2be2;">.Content.ExtensionManager</span> <span style="color: #006400;"># filter for the NetApp VSC extention</span> <span style="color: #ff4500;">$extention</span> <span style="color: #a9a9a9;">=</span> <span style="color: #ff4500;">$ExtensionManager</span><span style="color: #a9a9a9;">.</span><span style="color: #000000;">ExtensionList</span> <span style="color: #a9a9a9;">|</span> <span style="color: #0000ff;">Where-Object</span> <span style="color: #000000;">{</span><span style="color: #ff4500;">$_</span><span style="color: #a9a9a9;">.</span><span style="color: #000000;">key</span> <span style="color: #a9a9a9;">-eq</span> <span style="color: #8b0000;">'com.netapp.nvpf'</span><span style="color: #000000;">}</span> <span style="color: #006400;"># Change the URL to use a FQDN vice an IP address</span> <span style="color: #ff4500;">$extention</span><span style="color: #a9a9a9;">.</span><span style="color: #000000;">Client</span><span style="color: #a9a9a9;">[</span><span style="color: #800080;">0</span><span style="color: #a9a9a9;">]</span><span style="color: #a9a9a9;">.</span><span style="color: #000000;">url</span> <span style="color: #a9a9a9;">=</span> <span style="color: #ff4500;">$URL</span> <span style="color: #006400;"># Save our updated extention!</span> <span style="color: #ff4500;">$ExtensionManager</span><span style="color: #a9a9a9;">.</span><span style="color: #000000;">UpdateExtension</span><span style="color: #000000;">(</span><span style="color: #ff4500;">$extention</span><span style="color: #000000;">) ~Glenn </span> |