[system-tests] fuel-devops Node object has wrong method Node._close_remotes()

Bug #1597253 reported by Dennis Dmitriev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
Medium
Fuel QA Team

Bug Description

Fuel-devops shouldn't track the content of the environment nodes from the base objects like Node, that manage the node itself (hardware/virtual configuration, power status, etc), but *not* it's content.

The patch [1] introduced managing the devops node's content without possibility to get correct IP address associated with the node, see the comment in [2] for details why it is impossible.

To manage the content of the environment nodes, there should be introduced an additional logic layer, like Devops Client [3], and created logical objects like NailgunNodes, that should provide the SSHClient methods to specified networks or instances; provide mapping between fuel-devops Nodes and Nailgun nodes, keep Ip addresses associated with nodes and so on. This NailgunNodes can be inherited by system tests for further purposes.

The current proposal:
1. remove _close_remotes() from devops/models/node.py
2. in fuel-qa repository, clear all connections in Environment.snapshot() and Environment.revert() methods, and close necessary connections from tests if they establish connections not to the devops nodes, but to OpenStack instances or VIP addresses.
3. Add a timer to fuel-devops class _MemorizedSSH() that should close connections if they wasn't accessed for some time. The best profit from memorized connections is in the wait() methods that periodically use some connection to check some data. Each access to the connection can refresh the timer for the connection. If the timer expires, connection will close by _MemorizedSSH() class, and in case of a new access to the same connection it will open a new one.

[1] https://review.openstack.org/#/c/324389/
[2] https://review.openstack.org/#/c/331120/3/devops/models/node.py
[3] https://review.openstack.org/#/c/315999/

Tags: area-qa
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-devops (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/335406

Changed in fuel:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-devops (master)

Reviewed: https://review.openstack.org/335406
Committed: https://git.openstack.org/cgit/openstack/fuel-devops/commit/?id=ba7b6c918ac333e0bb310cce1cba97ce717d2ba0
Submitter: Jenkins
Branch: master

commit ba7b6c918ac333e0bb310cce1cba97ce717d2ba0
Author: Dennis Dmitriev <email address hidden>
Date: Wed Jun 29 12:47:31 2016 +0300

    Remove Nodes._close_remotes() method

    Remove the method Node._close_remotes() that was introduced in the
    patch [1]. It cannot work correctly because there is
    messed up logic management and hardware management layers.

    This functionality should be resolved in a different way, from
    logical layer (DevopsClient of fuel-qa code).

    [1] https://review.openstack.org/#/c/324389/

    Change-Id: I6fcce11ce7545041a455919469137651e6011406
    Related-Bug:#1597253

Revision history for this message
Maksym Strukov (unbelll) wrote :
Changed in fuel:
status: Confirmed → Fix Committed
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.