Live migration fails with ceph rbd attached block device between different nova-compute instances
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Nova Compute Charm |
Triaged
|
Medium
|
Unassigned | ||
nova-compute (Juju Charms Collection) |
Invalid
|
Medium
|
Unassigned |
Bug Description
We have two nova-compute services with distinct names to support different types of hardware.
When live migrating instances with attached volumes across those services we run into authentication issues against ceph.
ERROR nova.virt.
This is, afaict, due to the fact that the ceph charm sets up credentials per service, and considers those two nova-compute separate services:
$ sudo ceph auth list
...
client.compute-only
key: Afookey==
caps: [mon] allow rw
caps: [osd] allow rwx
...
client.nova-compute
key: Abarkey==
caps: [mon] allow rw
caps: [osd] allow rwx
Also cf. ceph charm, in hooks/ceph_
affects: | ceph (Juju Charms Collection) → nova-compute (Juju Charms Collection) |
Changed in nova-compute (Juju Charms Collection): | |
importance: | Undecided → Medium |
summary: |
- Live migration fails for named services + Live migration fails with ceph rbd attached block device between + different nova-compute instances |
tags: | added: live-migration |
Changed in charm-nova-compute: | |
importance: | Undecided → Medium |
Changed in nova-compute (Juju Charms Collection): | |
status: | New → Invalid |
As the key is encoded in the data, this look odd to me:
"key=Abarkey= =:auth_ supported= cephx\; none:mon_ host=1. 1.1.1\: 6789\;1. 1.1.2\: 6789\;1. 1.1.3\: 6789"
The key is normally encoded using a libvirt secret - I'm not 100% sure of the designed behaviour in libvirt for this particular use case (migrating between compute hosts with different keys stored in the ceph-key secret).