Bug 2037556

Summary: xe-guest-utilities-latest-7.30.0-1 breaks reporting driver version to XAPI
Product: [Fedora] Fedora EPEL Reporter: Doug Goldstein <cardoe>
Component: xe-guest-utilities-latestAssignee: Robin Lee <robinlee.sysu>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: robinlee.sysu, xihuan.yang
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: xe-guest-utilities-latest-7.30.0-2.fc35 xe-guest-utilities-latest-7.30.0-2.fc34 xe-guest-utilities-latest-7.30.0-3.el8 xe-guest-utilities-latest-7.30.0-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-01-15 01:20:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Doug Goldstein 2022-01-05 21:46:53 UTC
Description of problem:

7.30 of the package has broken uploading the package version into xenstore. When you read the PV-drivers-version from XAPI on the hypervisor you'll see the following after upgrading to this.

PV-drivers-version (MRO): major: @PRODUCT_MAJOR_VERSION@; minor: @PRODUCT_MINOR_VERSION@; micro: @PRODUCT_MICRO_VERSION@; build: @NUMERIC_BUILD_NUMBER@

This breaks any XAPI operation that performs a driver check before running the command against the VM.


Version-Release number of selected component (if applicable): 7.30.0-1


How reproducible: Everytime


Steps to Reproduce:
1. Install the currently released package
2. xe vm-param-get param-name=PV-drivers-version uuid=<VM-with-bad-version>

Actual results:

xe vm-param-get param-name=PV-drivers-version uuid=04531d6a-a5d5-290c-3eb9-2e48c4e1792d
major: @PRODUCT_MAJOR_VERSION@; minor: @PRODUCT_MINOR_VERSION@; micro: @PRODUCT_MICRO_VERSION@; build: @NUMERIC_BUILD_NUMBER@


Expected results:

xe vm-param-get param-name=PV-drivers-version uuid=04531d6a-a5d5-290c-3eb9-2e48c4e1792d
major: 7; minor: 30; micro: 0; build: 99999


Additional info:

If you look at how the code is built there's a sed rule to replace this in the makefile at https://github.com/xenserver/xe-guest-utilities/blob/f89f95de90d9c54a13b286120d15b12711ca8393/Makefile#L84
But https://github.com/xenserver/xe-guest-utilities/commit/c9ed1dec07653ee461a12f828e241eeac56dcd30 changed the path slightly and results in that rule not executing.

Comment 1 Doug Goldstein 2022-01-05 21:53:37 UTC
This also affects CentOS 8 builds.

Comment 2 Fedora Update System 2022-01-06 03:23:58 UTC
FEDORA-2022-1425d9b11b has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-1425d9b11b

Comment 3 Fedora Update System 2022-01-06 03:23:59 UTC
FEDORA-2022-6b0b52f61b has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2022-6b0b52f61b

Comment 4 Fedora Update System 2022-01-06 03:23:59 UTC
FEDORA-EPEL-2022-0d04fe97bf has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-0d04fe97bf

Comment 5 Fedora Update System 2022-01-06 03:23:59 UTC
FEDORA-EPEL-2022-9a459a9ba6 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-9a459a9ba6

Comment 6 Doug Goldstein 2022-01-06 15:06:16 UTC
Tested the EPEL 7 RPM built that's linked from here and that fixes it.

Comment 7 Fedora Update System 2022-01-07 01:22:38 UTC
FEDORA-2022-1425d9b11b has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-1425d9b11b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-1425d9b11b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2022-01-07 01:52:27 UTC
FEDORA-EPEL-2022-9a459a9ba6 has been pushed to the Fedora EPEL 7 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-9a459a9ba6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2022-01-07 01:54:00 UTC
FEDORA-EPEL-2022-0d04fe97bf has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2022-0d04fe97bf

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2022-01-07 02:08:59 UTC
FEDORA-2022-6b0b52f61b has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-6b0b52f61b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-6b0b52f61b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Xihuan Yang 2022-01-10 07:58:08 UTC
Need to know how you build your xe-guest-utilities packages, the environment set
I just tested on my environment with both Ubuntu and CentOS8 to use make, see the correct package is generated
After setting go environment as below

