Digging through logs is over: Plugin Management UI in the vSphere Client

The vSphere 6.7 Update 2 release has introduced a new way to monitor vSphere Client plugins status: the Plugin Management UI. You can read what the feature is about in the What’s New in 6.7U2 blog post by Nigel Hickey.

A detailed post on the VMware blog is in the pipeline so in the current post I will focus on why this feature matters and how the patterns it is based on can improve the consistency of vSphere, VMware Cloud and the whole partner ecosystem.

Apart from a series of sleepless nights this feature has brought a lot of excitement for the vSphere Client SDK & Plugins team. This is not only because of pulling the plugin installation workflow from the darkness of the core platform to the UI, but also because of the way it has been achieved – approach based on public APIs and available to every solution integrating with the vCenter Server.

Plugin Management Challenges

If you would collect 10 random customer support requests regarding issues with vSphere Client plugins 9 would sound like:

I upgraded vSphere / installed a partner solution / updated certificates / <insert user action here> … and my plugin is gone!

What would the customer, the support engineer, the partner developer or the SDK engineer do to find the root cause? Yes, dig through the logs.

When you know what you are searching for you might, just might, find the failure reason in a few minutes.  If that is not the case, though, you are in for a long tough investigation process – going through all steps of the plugin workflow and checking all stages that passed until you stumble on a failure. That’s very tedious!

Regardless of whether this is a user error, a problem with the plugin, a partner backend issue or a vSphere bug I am most certain this scenario is well known to the support organizations of various partners (and this has been confirmed by many partners I have talked to).

Most actors in the vSphere plugin ecosystem face considerable difficulties in the following areas:

  • Understanding the plugin deployment flow and lifecycle stages.
  • Root causing and troubleshooting installation errors of UI plugins.
  • Managing plugin compatibility and versioning.

Solutions via Plugin Management UI

Plugin Management UI comes to the rescue enabling plugin troubleshooting directly through the vSphere Client UI.

This is available in 2 simultaneous but converging representations which have different goals:

  1. On the standard Client Plug-ins administration view targeting an overview of the whole pool of registered plugins and their current deployment status.
  2. Via vCenter tasks tracking the stages a plugin installation goes through: Download ⇒ Compatibility check ⇒ Validation ⇒ Version check ⇒ Deployment.

Administration → Client Plug-ins view

Up to 6.7U1 the Client Plug-ins view served as an overview of successfully deployed plugins. This brought limited value to the user, mainly to know what’s currently running.

With 6.7U2 the Client Plug-ins view is upgraded to represent a snapshot of all registered plugins with any vCenter Server in the environment with their deployment state: In Progress, Deployed, Failed or Incompatible. Practically, this alone means: If you don’t see a plugin listed in the Client Plug-ins view it is not even registered with a vCenter. It might be because of issues with the partner installer, upgrade process not properly handling the vCenter extension or other reasons but what is certain is that the plugin installation to the vSphere Client hasn’t even started.

When a plug-in extension is registered with the environment the plugin is present in the Client Plug-ins view and its status can be easily tracked through the UI.

vCenter Tasks for Plugin installation workflow

Installation phases a plugin goes through can be clearly and fully tracked with two new types of vCenter tasks:

  • Download plugin task – plugin is fetched from the plugin server.
  • Deploy plugin task – starts immediately after the download task has successfully completed.

Failure at any stage of the plugin lifecycle is captured and displayed in the status details of each task together with the error category, recommendation and dedicated stacktrace if one exists. The latter is commonly used when the error originates from the vendor solution and cannot be easily categorized.
In addition, all tasks are created with initiator set to the vCenter instance the vSphere Client is currently running on which helps with tracking plugin task ownership in the multi-vCenter environments in Enhanced/Hybrid Linked Mode.

The Road Ahead…

As a wrap-up let’s have a look at what’s on the cards for the future.

vCenter Tasks: Point of Convergence for the Ecosystem

Commonly, vCenter tasks are used by internal vSphere product features and created by the vCenter itself to indicate progress of various operations – Create VM, Deploy OVF, etc.

That said, this is an awesome mechanism to track long-running operations by any vendor solution integrating with vSphere … and it has been underused.

There are 2 main aspects that make this approach suitable for external solutions:

  1. The vCenter Task API is stable and available for a number of vSphere releases already.
  2. Tasks and Events are getting live-refreshed in the vSphere Client.

This means partner solutions achieve visibility through the UI even if they have no UI plugin. And if they do – this is a great addition next to the plugin without using any frontend API of the vSphere Client.

This closes the consistency loop of how operations are logged and displayed to the user: the same solution available to both core and integrated capabilities.

This topic will continue and deserves a separate blog post with examples (… and hopefully my VMworld {CODE} session on this gets in 🙂 ).

Future Improvements of the Plugin Management UI

Yes, the feature can and should be improved both visually and functionally. The SDK & Plugins team does have a list of things to improve.

As of now the value of the Plugin Management UI is around monitoring and troubleshooting. The hope for the future is better management of plugins.

Are we looking for your feedback? Absolutely!

Any glitch you want fixed, any idea you might have – we want to hear it. Reply below, use the SDK forum, write to plugin@vmware.com or just ping me.

Thanks for reading this far!

Vladimir Velikov

I am a leading software engineer in the vSphere Client SDK & Plugins team at VMware. I like good object-oriented designs, API & extensibility development and UX workflows with neat usability but most of all I enjoy helping out plugin developers, getting their feedback and solving their real-world problems.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.