|
|
|
@ -183,9 +183,9 @@ def _luci_auth_cmd(luci_cmd, wrapped_cmds=None, interactive=False):
|
|
|
|
|
cmd += ['--'] + wrapped_cmds
|
|
|
|
|
|
|
|
|
|
if interactive:
|
|
|
|
|
return _run_subprocess(cmd, interactive=True, env=_enable_luci_auth_ui())
|
|
|
|
|
return _run_subprocess(cmd, interactive=True)
|
|
|
|
|
|
|
|
|
|
p = _run_subprocess(cmd, env=_enable_luci_auth_ui())
|
|
|
|
|
p = _run_subprocess(cmd)
|
|
|
|
|
|
|
|
|
|
# If luci-auth is not logged in.
|
|
|
|
|
if b'Not logged in.' in p.stderr:
|
|
|
|
@ -202,12 +202,6 @@ def _luci_auth_cmd(luci_cmd, wrapped_cmds=None, interactive=False):
|
|
|
|
|
return p
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _enable_luci_auth_ui():
|
|
|
|
|
"""Returns environment variables to enable luci-auth"""
|
|
|
|
|
# TODO(aravindvasudev): clean up after luci-auth UI is released.
|
|
|
|
|
return {'LUCI_AUTH_LOGIN_SESSIONS_HOST': 'ci.chromium.org'}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _run_subprocess(cmd, interactive=False, env=None):
|
|
|
|
|
"""Wrapper to run the given command within a subprocess."""
|
|
|
|
|
kwargs = {'shell': IS_WINDOWS}
|
|
|
|
@ -229,7 +223,7 @@ def is_boto_present():
|
|
|
|
|
|
|
|
|
|
def run_gsutil(target, args, clean=False):
|
|
|
|
|
# Redirect gsutil config calls to luci-auth.
|
|
|
|
|
if os.getenv(GSUTIL_ENABLE_LUCI_AUTH) == '1' and 'config' in args:
|
|
|
|
|
if os.getenv(GSUTIL_ENABLE_LUCI_AUTH) != '0' and 'config' in args:
|
|
|
|
|
return luci_login().returncode
|
|
|
|
|
|
|
|
|
|
gsutil_bin = ensure_gsutil(VERSION, target, clean)
|
|
|
|
@ -262,7 +256,7 @@ def run_gsutil(target, args, clean=False):
|
|
|
|
|
] + args_opt + args
|
|
|
|
|
|
|
|
|
|
# Bypass luci-auth when run within a bot or .boto file is set.
|
|
|
|
|
if (os.getenv(GSUTIL_ENABLE_LUCI_AUTH) != '1' or _is_luci_context()
|
|
|
|
|
if (os.getenv(GSUTIL_ENABLE_LUCI_AUTH) == '0' or _is_luci_context()
|
|
|
|
|
or os.getenv('SWARMING_HEADLESS') == '1' or os.getenv('BOTO_CONFIG')
|
|
|
|
|
or os.getenv('AWS_CREDENTIAL_FILE') or is_boto_present()):
|
|
|
|
|
return _run_subprocess(cmd, interactive=True).returncode
|
|
|
|
|