There were 2 options to solve the LVM issues:
- Using the OCP storage VLAN IP address in the backend configuration and then making the operator introduce a `cinder-rtstool` script that runs the original `cinder-rtstool` command in the host's network namespace.
- Creating a macvlan on the host that is connected to the storage VLAN. This option requires the new VLAN flags to work.
Both options were coded and could have been made available in the final product, letting human operators decide which one to use, but we decided to leave only the second option.
We decided to use the macvlan approach because:
- LVM is a POC backend, since it's not appropirate for most production scenarios.
- Changes to the `nncp` for the macvlan solution are very easy and can be made as a day 2 operation without a node reboot.
- We don't increase the complexity of the cinder-operator code just for the LVM case.
- Reduces the amount of documentation necessary.
- The macvlan approach is future proof when the `cinder-rtstool` code is moved as privsep methods in Cinder.
Required `nncp` changes will need to be describen in the LVM backend explanations, but we already needed LVM explanations, so this just adds a bit more work.
CPaaS Service Account mentioned this issue in a merge request of openstack-midstream / podified / config / Cinder Operator on branch rhos-podified-trunk-0.1-rhel-9_upstream_ddd0ec3d6841c069da4e2bd671d05e3b: