Bug #36249
activate option --auto-detect-objectstore ignores --no-systemd
0%
Description
Running in a container, the command:
[root@osd0 /]# ceph-volume lvm activate 1 840de0c9-bb63-479e-a42b-1a083570bac5 --auto-detect-objectstore Running command: ln -snf /dev/journals/journal1 /var/lib/ceph/osd/ceph-1/journal Running command: chown -h ceph:ceph /dev/journals/journal1 Running command: chown -R ceph:ceph /dev/dm-4 Running command: systemctl enable ceph-volume@lvm-1-840de0c9-bb63-479e-a42b-1a083570bac5 stderr: Operation failed: No such file or directory --> RuntimeError: command returned non-zero exit status: 1
ceph-volume log file:
[root@osd0 /]# cat /var/log/ceph [2018-09-28 13:45:49,075][ceph_volume.main][INFO ] Running command: ceph-volume lvm activate --no-systemd 1 840de0c9-bb63-479e-a42b-1a083570bac5 --auto-detect-objectstore [2018-09-28 13:45:49,076][ceph_volume.process][INFO ] Running command: /usr/sbin/lvs --noheadings --readonly --separator=";" -o lv_tags,lv_path,lv_name,vg_name,lv_uuid,lv_size [2018-09-28 13:45:49,302][ceph_volume.process][INFO ] stdout ";"/dev/VolGroup00/LogVol00";"LogVol00";"VolGroup00";"gqFct1-q2eW-5I7a-IQl2-g2Vm-Nsiq-B2CqHo";"<37.47g [2018-09-28 13:45:49,302][ceph_volume.process][INFO ] stdout ";"/dev/VolGroup00/LogVol01";"LogVol01";"VolGroup00";"T8lHub-uZnx-CX9A-354Z-Jd3P-fTPq-dve374";"1.50g [2018-09-28 13:45:49,302][ceph_volume.process][INFO ] stdout ceph.cephx_lockbox_secret=,ceph.cluster_fsid=769d3685-5ef4-4b81-a548-08c77342747b,ceph.cluster_name=ceph,ceph.crush_device_class=None,ceph.data_device=/dev/test_group/data-lv2,ceph.data_uuid=BjYhr6-5y9u-ORPd-I5OW-LuaM-KfPT-uxQftF,ceph.encrypted=0,ceph.journal_device=/dev/journals/journal1,ceph.journal_uuid=wFRPlY-k6RT-sLtF-OQ4p-nEU6-4GFD-PbTf9E,ceph.osd_fsid=840de0c9-bb63-479e-a42b-1a083570bac5,ceph.osd_id=1,ceph.type=journal,ceph.vdo=0";"/dev/journals/journal1";"journal1";"journals";"wFRPlY-k6RT-sLtF-OQ4p-nEU6-4GFD-PbTf9E";"<25.00g [2018-09-28 13:45:49,302][ceph_volume.process][INFO ] stdout ceph.cephx_lockbox_secret=,ceph.cluster_fsid=769d3685-5ef4-4b81-a548-08c77342747b,ceph.cluster_name=ceph,ceph.crush_device_class=None,ceph.data_device=/dev/test_group/data-lv1,ceph.data_uuid=eeLcye-0QTs-EKFN-o0Z8-8OuA-UoBN-eoLJGu,ceph.encrypted=0,ceph.journal_device=/dev/sdc1,ceph.journal_uuid=1c0d4350-127d-4dd0-bdd7-7fe7b14588eb,ceph.osd_fsid=0043c2ce-cea0-4530-a552-e3816663471c,ceph.osd_id=0,ceph.type=data,ceph.vdo=0";"/dev/test_group/data-lv1";"data-lv1";"test_group";"eeLcye-0QTs-EKFN-o0Z8-8OuA-UoBN-eoLJGu";"<25.00g [2018-09-28 13:45:49,302][ceph_volume.process][INFO ] stdout ceph.cephx_lockbox_secret=,ceph.cluster_fsid=769d3685-5ef4-4b81-a548-08c77342747b,ceph.cluster_name=ceph,ceph.crush_device_class=None,ceph.data_device=/dev/test_group/data-lv2,ceph.data_uuid=BjYhr6-5y9u-ORPd-I5OW-LuaM-KfPT-uxQftF,ceph.encrypted=0,ceph.journal_device=/dev/journals/journal1,ceph.journal_uuid=wFRPlY-k6RT-sLtF-OQ4p-nEU6-4GFD-PbTf9E,ceph.osd_fsid=840de0c9-bb63-479e-a42b-1a083570bac5,ceph.osd_id=1,ceph.type=data,ceph.vdo=0";"/dev/test_group/data-lv2";"data-lv2";"test_group";"BjYhr6-5y9u-ORPd-I5OW-LuaM-KfPT-uxQftF";"12.50g [2018-09-28 13:45:49,302][ceph_volume.devices.lvm.activate][INFO ] auto detecting objectstore [2018-09-28 13:45:49,302][ceph_volume.devices.lvm.activate][INFO ] found a journal associated with the OSD, assuming filestore [2018-09-28 13:45:49,305][ceph_volume.util.system][INFO ] /dev/test_group/data-lv2 detected as mounted, exists at destination: /var/lib/ceph/osd/ceph-1 [2018-09-28 13:45:49,305][ceph_volume.process][INFO ] Running command: ln -snf /dev/journals/journal1 /var/lib/ceph/osd/ceph-1/journal [2018-09-28 13:45:49,512][ceph_volume.process][INFO ] Running command: chown -h ceph:ceph /dev/journals/journal1 [2018-09-28 13:45:49,719][ceph_volume.process][INFO ] Running command: chown -R ceph:ceph /dev/dm-4 [2018-09-28 13:45:49,926][ceph_volume.process][INFO ] Running command: systemctl enable ceph-volume@lvm-1-840de0c9-bb63-479e-a42b-1a083570bac5 [2018-09-28 13:45:50,135][ceph_volume.process][INFO ] stderr Operation failed: No such file or directory [2018-09-28 13:45:50,135][ceph_volume][ERROR ] exception caught by decorator Traceback (most recent call last): 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 156, in main terminal.dispatch(self.mapper, subcommand_args) File "/usr/lib/python2.7/site-packages/ceph_volume/terminal.py", line 182, in dispatch instance.main() File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/main.py", line 40, in main terminal.dispatch(self.mapper, self.argv) File "/usr/lib/python2.7/site-packages/ceph_volume/terminal.py", line 182, in dispatch instance.main() File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/activate.py", line 332, in main self.activate(args) 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/activate.py", line 252, in activate return activate_filestore(lvs) File "/usr/lib/python2.7/site-packages/ceph_volume/devices/lvm/activate.py", line 75, in activate_filestore systemctl.enable_volume(osd_id, osd_fsid, 'lvm') File "/usr/lib/python2.7/site-packages/ceph_volume/systemd/systemctl.py", line 59, in enable_volume return enable(volume_unit % (device_type, id_, fsid)) File "/usr/lib/python2.7/site-packages/ceph_volume/systemd/systemctl.py", line 19, in enable process.run(['systemctl', 'enable', unit]) File "/usr/lib/python2.7/site-packages/ceph_volume/process.py", line 153, in run raise RuntimeError(msg) RuntimeError: command returned non-zero exit status: 1
History
#1 Updated by Alfredo Deza over 5 years ago
- Status changed from New to 12
The problem here is that ``--auto-detect-objectstore`` was not meant to be run directly on the commandline, it was meant to be used by systemd. That explains why this wouldn't work: it doesn't make sense for the systemd unit not make sure this is enabled and running.
Sebastien: in what context do you need to have the objectstore automatically detected, vs passed-in ? Is this a custom systemd unit?
#2 Updated by Sébastien Han over 5 years ago
If it's not meant to run on the commandline then please make sure it's not displayed as an argument.
I tried to use this command so I wouldn't need to pass --bluestore (even though it's the default) or --filestore on the osd activation.
If we can have this autodetection then perhaps we can remove --bluestore and --filestore so the activation will detect everything automatically when pointing to a specific OSD.
Thanks.
#3 Updated by Alfredo Deza over 5 years ago
It is meant to be run on the commandline, but by systemd. It needs to be an argument because the systemd unit doesn't know.
Auto-detection of the objectstore requires some assumptions and it is entirely possible to get it wrong, which is why the flags exist: they would ensure correct activation
regardless of any assumption in-code.
I would suggest you use --filestore/--bluestore always, even though this is a valid issue.
#4 Updated by Sébastien Han over 5 years ago
Yes, in the end, I used --bluestore and --filestore, but it would be nice to embed this in the code.
If we have this assumption for systemd then perhaps we should expose it wider.
#5 Updated by Alfredo Deza over 5 years ago
- Status changed from 12 to In Progress
#6 Updated by Alfredo Deza over 5 years ago
master PR: https://github.com/ceph/ceph/pull/24355
#7 Updated by Alfredo Deza over 5 years ago
- Status changed from In Progress to Resolved
mimic PR: https://github.com/ceph/ceph/pull/24357
luminous PR: https://github.com/ceph/ceph/pull/24358