Bug 1449767

Summary: [rbd-mirror] : mirror status is being checked by mirror service for new pools created
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Vasishta <vashastr>
Component: RBDAssignee: Jason Dillaman <jdillama>
Status: CLOSED ERRATA QA Contact: Parikshith <pbyregow>
Severity: low Docs Contact:
Priority: medium    
Version: 2.3CC: anharris, ceph-eng-bugs, hnallurv, uboppana
Target Milestone: rc   
Target Release: 3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: RHEL: ceph-12.1.2-1.el7cp Ubuntu: ceph_12.1.2-2redhat1xenial Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-05 23:33:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File contains a snippet of mirroring log of approximately 3 minutes. (pools - aba, vasi, demo were created for demo purpose) none

Description Vasishta 2017-05-10 15:38:27 UTC
Description of problem:
rbd-mirror service is checking whether mirroring was enabled for new pool created. As a result, mirror log is flooded with messages saying "could not tell whether mirroring was enabled for <new pool>"


Version-Release number of selected component (if applicable):
ceph version 10.2.7-15.el7cp

How reproducible:
always

Steps to Reproduce:
1. Setup mirroring (pool mode)
2. Create a new pool

Actual results (Pasting just a terminal log snippet here):
$ sudo ceph osd pool create demo 8 8 --cluster Two
pool 'demo' created
$sudo  tailf /var/log/ceph/Two-client.Two.log
2017-05-10 15:33:40.716390 7f59a1953c40 -1 librbd: Failed to retrieve mirror mode: (1) Operation not permitted
2017-05-10 15:33:40.716405 7f59a1953c40 -1 rbd::mirror::ClusterWatcher:0x7f59abe35990 read_pool_peers: could not tell whether mirroring was enabled for demo : (1) Operation not permitted
------------------
2017-05-10 15:34:10.721529 7f59a1953c40 -1 rbd::mirror::ClusterWatcher:0x7f59abe35990 read_pool_peers: could not tell whether mirroring was enabled for demo : (1) Operation not permitted
------------------


Expected results:
Mirror service need not to check whether mirroring was enabled for a new pool.

Comment 2 Vasishta 2017-05-10 15:54:05 UTC
Created attachment 1277649 [details]
File contains a snippet of mirroring log of approximately 3 minutes. (pools - aba, vasi, demo were created for demo purpose)

Comment 3 Jason Dillaman 2017-05-10 17:50:35 UTC
I don't believe this is valid -- RBD already requires read access to all pools for things like cloning.

Comment 4 Vasishta 2017-05-11 10:17:52 UTC
Hi Jason,

Even some pools are created for non-mirroring purpose, mirroring service is checking the status of those pools and making log entry. This is being done once in every 30 seconds which is creating a huge redundant content in log file. This might create confusion to users and certainly and overhead and it might result in missing out important log content. I couldn't make out the reason for checking whether mirroring was enabled or not for a pool which was not at all created for mirroring purpose.

Please let me know your views.

Regards,
Vasishta

Comment 5 Jason Dillaman 2017-05-11 11:29:05 UTC
@Vasishta: the issue is how does it know it shouldn't mirror a pool if it cannot check the pool? Perhaps that's a legitimate incorrect issue that the operator should know about. We could reduce the log level down from error, but as I said, other features of RBD will *never* work if you create pools that RBD cannot read.

Comment 10 errata-xmlrpc 2017-12-05 23:33:43 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

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

https://access.redhat.com/errata/RHBA-2017:3387