WilliamLam.com

  • About
    • About
    • Privacy
  • VMware Cloud Foundation
  • VKS
  • Homelab
    • Hardware Options
    • Hardware Reviews
    • Lab Deployment Scripts
    • Nested Virtualization
    • Homelab Podcasts
  • VMware Nostalgia
  • Apple

Unable to apply VSAN VM Storage Policy on NSX Controller/Edge VMs?

01.07.2015 by William Lam // 6 Comments

This post was inspired by a recent Twitter conversation with Joep Piscaer who ran into an interesting challenge with VSAN and NSX.

I want to apply a VSAN VM Storage Policy to a NSX Controller, but I’m getting an "The method is disabled by ‘vShield_SVM’” error. Any ideas?

— Joep Piscaer (@jpiscaer) December 31, 2014

The issue that Joep encountered was not being able to apply a VSAN VM Storage Policy onto an NSX Controller VM which resided on a VSAN Datastore. Below is a screenshot of the error message "The method is disabled by vShield_SVM" if you tried to apply the VM Storage Policy.

disabled_methods_on_vms_1
The reason Joep is seeing this error is because the NSX Controller VM is a special "Service VM" that is being managed by a specific solution, in this case it is VMware NSX. To ensure that users do not accidentally modify these "Service VMs", certain set of functionality has been disabled on these VMs from regular users. Any configuration changes that are required are initiated through the solution itself which has full administrative access to these VMs. This issue is actually not specific to the NSX Controller VMs but also applies to the NSX Edge VMs: ESR (Edge Service Router) and DLR (Distributed Logical Router).

In fact, this applies to any "Service VMs" which are being managed by a VMware Solution or 3rd party Solution. You will notice that you will not be able to edit these VMs like you would normally on other VMs. One suggestion from a community member was to check out the VMware KB 2008957 which has users manually tweaking the VCDB, which I am not a big fan of if I can help it. If you want to know why I do not recommend this, check out this post here where kittens might get harmed. Now, getting back to Joep's request, is there a solution for him? After all, his request is a valid one where he has deployed an NSX Controller VM on a VSAN Datastore and wishes to apply a specific VSAN VM Storage Policy.

Luckily, there is cleaner work around that does not involve messing around with the VCDB and crafting ugly SQL queries. The way these "methods" or operations are disabled on a particular set of VMs is through the use of a private vSphere API available through vCenter Server called disableMethods. You can actually view the list of disableMethods by viewing a particular VM using the vSphere MOB under config->disableMethod property as seen in the screenshot below.

disabled_methods_on_vms_2
The list of disableMethods map to the specific vSphere API calls for a VM and in the case of modifying a VM which includes applying a VM Storage Policy, the method that is used is is called the ReconfigVM_Task which we can see in the screenshot mapping to vim.VirtualMachine.reconfigure. If we want to be able to apply a VM Storage Policy, we simply just need to temporarily remove this particular operation from the disabbleMethods list.

Here are the instructions for enabling ReconfigVM_Task method:

Step 1 - You will need to find the MoRef (Managed Object Reference) ID of the VM that you wish to enable the method on. You can do this by either browsing through the vSphere MOB, using this vSphere SDK for Perl script or this PowerCLI snippet:

Get-VM -Name [VM-NAME] | ft -Property Id

Step 2 - Open a web browser to the following URL:

https://[VC-IP]/mob/?moid=AuthorizationManager&method=enableMethods

Step 3 - You will need to replace the following two parameters (make sure to replace the VM MoRef ID with the one you found in Step 1):

parameter value
entity <entity type="ManagedEntity" xsi:type="ManagedObjectReference">vm-35</entity>
method <method>ReconfigVM_Task</method>

Step 4 - Once you have updated fields as shown in the screenshot below, to execute the API call you just need to click on the "Invoke Method" link on the bottom right.

disabled_methods_on_vms_3
If everything was successful, you should see some output from the operation listing the methods that are still currently disabled. You can also confirm that everything is working by refreshing the vSphere Web Client or if you are using the vSphere C# Client, the "Edit Settings" option should now be available. Lastly, if I now apply a VSAN VM Storage Policy, I will no longer get the error and as you can see from the screenshot below, I now have successfully applied my "VSAN-Platinum-VM-Storage-Policy" for my NSX Controller VM. I would strongly recommend that you re-enable the original disable method by following the instructions below.

