[system-tests] Test is failed if an environment is re-used but NODES_COUNT is greater then it is in the environment.

Bug #1420328 reported by Dennis Dmitriev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
Low
Aleksei Stepanov

Bug Description

Steps to reproduce:
1) Run system test using --group=setup and export NODES_COUNT=10
2) Run any other system test (for example, --group=ceph_ha) using the same ENV_NAME and export KEEP_BEFORE="yes" .
But with increased nodes count this time: export NODES_COUNT=11 .

Expected result: Any warning or error message about environment not matching the requirements for the system test; Or passed system test if provided environment match the test's requirements.

Actual result:
======================================================================
ERROR: Upgrade ha one controller deployed cluster with ceph
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/proboscis/case.py", line 296, in testng_method_mistake_capture_func
    compatability.capture_type_error(s_func)
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/proboscis/compatability/exceptions_2_6.py", line 27, in capture_type_error
    func()
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/proboscis/case.py", line 350, in func
    func(test_case.state.get_state())
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/proboscis/case.py", line 333, in get_state
    self.instance = self.entry.home()
  File "/home/dis/fuel-qa-upgrade/fuelweb_test/tests/base_test_case.py", line 31, in __init__
    self.env = EnvironmentModel()
  File "/home/dis/fuel-qa-upgrade/fuelweb_test/models/environment.py", line 48, in __init__
    self.fuel_web = FuelWebClient(self.get_admin_node_ip(), self)
  File "/home/dis/fuel-qa-upgrade/fuelweb_test/__init__.py", line 48, in wrapped
    result = func(*args, **kwargs)
  File "/home/dis/fuel-qa-upgrade/fuelweb_test/models/environment.py", line 113, in get_admin_node_ip
    self.get_virtual_environment().nodes(
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/devops/models/environment.py", line 306, in nodes
    return Nodes(self, self.node_roles)
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/devops/models/environment.py", line 327, in __init__
    self.others.append(environment.get_node(name=node_name))
  File "/home/dis/devops-venv-2.9.0/local/lib/python2.7/site-packages/devops/models/environment.py", line 55, in get_node
    return self.node_set.get(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.10-py2.7.egg/django/db/models/manager.py", line 151, in get
    return self.get_queryset().get(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.6.10-py2.7.egg/django/db/models/query.py", line 310, in get
    self.model._meta.object_name)
DoesNotExist: Node matching query does not exist.

Changed in fuel:
status: New → Confirmed
summary: - System test is failed if an environment is re-used but NODES_COUNT is
- greater then it is in the environment.
+ [system-tests] Test is failed if an environment is re-used but
+ NODES_COUNT is greater then it is in the environment.
Revision history for this message
Nastya Urlapova (aurlapova) wrote :

Moved to 7.0

Changed in fuel:
status: Confirmed → Won't Fix
Dmitry Pyzhov (dpyzhov)
tags: added: area-qa
Changed in fuel:
status: Won't Fix → Confirmed
milestone: 8.0 → 9.0
no longer affects: fuel/7.0.x
Changed in fuel:
assignee: Fuel QA Team (fuel-qa) → Alexey Stepanov (astepanov-m)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-qa (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-qa (master)

Change abandoned by Alexey Stepanov (<email address hidden>) on branch: master
Review: https://review.openstack.org/296472
Reason: Fake Fail is possible after this patch

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

Reviewed: https://review.openstack.org/296472
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=56120edd069af90627e11f503d98d0ed594882a8
Submitter: Jenkins
Branch: master

commit 56120edd069af90627e11f503d98d0ed594882a8
Author: Alexey Stepanov <email address hidden>
Date: Wed Mar 23 17:06:07 2016 +0300

    Add check, if nodes not enough to update

    Raise human-readable exception on update nodes,
    if nodes not enough to update.

    Change-Id: I56d8128be114a56c9da57a3d20b2a98526c7329b
    Related-bug: #1420328

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Aleksei Stepanov (penguinolog) wrote :
Download full text (3.8 KiB)

Fixed output is human readable:

Example for 3 nodes and BVT2:

<<<<<##############################[ ceph_rados_gw ]##############################>>>>>
Deploy ceph HA with RadosGW for objects

        Scenario:
            1. Create cluster with Neutron
            2. Add 3 nodes with controller role
            3. Add 3 nodes with compute and ceph-osd role
            4. Deploy the cluster
            5. Check ceph status
            6. Run OSTF tests
            7. Check the radosgw daemon is started

        Duration 90m
        Snapshot ceph_rados_gw

2016-03-25 07:18:20,732 - INFO environment.py:300 -- We have snapshot with such name: ready
2016-03-25 07:18:20,732 - INFO environment.py:302 -- Reverting the snapshot 'ready' ....
2016-03-25 07:18:29,767 - INFO environment.py:305 -- Resuming the snapshot 'ready' ....
2016-03-25 07:18:30,247 - INFO environment.py:354 -- Admin node login name: 'root' , password: 'r00tme'
2016-03-25 07:18:30,251 - INFO environment.py:136 -- Please wait while time on nodes: admin will be synchronized
2016-03-25 07:18:55,549 - INFO environment.py:139 -- New time on 'admin' = Fri Mar 25 07:17:25 UTC 2016
2016-03-25 07:18:55,549 - INFO nailgun_client.py:32 -- Initiate Nailgun client with url http://10.109.0.2:8000
2016-03-25 07:18:55,550 - INFO http.py:28 -- Initiate HTTPClient with url http://10.109.0.2:8000
2016-03-25 07:18:55,558 - WARNING http.py:95 -- Authorization failure: Authentication required
2016-03-25 07:18:55,558 - INFO http.py:38 -- Initialize keystoneclient with url http://10.109.0.2:5000/v2.0
2016-03-25 07:19:25,989 - INFO environment.py:115 -- Bootstrapping node: slave-01
2016-03-25 07:19:32,652 - INFO environment.py:115 -- Bootstrapping node: slave-02
2016-03-25 07:21:25,440 - INFO environment.py:136 -- Please wait while time on nodes: admin, slave-01, slave-02 will be synchronized
2016-03-25 07:22:27,180 - INFO environment.py:139 -- New time on 'admin' = Fri Mar 25 07:20:56 UTC 2016
2016-03-25 07:22:27,181 - INFO environment.py:139 -- New time on 'slave-01' = Fri Mar 25 07:20:56 UTC 2016
2016-03-25 07:22:27,181 - INFO environment.py:139 -- New time on 'slave-02' = Fri Mar 25 07:20:56 UTC 2016
2016-03-25 07:22:27,331 - INFO fuel_web_client.py:426 -- Create cluster with name CephRadosGW
2016-03-25 07:22:27,388 - INFO fuel_web_client.py:430 -- Release_id of ubuntu 14.04 is 2
2016-03-25 07:22:27,399 - INFO nailgun_client.py:251 -- Before post to nailgun
2016-03-25 07:22:27,658 - INFO nailgun_client.py:328 -- Cluster name is CephRadosGW
2016-03-25 07:22:27,658 - INFO nailgun_client.py:329 -- Cluster id is 1
2016-03-25 07:22:27,659 - INFO fuel_web_client.py:468 -- The cluster id is 1
2016-03-25 07:22:27,659 - INFO fuel_web_client.py:471 -- Set cluster settings to
 volumes_ceph True
 objects_ceph True
 volumes_lvm False
 user rados
 images_ceph True
 password rados
 tenant rados
2016-03-25 07:22:36,232 - INFO fuel_web_client.py:539 -- Configuring cluster #1 to use DNS server 10.109.3.1
2016-03-25 07:22:36,232 - INFO fuel_web_client.py:541 -- Set DEBUG MODE to True
2016-03-25 07:22:38,106 - ERROR fuel_web_client.py:1189 -- Some nodes is inaccessi...

Read more...

Changed in fuel:
status: Fix Committed → Fix Released
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.