Bug 867922
| Summary: | [vdsm-bootstrap] vdsm-bootstrap of rhevm-3.0 cannot bootstrap vdsm-4.9.6 (3.1) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jakub Libosvar <jlibosva> | ||||
| Component: | vdsm | Assignee: | Alon Bar-Lev <alonbl> | ||||
| Status: | CLOSED ERRATA | QA Contact: | Jakub Libosvar <jlibosva> | ||||
| Severity: | urgent | Docs Contact: | |||||
| Priority: | urgent | ||||||
| Version: | 6.3 | CC: | abaron, bazulay, danken, iheim, ilvovsky, jbiddle, lpeer, mgoldboi, sgrinber, ykaul | ||||
| Target Milestone: | rc | Keywords: | TestBlocker, ZStream | ||||
| Target Release: | --- | ||||||
| Hardware: | x86_64 | ||||||
| OS: | Linux | ||||||
| Whiteboard: | infra | ||||||
| Fixed In Version: | vdsm-4.9.6-40.0 | Doc Type: | Bug Fix | ||||
| Doc Text: |
Previously, changes to the internal API for VDSM 3.1 caused an error when attempting to remove a 3.0 host from Red Hat Enterprise Virtualization Manager 3.1 and re-attach it to a 3.0 Manager. This has been corrected so that hosts may be moved between 3.0 and 3.1 Managers without errors.
|
Story Points: | --- | ||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-12-04 19:13:06 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: | |||||||
| Attachments: |
|
||||||
We already had this issue some time ago: bug 817898 Itamar, This is of the legacy vdsm configuration upgrade. I don't think we need this in 3.1... Can we just drop it[1]? Another option is to convert it to use the standard python ConfigParser as in other places of that code. Alon [1] http://gerrit.ovirt.org/gitweb?p=vdsm.git;a=blob;f=vds_bootstrap/vds_bootstrap.py;h=867d6f4a764305c7476f943b89a2191e0bdce7dc;hb=HEAD#l650 Alon - what will happen if i try to install a 3.0 host on a 3.1 engine though? (In reply to comment #8) > Alon - what will happen if i try to install a 3.0 host on a 3.1 engine > though? I don't understand. why will you want to do downgrade? say i upgraded my engine, and my test cluster. it doesn't mean i don't want to add to my production clust another host which is exactly of same configuration of all other hosts in that cluster which i tested for a long time (and is of course 3.0). fact we have newer version of vdsm doesn't mean customers must be forced to upgrade to it for adding new hosts of same tested versions they used prior to upgrading the engine. (In reply to comment #10) > fact we have newer version of vdsm doesn't mean customers must be forced to > upgrade to it for adding new hosts of same tested versions they used prior > to upgrading the engine. Yes, but as far as I understand the upgrade of the vdsm config is for pre-3.0, no? (In reply to comment #11) ... > Yes, but as far as I understand the upgrade of the vdsm config is for > pre-3.0, no? didn't understand. the important thing is from a 3.1 rhev-m i should be able to do a clean install of a host which is using older vdsm-4.9, rather than 4.9.6. is this working? (In reply to comment #12) > the important thing is from a 3.1 rhev-m i should be able to do a clean > install of a host which is using older vdsm-4.9, rather than 4.9.6. > is this working? We test this scenario as well and yes, host that was in 3.0 rhevm before can be installed to 3.1 rhevm. Also when vdsm 4.9.6 is installed on clean 6.3, installation to 3.0 fails (In reply to comment #14) > Also when vdsm 4.9.6 is installed on clean 6.3, installation to 3.0 fails 's/to/from/' I guess... Jakub, Can I have access to such machine? The problem is that the older vdsm had internal API for configuration. The bootstrap used this internal API to get variables out of vdsm module. It used: from config import config Newer vdsm does not support this internal API. It should be: from vdsm import config Solution Either we push a fix to vdsm-bootstrap package for rhevm-3.0 hosts. Or fix vdsm to support this old internal API. Simplest solution is to support this internal API in vdsm. We have already agreed that it is required to install vdsm-bootstrap-4.9.6 on the Engine host before attempting to install rhev-3.1. I do not find the exact agreement statement about it (I'm sure that Federico could have...), but I think that this bug should be closed as a dup of 804618. (In reply to comment #18) > We have already agreed that it is required to install vdsm-bootstrap-4.9.6 > on the Engine host before attempting to install rhev-3.1. this is required, not an issue. > > I do not find the exact agreement statement about it (I'm sure that Federico > could have...), but I think that this bug should be closed as a dup of > 804618. question is what's the failed flow from all of the above: 1. adding a clean host with 4.9.6 vdsm to a rhevm-3.0. 2. adding a clean host with 4.9-113 vdsm to a rhevm-3.1. 3. other? (In reply to comment #19) > (In reply to comment #18) > > We have already agreed that it is required to install vdsm-bootstrap-4.9.6 > > on the Engine host before attempting to install rhev-3.1. > > this is required, not an issue. > > > > > I do not find the exact agreement statement about it (I'm sure that Federico > > could have...), but I think that this bug should be closed as a dup of > > 804618. > > question is what's the failed flow from all of the above: > 1. adding a clean host with 4.9.6 vdsm to a rhevm-3.0. Fails > 2. adding a clean host with 4.9-113 vdsm to a rhevm-3.1. Passes, even used host > 3. other? Basically fails when vdsm 4.9.6 is installed on host and host is added to rhevm-3.0 Hi Jacob, It will be great if you can check the following sequence. 1. Bootstrap host and fail as in previous scenario. 2. Execute the following command on that host: echo "from vdsm import config" > /usr/share/vdsm/config.py 3. Bootstrap again. Expected result: Success. Further testing: Sanity of that vdsm. Thanks! Barak: Flags, please. You probably need the following as well: echo "from vdsm.netinfo import *" > /usr/share/vdsm/netinfo.py commit 80a14593eb5d66da7887fc8aa82fb594ee0d2430
Author: Alon Bar-Lev <alonbl>
Date: Wed Oct 24 21:16:04 2012 +0200
api: fix api breakage of 'config' and 'netinfo' used by bootstrap
rhevm-3.0 depends on previous vdsm-bootstrap which uses config and
netinfo packages.
config and netinfo packages are now moved to the 'formal' vdsm api located
at vdsm namespace.
In order to allow rhevm-3.0 install vdsm-4.9.6 the legacy config and
netinfo should be available.
Change-Id: I1c854f5351980b1065a828661859332781480c3b
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=867922
Signed-off-by: Alon Bar-Lev <alonbl>
https://gerrit.eng.lab.tlv.redhat.com/#/c/2852/
Commands in comment 23 and comment 25 fixed the problem. Verified vdsm-4.9.6-40.0.el6_3.x86_64 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2012-1508.html |
Created attachment 629505 [details] Bootstrap log Description of problem: We have a host that has been installed to 3.1 rhevm (and removed). When installing this host to 3.0, installation fails due to import error Thu, 18 Oct 2012 15:51:26 ERROR Traceback (most recent call last): File "/tmp/vds_bootstrap_0058694c-92b9-4bfb-8b18-729683d8bee2.py", line 566, in createConf self._makeConfig() File "/tmp/vds_bootstrap_0058694c-92b9-4bfb-8b18-729683d8bee2.py", line 529, in _makeConfig from config import config ImportError: No module named config Thu, 18 Oct 2012 15:51:26 DEBUG <BSTRAP component='CreateConf' status='FAIL' message='Basic configuration failed to import default values'/> Thu, 18 Oct 2012 15:51:26 ERROR createConf failed Thu, 18 Oct 2012 15:51:26 DEBUG <BSTRAP component='RHEV_INSTALL' status='FAIL'/> Thu, 18 Oct 2012 15:51:26 DEBUG **** End VDS Validation **** Version-Release number of selected component (if applicable): vdsm-4.9.6-37.0.el6_3.x86_64 vdsm-bootstrap-4.9-113.3.el6_3.x86_64 How reproducible: Always Steps to Reproduce: 1. Have host that was in rhevm 3.1 before 2. Install it to 3.0 rhevm Actual results: Install fails Expected results: Install succeeds and host is operational Additional info: Blocking backwards compatibility tests