Bug 1955375

Summary: [cinderlib] Provide cinderlib prerequisites in host and engine installation
Product: [oVirt] ovirt-node Reporter: Jason N. <producer952>
Component: RFEsAssignee: Benny Zlotnik <bzlotnik>
Status: CLOSED CURRENTRELEASE QA Contact: sshmulev
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.4.5CC: aefrat, bugs, cshao, eshenitz, michal.skrivanek, sfishbai
Target Milestone: ovirt-4.4.8Keywords: FutureFeature, VerifiedUpstream, ZStream
Target Release: 4.4.8Flags: sbonazzo: ovirt-4.4?
pm-rhel: planning_ack?
sbonazzo: devel_ack+
aefrat: testing_ack+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovirt-release44-4.4.8_rc3 Doc Type: Enhancement
Doc Text:
Feature: Automatically install dependencies required for using cinderlib with ceph Reason: Currently users are required to manually install cinderlib and ceph dependencies like python3-cinderlib, python3-os-brick (on each host) and ceph-common. To make installation simpler, the dependencies will be installed automatically. Result: Now cinderlib+ceph dependencies are pulled automatically on the ovirt-engine host and vdsm hosts. ceph-common and python3-cinderlib will be installed on the ovirt-engine host, ceph-common and python3-os-brick will be installed on the vdsm hosts.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-08-19 06:23:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1974729    

Description Jason N. 2021-04-30 00:46:56 UTC
Description of problem:
While attempting to use Cinderlib, I was unable to install ceph-common on the host. The host is running an installation of oVirt Node. I was able to enable the feature, install the required packages on the Hosted Engine VM, and successfully create the connection to Ceph, but I was unable to start any VMs with an MBS disk due to the missing ceph-common package.

Version-Release number of selected component (if applicable):
4.4.5.1

How reproducible:
100%

Steps to Reproduce:
1. Install a machine from the oVirt Node ISO
2. Add the CentOS-OpenStack-ussuri repo
3. Install os-brick and then attempt to install ceph-common

Actual results:
os-brick will install but ceph-common has a dependency on librbd1 that conflicts with a dependency of one of the oVirt packages. The version of librbd1 that is installed as part of the oVirt Node is version 1:12.2.7-9.el8, which is for Ceph Luminous which hit EOL 2020-03-01.

Expected results:
os-brick and ceph-common install successfully.

Additional info:
It would be nice if os-brick and ceph-common were automatically installed as part of the oVirt Node so the node is compatible with the feature when it is enabled, but I don't have high hopes for that since it is still a tech preview feature.

Comment 1 RHEL Program Management 2021-04-30 06:24:53 UTC
The documentation text flag should only be set after 'doc text' field is provided. Please provide the documentation text and set the flag to '?' again.

Comment 2 Michal Skrivanek 2021-04-30 07:51:09 UTC
we only support ceph/cinderlib based on Openstack 16/Train. Can you please confirm that one works ok?

adding the packages is a good idea. Eyal, can you please track that, we should try to eliminate additional installs, it's pretty stable now

Comment 3 Jason N. 2021-04-30 13:09:56 UTC
OpenStack Train doesn't appear to include a specific version of Ceph. Even if it did, the version of librbd1 would still conflict. The OpenStack repo depends on CentOS's Storage Common repo. CentOS's Storage Common repo only includes Ceph for CentOS 8 going back to Nautilus (14.2) but the oVirt Node requires 12.2. I've looked on both Ceph's repos and CentOS's repos and I don't see a packaged version of Ceph 12.2 for CentOS 8. The only way I see to get this to work would be to compile Ceph 12.2 from source.

Comment 4 Eyal Shenitzky 2021-05-06 06:01:30 UTC
We should add the following packages - 

Engine:
  1. python3-cinderlib
  2. ceph-common


Host deploy:
  1. ceph-common
  2. python3-os-brick

The engine should support using Managed block domain by default which means we need to add the Cinderlib DB on engine setup by default as well.

A separate bug will track enabling Managed Block Storage on the engine DB - bug 1957253

Comment 5 sshmulev 2021-08-01 13:24:58 UTC
Verified.

Verified that the following packages are installed by installing them and expecting to see that it is already installed.
Engine:
  1. python3-cinderlib
  2. ceph-common

Host deploy:
  1. ceph-common
  2. python3-os-brick

Worked as expected.

Comment 6 Sandro Bonazzola 2021-08-19 06:23:03 UTC
This bugzilla is included in oVirt 4.4.8 release, published on August 19th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.8 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.

Comment 7 sshmulev 2021-08-25 16:00:12 UTC
(In reply to sshmulev from comment #5)
> Verified.
> 
> Verified that the following packages are installed by installing them and
> expecting to see that it is already installed.
> Engine:
>   1. python3-cinderlib
>   2. ceph-common
> 
> Host deploy:
>   1. ceph-common
>   2. python3-os-brick
> 
> Worked as expected.

Adding the versions that it has been verified on:
ovirt-engine-4.4.8.2-0.11.el8ev.noarch
vdsm-4.40.80.3-1.el8ev.x86_64