Skip to content

Commit f998814

Browse files
akoselashb
authored andcommitted
[AIRFLOW-3124] Fix RBAC webserver debug mode (apache#3958)
1 parent 47ab040 commit f998814

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

airflow/bin/cli.py

+6-2
Original file line numberDiff line numberDiff line change
@@ -777,8 +777,12 @@ def webserver(args):
777777
print(
778778
"Starting the web server on port {0} and host {1}.".format(
779779
args.port, args.hostname))
780-
app = create_app_rbac(conf) if settings.RBAC else create_app(conf)
781-
app.run(debug=True, port=args.port, host=args.hostname,
780+
if settings.RBAC:
781+
app, _ = create_app_rbac(conf, testing=conf.get('core', 'unit_test_mode'))
782+
else:
783+
app = create_app(conf, testing=conf.get('core', 'unit_test_mode'))
784+
app.run(debug=True, use_reloader=False if app.config['TESTING'] else True,
785+
port=args.port, host=args.hostname,
782786
ssl_context=(ssl_cert, ssl_key) if ssl_cert and ssl_key else None)
783787
else:
784788
app = cached_app_rbac(conf) if settings.RBAC else cached_app(conf)

tests/cli/test_cli.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,21 @@ def test_ready_prefix_on_cmdline_dead_process(self):
134134
self.assertEqual(get_num_ready_workers_running(self.gunicorn_master_proc), 0)
135135

136136
def test_cli_webserver_debug(self):
137-
p = psutil.Popen(["airflow", "webserver", "-d"])
137+
env = os.environ.copy()
138+
p = psutil.Popen(["airflow", "webserver", "-d"], env=env)
139+
sleep(3) # wait for webserver to start
140+
return_code = p.poll()
141+
self.assertEqual(
142+
None,
143+
return_code,
144+
"webserver terminated with return code {} in debug mode".format(return_code))
145+
p.terminate()
146+
p.wait()
147+
148+
def test_cli_rbac_webserver_debug(self):
149+
env = os.environ.copy()
150+
env['AIRFLOW__WEBSERVER__RBAC'] = 'True'
151+
p = psutil.Popen(["airflow", "webserver", "-d"], env=env)
138152
sleep(3) # wait for webserver to start
139153
return_code = p.poll()
140154
self.assertEqual(

0 commit comments

Comments
 (0)