Bug 1924962 - AnsibleServlet used by cluster upgrade fails to properly start the ovirt-cluster-upgrade.yml playbook
Summary: AnsibleServlet used by cluster upgrade fails to properly start the ovirt-clus...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: Frontend.WebAdmin
Version: 4.4.5
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ovirt-4.4.5
: ---
Assignee: Scott Dickerson
QA Contact: Ivana Saranova
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-02-04 01:51 UTC by Scott Dickerson
Modified: 2021-03-18 15:14 UTC (History)
5 users (show)

Fixed In Version: ovirt-engine-4.4.5.6
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-18 15:14:42 UTC
oVirt Team: UX
Embargoed:
pm-rhel: ovirt-4.4+
pmatyas: testing_plan_complete+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 113311 0 master MERGED ansible: Update AnsibleServlet to jackson 2 2021-02-19 18:42:28 UTC

Description Scott Dickerson 2021-02-04 01:51:34 UTC
Description of problem:

The AnsbileServlet, used by cluster upgrade, fails to execute the desired playbook.  There are various errors that happen depending on cluster and host names.


Version-Release number of selected component (if applicable): current master


How reproducible: every time


Steps to Reproduce:
1. Admin Portal, cluster table
2. Select a cluster and click Upgrade
3. Click through the upgrade modal and attempt to start the upgrade


Actual results: Nothing happens


Expected results: The ovirt-custer-upgrade.yml playbook is started with events generated and visible on the event log.


Additional info:

Related to patch https://gerrit.ovirt.org/c/ovirt-engine/+/112058

Found while I was working on BZ1750426

Comment 1 Scott Dickerson 2021-02-04 02:03:24 UTC
If the cluster name, or one of the host names, contains a dash, underscore or period, the playbook is not run.  A base64 encoding exception is thrown before the playbook is set to the ansible-runner-service.

If the cluster name and selected host names are all alpha, the ansible-runner-service is invoked, but the parameters are incorrect.

Comment 2 Scott Dickerson 2021-02-04 02:14:38 UTC
Turns out AnsibleServlet uses a different version of Jackson than the AnsibleRunnerHttpClient.  This causes strange problems with serialization.  Updating the servlet to use the same version as the runner should fix the serialization problem.

Comment 3 Ivana Saranova 2021-03-02 12:36:34 UTC
Steps:
1. Admin Portal, cluster table
2. Select a cluster and click Upgrade
3. Click through the upgrade modal and attempt to start the upgrade

Results:
Cluster is successfully upgraded.

Verified:
ovirt-engine-4.4.5.7-0.1.el8ev.noarch

Comment 4 Sandro Bonazzola 2021-03-18 15:14:42 UTC
This bugzilla is included in oVirt 4.4.5 release, published on March 18th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.5 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.