This is an automated email from the ASF dual-hosted git repository. dimberman pushed a commit to branch fix-resource-backcompat in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 483386af1abbaa5a2a122f0976aa5e2262e18d21 Author: Kaxil Naik <[email protected]> AuthorDate: Sat Nov 7 17:32:53 2020 +0000 Sync FAB Permissions for all base views (#12162) If a user has set `[webserver] update_fab_perms = False` and runs `airflow sync-perm` command to sync all permissions, they will receive the following error: ``` webserver_1 | [2020-11-07 15:13:07,431] {decorators.py:113} WARNING - Access is Denied for: can_index on: Airflow ``` and if the user was created before and some perms were sync'd a user won't be able to find Security Menu & Configurations View --- airflow/bin/cli.py | 1 + tests/core/test_core.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/airflow/bin/cli.py b/airflow/bin/cli.py index 1fb3b88..37f70c4 100644 --- a/airflow/bin/cli.py +++ b/airflow/bin/cli.py @@ -1863,6 +1863,7 @@ def sync_perm(args): # noqa appbuilder = cached_appbuilder() print('Updating permission, view-menu for all existing roles') appbuilder.sm.sync_roles() + appbuilder.add_permissions(update_perms=True) print('Updating permission on all DAG views') dags = DagBag(store_serialized_dags=settings.STORE_SERIALIZED_DAGS).dags.values() for dag in dags: diff --git a/tests/core/test_core.py b/tests/core/test_core.py index b229d53..bf74945 100644 --- a/tests/core/test_core.py +++ b/tests/core/test_core.py @@ -1110,6 +1110,7 @@ class CliTests(unittest.TestCase): DAG('no_access_control') ], dagbag_mock) self.appbuilder.sm = mock.Mock() + self.appbuilder.add_permissions = mock.Mock() args = self.parser.parse_args([ 'sync_perm' @@ -1127,6 +1128,7 @@ class CliTests(unittest.TestCase): 'no_access_control', None, ) + self.appbuilder.add_permissions.assert_called_once_with(update_perms=True) def expect_dagbag_contains(self, dags, dagbag_mock): dagbag = mock.Mock()
