[system-tests] fuel-devops raises an exception while clearing previous environment if some objects don't exist in libvirt

Bug #1552766 reported by Dennis Dmitriev
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
Medium
Dennis Dmitriev
Mitaka
Won't Fix
Medium
Dennis Dmitriev
Newton
Fix Committed
Medium
Dennis Dmitriev

Bug Description

Affected: fuel-devops branch release/2.9 , after the tag 2.9.19.

If some libvirt objects (networks, nodes, network filters) were removed manually, then dos.py fails to erase such environment.

fuel-devops shouldn't fail to erase environment if some libvirt objects are missing.

$ dos.py erase demo-test-new30

libvirt: Network Driver error : Network not found: no network with matching uuid
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
libvirt: Network Filter Driver error : Network filter not found: no nwfilter with matching name 'demo-test-new30_management'
Traceback (most recent call last):
  File "/home/dis/devops-venv-2.9/bin/dos.py", line 22, in <module>
    main()
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/shell.py", line 592, in main
    Shell(args).execute()
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/shell.py", line 49, in execute
    self.commands.get(self.params.command)(self)
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/shell.py", line 85, in do_erase
    self.env.erase()
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/models/environment.py", line 136, in erase
    network.erase()
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/models/network.py", line 128, in erase
    self.remove(verbose=False)
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/models/network.py", line 136, in remove
    self.undefine_filter()
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/models/network.py", line 115, in undefine_filter
    self.driver.network_filter_undefine(self)
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/helpers/retry.py", line 27, in wrapper
    return func(*args, **kwargs)
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/devops/driver/libvirt/libvirt_driver.py", line 312, in network_filter_undefine
    nwfilter = self.conn.nwfilterLookupByName(network_name)
  File "/home/dis/devops-venv-2.9/local/lib/python2.7/site-packages/libvirt.py", line 4240, in nwfilterLookupByName
    if ret is None:raise libvirtError('virNWFilterLookupByName() failed', conn=self)
libvirt.libvirtError: Network filter not found: no nwfilter with matching name 'demo-test-new30_management'

Tags: area-qa
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-devops (release/2.9)

Fix proposed to branch: release/2.9
Review: https://review.openstack.org/287946

Changed in fuel:
assignee: nobody → Fuel DevOps (fuel-devops)
Changed in fuel:
assignee: Fuel DevOps (fuel-devops) → Fuel QA Team (fuel-qa)
Changed in fuel:
assignee: Fuel QA Team (fuel-qa) → Dennis Dmitriev (ddmitriev)
Changed in fuel:
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-devops (release/2.9)

Reviewed: https://review.openstack.org/287946
Committed: https://git.openstack.org/cgit/openstack/fuel-devops/commit/?id=c325aa0a7ae827c611a1d32d58f0bf4d5f15aec2
Submitter: Jenkins
Branch: release/2.9

commit c325aa0a7ae827c611a1d32d58f0bf4d5f15aec2
Author: Dennis Dmitriev <email address hidden>
Date: Thu Mar 3 18:02:03 2016 +0200

    Do not raise exceptions if object not found in Libvirt for erase

    For *_undefine() methods in libvirt_driver, don't fail if
    the object not found in libvirt.

    Change-Id: I23ca52682326358dd4a2d4331800ba0aab263c40
    Closes-Bug:#1552766

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/294143

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

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

commit eed067a47d0f6e077f6efb4c494b9b5cbc18f054
Author: Dennis Dmitriev <email address hidden>
Date: Thu Mar 17 18:30:36 2016 +0200

    Do not raise exceptions if object not found in Libvirt for erase

    For *_undefine() methods in libvirt_driver, don't fail if
    the object not found in libvirt.

    Change-Id: Ib998cba8deeddaddc997a189aecf67c398a47d77
    Related-Bug:#1552766

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.