Comment 9 for bug 1836568

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to oslo.policy (master)

Reviewed: https://review.opendev.org/673932
Committed: https://git.openstack.org/cgit/openstack/oslo.policy/commit/?id=4d40252748bd31584f1cbb72d4641dec62cf1303
Submitter: Zuul
Branch: master

commit 4d40252748bd31584f1cbb72d4641dec62cf1303
Author: Colleen Murphy <email address hidden>
Date: Wed Jul 31 18:18:17 2019 -0700

    Add attribute to suppress deprecation warnings

    Without this patch, if a project is going through a heavy policy
    refactor, significant numbers of deprecation warnings are emitted. When
    the enforcer is repeated reinitialized, as is the case when unit
    testing, the vast amount of logs resulting from the warnings is both
    unnecessary and harmful as it impedes log readability and explodes the
    size of the logs, thereby causing CI instability as the infrastructure
    struggles to process the logs.

    This change adds a public attribute to the enforcer object to allow
    callers to suppress these logs. This is not exposed as a configuration
    option because we do not want to allow operators to suppress these logs,
    and the warnings that occur when the enforcer is only reinitialized when
    the process is reloaded are not nearly so debilitating as they are
    during, e.g., a unit test run when the enforcer is generally
    reinitialized for every test.

    The Python warnings module allows for setting global attributes to
    filter logs, and it might have been useful for the consuming project to
    filter these logs at that level rather than modifying the policy
    enforcer to turn log emissions on and off. The problem with this
    approach is that if the number of deprecations is extreme, as may be the
    case during a heavy refactor, the warnings filter can become so
    inefficient that the test run can take much longer, causing even further
    CI stability as test runs reach timeout limits.

    Needed-by: https://review.opendev.org/673933
    Change-Id: Ibfc7d4fca02b896953f80ddf1a9a8b9a19444f72
    Related-bug: #1836568