-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documented automatic plug-in installation and upgrade #2012
Conversation
3288a99 is an attempt to fix #1356, to handle deployments with multiple appliances on the same VC. However, I am unsure of the logic of the checkbox. #1952 (comment) suggests that this checkbox was introduced to avoid automatically installing a version of the plug-in that conflicts with an existing appliance of another version. However, in vmware/vic-ui#365 (comment) @jooskim suggests that one must always run the plug-in installer for every appliance that you deploy, even if the plug-in is already installed (although this comment predates the automatic installer and doesn't take different appliance versions into account). @zjs @renmaosheng can you please clarify the circumstances under which one should deselect the Install UI Plugin checkbox? |
I think that this PR is now ready for review. @zjs and @renmaosheng can you please review, or assign an appropriate reviewer? Thanks! |
I'll take a look, but I'm also adding @morris-jason, who implemented most of the feature, and @wjun, who finished it. |
|
||
You can deploy multiple vSphere Integrated Containers appliances to the same vCenter Server instance. Also, if a Platform Services Controller manages multiple vCenter Server instances, you can deploy multiple appliances to different vCenter Server instances that share that Platform Services Controller. | ||
If you are deploying vSphere Integrated Containers 1.4.3 or later, by default the vSphere Integrated Containers plug-ins for the vSphere Client are installed automatically. The installer installs a basic plug-in for the Flex-based vSphere Web Client on vCenter Server 6.0, 6.5, or 6.7, and a plug-in with more complete functionality for the HTML5 vSphere Client on vCenter Server 6.5 and 6.7. If you are installing a version of vSphere Integrated Containers that pre-dates 1.4.3, you must install the plug-ins manually. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The installer installs a basic plug-in for the Flex-based vSphere Web Client on vCenter Server 6.0, 6.5, or 6.7
I don't believe we install the Flex-based plugin on 6.7.
vic-product/installer/fileserver/tasks/plugin.go
Lines 426 to 447 in d6e5e98
func (p *Plugin) denyInstall(op trace.Operation, version string) bool { | |
vCenterVersion := strings.Split(version, ".") | |
if len(vCenterVersion) < 2 { | |
op.Debugf("Cannot filter vSphere version (%s) because it is not a semantic version", strings.Join(vCenterVersion, ".")) | |
return false | |
} | |
semver := map[string]string{ | |
"major": vCenterVersion[0], | |
"minor": vCenterVersion[1], | |
} | |
// Deny install if: | |
// Plugin is the flex plugin AND | |
// -- major version us 6 AND | |
// -- -- minor version is greater than Or equal to 7 OR | |
// -- major version is greater than or equal to 7 | |
return p.Key == flexClientPluginKey && | |
((semver["major"] == "6" && semver["minor"] == "7") || | |
(semver["major"] == "6" && strings.Compare(semver["minor"], "7") == 1) || | |
(strings.Compare(semver["major"], "6") == 1)) | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, according to test result of vmware/vic-ui#570 , I think we can document safely as below:
If you are deploying vSphere Integrated Containers 1.4.3 or later, by default the vSphere Integrated Containers plug-ins for the vSphere Client are installed automatically. The installer installs a basic plug-in for the Flex-based vSphere Web Client on vCenter Server 6.0, and a plug-in with more complete functionality for the HTML5 vSphere Client on vCenter Server 6.5 and 6.7. If you are installing a version of vSphere Integrated Containers that pre-dates 1.4.3, you must install the plug-ins manually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
**NOTES**: | ||
- The option to automatically install the plug-ins for the vSphere Client is available in vSphere Integrated Containers 1.4.3 and later. | ||
- By default, in an environment in which multiple vSphere Integrated Containers are deployed to the same vCenter Server instance, the vSphere Integrated Containers plug-in connects to whichever appliance was most recently registered with vCenter Server. Consequently, if there are older instances of the appliance registered with vCenter Server and you do not want the plug-in to automatically upgrade to the latest version, deselect the **Install UI Plugin** check box. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By default, in an environment in which multiple vSphere Integrated Containers are deployed to the same vCenter Server instance, the vSphere Integrated Containers plug-in connects to whichever appliance was most recently registered with vCenter Server.
Is this true? (I'm not sure what the current behavior is when multiple appliances are present.)
cc @wjun
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The plugin behavior does not change in 1.4.3, so with multiple VIC instances existing, the plugin still pick up one instance with the previous algorithm which cannot guarantee the latest version to be selected. Thus, I think we could document like below:
in an environment in which multiple vSphere Integrated Containers are deployed to the same vCenter Server instance, the vSphere Integrated Containers plug-in connects to one appliance that may not be the most recently registered with vCenter Server. Consequently, if there are older instances of the appliance registered with vCenter Server and you do not want the plug-in to automatically upgrade to the latest version, deselect the Install UI Plugin check box.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 1f2db4c.
- By default, in an environment in which multiple vSphere Integrated Containers are deployed to the same vCenter Server instance, the vSphere Integrated Containers plug-in connects to whichever appliance was most recently registered with vCenter Server. Consequently, if there are older instances of the appliance registered with vCenter Server and you do not want the plug-in to automatically upgrade to the latest version, deselect the **Install UI Plugin** check box. | ||
- If you deselect the **Install UI Plugin** check box, you can install or upgrade the plug-ins later. | ||
- If you are installing a version of vSphere Integrated Containers that pre-dates 1.4.3, you must install the plug-ins manually. | ||
13. Verify that the certificate thumbprint for vCenter Server is valid, and click **Continue** to initialize the appliance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we have a page about how to verify thumprints. Should this link there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do so from the prereqs. Our editorial guidelines advise against including links in procedure steps, which cause people go off and look at other stuff and then forget what they were doing or where they were in the procedure.
6. Verify that the upgrade script has detected your upgrade path correctly. | ||
8. To automatically upgrade the vSphere Integrated Containers plug-in for vSphere Client, enter `y` at the prompt to `Upgrade VIC UI Plugin`. | ||
|
||
**NOTE**: The option to automatically upgrade the plug-in for the vSphere Client is available in vSphere Integrated Containers 1.4.3 and later. If you you enter `n` to skip the plug-in upgrade, you can upgrade the plug-in later. If are upgrading to a version of vSphere Integrated Containers that pre-dates 1.4.3, you must upgrade the plug-in manually. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"In are upgrading to a version of vSphere Integrated Containers", missing 'you'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in b2c586a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My comments are addressed.
Thanks @wjun ! |
@lgayatri needs the auto-install/upgrade docs for testing purposes. Merging. @morris-jason please feel free to make comments even after I have merged. |
Towards #1941. Documented automatic install and upgrade of the plug-ins.
Also fixes #1940.