Project

General

Profile

Bug #44989

batch filter_devices tries to access lvs when there are none

Added by Jan Fajerski almost 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
octopus,nautilus, mimic
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

TASK [ensure batch create is idempotent] ***************************************
task path: /home/jenkins-build/build/workspace/ceph-volume-scenario/src/ceph-volume/ceph_volume/tests/functional/batch/centos7/filestore/mixed-type/test.yml:37
changed: [osd0] => {
    "changed": true, 
    "cmd": [
        "ceph-volume", 
        "--cluster", 
        "test", 
        "lvm", 
        "batch", 
        "--yes", 
        "--filestore", 
        "/dev/sdb", 
        "/dev/sdc", 
        "/dev/nvme0n1" 
    ], 
    "delta": "0:00:01.191020", 
    "end": "2020-04-07 22:16:37.256581", 
    "failed_when_result": false, 
    "rc": 1, 
    "start": "2020-04-07 22:16:36.065561" 
}

STDERR:

Traceback (most recent call last):
  File "/sbin/ceph-volume", line 9, in <module>
    load_entry_point('ceph-volume==1.0.0', 'console_scripts', 'ceph-volume')()
  File "/usr/lib/python2.7/site-packages/ceph_volume/main.py", line 39, in __init__
    self.main(self.argv)
  File "/usr/lib/python2.7/site-packages/ceph_volume/decorators.py", line 59, in newfunc
    return f(*a, **kw)
  File "/usr/lib/python2.7/site-packages/ceph_volume/main.py", line 150, in main
    terminal.dispatch(self.mapper, subcommand_args)
  File "/usr/lib/python2.7/site-packages/ceph_volume/terminal.py", line 194, in dispatch
    instance.main()
  File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/main.py", line 42, in main
    terminal.dispatch(self.mapper, self.argv)
  File "/usr/lib/python2.7/site-packages/ceph_volume/terminal.py", line 194, in dispatch
    instance.main()
  File "/usr/lib/python2.7/site-packages/ceph_volume/decorators.py", line 16, in is_root
    return func(*a, **kw)
  File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/batch.py", line 320, in main
    self._get_strategy()
  File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/batch.py", line 292, in _get_strategy
    unused_devices, self.filtered_devices = filter_devices(self.args)
  File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/batch.py", line 110, in filter_devices
    last_device.lvs[0].tags.get("ceph.type"),
IndexError: list index out of range

I'm not sure why this if clause this occurs in was added. Since batch is being rewritten, lets fix the erroneous access at least.


Related issues

Copied to ceph-volume - Backport #45002: nautilus: batch filter_devices tries to access lvs when there are none Resolved
Copied to ceph-volume - Backport #45003: octopus: batch filter_devices tries to access lvs when there are none Resolved
Copied to ceph-volume - Backport #45004: mimic: batch filter_devices tries to access lvs when there are none Resolved

History

#1 Updated by Jan Fajerski almost 4 years ago

Originally this was added in commit fc9a10e54813

#2 Updated by Jan Fajerski almost 4 years ago

  • Status changed from New to Fix Under Review
  • Backport set to octopus,nautilus, mimic
  • Pull request ID set to 34463

#3 Updated by Jan Fajerski almost 4 years ago

  • Status changed from Fix Under Review to Pending Backport

#4 Updated by Jan Fajerski almost 4 years ago

  • Copied to Backport #45002: nautilus: batch filter_devices tries to access lvs when there are none added

#5 Updated by Jan Fajerski almost 4 years ago

  • Copied to Backport #45003: octopus: batch filter_devices tries to access lvs when there are none added

#6 Updated by Jan Fajerski almost 4 years ago

  • Copied to Backport #45004: mimic: batch filter_devices tries to access lvs when there are none added

#7 Updated by Nathan Cutler almost 4 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Also available in: Atom PDF