disabled_methods_on_vms_4

Here are the instructions for disabling ReconfigVM_Task method:

Step 1 - You will need to find the MoRef (Managed Object Reference) ID of the VM that you wish to enable the method on. You can do this by following Step 1 from the enable instructions

Step 2 - Open a web browser to the following URL:

https://[VC-IP]/mob/?moid=AuthorizationManager&method=disableMethods

Step 3 - You will need to replace the following three parameters (make sure to replace the VM MoRef ID with the one you found in Step 1 and any random number works for sourceId property):

parameter value
entity <entity type="ManagedEntity" xsi:type="ManagedObjectReference">vm-35</entity>
method <DisabledMethodRequest><method>ReconfigVM_Task</method><DisabledMethodRequest>
sourceId 1234

Step 4 - Once you have updated fields as shown in the screenshot below, to execute the API call you just need to click on the "Invoke Method" link on the bottom right.

disabled_methods_on_vms_5
If everything was successful, you should see a void output and if you go to your vSphere Web/C# Client, you should see that the "Edit Settings" option is now disabled again for this VM. Though applying a VSAN VM Storage Policy is pretty trivial, there are some additional things to be aware of when working with special "Service VMs" like the NSX Controller. Hopefully we can improve this workflow in the future and provide for a better user experience but in the mean time, you can use this workaround.

Categories // Automation, ESXi, NSX, VSAN Tags // disableMethods, enableMethods, mob, NSX, vm storage policy, vm storage profile, VSAN

Automate forwarding of vRealize Operations Manager logs to Syslog Server

01.06.2015 by William Lam // 3 Comments

Forwarding logs to a syslog server from vRealize Operations Manager has been greatly simplified with the latest 6.0 release. Instead of having to manually tweak syslog-ng.conf with past releases, there is now a new UI option under Administration->Support->Logs which allows you to easily configure syslog configurations. There are currently 4 loggers (Analytics, Collector, Web & SuiteAPI) that can be configured to be forwarded to a syslog server.

forward-vrealize-operations-manager-to-syslog-0
To configure using the vROps UI, you select the root logger folder and then click on the gears icon at the top. From here, you can configure the syslog server as well as the syslog port.

forward-vrealize-operations-manager-to-syslog-1
Though this is a nice UI enhancement, it would have been really nice to have been able to configure this using an API. In doing some digging, I found that you could still automate the syslog configurations by simply adding a couple of lines into the respective log4j.properties files:

vROps Logger Configuration File
Analytics /usr/lib/vmware-vcops/user/conf/analytics/log4j.properties
Collector /usr/lib/vmware-vcops/user/conf/collector/log4j.properties
Web /usr/lib/vmware-vcops/user/conf/web/log4j.properties
SuiteAPI /usr/lib/vmware-vcops/tomcat-enterprise/webapps/suite-api/WEB-INF/log4j.properties

Here is a simple shell script called configurevROpsSyslog.sh that you can run against your vROps instance to forward your logs. There are two variables SYSLOG_SERVER and SYSLOG_SERVER_PORT that will need to be updated before running the script. Here is an example of running the script that can come in handy to forwarding your logs to your favorite syslog server such as vRealize Operations Insight.

forward-vrealize-operations-manager-to-syslog-2
UPDATE (01/17/15) - Thanks to Steve Flanders for letting me know there is one additional location for configuring syslog which is the Audit logs located in under Administration->Audit. It looks like the configuration also goes into the Collector log4j.properties and I have updated my script to ensure this is also configured as part of the script.

Screen Shot 2015-01-17 at 9.43.35 PM

Categories // Automation Tags // log4j.properties, syslog, vcops, vRealize Operations Manager, vROps

List of VMware CLIs, SDKs & DevOps Tools

01.05.2015 by William Lam // 1 Comment

