Ganeti bug when you try to use special pool and special client for mounting RBD images from special CEPH cluster.

You can get error message in process work ganeti iwth private ceph cluster, when ganeti must use special pool and special user name. I suppose you already know how add environment for rbd in code of python of ganeti, so as ganeti is very poor guy in this context.

Ganeti tries to parse shell output from command of ‘rbd shomapped’. Child style of coders of google. LOL. And of course is using wrong parameter.

1
2
3
4
5
6
7
8
9
10
11
Sun Oct 15 07:29:03 2017 * disk 0, size 25.0G
Sun Oct 15 07:29:03 2017 * creating instance disks...
Sun Oct 15 07:29:07 2017  - WARNING: Device creation failed
Failure: command execution error:
Can't create block device <Disk(type=rbd, logical_id=('rbd',
'
f6487061-7c8d-4f19-9494-cf2af9d346a0.rbd.disk0'),
children=None, visible as /dev/disk/0,
size=25600m)> on node blade-19-int0.g1.blades.uiip.openstack.by for
instance instance-002.g1.blades.uiip.openstack.by: Can'
t create block device:
rbd showmapped failed (exited with exit code 1):
rbd: unrecognised option '-p'

and of course here is place where is bug:

“Ganeti bug when you try to use special pool and special client for mounting RBD images from special CEPH cluster.”Continue reading

How to set environment variables in systemd service for Ganeti with some cluster of CEPH!

Best practices:

The current best way to do this is to run ‘systemctl edit service’, which will create an override file for you or let you edit an existing one.

In normal installations this will create a directory /etc/systemd/system/service.service.d, and inside that directory create a file whose name ends in .conf (typically, override.conf), and in this file you can add to or override any part of the unit shipped by the distribution.

For instance:

1
2
3
# systemctl edit ganeti-noded
>>> in vim env you can see
>>> "/etc/systemd/system/ganeti-noded.service.d/.#override.conf6940d208e8dfaced" 0L, 0C

Content may be any, for example:

1
2
3
4
# cat /etc/systemd/system/ganeti-noded.service.d/override.conf
[Service]
Environment="SECRET=123"
Environment="ANOTHER_SECRET=456"

Also note that if the directory exists and is empty, your service will be disabled! If you don’t intend to put something in the directory, ensure that it does not exist.

pip – to show all versions of package

(.venv) [homitaka@tayn1 ~]$ pip install python-novaclient==
Collecting python-novaclient==
  Could not find a version that satisfies the requirement python-novaclient== (from versions: 2.6.0, 2.6.0.1, 2.6.10, 2.7.0, 2.8.0, 2.9.0, 2.10.0, 2.11.0, 2.11.1, 2.12.0, 2.13.0, 2.14.0, 2.14.1, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.18.1, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.23.1, 2.23.2, 2.23.3, 2.24.0, 2.24.1, 2.25.0, 2.26.0, 2.27.0, 2.28.0, 2.28.1, 2.29.0, 2.30.0, 2.30.1, 2.30.2, 2.30.3, 2.31.0, 2.32.0, 2.33.0, 2.34.0, 2.35.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 3.4.0, 4.0.0, 4.1.0, 5.0.0, 5.1.0, 6.0.0, 6.0.1, 7.0.0, 7.1.0, 7.1.1, 8.0.0)
No matching distribution found for python-novaclient==
(.venv) [homitaka@tayn1 ~]$
Scroll to top