[Upgrade] Check version pre-check from before_upgrade_checker sometimes return false-positive results

Bug #1348617 reported by Tatyanka
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Confirmed
Medium
Fuel Python (Deprecated)
Declined for 5.1.x by Evgeniy L

Bug Description

Actual Result:

Nailgun back such version(api/versoins)
{"build_id": "2014-07-24_02-01-14", "ostf_sha": "81b019a502711dfcd935a981b292e88eb956b141", "build_number": "351", "auth_required": false, "api": "1.0", "nailgun_sha": "744e17cc03207c46ecd79f4ac78fde98f75aec2f", "production": "docker", "fuelmain_sha": "103ce9abd6e2632ec1029d1aa3e918517417cba3", "astute_sha": "fd9b8e3b6f59b2727b1b037054f10e0dd7bd37f1", "feature_groups": ["mirantis"], "release": "5.1", "fuellib_sha": "8bffb2a4723109614aeaabaabffa3c94a1b72705"}

but when I try to run ./upgrade.sh for 5.0.1 - pre checks failed with
2014-07-25 11:31:37 INFO 26872 (before_upgrade_checker) Check upgrade versions
2014-07-25 11:31:37 ERROR 26872 (cli) Cannot upgrade to the same version of fuel 5.0.1 -> 5.0.1
Traceback (most recent call last):
  File "/var/tmp/5.0.1/upgrade/site-packages/fuel_upgrade/cli.py", line 148, in main
    run_upgrade(parse_args())
  File "/var/tmp/5.0.1/upgrade/site-packages/fuel_upgrade/cli.py", line 141, in run_upgrade
    upgrade_manager.run()
  File "/var/tmp/5.0.1/upgrade/site-packages/fuel_upgrade/upgrade.py", line 48, in run
    self.before_upgrade()
  File "/var/tmp/5.0.1/upgrade/site-packages/fuel_upgrade/upgrade.py", line 74, in before_upgrade
    checker.check()
  File "/var/tmp/5.0.1/upgrade/site-packages/fuel_upgrade/before_upgrade_checker.py", line 211, in check
    raise errors.WrongVersionError(err_msg)
WrongVersionError: Cannot upgrade to the same version of fuel 5.0.1 -> 5.0.1
Upgrade failed

Here we can see that we can retrieve current version with success,
2014-07-25 11:31:36 DEBUG 26872 (config) Retrieve version from /etc/fuel/version.yaml, version is 5.1
2014-07-25 11:31:37 DEBUG 26872 (before_upgrade_checker) config in checks ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_config']
2014-07-25 11:31:37 DEBUG 26872 (before_upgrade_checker) config in checks ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_config']
2014-07-25 11:31:37 DEBUG 26872 (upgrade) Run before upgrade actions
2014-07-25 11:31:37 INFO 26872 (before_upgrade_checker) Check if devices have enough free space
2014-07-25 11:31:37 DEBUG 26872 (before_upgrade_checker) Required spaces from upgrade engines [{'/etc/yum.repos.d/5.0.1_nailgun.repo': 10}, {'/var/lib/docker': 4949, '/etc/fuel/': 10, '/etc/supervisord.d/': 10, '/var/lib/fuel_upgrade/5.0.1': 50}, {'/var/www/nailgun/5.0.1_bootstrap': 164}, {'/var/www/nailgun/5.0.1/centos': 1194, '/etc/puppet/5.0.1/modules': 4, '/etc/puppet/5.0.1/manifests': 0, '/var/www/nailgun/5.0.1/ubuntu': 784}]

But then return false-positive results

Steps to Reproduce:
deploy 5.0.1 master node - upgrade to 5.1 - upgrade to 5.0.1

Tags: upgrade
Revision history for this message
Tatyanka (tatyana-leontovich) wrote :
Revision history for this message
Evgeniy L (rustyrobot) wrote :

JFYI there is workaround, you can use --no-check parameter to run upgrade.sh

Changed in fuel:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Evgeniy L (rustyrobot) wrote :

It's is the same problem as in bug https://bugs.launchpad.net/fuel/+bug/1349833
there was failed upgrade 5.0.1 -> 5.0.1, and version which upgrade was ran from was saved in special directory and it wasn't cleaned up.

Will mark this bug as duplicate.

no longer affects: fuel/5.0.x
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.