Project

General

Profile

Actions

Bug #44989

closed

batch filter_devices tries to access lvs when there are none

Added by Jan Fajerski about 4 years ago. Updated about 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 3 (0 open3 closed)

Copied to ceph-volume - Backport #45002: nautilus: batch filter_devices tries to access lvs when there are noneResolvedJan FajerskiActions
Copied to ceph-volume - Backport #45003: octopus: batch filter_devices tries to access lvs when there are noneResolvedJan FajerskiActions
Copied to ceph-volume - Backport #45004: mimic: batch filter_devices tries to access lvs when there are noneResolvedJan FajerskiActions
Actions #1

Updated by Jan Fajerski about 4 years ago

Originally this was added in commit fc9a10e54813

Actions #2

Updated by Jan Fajerski about 4 years ago

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

Updated by Jan Fajerski about 4 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #4

Updated by Jan Fajerski about 4 years ago

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

Updated by Jan Fajerski about 4 years ago

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

Updated by Jan Fajerski about 4 years ago

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

Updated by Nathan Cutler about 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".

Actions

Also available in: Atom PDF