fuel_migration system test stacktrace override

Bug #1593364 reported by Maksym Strukov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Confirmed
High
Andrey Lavrentyev

Bug Description

fuel_migration system test failed on Step 010. Check periodically the status of Fuel Master migration process

But stacktrace in useless:

2016-06-16 01:02:48,710 - ERROR __init__.py:66 -- wait_phrase_in_log raised: EOFError()
Traceback: Traceback (most recent call last):
  File "/home/jenkins/workspace/9.0.system_test.ubuntu.fuel_master_migrate/fuelweb_test/__init__.py", line 59, in wrapped
    result = func(*args, **kwargs)
  File "/home/jenkins/workspace/9.0.system_test.ubuntu.fuel_master_migrate/fuelweb_test/helpers/checkers.py", line 229, in wait_phrase_in_log
    "remote node".format(phrase, log_path))
  File "/home/jenkins/venv-nailgun-tests-2.9/local/lib/python2.7/site-packages/devops/helpers/helpers.py", line 98, in wait
    while not predicate():
  File "/home/jenkins/workspace/9.0.system_test.ubuntu.fuel_master_migrate/fuelweb_test/helpers/checkers.py", line 225, in <lambda>
    lambda: not SSHManager().execute(ip=ip, cmd=cmd)['exit_code'],
  File "/home/jenkins/workspace/9.0.system_test.ubuntu.fuel_master_migrate/fuelweb_test/helpers/ssh_manager.py", line 143, in execute
    return remote.execute(cmd)
  File "/home/jenkins/venv-nailgun-tests-2.9/local/lib/python2.7/site-packages/devops/helpers/helpers.py", line 338, in execute
    chan, stdin, stderr, stdout = self.execute_async(command)
  File "/home/jenkins/venv-nailgun-tests-2.9/local/lib/python2.7/site-packages/devops/helpers/helpers.py", line 358, in execute_async
    chan = self._ssh.get_transport().open_session()
  File "/home/jenkins/venv-nailgun-tests-2.9/local/lib/python2.7/site-packages/paramiko/transport.py", line 702, in open_session
    timeout=timeout)
  File "/home/jenkins/venv-nailgun-tests-2.9/local/lib/python2.7/site-packages/paramiko/transport.py", line 823, in open_channel
    raise e
EOFError

Need to fix this so to not override system test entry point

Env: 9.0-mos-490
https://product-ci.infra.mirantis.net/job/9.0.system_test.ubuntu.fuel_master_migrate/140/console

Tags: area-qa
Dina Belova (dbelova)
Changed in fuel:
importance: Undecided → High
assignee: nobody → Fuel QA Team (fuel-qa)
no longer affects: mos
Dmitry Klenov (dklenov)
Changed in fuel:
milestone: none → 10.0
Dmitry Klenov (dklenov)
Changed in fuel:
status: New → Confirmed
Changed in fuel:
assignee: Fuel QA Team (fuel-qa) → Andrey Lavrentyev (alavrentyev)
Revision history for this message
Andrey Lavrentyev (alavrentyev) wrote :

Well, did some investigation upon the issue and how it can be fixed (from the description that was provided and understood). It looks like it's related to this particular method which stands for logging activities: https://github.com/openstack/fuel-qa/blob/master/fuelweb_test/__init__.py#L49

Going from that point what can be done:

1. Full traceback printing can be used.
One of the draft attempts can look like this: http://paste.openstack.org/show/538803/
This draft produces the output something like this: http://paste.openstack.org/show/538804/
Not sure it's useful though.

2. 'inspect' module can be utilized to get source code and to extract decorator method name. In this case printing debug stacktrace method in case of exception might be overwritten. In theory it can be done, but the drawbacks I can see are: shadowing native Python stacktrace, what if problem occurs inside decorator; there can be more code that we can initially expect to fix all that stuff. The quick take with 'inspect' module didn't allow to get the decorator method name...

@Maksym, please, provide your vision on that and let me know if I missed the point.

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.