Retry Ansible Galaxy calls
Change-Id: Ic0e33c4f2939c36ed80caa3ec1015cf53a4d93e2
This commit is contained in:
parent
da337ba5fe
commit
638e1e3062
@ -21,6 +21,7 @@ import sys
|
|||||||
import yaml
|
import yaml
|
||||||
|
|
||||||
from importlib.metadata import Distribution
|
from importlib.metadata import Distribution
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -106,12 +107,24 @@ def galaxy_collection_install(requirements_file: str,
|
|||||||
args += ["--requirements-file", requirements_file]
|
args += ["--requirements-file", requirements_file]
|
||||||
if force:
|
if force:
|
||||||
args += ["--force"]
|
args += ["--force"]
|
||||||
|
|
||||||
|
for retry_count in range(1, 6):
|
||||||
try:
|
try:
|
||||||
run_command("ansible-galaxy", args)
|
run_command("ansible-galaxy", args)
|
||||||
except subprocess.CalledProcessError as e:
|
except subprocess.CalledProcessError as e:
|
||||||
LOG.error("Failed to install Ansible collections from %s via Ansible "
|
if retry_count < 5:
|
||||||
"Galaxy: returncode %d", requirements_file, e.returncode)
|
LOG.warning(f"Failed to install Ansible collections from "
|
||||||
|
f"{requirements_file} using Ansible Galaxy "
|
||||||
|
f"(error: {e}) (retry: {retry_count}/5)")
|
||||||
|
sleep(2)
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
LOG.error(f"Failed to install Ansible collections from "
|
||||||
|
f"{requirements_file} using Ansible Galaxy "
|
||||||
|
f"(error: {e}) after 5 retries")
|
||||||
|
LOG.error("Exiting")
|
||||||
sys.exit(e.returncode)
|
sys.exit(e.returncode)
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
def read_file(path: os.path, mode: str = "r") -> str | bytes:
|
def read_file(path: os.path, mode: str = "r") -> str | bytes:
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
``kolla-ansible install-deps`` subcommand will now retry on Ansible Galaxy
|
||||||
|
collections installation failures.
|
Loading…
Reference in New Issue
Block a user