Skip to content
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

Merged
merged 16 commits into from
Sep 12, 2018

Conversation

stuclem
Copy link
Contributor

@stuclem stuclem commented Sep 3, 2018

Towards #1941. Documented automatic install and upgrade of the plug-ins.

Also fixes #1940.

@stuclem stuclem changed the title WIP: Documented automatic plug-in installation. WIP: Documented automatic plug-in installation and upgrade Sep 4, 2018
@stuclem
Copy link
Contributor Author

stuclem commented Sep 7, 2018

115d796, b2a9dd8 fixes #2037

@stuclem
Copy link
Contributor Author

stuclem commented Sep 7, 2018

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?

@stuclem stuclem changed the title WIP: Documented automatic plug-in installation and upgrade Documented automatic plug-in installation and upgrade Sep 7, 2018
@stuclem
Copy link
Contributor Author

stuclem commented Sep 7, 2018

I think that this PR is now ready for review. @zjs and @renmaosheng can you please review, or assign an appropriate reviewer? Thanks!

@zjs zjs requested review from wjun and a user September 7, 2018 17:36
@zjs
Copy link
Member

zjs commented Sep 7, 2018

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.
Copy link
Member

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.

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))
}

Copy link
Contributor

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zjs and @wjun, having one plug-in for 6.0 and one for 6.5/6.7 makes things a lot simpler. Corrected the vSphere version and singularized the word "plug-ins" in 0d64bf5.


**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.
Copy link
Member

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

Copy link
Contributor

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.

Copy link
Contributor Author

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.
Copy link
Member

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?

Copy link
Contributor Author

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.
Copy link
Contributor

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'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in b2c586a

@stuclem stuclem removed the request for review from renmaosheng September 10, 2018 14:38
Copy link
Contributor

@wjun wjun left a 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.

@stuclem
Copy link
Contributor Author

stuclem commented Sep 11, 2018

Thanks @wjun !

@stuclem
Copy link
Contributor Author

stuclem commented Sep 12, 2018

@lgayatri needs the auto-install/upgrade docs for testing purposes. Merging. @morris-jason please feel free to make comments even after I have merged.

@stuclem stuclem merged commit 0a6415e into vmware:master Sep 12, 2018
@stuclem stuclem deleted the auto-plugins branch September 12, 2018 07:04
@stuclem stuclem added the area/pub Published documentation for end-users label Sep 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/pub Published documentation for end-users cla-not-required
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Document thumbprint verification step during appliance initialization
4 participants