export PATH=$PATH:/disk2/go1.16/go/bin
export GOPATH=/disk2/go
export GO111MODULE=off

And then execute make

mkdir -p $(dirname /disk2/go/src/xe-guest-utilities/build/gobuild/guestmetric/guestmetric_linux.go)
cat /disk2/go/src/xe-guest-utilities/guestmetric/guestmetric_linux.go | \
sed -e "s/@PRODUCT_MAJOR_VERSION@/6/g" | \
sed -e "s/@PRODUCT_MINOR_VERSION@/6/g" | \
sed -e "s/@PRODUCT_MICRO_VERSION@/80/g" | \
sed -e "s/@NUMERIC_BUILD_NUMBER@/142/g" \
> /disk2/go/src/xe-guest-utilities/build/gobuild/guestmetric/guestmetric_linux.go 

it shows that the step is not skipped

Comment 12 Robin Lee 2022-01-10 08:18:50 UTC
(In reply to Xihuan Yang from comment #11)
> Need to know how you build your xe-guest-utilities packages, the environment
> set
> I just tested on my environment with both Ubuntu and CentOS8 to use make,
> see the correct package is generated
> After setting go environment as below
> 
> export PATH=$PATH:/disk2/go1.16/go/bin
> export GOPATH=/disk2/go
> export GO111MODULE=off
> 
> And then execute make
> 
> mkdir -p $(dirname
> /disk2/go/src/xe-guest-utilities/build/gobuild/guestmetric/guestmetric_linux.
> go)
> cat /disk2/go/src/xe-guest-utilities/guestmetric/guestmetric_linux.go | \
> sed -e "s/@PRODUCT_MAJOR_VERSION@/6/g" | \
> sed -e "s/@PRODUCT_MINOR_VERSION@/6/g" | \
> sed -e "s/@PRODUCT_MICRO_VERSION@/80/g" | \
> sed -e "s/@NUMERIC_BUILD_NUMBER@/142/g" \
> > /disk2/go/src/xe-guest-utilities/build/gobuild/guestmetric/guestmetric_linux.go 
> 
> it shows that the step is not skipped

I cherry-picked https://github.com/xenserver/xe-guest-utilities/commit/3947aa5d82af26c1d6edaf810030e6e80499c646 so
to make me easier to use system golang.org/x/sys/unix.

Comment 14 Xihuan Yang 2022-01-12 04:18:52 UTC
Hi Robin, 
This issue is bring for Makefile has a vendor directory which will point to the source code that did not replace the version yet. I raise a PR to change this Makefile, https://github.com/xenserver/xe-guest-utilities/pull/119.

Thanks, 
Xihuan

Comment 15 Xihuan Yang 2022-01-13 02:50:36 UTC
Hi @robinlee.sysu, 

PR is merged to fix the issue in xe-guest-utilities. The latest commit should work for generating the correct rpm.

Thanks, 
Xihuan

Comment 16 Robin Lee 2022-01-13 04:35:18 UTC
(In reply to Xihuan Yang from comment #15)
> Hi @robinlee.sysu, 
> 
> PR is merged to fix the issue in xe-guest-utilities. The latest commit
> should work for generating the correct rpm.
> 
> Thanks, 
> Xihuan

Thanks! I will apply it at next upstream rebase.

Comment 17 Fedora Update System 2022-01-15 01:20:46 UTC
FEDORA-2022-1425d9b11b has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2022-01-15 01:21:52 UTC
FEDORA-2022-6b0b52f61b has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 19 Fedora Update System 2022-01-15 02:28:39 UTC
FEDORA-EPEL-2022-0d04fe97bf has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2022-01-15 02:37:44 UTC
FEDORA-EPEL-2022-9a459a9ba6 has been pushed to the Fedora EPEL 7 stable repository.
If problem still persists, please make note of it in this bug report.