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.
Created attachment 1277649 [details] File contains a snippet of mirroring log of approximately 3 minutes. (pools - aba, vasi, demo were created for demo purpose)
I don't believe this is valid -- RBD already requires read access to all pools for things like cloning.
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
@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.
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