test: Add nginx to the image request
This commit is contained in:
parent
4b3b942dde
commit
d5483ccfb0
5 changed files with 124 additions and 10 deletions
|
|
@ -534,6 +534,32 @@ API:
|
||||||
- aws/rhel-9.2-ga-aarch64
|
- aws/rhel-9.2-ga-aarch64
|
||||||
INTERNAL_NETWORK: ["true"]
|
INTERNAL_NETWORK: ["true"]
|
||||||
|
|
||||||
|
API-module-hotfixes:
|
||||||
|
stage: test
|
||||||
|
extends: .terraform
|
||||||
|
rules:
|
||||||
|
- !reference [.upstream_rules_all, rules]
|
||||||
|
# note: cloud API is not supported for on-prem installations so
|
||||||
|
# don't run this test case for nightly trees
|
||||||
|
script:
|
||||||
|
- schutzbot/deploy.sh
|
||||||
|
- /usr/libexec/tests/osbuild-composer/api.sh "${IMAGE_TYPE}" "" "${TEST_MODULE_HOTFIXES}"
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- IMAGE_TYPE:
|
||||||
|
- aws
|
||||||
|
RUNNER:
|
||||||
|
- aws/rhel-8.8-ga-x86_64
|
||||||
|
- aws/rhel-8.8-ga-aarch64
|
||||||
|
INTERNAL_NETWORK: ["true"]
|
||||||
|
TEST_MODULE_HOTFIXES: [1]
|
||||||
|
- IMAGE_TYPE:
|
||||||
|
- vsphere
|
||||||
|
RUNNER:
|
||||||
|
- aws/rhel-8.8-ga-x86_64
|
||||||
|
INTERNAL_NETWORK: ["true"]
|
||||||
|
TEST_MODULE_HOTFIXES: [1]
|
||||||
|
|
||||||
.libvirt_integration:
|
.libvirt_integration:
|
||||||
stage: test
|
stage: test
|
||||||
extends: .terraform/gcp
|
extends: .terraform/gcp
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,11 @@ func TestMakeDepsolveRequest(t *testing.T) {
|
||||||
Name: "user-repo-2",
|
Name: "user-repo-2",
|
||||||
BaseURLs: []string{"https://example.org/user-repo-2"},
|
BaseURLs: []string{"https://example.org/user-repo-2"},
|
||||||
}
|
}
|
||||||
|
modHotfixRepo := rpmmd.RepoConfig{
|
||||||
|
Name: "nginx",
|
||||||
|
BaseURLs: []string{"https://example.org/nginx"},
|
||||||
|
ModuleHotfixes: common.ToPtr(true),
|
||||||
|
}
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
packageSets []rpmmd.PackageSet
|
packageSets []rpmmd.PackageSet
|
||||||
args []transactionArgs
|
args []transactionArgs
|
||||||
|
|
@ -171,6 +176,44 @@ func TestMakeDepsolveRequest(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
// module hotfixes flag is passed
|
||||||
|
{
|
||||||
|
packageSets: []rpmmd.PackageSet{
|
||||||
|
{
|
||||||
|
Include: []string{"pkg1"},
|
||||||
|
Exclude: []string{"pkg2"},
|
||||||
|
Repositories: []rpmmd.RepoConfig{baseOS, appstream, modHotfixRepo},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
args: []transactionArgs{
|
||||||
|
{
|
||||||
|
PackageSpecs: []string{"pkg1"},
|
||||||
|
ExcludeSpecs: []string{"pkg2"},
|
||||||
|
RepoIDs: []string{baseOS.Hash(), appstream.Hash(), modHotfixRepo.Hash()},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
wantRepos: []repoConfig{
|
||||||
|
{
|
||||||
|
ID: baseOS.Hash(),
|
||||||
|
Name: "baseos",
|
||||||
|
BaseURLs: []string{"https://example.org/baseos"},
|
||||||
|
repoHash: "fdc2e5bb6cda8e113308df9396a005b81a55ec00ec29aa0a447952ad4248d803",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: appstream.Hash(),
|
||||||
|
Name: "appstream",
|
||||||
|
BaseURLs: []string{"https://example.org/appstream"},
|
||||||
|
repoHash: "71c280f63a779a8bf53961ec2f15d51d052021de024a4e06ae499b8029701808",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: modHotfixRepo.Hash(),
|
||||||
|
Name: "nginx",
|
||||||
|
BaseURLs: []string{"https://example.org/nginx"},
|
||||||
|
ModuleHotfixes: common.ToPtr(true),
|
||||||
|
repoHash: "6ab05f54094ff2a0ee86facecae3e75e4065a01cc8caffbbbeb7505c6bfac283",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
// 2 transactions + no package set specific repos
|
// 2 transactions + no package set specific repos
|
||||||
{
|
{
|
||||||
packageSets: []rpmmd.PackageSet{
|
packageSets: []rpmmd.PackageSet{
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@ export IMAGE_TYPE_OCI="oci"
|
||||||
export IMAGE_TYPE_VSPHERE="vsphere"
|
export IMAGE_TYPE_VSPHERE="vsphere"
|
||||||
export IMAGE_TYPE_IOT_COMMIT="iot-commit"
|
export IMAGE_TYPE_IOT_COMMIT="iot-commit"
|
||||||
|
|
||||||
if (( $# > 2 )); then
|
if (( $# > 3 )); then
|
||||||
echo "$0 does not support more than two arguments"
|
echo "$0 does not support more than three arguments"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -46,6 +46,7 @@ fi
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
IMAGE_TYPE="$1"
|
IMAGE_TYPE="$1"
|
||||||
|
TEST_MODULE_HOTFIXES="${3:-0}"
|
||||||
|
|
||||||
# select cloud provider based on image type
|
# select cloud provider based on image type
|
||||||
#
|
#
|
||||||
|
|
@ -438,6 +439,39 @@ EOF
|
||||||
)
|
)
|
||||||
export FIREWALL_CUSTOMIZATION_BLOCK
|
export FIREWALL_CUSTOMIZATION_BLOCK
|
||||||
|
|
||||||
|
if [ "$TEST_MODULE_HOTFIXES" = "1" ]; then
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then
|
||||||
|
NGINX_REPO_URL="https://rpmrepo.osbuild.org/v2/mirror/public/el8/el8-x86_64-nginx-20231207"
|
||||||
|
else
|
||||||
|
NGINX_REPO_URL="https://rpmrepo.osbuild.org/v2/mirror/public/el8/el8-aarch64-nginx-20231207"
|
||||||
|
fi
|
||||||
|
EXTRA_PAYLOAD_REPOS_BLOCK=$(cat <<EOF
|
||||||
|
,
|
||||||
|
{
|
||||||
|
"baseurl": "$NGINX_REPO_URL",
|
||||||
|
"check_gpg": false,
|
||||||
|
"check_repo_gpg": false,
|
||||||
|
"rhsm": false,
|
||||||
|
"module_hotfixes": true
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
EXTRA_PACKAGES_BLOCK=$(cat <<EOF
|
||||||
|
,
|
||||||
|
"nginx",
|
||||||
|
"nginx-module-njs"
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
|
else
|
||||||
|
EXTRA_PAYLOAD_REPOS_BLOCK=""
|
||||||
|
EXTRA_PACKAGES_BLOCK=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
export EXTRA_PAYLOAD_REPOS_BLOCK
|
||||||
|
export EXTRA_PACKAGES_BLOCK
|
||||||
|
|
||||||
# generate a temp key for user tests
|
# generate a temp key for user tests
|
||||||
ssh-keygen -t rsa-sha2-512 -f "${WORKDIR}/usertest" -C "usertest" -N ""
|
ssh-keygen -t rsa-sha2-512 -f "${WORKDIR}/usertest" -C "usertest" -N ""
|
||||||
|
|
||||||
|
|
@ -582,7 +616,9 @@ function waitForImgState() {
|
||||||
|
|
||||||
#
|
#
|
||||||
# Make sure that requesting a non existing paquet results in failure
|
# Make sure that requesting a non existing paquet results in failure
|
||||||
|
# and if TEST_MODULE_HOTFIXES flag is passed, we verify, that without that flag the resolve fails
|
||||||
#
|
#
|
||||||
|
|
||||||
REQUEST_FILE2="${WORKDIR}/request2.json"
|
REQUEST_FILE2="${WORKDIR}/request2.json"
|
||||||
jq '.customizations.packages = [ "jesuisunpaquetquinexistepas" ]' "$REQUEST_FILE" > "$REQUEST_FILE2"
|
jq '.customizations.packages = [ "jesuisunpaquetquinexistepas" ]' "$REQUEST_FILE" > "$REQUEST_FILE2"
|
||||||
|
|
||||||
|
|
@ -590,6 +626,15 @@ greenprint "Sending compose: Fail test"
|
||||||
sendCompose "$REQUEST_FILE2"
|
sendCompose "$REQUEST_FILE2"
|
||||||
waitForState "failure"
|
waitForState "failure"
|
||||||
|
|
||||||
|
if [ "$TEST_MODULE_HOTFIXES" = "1" ]; then
|
||||||
|
cat "$REQUEST_FILE"
|
||||||
|
|
||||||
|
jq 'del(.customizations.payload_repositories[] | select(.baseurl | match(".*public/el8/el8-.*-nginx-.*")) | .module_hotfixes)' "$REQUEST_FILE" > "$REQUEST_FILE2"
|
||||||
|
greenprint "Sending compose: Fail depsolve test"
|
||||||
|
sendCompose "$REQUEST_FILE2"
|
||||||
|
waitForState "failure"
|
||||||
|
fi
|
||||||
|
|
||||||
# crashed/stopped/killed worker should result in the job being retried
|
# crashed/stopped/killed worker should result in the job being retried
|
||||||
greenprint "Sending compose: Retry test"
|
greenprint "Sending compose: Retry test"
|
||||||
sendCompose "$REQUEST_FILE"
|
sendCompose "$REQUEST_FILE"
|
||||||
|
|
|
||||||
|
|
@ -47,11 +47,11 @@ function createReqFile() {
|
||||||
"payload_repositories": [
|
"payload_repositories": [
|
||||||
{
|
{
|
||||||
"baseurl": "$PAYLOAD_REPO_URL"
|
"baseurl": "$PAYLOAD_REPO_URL"
|
||||||
}
|
}${EXTRA_PAYLOAD_REPOS_BLOCK}
|
||||||
],
|
],
|
||||||
"packages": [
|
"packages": [
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"dummy"
|
"dummy"${EXTRA_PACKAGES_BLOCK}
|
||||||
],
|
],
|
||||||
"users":[
|
"users":[
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,11 @@ function createReqFileEdge() {
|
||||||
"payload_repositories": [
|
"payload_repositories": [
|
||||||
{
|
{
|
||||||
"baseurl": "$PAYLOAD_REPO_URL"
|
"baseurl": "$PAYLOAD_REPO_URL"
|
||||||
}
|
}${EXTRA_PAYLOAD_REPOS_BLOCK}
|
||||||
],
|
],
|
||||||
"packages": [
|
"packages": [
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"dummy"
|
"dummy"${EXTRA_PACKAGES_BLOCK}
|
||||||
],
|
],
|
||||||
"users":[
|
"users":[
|
||||||
{
|
{
|
||||||
|
|
@ -67,11 +67,11 @@ function createReqFileGuest() {
|
||||||
"payload_repositories": [
|
"payload_repositories": [
|
||||||
{
|
{
|
||||||
"baseurl": "$PAYLOAD_REPO_URL"
|
"baseurl": "$PAYLOAD_REPO_URL"
|
||||||
}
|
}${EXTRA_PAYLOAD_REPOS_BLOCK}
|
||||||
],
|
],
|
||||||
"packages": [
|
"packages": [
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"dummy"
|
"dummy"${EXTRA_PACKAGES_BLOCK}
|
||||||
],
|
],
|
||||||
"users":[
|
"users":[
|
||||||
{
|
{
|
||||||
|
|
@ -108,11 +108,11 @@ function createReqFileVSphere() {
|
||||||
"payload_repositories": [
|
"payload_repositories": [
|
||||||
{
|
{
|
||||||
"baseurl": "$PAYLOAD_REPO_URL"
|
"baseurl": "$PAYLOAD_REPO_URL"
|
||||||
}
|
}${EXTRA_PAYLOAD_REPOS_BLOCK}
|
||||||
],
|
],
|
||||||
"packages": [
|
"packages": [
|
||||||
"postgresql",
|
"postgresql",
|
||||||
"dummy"
|
"dummy"${EXTRA_PACKAGES_BLOCK}
|
||||||
]${SUBSCRIPTION_BLOCK}${DIR_FILES_CUSTOMIZATION_BLOCK}
|
]${SUBSCRIPTION_BLOCK}${DIR_FILES_CUSTOMIZATION_BLOCK}
|
||||||
${TIMEZONE_CUSTOMIZATION_BLOCK}${FIREWALL_CUSTOMIZATION_BLOCK}
|
${TIMEZONE_CUSTOMIZATION_BLOCK}${FIREWALL_CUSTOMIZATION_BLOCK}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue