mirror of
https://bitbucket.org/atlassian/dc-deployments-automation.git
synced 2025-12-13 16:33:08 -06:00
Add support for Amazon Linux 2022 * first pass at basic AL2022 support * unpin git version on AL2022 * resolve a few package issues/discrepancies * fix non-Amazon distro support * fix missing nfs.service symlink on AL2022 * remove Ubuntu/Debian install task from aws_common (no existing ubuntu dependency tasks) * add amazonlinux:2022 to list of images for testing via molecule * install amazon-cloudwatch-agent from package sources instead of direct RPM on AL2022; add workaround for missing group * fix typo in task name * add mising amazonlinux:2022 test for product_install role * al2022 -> al2023 * al2023 ships with rpm-installed versions of setuptools and distlib that aren't removable and older than what pipenv requires; use py3.11 instead Approved-by: Vadym Kovalskiy Approved-by: Eugene Ivantsov Approved-by: Yurii Kuzan
48 lines
1.2 KiB
Bash
Executable File
48 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
PIP_BIN="pip3"
|
|
|
|
source /etc/os-release
|
|
if [[ $ID = "amzn" ]] && [[ $VERSION = "2" ]]; then
|
|
amazon-linux-extras enable python3.8
|
|
yum clean metadata
|
|
yum install -y \
|
|
python2-pip \
|
|
python38 \
|
|
python38-pip \
|
|
python38-devel
|
|
elif [[ $ID = "amzn" ]] && [[ $VERSION = "2023" ]]; then
|
|
dnf install -y \
|
|
python3.11 \
|
|
python3.11-pip \
|
|
python3.11-devel
|
|
PIP_BIN="pip3.11"
|
|
else
|
|
# FIXME: Currently assumes Debian-based
|
|
apt-get update && \
|
|
apt-get install -y \
|
|
python3-dev \
|
|
python3-pip
|
|
fi
|
|
export PATH=/usr/local/bin:$PATH
|
|
export PIP_DEFAULT_TIMEOUT=60
|
|
|
|
echo "Installing pipenv..."
|
|
$PIP_BIN install pipenv
|
|
|
|
echo "Installing ansible and dependencies..."
|
|
PIPENV_NOSPIN=1 PIPENV_HIDE_EMOJIS=1 pipenv sync 2>&1 | iconv -c -f utf-8 -t ascii
|
|
|
|
if [[ $1 == "--dev" ]]; then
|
|
pipenv sync --dev
|
|
fi
|
|
|
|
echo "Installing collections from galaxy..."
|
|
galaxy_retry_count=0
|
|
until [[ $galaxy_retry_count -gt 2 ]]; do
|
|
pipenv run ansible-galaxy collection install --upgrade --verbose --requirements-file requirements.yml && break
|
|
galaxy_retry_count=$((galaxy_retry_count + 1))
|
|
done
|