Merge pull request #1912 from saltstack/adding_3006_to_tests

Fixes for 3006
This commit is contained in:
Gareth J. Greenaway 2023-04-21 07:06:30 -07:00 committed by GitHub
commit 14ae685f96
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 129 additions and 71 deletions

View file

@ -249,7 +249,7 @@ jobs:
distro-slug: almalinux-8
display-name: AlmaLinux 8
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
almalinux-9:
@ -263,7 +263,7 @@ jobs:
distro-slug: almalinux-9
display-name: AlmaLinux 9
timeout: 20
instances: '["git-3005", "onedir-3005", "git-3006", "git-master", "onedir-nightly"]'
instances: '["git-3005", "onedir-3005", "onedir-3006", "git-master"]'
amazon-2:
@ -277,7 +277,7 @@ jobs:
distro-slug: amazon-2
display-name: Amazon 2
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "git-3006", "git-master", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "git-master", "latest"]'
arch:
@ -291,7 +291,7 @@ jobs:
distro-slug: arch
display-name: Arch
timeout: 20
instances: '["stable-3006", "git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
centos-7:
@ -305,7 +305,7 @@ jobs:
distro-slug: centos-7
display-name: CentOS 7
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
centos-stream8:
@ -319,7 +319,7 @@ jobs:
distro-slug: centos-stream8
display-name: CentOS Stream 8
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
centos-stream9:
@ -333,7 +333,7 @@ jobs:
distro-slug: centos-stream9
display-name: CentOS Stream 9
timeout: 20
instances: '["git-3005", "onedir-3005", "git-3006", "git-master", "onedir-nightly"]'
instances: '["git-3005", "onedir-3005", "onedir-3006", "git-master"]'
debian-10:
@ -347,7 +347,7 @@ jobs:
distro-slug: debian-10
display-name: Debian 10
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "git-3006", "git-master", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "git-master", "latest"]'
debian-11:
@ -361,7 +361,7 @@ jobs:
distro-slug: debian-11
display-name: Debian 11
timeout: 20
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "git-3006", "git-master", "latest", "onedir-nightly"]'
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "git-master", "latest"]'
fedora-35:
@ -375,7 +375,7 @@ jobs:
distro-slug: fedora-35
display-name: Fedora 35
timeout: 20
instances: '["git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
fedora-36:
@ -389,7 +389,7 @@ jobs:
distro-slug: fedora-36
display-name: Fedora 36
timeout: 20
instances: '["git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
fedora-37:
@ -431,7 +431,7 @@ jobs:
distro-slug: gentoo
display-name: Gentoo
timeout: 90
instances: '["stable-3006", "git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
gentoo-systemd:
@ -445,7 +445,7 @@ jobs:
distro-slug: gentoo-systemd
display-name: Gentoo (systemd)
timeout: 90
instances: '["stable-3006", "git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
opensuse-15:
@ -459,7 +459,7 @@ jobs:
distro-slug: opensuse-15
display-name: Opensuse 15
timeout: 20
instances: '["stable-3006", "latest"]'
instances: '["latest"]'
opensuse-tumbleweed:
@ -473,7 +473,7 @@ jobs:
distro-slug: opensuse-tumbleweed
display-name: Opensuse Tumbleweed
timeout: 20
instances: '["stable-3006", "git-3006", "git-master", "latest"]'
instances: '["git-master", "latest"]'
oraclelinux-7:
@ -487,7 +487,7 @@ jobs:
distro-slug: oraclelinux-7
display-name: Oracle Linux 7
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
oraclelinux-8:
@ -501,7 +501,7 @@ jobs:
distro-slug: oraclelinux-8
display-name: Oracle Linux 8
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
rockylinux-8:
@ -515,7 +515,7 @@ jobs:
distro-slug: rockylinux-8
display-name: Rocky Linux 8
timeout: 20
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "latest", "onedir-nightly"]'
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "latest"]'
rockylinux-9:
@ -529,7 +529,7 @@ jobs:
distro-slug: rockylinux-9
display-name: Rocky Linux 9
timeout: 20
instances: '["git-3005", "onedir-3005", "git-3006", "git-master", "onedir-nightly"]'
instances: '["git-3005", "onedir-3005", "onedir-3006", "git-master"]'
ubuntu-2004:
@ -543,7 +543,7 @@ jobs:
distro-slug: ubuntu-2004
display-name: Ubuntu 20.04
timeout: 20
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "git-3006", "git-master", "latest", "onedir-nightly"]'
instances: '["stable-3003", "stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "git-master", "latest"]'
ubuntu-2204:
@ -557,7 +557,7 @@ jobs:
distro-slug: ubuntu-2204
display-name: Ubuntu 22.04
timeout: 20
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "git-3006", "git-master", "latest", "onedir-nightly"]'
instances: '["stable-3004", "stable-3005", "onedir-3005", "stable-3006", "onedir-3006", "git-master", "latest"]'
set-pipeline-exit-status:

View file

@ -210,6 +210,39 @@ BLACKLIST_GIT_3005 = [
"ubuntu-2204",
]
BLACKLIST_3006 = [
"arch",
"fedora-35",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
]
BLACKLIST_GIT_3006 = [
"almalinux-9",
"amazon-2",
"arch",
"centos-stream9",
"debian-10",
"debian-11",
"fedora-35",
"fedora-36",
"fedora-37",
"fedora-38",
"gentoo",
"gentoo-systemd",
"opensuse-15",
"opensuse-tumbleweed",
"rockylinux-9",
"ubuntu-2004",
"ubuntu-2110",
"ubuntu-2204",
]
SALT_VERSIONS = [
"3003",
"3004",
@ -222,8 +255,8 @@ SALT_VERSIONS = [
ONEDIR_SALT_VERSIONS = [
"3005",
"3006",
"latest",
"nightly",
]
ONEDIR_RC_SALT_VERSIONS = []
@ -241,14 +274,10 @@ VERSION_DISPLAY_NAMES = {
STABLE_VERSION_BLACKLIST = [
"master",
"nightly",
"3006-0rc1",
"3006-0rc2",
]
GIT_VERSION_BLACKLIST = [
"nightly",
"3006-0rc1",
"3006-0rc2",
]
# TODO: Revert the commit relating to this section, once the Git-based builds
@ -551,12 +580,14 @@ def generate_test_jobs():
"3003": BLACKLIST_3003,
"3004": BLACKLIST_3004,
"3005": BLACKLIST_3005,
"3006": BLACKLIST_3006,
}
if bootstrap_type == "git":
BLACKLIST = {
"3003": BLACKLIST_GIT_3003,
"3004": BLACKLIST_GIT_3004,
"3005": BLACKLIST_GIT_3005,
"3006": BLACKLIST_GIT_3006,
}
# .0 versions are a virtual version for pinning to the first
@ -566,7 +597,7 @@ def generate_test_jobs():
continue
if (
salt_version in ("3003", "3004", "3005")
salt_version in ("3003", "3004", "3005", "3006")
and distro in BLACKLIST[salt_version]
):
continue

View file

@ -628,7 +628,7 @@ elif [ "$ITYPE" = "stable" ]; then
elif [ "$(echo "$1" | grep -E '^(3003|3004|3005)$')" != "" ]; then
STABLE_REV="$1"
shift
elif [ "$(echo "$1" | grep -E '^([3-9][6-9]{3}(\.[0-9]*)?)')" != "" ]; then
elif [ "$(echo "$1" | grep -E '^([3-9][0-5]{2}[6-9](\.[0-9]*)?)')" != "" ]; then
ONEDIR_REV="minor/$1"
_ONEDIR_REV="$1"
ITYPE="onedir"
@ -1961,10 +1961,6 @@ if [ "$ITYPE" = "git" ]; then
if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then
_POST_NEON_INSTALL=$BS_TRUE
__TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}"
if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then
# We do this to properly clone tags
GIT_REV="v${GIT_REV}"
fi
echodebug "Post Neon Tag Regex Match On: ${GIT_REV}"
else
__TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed -E 's/^(v?[0-9]{1,4}\.[0-9]{1,2})(\.[0-9]{1,2})?.*$/MATCH/')
@ -1976,10 +1972,6 @@ if [ "$ITYPE" = "git" ]; then
if [ "$__NEW_VS_TAG_REGEX_MATCH" = "MATCH" ]; then
_POST_NEON_INSTALL=$BS_TRUE
__TAG_REGEX_MATCH="${__NEW_VS_TAG_REGEX_MATCH}"
if [ "$(echo "${GIT_REV}" | cut -c -1)" != "v" ]; then
# We do this to properly clone tags
GIT_REV="v${GIT_REV}"
fi
echodebug "Post Neon Tag Regex Match On: ${GIT_REV}"
else
__TAG_REGEX_MATCH=$(echo "${GIT_REV}" | sed 's/^.*\(v\?[[:digit:]]\{1,4\}\.[[:digit:]]\{1,2\}\)\(\.[[:digit:]]\{1,2\}\)\?.*$/MATCH/')
@ -4559,16 +4551,6 @@ __install_saltstack_rhel_onedir_repository() {
else
gpg_key="SALTSTACK-GPG-KEY.pub"
fi
elif [ "$(echo "${ONEDIR_REV}" | grep -E '(latest|nightly)')" != "" ]; then
if __check_url_exists "${base_url}SALT-PROJECT-GPG-PUBKEY-2023.pub"; then
gpg_key="SALT-PROJECT-GPG-PUBKEY-2023.pub"
else
if [ "${DISTRO_MAJOR_VERSION}" -eq 9 ]; then
gpg_key="SALTSTACK-GPG-KEY2.pub"
else
gpg_key="SALTSTACK-GPG-KEY.pub"
fi
fi
else
gpg_key="SALT-PROJECT-GPG-PUBKEY-2023.pub"
fi
@ -4963,6 +4945,8 @@ install_centos_onedir_deps() {
__PACKAGES="yum-utils chkconfig"
fi
__PACKAGES="${__PACKAGES} procps"
# shellcheck disable=SC2086
__yum_install_noinput ${__PACKAGES} || return 1
@ -6359,16 +6343,10 @@ install_amazon_linux_ami_2_onedir_deps() {
if [ "$(echo "${ONEDIR_REV}" | grep -E '(3004|3005)')" != "" ]; then
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub,${base_url}base/RPM-GPG-KEY-CentOS-7"
if [ -n "$_PY_EXE" ] && [ "$_PY_MAJOR_VERSION" -eq 3 ]; then
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub"
fi
elif [ "$(echo "${ONEDIR_REV}" | grep -E '(latest|nightly)')" != "" ]; then
if __check_url_exists "${base_url}SALT-PROJECT-GPG-PUBKEY-2023.pub"; then
gpg_key="${base_url}SALT-PROJECT-GPG-PUBKEY-2023.pub"
else
gpg_key="${base_url}SALTSTACK-GPG-KEY.pub"
fi
else
gpg_key="${base_url}SALT-PROJECT-GPG-PUBKEY-2023.pub"
gpg_key="${base_url}SALT-PROJECT-GPG-PUBKEY-2023.pub"
fi
# This should prob be refactored to use __install_saltstack_rhel_repository()
@ -8479,16 +8457,16 @@ __parse_repo_json_python() {
# Using latest, grab the right
# version from the repo.json
_JSON_LATEST_VERSION=$(python - <<-EOF
_JSON_VERSION=$(python - <<-EOF
import json, urllib.request
url = "https://repo.saltproject.io/salt/py3/macos/repo.json"
response = urllib.request.urlopen(url)
data = json.loads(response.read())
version = data['latest'][list(data['latest'])[0]]['version']
version = data["${_ONEDIR_REV}"][list(data["${_ONEDIR_REV}"])[0]]['version']
print(version)
EOF
)
echo "${_JSON_LATEST_VERSION}"
echo "${_JSON_VERSION}"
}
__macosx_get_packagesite_onedir() {
@ -8500,14 +8478,18 @@ __macosx_get_packagesite_onedir() {
fi
if [ "$(echo "$_ONEDIR_REV" | grep -E '^(latest)$')" != "" ]; then
_ONEDIR_REV=$(__parse_repo_json_python)
_PKG_VERSION=$(__parse_repo_json_python)
elif [ "$(echo "$_ONEDIR_REV" | grep -E '^([3-9][0-9]{3}(\.[0-9]*))')" != "" ]; then
_PKG_VERSION=$_ONEDIR_REV
else
_PKG_VERSION=$(__parse_repo_json_python)
fi
if [ "$(echo "$_ONEDIR_REV" | grep -E '^(3005)')" != "" ]; then
PKG="salt-${_ONEDIR_REV}-macos-${DARWIN_ARCH}.pkg"
PKG="salt-${_PKG_VERSION}-macos-${DARWIN_ARCH}.pkg"
else
PKG="salt-${_ONEDIR_REV}-${__PY_VERSION_REPO}-${DARWIN_ARCH}.pkg"
PKG="salt-${_PKG_VERSION}-${__PY_VERSION_REPO}-${DARWIN_ARCH}.pkg"
fi
SALTPKGCONFURL="https://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/macos/${_ONEDIR_REV}/${PKG}"
SALTPKGCONFURL="https://${_REPO_URL}/${_ONEDIR_DIR}/${__PY_VERSION_REPO}/macos/${ONEDIR_REV}/${PKG}"
}
# Using a separate conf step to head for idempotent install...
@ -8637,8 +8619,15 @@ install_macosx_git_post() {
install_macosx_restart_daemons() {
[ $_START_DAEMONS -eq $BS_FALSE ] && return
/bin/launchctl unload -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist || return 1
/bin/launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist || return 1
if [ "$_INSTALL_MINION" -eq $BS_TRUE ]; then
/bin/launchctl unload -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist || return 1
/bin/launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.minion.plist || return 1
fi
if [ "$_INSTALL_MASTER" -eq $BS_TRUE ]; then
/bin/launchctl unload -w /Library/LaunchDaemons/com.saltstack.salt.master.plist || return 1
/bin/launchctl load -w /Library/LaunchDaemons/com.saltstack.salt.master.plist || return 1
fi
return 0
}

View file

@ -5,7 +5,6 @@ driver:
provisioner:
sudo: true
salt_bootstrap_options: -MP stable %s
salt_call_command: /opt/salt/bin/salt-call
init_environment: |
echo 'auto_accept: true' > /tmp/auto-accept-keys.conf
sudo mkdir -p /etc/salt/master.d
@ -22,15 +21,23 @@ suites:
- name: stable-3003
provisioner:
salt_version: 3003.4
salt_call_command: /opt/salt/bin/salt-call
- name: stable-3004
provisioner:
salt_version: 3004.1
salt_call_command: /opt/salt/bin/salt-call
- name: stable-3005
provisioner:
salt_version: 3005.1
salt_call_command: /opt/salt/bin/salt-call
- name: stable-3006
provisioner:
salt_version: 3006
salt_call_command: /opt/salt/salt-call
- name: latest
provisioner:
salt_version: latest
salt_call_command: /opt/salt/salt-call
verifier:
command: pytest --cache-clear -v -s -ra --log-cli-level=debug -k "not test_ping" tests/integration/

View file

@ -28,7 +28,6 @@ suites:
- name: stable-3005
provisioner:
salt_version: 3005.1-1
salt_call_command: c:\Program Files\Salt Project\Salt\salt-call.bat
- name: stable-3006
provisioner:
salt_version: 3006.0

View file

@ -150,11 +150,11 @@ platforms:
suites:
- name: git-3003
provisioner:
salt_version: 3003
salt_version: v3003
salt_bootstrap_options: -x python3 -MPfq git %s
- name: git-3004
provisioner:
salt_version: 3004
salt_version: v3004
salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
@ -168,7 +168,21 @@ suites:
- openbsd-6
- name: git-3005
provisioner:
salt_version: 3005
salt_version: v3005
salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- debian-11
- arch
- gentoo
- gentoo-systemd
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-3006
provisioner:
salt_version: v3006
salt_bootstrap_options: -x python3 -MPfq git %s
excludes:
- opensuse-15
@ -246,6 +260,17 @@ suites:
- freebsd-131
- freebsd-123
- openbsd-6
- name: stable-3006
provisioner:
salt_version: 3006
salt_bootstrap_options: -x python3 -MP stable %s
excludes:
- opensuse-15
- opensuse-tumbleweed
- arch
- freebsd-131
- freebsd-123
- openbsd-6
- name: git-master
provisioner:
salt_version: master
@ -271,6 +296,11 @@ suites:
salt_version: 3005
salt_bootstrap_options: -MP onedir %s
- name: onedir-3006
provisioner:
salt_version: 3006
salt_bootstrap_options: -MP onedir %s
- name: onedir-rc-3006-0rc2
provisioner:
salt_version: 3006.0rc2

View file

@ -1,8 +1,9 @@
import logging
import os
import pprint
import pytest
import testinfra
import logging
log = logging.getLogger(__name__)
@ -47,6 +48,8 @@ def target_python_version():
@pytest.fixture(scope="session")
def target_salt_version():
target_salt = os.environ["KITCHEN_SUITE"].split("-", 2)[-1].replace("-", ".")
if target_salt.startswith("v"):
target_salt = target_salt[1:]
if target_salt in ("latest", "master", "nightly"):
pytest.skip("Don't have a specific salt version to test against")
return target_salt

View file

@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
import os
import logging
import os
from contextlib import nullcontext
log = logging.getLogger(__name__)
@ -26,7 +25,7 @@ def test_target_python_version(host, target_python_version):
def test_target_salt_version(host, target_salt_version):
with selected_context_manager(host):
ret = host.salt("grains.item", "saltversion", "--timeout=120")
if target_salt_version.endswith(".0"):
if target_salt_version.endswith(".0") or target_salt_version.endswith(".x"):
assert ret["saltversion"] == ".".join(target_salt_version.split(".")[:-1])
else:
assert ret["saltversion"].startswith(target_salt_version)