A frequent question that I get asked from customers and new developers that are looking to get started with VMware Automation is what CLIs (command-line interfaces) or SDKs (programing/scripting specific languages) are available for them to use? I know it is not always easy to find out what is available on the VMware.com website and some times I even have trouble browsing for all the right information as it is located in many different places. I figure it would be helpful not only for myself but also for others if I put together a list of the various VMware CLIs, SDKs and even some of the new DevOps Tools that VMware has been working on that are available to our customers/developers and partners. I have also included a couple of community tools that I think are pretty interesting. If there are others that you think I should add to the list, feel free and leave a comment.

Note: This is by no means a comprehensive list of every single VMware product/toolkit as there are many many more, including gated SDKs specifically for our partner eco-system. For more details on those API/SDKs, be sure to check out the VMware Developer Center.

UPDATE (4/20) - VMware now has an Open Source page on Github http://vmware.github.io/

VMware Cloud Native Apps:

  • VMware Photon
  • VMware Lightwave

VMware DevOps Tools:

  • VMware Docker Machine
  • VMware boot2docker
  • Packer vmware-ovf post processor
  • open-vmdk
  • Vagrant plugin for Photon

vCloud Air:

  • CLIs
    • RaaS (Recovery as a Service) CLI
    • vCloud Air CLI
  • SDKs
    • vCloud Air SDK for Go
    • vCloud Air SDK for Python
  • DevOps Tools
    • Vagrant vCloud Air Provider

vCloud Director:

  • CLIs
    • vCloud Director Tenant and Provider PowerCLI
  • SDKs
    • vCloud Director SDK for .NET
    • vCloud Director SDK for Java
    • vCloud Director SDK for PHP
  • DevOps Tools
    • Vagrant vCloud Director Provider

vSphere:

  • CLIs
    • govc CLI
    • vSphere CLI
    • vSphere PowerCLI
    • vSphere RVC CLI
    • vSphere ovftool CLI
    • vSphere PVC CLI
  • SDKs
    • vSphere SDK for .NET
    • vSphere SDK for Go (govmomi)
    • vSphere SDK for Java
    • vSphere SDK for Perl
    • vSphere SDK for Python (pyvmomi)
    • vSphere SDK for Ruby (rbvmomi)
    • vSphere SDK for JavaScript
    • VSAN Management SDK for .NET
    • VSAN Management SDK for Java
    • VSAN Management SDK for Python
    • VSAN Management SDK for Ruby
  • DevOps Tools
    • VMware Library Puppet Module
    • VMware vCNS Puppet Module
    • VMware vCenter Server Appliance Puppet Module
    • VMware vCenter Server Puppet Module
    • Vagrant Rbvmomi Provider
    • Vagrant vCenter Server Provider

vRealize Management Suite:

  • CLIs
    • vRealize Cloud Client CLI
    • vRealize Automation Center CLI
  • SDKs
    • vRealize Automation SDK for Java
    • vReazlie Orchestrator Plug-In SDK

VMware Community Tools:

  • Vagrant vCenter Simulator Provider
  • Docker Plugin for VMware vRealize Orchestrator
  • VMware VIX API in Go
  • vcloud-tools

Categories // Automation, Cloud Native, vCloud Air, vSphere Tags // api, cli, DevOps, Docker, Packer, sdk, Vagrant

  • « Previous Page
  • 1
  • …
  • 383
  • 384
  • 385
  • 386
  • 387
  • …
  • 567
  • Next Page »

Search

Thank Author

Author

William is Distinguished Platform Engineering Architect in the VMware Cloud Foundation (VCF) Division at Broadcom. His primary focus is helping customers and partners build, run and operate a modern Private Cloud using the VMware Cloud Foundation (VCF) platform.

Connect

  • Bluesky
  • Email
  • GitHub
  • LinkedIn
  • Mastodon
  • Reddit
  • RSS
  • Twitter
  • Vimeo

Recent

  • Ultimate Lab Resource for VCF 9.0 06/25/2025
  • VMware Cloud Foundation (VCF) on ASUS NUC 15 Pro (Cyber Canyon) 06/25/2025
  • VMware Cloud Foundation (VCF) on Minisforum MS-A2 06/25/2025
  • VCF 9.0 Offline Depot using Synology 06/25/2025
  • Deploying VCF 9.0 on a single ESXi host? 06/24/2025

Advertisment

Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy

Copyright WilliamLam.com © 2025

 

Loading Comments...