Remote Plug-in
Multi-Version Support
Unlike local
plug-ins, the remote plug-in architecture allows for co-existence of remote
plug-ins with the same ID but different versions.
Consider an ELM environment
with three vCenter Server instances and the following plug-in registrations:
./extension-registration.sh -action registerPlugin -url https:///sdk
-u "Administrator@vsphere.local" -p 'Admin!23' -c 'Example, Inc.' -n
'ExampleCo' -s 'A test plugin demonstrating plugin instances' -k
com.example.exampleco -pu "https://
-remote
vcenter-ip-or-fqdn-of-vc1
my-remote-plugin-server-version-1
/path-to
/plugin.json" -v
"1.0.0
"
-st
plugin_server_1_thumbprint
./extension-registration.sh -action registerPlugin -url https:///sdk
-u "Administrator@vsphere.local" -p 'Admin!23' -c 'Example, Inc.' -n
'ExampleCo' -s 'A test plugin demonstrating plugin instances' -k
com.example.exampleco -pu "https://
-remote
vcenter-ip-or-fqdn-of-vc2
my-remote-plugin-server-version-2
/path-to
/plugin.json" -v
"2.0.1
"
-st
plugin_server_2_thumbprint
./extension-registration.sh -action registerPlugin -url https:///sdk
-u "Administrator@vsphere.local" -p 'Admin!23' -c 'Example, Inc.' -n
'ExampleCo' -s 'A test plugin demonstrating plugin instances' -k
com.example.exampleco -pu "https://
-remote
vcenter-ip-or-fqdn-of-vc3
my-remote-plugin-server-version-3
/path-to
/plugin.json" -v
"3.2.0
"
-st
plugin_server_3_thumbprint
These commands register three
extensions (one in each of the three vCenter Servers) with the same ID
(
com.example.exampleco
) but different versions - version
1.0.0
on VC1, version
2.0.1
on VC2 and version
3.2.0
on VC3. These are three different versions of the
remote plug-in with ID
com.example.exampleco
. When you log in to the UI you
will see the following:
- Object views declared by plug-incom.example.examplecoversion1.0.0will be shown on applicable objects from VC1. Calls to the plug-in back-end server will be routed to the plug-in server dedicated to version1.0.0of the plugin.
- Object views declared by plug-incom.example.examplecoversion2.0.1will be shown on applicable objects from VC2. Calls to the plug-in back-end server will be routed to the plug-in server dedicated to version2.0.1of the plug-in.
- Object views declared by plug-incom.example.examplecoversion3.2.0will be shown on applicable objects from VC3. Calls to the plug-in back-end server will be routed to the plug-in server dedicated to version3.2.0of the plug-in.
- There will be a single entry point in the object navigator that will take the user to a plug-in instance/version selector view where the user will be able to switch between the global views of the different versions and instances of the remote plug-in.