import leapp-0.15.0-4.el8
This commit is contained in:
parent
1b45137359
commit
9dbbcb86c4
@ -0,0 +1,219 @@
|
|||||||
|
From 46f589c539fb9053c5017f02d9303a324bfca6a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matej Matuska <75834032+matejmatuska@users.noreply.github.com>
|
||||||
|
Date: Thu, 4 Aug 2022 17:30:34 +0200
|
||||||
|
Subject: [PATCH 02/16] Add Makefile target for building RPMs locally and in
|
||||||
|
containers
|
||||||
|
|
||||||
|
Add `build` target to build locally and `build_container` to build
|
||||||
|
locally in a container. Building in containers has the benefit of being
|
||||||
|
able to build on all the different platforms e.g. both on el7 and el8.
|
||||||
|
|
||||||
|
Run `make build` to build locally.
|
||||||
|
|
||||||
|
Run `make build_container` to build in a container. Note that
|
||||||
|
BUILD_CONTAINER environment variable must be set.
|
||||||
|
|
||||||
|
Run `clean_containers` to clean up container images used for building.
|
||||||
|
|
||||||
|
The containers are built from Containerfiles in `res/container-builds/`.
|
||||||
|
Since Containerfiles for all the Fedora versions would differ only in the `FROM`
|
||||||
|
statement, a generic Containerfile `Containerfile.fedora_generic` is
|
||||||
|
used and the `FROM` statement is inserted in the Makefile.
|
||||||
|
|
||||||
|
For el7 builds CentOS 7 container is used, because rpm-build package
|
||||||
|
is not available in ubi7 image.
|
||||||
|
|
||||||
|
Builds cannot be run in parallel because containers operate on the same
|
||||||
|
files, which would result in them conflicting.
|
||||||
|
|
||||||
|
Also update `.gitignore` to exclude build files from git.
|
||||||
|
---
|
||||||
|
.gitignore | 5 ++
|
||||||
|
Makefile | 63 +++++++++++++++++--
|
||||||
|
res/container-builds/Containerfile.centos7 | 11 ++++
|
||||||
|
.../Containerfile.fedora_generic | 12 ++++
|
||||||
|
res/container-builds/Containerfile.ubi8 | 12 ++++
|
||||||
|
5 files changed, 97 insertions(+), 6 deletions(-)
|
||||||
|
create mode 100644 res/container-builds/Containerfile.centos7
|
||||||
|
create mode 100644 res/container-builds/Containerfile.fedora_generic
|
||||||
|
create mode 100644 res/container-builds/Containerfile.ubi8
|
||||||
|
|
||||||
|
diff --git a/.gitignore b/.gitignore
|
||||||
|
index d9ae04d..e9c1edb 100644
|
||||||
|
--- a/.gitignore
|
||||||
|
+++ b/.gitignore
|
||||||
|
@@ -33,3 +33,8 @@ res/schema/schemas.py
|
||||||
|
leapp.db
|
||||||
|
# do not ignore the directory with tests...
|
||||||
|
!tests/scripts/
|
||||||
|
+
|
||||||
|
+packaging/BUILD/
|
||||||
|
+packaging/RPMS/
|
||||||
|
+packaging/SRPMS/
|
||||||
|
+packaging/sources/
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 59d5118..22d29a4 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -76,7 +76,13 @@ help:
|
||||||
|
@echo " - available containers are: rhel7, rhel8, rhel9"
|
||||||
|
@echo " test_container_all runs linter and tests in all available containers"
|
||||||
|
@echo " lint runs just the linter"
|
||||||
|
- @echo " clean_containers cleans up all testing containers"
|
||||||
|
+ @echo " build create the RPM"
|
||||||
|
+ @echo " build_container create the RPM in container"
|
||||||
|
+ @echo " - set BUILD_CONTAINER to select the container"
|
||||||
|
+ @echo " - available containers are: el7, el8, f35, f36, rawhide"
|
||||||
|
+ @echo " - this can't be used to build in parallel,"
|
||||||
|
+ @echo " as build containers operate on the same files"
|
||||||
|
+ @echo " clean_containers clean container images used for building"
|
||||||
|
@echo ""
|
||||||
|
@echo "Possible use:"
|
||||||
|
@echo " make <target>"
|
||||||
|
@@ -85,11 +91,12 @@ help:
|
||||||
|
@echo " PR=7 SUFFIX='my_additional_suffix' make <target>"
|
||||||
|
@echo " MR=6 COPR_CONFIG='path/to/the/config/copr/file' <target>"
|
||||||
|
@echo " TEST_CONTAINER=rhel7 make test_container"
|
||||||
|
+ @echo " BUILD_CONTAINER=el7 make build_container"
|
||||||
|
@echo ""
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "--- Clean repo ---"
|
||||||
|
- @rm -rf packaging/{sources,SRPMS}/
|
||||||
|
+ @rm -rf packaging/{sources,SRPMS,BUILD,BUILDROOT,RPMS}/
|
||||||
|
@rm -rf build/ dist/ *.egg-info
|
||||||
|
@find . -name '__pycache__' -exec rm -fr {} +
|
||||||
|
@find . -name '*.pyc' -exec rm -f {} +
|
||||||
|
@@ -97,7 +104,7 @@ clean:
|
||||||
|
|
||||||
|
prepare: clean
|
||||||
|
@echo "--- Prepare build directories ---"
|
||||||
|
- @mkdir -p packaging/{sources,SRPMS}/
|
||||||
|
+ @mkdir -p packaging/{sources,SRPMS,BUILD,BUILDROOT,RPMS}/
|
||||||
|
|
||||||
|
source: prepare
|
||||||
|
@echo "--- Create source tarball ---"
|
||||||
|
@@ -123,6 +130,50 @@ copr_build: srpm
|
||||||
|
@copr-cli --config $(_COPR_CONFIG) build $(_COPR_REPO) \
|
||||||
|
packaging/SRPMS/${PKGNAME}-${VERSION}-${RELEASE}*.src.rpm
|
||||||
|
|
||||||
|
+build: source
|
||||||
|
+ @echo "--- Build RPM ${PKGNAME}-${VERSION}-${RELEASE}.el$(DIST_VERSION).rpm ---"
|
||||||
|
+ @cp packaging/$(PKGNAME).spec packaging/$(PKGNAME).spec.bak
|
||||||
|
+ @sed -i "s/1%{?dist}/$(RELEASE)%{?dist}/g" packaging/$(PKGNAME).spec
|
||||||
|
+ @rpmbuild -ba packaging/$(PKGNAME).spec \
|
||||||
|
+ --define "_sourcedir `pwd`/packaging/sources" \
|
||||||
|
+ --define "_srcrpmdir `pwd`/packaging/SRPMS" \
|
||||||
|
+ --define "_builddir `pwd`/packaging/BUILD" \
|
||||||
|
+ --define "_buildrootdir `pwd`/packaging/BUILDROOT" \
|
||||||
|
+ --define "_rpmdir `pwd`/packaging/RPMS" \
|
||||||
|
+ --define "rhel $(DIST_VERSION)" \
|
||||||
|
+ --define 'dist .el$(DIST_VERSION)' \
|
||||||
|
+ --define 'el$(DIST_VERSION) 1' || FAILED=1
|
||||||
|
+ @mv packaging/$(PKGNAME).spec.bak packaging/$(PKGNAME).spec
|
||||||
|
+
|
||||||
|
+build_container:
|
||||||
|
+ @case "$$BUILD_CONTAINER" in \
|
||||||
|
+ el7) \
|
||||||
|
+ _CONT_FILE="Containerfile.centos7"; \
|
||||||
|
+ ;; \
|
||||||
|
+ el8) \
|
||||||
|
+ _CONT_FILE="Containerfile.ubi8"; \
|
||||||
|
+ ;; \
|
||||||
|
+ f3[56]|rawhide) \
|
||||||
|
+ [ $$BUILD_CONTAINER = rawhide ] && VERSION=latest || VERSION=$${BUILD_CONTAINER: -2}; \
|
||||||
|
+ _CONT_FILE=".Containerfile.$${BUILD_CONTAINER}"; \
|
||||||
|
+ cp res/container-builds/Containerfile.fedora_generic res/container-builds/$$_CONT_FILE && \
|
||||||
|
+ sed -i "1i FROM fedora:$${VERSION}" res/container-builds/$$_CONT_FILE \
|
||||||
|
+ ;; \
|
||||||
|
+ "") \
|
||||||
|
+ echo "BUILD_CONTAINER must be set"; \
|
||||||
|
+ exit 1; \
|
||||||
|
+ ;; \
|
||||||
|
+ *) \
|
||||||
|
+ echo "Available containers are el7, el8, f35, f36, rawhide"; \
|
||||||
|
+ exit 1; \
|
||||||
|
+ ;; \
|
||||||
|
+ esac && \
|
||||||
|
+ echo "--- Preparing $$BUILD_CONTAINER container for building ---" && \
|
||||||
|
+ IMAGE_NAME="leapp-build-$${BUILD_CONTAINER}"; \
|
||||||
|
+ podman build -f res/container-builds/$$_CONT_FILE -t $$IMAGE_NAME res/container-builds/ && \
|
||||||
|
+ podman run --rm -ti -v $$PWD:/payload:Z --name "$${IMAGE_NAME}-cont" $$IMAGE_NAME && \
|
||||||
|
+ [ '$${_CONT_FILE:0:1}' = '.' ] && rm -f res/container-builds/$$_CONT_FILE || :
|
||||||
|
+
|
||||||
|
print_release:
|
||||||
|
@echo $(RELEASE)
|
||||||
|
|
||||||
|
@@ -179,8 +230,8 @@ test_container_all:
|
||||||
|
done
|
||||||
|
|
||||||
|
clean_containers:
|
||||||
|
- @for i in "leapp-tests-rhel"{7,8,9}; do \
|
||||||
|
- podman rmi "$$i" > /dev/null 2>&1 || :; \
|
||||||
|
+ @for i in "leapp-build-"{el7,el8,f35,f36,rawhide} "leapp-tests-rhel"{7,8,9}; do \
|
||||||
|
+ podman rmi "$$i" > /dev/null 2>&1 || :; \
|
||||||
|
done
|
||||||
|
|
||||||
|
lint:
|
||||||
|
@@ -216,4 +267,4 @@ fast_lint:
|
||||||
|
echo "No files to lint."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
-.PHONY: clean copr_build install install-deps install-test srpm test test_container test_container_all lint fast_lint clean_containers
|
||||||
|
+.PHONY: clean copr_build build build_container install install-deps install-test srpm test test_container test_container_all lint fast_lint clean_containers
|
||||||
|
diff --git a/res/container-builds/Containerfile.centos7 b/res/container-builds/Containerfile.centos7
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..a3b0ea0
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/res/container-builds/Containerfile.centos7
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+FROM centos:7
|
||||||
|
+
|
||||||
|
+VOLUME /payload
|
||||||
|
+
|
||||||
|
+ENV DIST_VERSION 7
|
||||||
|
+
|
||||||
|
+RUN yum update -y && \
|
||||||
|
+ yum install -y make git rpm-build python-setuptools python-devel
|
||||||
|
+
|
||||||
|
+WORKDIR /payload
|
||||||
|
+ENTRYPOINT make build
|
||||||
|
diff --git a/res/container-builds/Containerfile.fedora_generic b/res/container-builds/Containerfile.fedora_generic
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..c0af2b7
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/res/container-builds/Containerfile.fedora_generic
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+# FROM statement is inserted in Makefile
|
||||||
|
+
|
||||||
|
+VOLUME /payload
|
||||||
|
+
|
||||||
|
+ENV DIST_VERSION 8
|
||||||
|
+
|
||||||
|
+RUN dnf update -y && \
|
||||||
|
+ dnf install -y python3 make git rpm-build python3-devel
|
||||||
|
+ #yum install -y python3-pip && \ python3 -m pip install --upgrade pip==20.3.4
|
||||||
|
+
|
||||||
|
+WORKDIR /payload
|
||||||
|
+ENTRYPOINT make build
|
||||||
|
diff --git a/res/container-builds/Containerfile.ubi8 b/res/container-builds/Containerfile.ubi8
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..0b2c021
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/res/container-builds/Containerfile.ubi8
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+FROM registry.access.redhat.com/ubi8/ubi:latest
|
||||||
|
+
|
||||||
|
+VOLUME /payload
|
||||||
|
+
|
||||||
|
+ENV DIST_VERSION 8
|
||||||
|
+
|
||||||
|
+RUN dnf update -y && \
|
||||||
|
+ dnf install -y python3 make git rpm-build python3-devel
|
||||||
|
+ #yum install -y python3-pip && \ python3 -m pip install --upgrade pip==20.3.4
|
||||||
|
+
|
||||||
|
+WORKDIR /payload
|
||||||
|
+ENTRYPOINT make build
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,86 @@
|
|||||||
|
From 6ae95a1d2f73e4eb45e97903390f71e03555e841 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matej Matuska <mmatuska@redhat.com>
|
||||||
|
Date: Mon, 26 Sep 2022 08:42:50 +0200
|
||||||
|
Subject: [PATCH 03/16] Add possibility to use docker to run tests and build in
|
||||||
|
containers
|
||||||
|
|
||||||
|
On some systems podman is unavailable. Also, some people prefer docker
|
||||||
|
over podman. Add possibility to use docker to run tests and build
|
||||||
|
packages.
|
||||||
|
|
||||||
|
Set the CONTAINER_TOOL environment variable to change the container
|
||||||
|
tool used for running tests and building packages, for example:
|
||||||
|
CONTAINER_TOOL="docker" make test_container.
|
||||||
|
|
||||||
|
Unless you are running the Docker daemon in rootless mode, you will have
|
||||||
|
to run as root. In such case files created in `packaging/` using
|
||||||
|
`build_container` and in `testenv/` using `test_container` will be owned
|
||||||
|
by root. To change the ownership back to your user, you can for example
|
||||||
|
run `chown -R $USER packaging/ testenv/`.
|
||||||
|
|
||||||
|
The `clean_container` target now checks the existency of image before
|
||||||
|
deleting it, otherwise the command would silently fail when ran without
|
||||||
|
correct permission.
|
||||||
|
|
||||||
|
Jira ref.: OAMG-7286
|
||||||
|
---
|
||||||
|
Makefile | 15 ++++++++++-----
|
||||||
|
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 22d29a4..d392765 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -15,6 +15,9 @@ VERSION=`grep -m1 "^Version:" packaging/$(PKGNAME).spec | grep -om1 "[0-9].[0-9.
|
||||||
|
_COPR_REPO=$${COPR_REPO:-leapp}
|
||||||
|
_COPR_CONFIG=$${COPR_CONFIG:-~/.config/copr_rh_oamg.conf}
|
||||||
|
|
||||||
|
+# tool used to run containers for testing and building packages
|
||||||
|
+_CONTAINER_TOOL=$${CONTAINER_TOOL:-podman}
|
||||||
|
+
|
||||||
|
# container used to run unit tests
|
||||||
|
_TEST_CONTAINER=$${TEST_CONTAINER:-rhel8}
|
||||||
|
|
||||||
|
@@ -92,6 +95,7 @@ help:
|
||||||
|
@echo " MR=6 COPR_CONFIG='path/to/the/config/copr/file' <target>"
|
||||||
|
@echo " TEST_CONTAINER=rhel7 make test_container"
|
||||||
|
@echo " BUILD_CONTAINER=el7 make build_container"
|
||||||
|
+ @echo " CONTAINER_TOOL=docker make test_container"
|
||||||
|
@echo ""
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@@ -170,8 +174,8 @@ build_container:
|
||||||
|
esac && \
|
||||||
|
echo "--- Preparing $$BUILD_CONTAINER container for building ---" && \
|
||||||
|
IMAGE_NAME="leapp-build-$${BUILD_CONTAINER}"; \
|
||||||
|
- podman build -f res/container-builds/$$_CONT_FILE -t $$IMAGE_NAME res/container-builds/ && \
|
||||||
|
- podman run --rm -ti -v $$PWD:/payload:Z --name "$${IMAGE_NAME}-cont" $$IMAGE_NAME && \
|
||||||
|
+ $(_CONTAINER_TOOL) build -f res/container-builds/$$_CONT_FILE -t $$IMAGE_NAME res/container-builds/ && \
|
||||||
|
+ $(_CONTAINER_TOOL) run --rm -v $$PWD:/payload:Z --name "$${IMAGE_NAME}-cont" $$IMAGE_NAME && \
|
||||||
|
[ '$${_CONT_FILE:0:1}' = '.' ] && rm -f res/container-builds/$$_CONT_FILE || :
|
||||||
|
|
||||||
|
print_release:
|
||||||
|
@@ -221,8 +225,8 @@ test_container:
|
||||||
|
esac; \
|
||||||
|
export TEST_IMAGE="leapp-tests-$(_TEST_CONTAINER)"; \
|
||||||
|
rm -rf testenv/ && \
|
||||||
|
- podman build -t $$TEST_IMAGE -f $$_CONT_FILE res/container-tests && \
|
||||||
|
- podman run --rm -v $${PWD}:/payload:Z -e PYTHON_VENV=$$_VENV $$TEST_IMAGE
|
||||||
|
+ $(_CONTAINER_TOOL) build -t $$TEST_IMAGE -f $$_CONT_FILE res/container-tests && \
|
||||||
|
+ $(_CONTAINER_TOOL) run --rm -v $${PWD}:/payload:Z -e PYTHON_VENV=$$_VENV $$TEST_IMAGE
|
||||||
|
|
||||||
|
test_container_all:
|
||||||
|
@for container in "rhel"{7,8,9}; do \
|
||||||
|
@@ -231,7 +235,8 @@ test_container_all:
|
||||||
|
|
||||||
|
clean_containers:
|
||||||
|
@for i in "leapp-build-"{el7,el8,f35,f36,rawhide} "leapp-tests-rhel"{7,8,9}; do \
|
||||||
|
- podman rmi "$$i" > /dev/null 2>&1 || :; \
|
||||||
|
+ [ -z $$($(_CONTAINER_TOOL) images -q "$$i") ] || \
|
||||||
|
+ $(_CONTAINER_TOOL) rmi "$$i" > /dev/null 2>&1 || :; \
|
||||||
|
done
|
||||||
|
|
||||||
|
lint:
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From 18f6055615320d721c3ee5f1237a02d31540b03b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jakub Jelen <jjelen@redhat.com>
|
||||||
|
Date: Thu, 6 Oct 2022 19:21:14 +0200
|
||||||
|
Subject: [PATCH 04/16] Document workaround for the broken snactor
|
||||||
|
|
||||||
|
prefer having this documented instead answering everyone questions why it does not work when it is in documentation. At least until it is fixed.
|
||||||
|
---
|
||||||
|
docs/source/el7toel8/actor-rhel7-to-rhel8.md | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/docs/source/el7toel8/actor-rhel7-to-rhel8.md b/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
index 4157cfb..b7c1e5c 100644
|
||||||
|
--- a/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
+++ b/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
@@ -327,6 +327,17 @@ data is stored in the database for the current session:
|
||||||
|
```shell
|
||||||
|
snactor run --save-output IPUWorkflowConfig
|
||||||
|
```
|
||||||
|
+Since the leapp supports several upgrade paths, the `snactor` needs to know target system and upgrade flavor specification for correct execution.
|
||||||
|
+If you see similar errors when running `snactor`
|
||||||
|
+```
|
||||||
|
+leapp.models.fields.ModelViolationError: The value of "target" field is None, but this is not allowed
|
||||||
|
+```
|
||||||
|
+please, set the following environment variables (adjust the `LEAPP_UPGRADE_PATH_TARGET_RELEASE` as needed):
|
||||||
|
+```
|
||||||
|
+export LEAPP_UPGRADE_PATH_TARGET_RELEASE=8.6
|
||||||
|
+export LEAPP_UPGRADE_PATH_FLAVOUR=default
|
||||||
|
+snactor run --save-output IPUWorkflowConfig
|
||||||
|
+```
|
||||||
|
|
||||||
|
### Executing the whole upgrade workflow with the new actor
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
29
SOURCES/0005-Improve-wording.patch
Normal file
29
SOURCES/0005-Improve-wording.patch
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
From d8e01d7b7c54db46fbf7dffde01094399d796f4f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jakub Jelen <jjelen@redhat.com>
|
||||||
|
Date: Fri, 7 Oct 2022 12:27:28 +0200
|
||||||
|
Subject: [PATCH 05/16] Improve wording
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Co-authored-by: Petr Stodůlka <xstodu05@gmail.com>
|
||||||
|
---
|
||||||
|
docs/source/el7toel8/actor-rhel7-to-rhel8.md | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/docs/source/el7toel8/actor-rhel7-to-rhel8.md b/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
index b7c1e5c..a6ecf37 100644
|
||||||
|
--- a/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
+++ b/docs/source/el7toel8/actor-rhel7-to-rhel8.md
|
||||||
|
@@ -327,7 +327,7 @@ data is stored in the database for the current session:
|
||||||
|
```shell
|
||||||
|
snactor run --save-output IPUWorkflowConfig
|
||||||
|
```
|
||||||
|
-Since the leapp supports several upgrade paths, the `snactor` needs to know target system and upgrade flavor specification for correct execution.
|
||||||
|
+Since the leapp upgrade repositories support several upgrade paths, the `snactor` needs to get additional data for the correct execution, like the release of the target system, the flavor specification, etc.
|
||||||
|
If you see similar errors when running `snactor`
|
||||||
|
```
|
||||||
|
leapp.models.fields.ModelViolationError: The value of "target" field is None, but this is not allowed
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From 14fae66738fbff1ace3407767da3ca97bb852a3b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Petr Stodulka <pstodulk@redhat.com>
|
||||||
|
Date: Tue, 18 Oct 2022 10:16:48 +0200
|
||||||
|
Subject: [PATCH 06/16] Docs: update the leapp deprecation doc (add v0.15.0)
|
||||||
|
|
||||||
|
---
|
||||||
|
docs/source/deprecation.md | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/docs/source/deprecation.md b/docs/source/deprecation.md
|
||||||
|
index a9e9776..28dbc14 100644
|
||||||
|
--- a/docs/source/deprecation.md
|
||||||
|
+++ b/docs/source/deprecation.md
|
||||||
|
@@ -17,7 +17,7 @@ such information, see [Deprecated functionality in the el7toel8 repository](el7t
|
||||||
|
|
||||||
|
- nothing yet...
|
||||||
|
|
||||||
|
-## current upstream development <span style="font-size:0.5em; font-weight:normal">(till Mar 2023)</span>
|
||||||
|
+## v0.15.0 <span style="font-size:0.5em; font-weight:normal">(till Mar 2023)</span>
|
||||||
|
|
||||||
|
- Reporting primitives
|
||||||
|
- **`leapp.reporting.Flags`** - The `Flags` report primitive has been deprecated in favor of the more general `Groups` one.
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,88 @@
|
|||||||
|
From 9b26394f337f7e28a2709d6fd0d1c54deaa43d74 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vinzenz Feenstra <vfeenstr@redhat.com>
|
||||||
|
Date: Fri, 27 Nov 2020 22:15:54 +0100
|
||||||
|
Subject: [PATCH 07/16] snactor.sanity-check: Add option to ignore models
|
||||||
|
|
||||||
|
Previously, if a Model was being consumed by actor before it was
|
||||||
|
produced, `snactor sanity-check` reported a failure. This however
|
||||||
|
blocks some use case in leapp-repository now, where there is the
|
||||||
|
possibility to supply user data and it is being verified before in a
|
||||||
|
later stage it actually is used. This sanitization actor causes this
|
||||||
|
check to fail and would force an ugly workaround by having a dummy actor
|
||||||
|
pretending to produce the message earlier.
|
||||||
|
|
||||||
|
This patch will introduce two ways of handling this situation by
|
||||||
|
ignoring the models. Either each model can be specified as a commandline
|
||||||
|
option --ignore or a path to a file containing a list of such models can
|
||||||
|
be supplied via --ignorefile.
|
||||||
|
Any of those specified model names supplied via --ignore or the
|
||||||
|
ignore file will no longer be considered a failure.
|
||||||
|
|
||||||
|
Signed-off-by: Vinzenz Feenstra <vfeenstr@redhat.com>
|
||||||
|
---
|
||||||
|
.../snactor/commands/workflow/sanity_check.py | 22 +++++++++++++++----
|
||||||
|
1 file changed, 18 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/leapp/snactor/commands/workflow/sanity_check.py b/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
index 14de28a..6f5db78 100644
|
||||||
|
--- a/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
+++ b/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
@@ -1,19 +1,23 @@
|
||||||
|
from __future__ import print_function
|
||||||
|
+
|
||||||
|
import sys
|
||||||
|
|
||||||
|
-from leapp.exceptions import LeappError, CommandError
|
||||||
|
+from leapp.exceptions import CommandError, LeappError
|
||||||
|
from leapp.logger import configure_logger
|
||||||
|
from leapp.repository.scan import find_and_scan_repositories
|
||||||
|
from leapp.snactor.commands.workflow import workflow
|
||||||
|
-from leapp.utils.clicmd import command_arg
|
||||||
|
+from leapp.utils.clicmd import command_arg, command_opt
|
||||||
|
from leapp.utils.output import Color
|
||||||
|
-from leapp.utils.repository import requires_repository, find_repository_basedir
|
||||||
|
+from leapp.utils.repository import find_repository_basedir, requires_repository
|
||||||
|
|
||||||
|
_DESCRIPTION = 'The following messages are attempted to be consumed before they are produced: {}'
|
||||||
|
_LONG_DESCRIPTION = '''
|
||||||
|
Perform workflow sanity checks
|
||||||
|
|
||||||
|
- check whether there is a message in the given workflow which is attempted to be consumed before it was produced
|
||||||
|
+ --ignore <MODEL> can be used to specify one or multiple times to ignore the above condition
|
||||||
|
+ --ignorefile <PATH to ignore file> can be used to specify a file to load a list of ignored models. The list shall be
|
||||||
|
+ new line separated. Lines beginning with # are considered comments.
|
||||||
|
|
||||||
|
For more information please consider reading the documentation at:
|
||||||
|
https://red.ht/leapp-docs
|
||||||
|
@@ -24,10 +28,19 @@ def print_fail(error):
|
||||||
|
print('{red}FAIL: {error}{reset}'.format(red=Color.red, error=error, reset=Color.reset), file=sys.stderr, end='\n')
|
||||||
|
|
||||||
|
|
||||||
|
+def _ignore_file_content(path):
|
||||||
|
+ if path:
|
||||||
|
+ with open(path) as f:
|
||||||
|
+ return [line.strip() for line in f.read().split('\n') if not line.strip().startswith('#')]
|
||||||
|
+
|
||||||
|
+
|
||||||
|
@workflow.command('sanity-check', help='Perform workflow sanity checks', description=_LONG_DESCRIPTION)
|
||||||
|
@command_arg('name')
|
||||||
|
+@command_opt('ignore', metavar='<MODEL>', action='append', help='Models to ignore in the sanity check.')
|
||||||
|
+@command_opt('ignorefile', metavar='<PATH to ignore file>', help='File with a list of model names to ignore.')
|
||||||
|
@requires_repository
|
||||||
|
def cli(params):
|
||||||
|
+ ignored_models = set(params.ignore or []) | set(_ignore_file_content(params.ignorefile))
|
||||||
|
configure_logger()
|
||||||
|
repository = find_and_scan_repositories(find_repository_basedir('.'), include_locals=True)
|
||||||
|
try:
|
||||||
|
@@ -43,6 +56,7 @@ def cli(params):
|
||||||
|
|
||||||
|
instance = wf()
|
||||||
|
produced_late = set(instance.initial).intersection(set(instance.produces))
|
||||||
|
- if produced_late:
|
||||||
|
+ produced_late_names = [model.__name__ for model in produced_late if model.__name__ not in ignored_models]
|
||||||
|
+ if produced_late_names:
|
||||||
|
print_fail(_DESCRIPTION.format(' '.join([m.__name__ for m in produced_late])))
|
||||||
|
sys.exit(1)
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,34 @@
|
|||||||
|
From 833981217329e43b73840e796bc88978cb3ae272 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vinzenz 'evilissimo' Feenstra <evilissimo@gmail.com>
|
||||||
|
Date: Mon, 31 Oct 2022 14:51:20 +0100
|
||||||
|
Subject: [PATCH 08/16] Update leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Co-authored-by: Petr Stodůlka <xstodu05@gmail.com>
|
||||||
|
---
|
||||||
|
leapp/snactor/commands/workflow/sanity_check.py | 7 ++++---
|
||||||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/leapp/snactor/commands/workflow/sanity_check.py b/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
index 6f5db78..ac98dae 100644
|
||||||
|
--- a/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
+++ b/leapp/snactor/commands/workflow/sanity_check.py
|
||||||
|
@@ -29,9 +29,10 @@ def print_fail(error):
|
||||||
|
|
||||||
|
|
||||||
|
def _ignore_file_content(path):
|
||||||
|
- if path:
|
||||||
|
- with open(path) as f:
|
||||||
|
- return [line.strip() for line in f.read().split('\n') if not line.strip().startswith('#')]
|
||||||
|
+ if not path:
|
||||||
|
+ return []
|
||||||
|
+ with open(path) as f:
|
||||||
|
+ return [line.strip() for line in f.read().split('\n') if line.strip() and not line.strip().startswith('#')]
|
||||||
|
|
||||||
|
|
||||||
|
@workflow.command('sanity-check', help='Perform workflow sanity checks', description=_LONG_DESCRIPTION)
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,119 @@
|
|||||||
|
From 98a6bcebba640c7645c02465dde4895227cce825 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Inessa Vasilevskaya <ivasilev@redhat.com>
|
||||||
|
Date: Thu, 10 Nov 2022 13:19:40 +0100
|
||||||
|
Subject: [PATCH 09/16] Tune tmt tests regexes to align with QE automation
|
||||||
|
|
||||||
|
In order for upstream tests and those launched with QE tooling
|
||||||
|
to produce the comparable set of results it's a wise thing to
|
||||||
|
do.
|
||||||
|
---
|
||||||
|
.github/workflows/reuse-tests-7to8.yml | 2 +-
|
||||||
|
.github/workflows/reuse-tests-8to9.yml | 2 +-
|
||||||
|
.github/workflows/tmt-tests.yml | 16 ++++++++--------
|
||||||
|
3 files changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/reuse-tests-7to8.yml b/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
index 9d8e0db..b1a9a8e 100644
|
||||||
|
--- a/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
+++ b/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
@@ -13,7 +13,7 @@ on:
|
||||||
|
type: string
|
||||||
|
tmt_plan_regex:
|
||||||
|
type: string
|
||||||
|
- default: "^(?!.*c2r)(?!.*sap)(?!.*8to9)"
|
||||||
|
+ default: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)"
|
||||||
|
environment_settings:
|
||||||
|
type: string
|
||||||
|
default: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
diff --git a/.github/workflows/reuse-tests-8to9.yml b/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
index a7adace..828a717 100644
|
||||||
|
--- a/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
+++ b/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
@@ -13,7 +13,7 @@ on:
|
||||||
|
type: string
|
||||||
|
tmt_plan_regex:
|
||||||
|
type: string
|
||||||
|
- default: "^(?!.*c2r)(?!.*sap)(?!.*7to8)"
|
||||||
|
+ default: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)"
|
||||||
|
environment_settings:
|
||||||
|
type: string
|
||||||
|
default: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
diff --git a/.github/workflows/tmt-tests.yml b/.github/workflows/tmt-tests.yml
|
||||||
|
index cfad280..6b9a0b4 100644
|
||||||
|
--- a/.github/workflows/tmt-tests.yml
|
||||||
|
+++ b/.github/workflows/tmt-tests.yml
|
||||||
|
@@ -16,7 +16,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
pull_request_status_name: "7.9to8.4"
|
||||||
|
|
||||||
|
call_workflow_tests_79to86_integration:
|
||||||
|
@@ -25,7 +25,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
variables: 'TARGET_RELEASE=8.6'
|
||||||
|
pull_request_status_name: "7.9to8.6"
|
||||||
|
|
||||||
|
@@ -35,7 +35,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*8to9)(.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
pull_request_status_name: "7.9to8.4-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
@@ -49,7 +49,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)"
|
||||||
|
compose: "RHEL-7.9-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; echo 42; yum-config-manager --enable rhel-7-server-rhui-optional-rpms"}}'
|
||||||
|
pull_request_status_name: "7to8-aws-e2e"
|
||||||
|
@@ -61,7 +61,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
pull_request_status_name: "8.6to9.0"
|
||||||
|
|
||||||
|
call_workflow_tests_87to91_integration:
|
||||||
|
@@ -70,7 +70,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
variables: 'LEAPP_DEVEL_TARGET_PRODUCT_TYPE=beta;RHSM_SKU=RH00069;TARGET_RELEASE=9.1;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms'
|
||||||
|
compose: 'RHEL-8.7.0-Nightly'
|
||||||
|
pull_request_status_name: "8.7to9.1"
|
||||||
|
@@ -82,7 +82,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*7to8)(.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
pull_request_status_name: "8.6to9.0-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
@@ -96,7 +96,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)"
|
||||||
|
compose: "RHEL-8.6-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
pull_request_status_name: "8to9-aws-e2e"
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
130
SOURCES/0010-Change-rerun-all-to-rerun-sst.patch
Normal file
130
SOURCES/0010-Change-rerun-all-to-rerun-sst.patch
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
From 0e732fca2e8519f135ec5a18b032b6facb022c99 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Inessa Vasilevskaya <ivasilev@redhat.com>
|
||||||
|
Date: Thu, 10 Nov 2022 13:21:49 +0100
|
||||||
|
Subject: [PATCH 10/16] Change /rerun-all to /rerun-sst
|
||||||
|
|
||||||
|
Change the concept from "rerun all tests + morf ones" to
|
||||||
|
"rerun just the morf tests".
|
||||||
|
Welcome message updated as well.
|
||||||
|
---
|
||||||
|
.github/workflows/pr-welcome-msg.yml | 4 ++--
|
||||||
|
.github/workflows/reuse-copr-build.yml | 2 +-
|
||||||
|
.github/workflows/tmt-tests.yml | 28 ++++++++++++++++++++++++--
|
||||||
|
3 files changed, 29 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/pr-welcome-msg.yml b/.github/workflows/pr-welcome-msg.yml
|
||||||
|
index 1bfcd2b..67393f9 100644
|
||||||
|
--- a/.github/workflows/pr-welcome-msg.yml
|
||||||
|
+++ b/.github/workflows/pr-welcome-msg.yml
|
||||||
|
@@ -27,8 +27,8 @@ jobs:
|
||||||
|
To launch regression testing public members of oamg organization can leave the following comment:
|
||||||
|
- **/rerun** to schedule basic regression tests using this pr build and leapp-repository\*master\* as artifacts
|
||||||
|
- **/rerun 42** to schedule basic regression tests using this pr build and leapp-repository\*PR42\* as artifacts
|
||||||
|
- - **/rerun-all** to schedule all tests (including sst) using this pr build and leapp-repository\*master\* as artifacts
|
||||||
|
- - **/rerun-all 42** to schedule all tests (including sst) using this pr build and leapp-repository\*PR42\* as artifacts
|
||||||
|
+ - **/rerun-sst** to schedule sst tests using this pr build and leapp-repository\*master\* as artifacts
|
||||||
|
+ - **/rerun-sst 42** to schedule sst tests using this pr build and leapp-repository\*PR42\* as artifacts
|
||||||
|
|
||||||
|
Please [open ticket](https://url.corp.redhat.com/oamg-ci-issue) in case you experience technical problem with the CI. (RH internal only)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/reuse-copr-build.yml b/.github/workflows/reuse-copr-build.yml
|
||||||
|
index ccfee83..bdddc36 100644
|
||||||
|
--- a/.github/workflows/reuse-copr-build.yml
|
||||||
|
+++ b/.github/workflows/reuse-copr-build.yml
|
||||||
|
@@ -33,7 +33,7 @@ jobs:
|
||||||
|
id: leapp_repository_pr_regex_match
|
||||||
|
with:
|
||||||
|
text: ${{ github.event.comment.body }}
|
||||||
|
- regex: '^/(rerun|rerun-all)\s+([0-9]+)\s*$'
|
||||||
|
+ regex: '^/(rerun|rerun-sst)\s+([0-9]+)\s*$'
|
||||||
|
|
||||||
|
- name: Get pull request number
|
||||||
|
id: pr_nr
|
||||||
|
diff --git a/.github/workflows/tmt-tests.yml b/.github/workflows/tmt-tests.yml
|
||||||
|
index 6b9a0b4..15b7eb3 100644
|
||||||
|
--- a/.github/workflows/tmt-tests.yml
|
||||||
|
+++ b/.github/workflows/tmt-tests.yml
|
||||||
|
@@ -18,6 +18,10 @@ jobs:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
pull_request_status_name: "7.9to8.4"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_79to86_integration:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
@@ -28,6 +32,10 @@ jobs:
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
variables: 'TARGET_RELEASE=8.6'
|
||||||
|
pull_request_status_name: "7.9to8.6"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_79to84_sst:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
@@ -40,7 +48,7 @@ jobs:
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
- && startsWith(github.event.comment.body, '/rerun-all')
|
||||||
|
+ && startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_7to8_aws:
|
||||||
|
@@ -54,6 +62,10 @@ jobs:
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; echo 42; yum-config-manager --enable rhel-7-server-rhui-optional-rpms"}}'
|
||||||
|
pull_request_status_name: "7to8-aws-e2e"
|
||||||
|
variables: "RHUI=aws"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_86to90_integration:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
@@ -63,6 +75,10 @@ jobs:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
pull_request_status_name: "8.6to9.0"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_87to91_integration:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
@@ -75,6 +91,10 @@ jobs:
|
||||||
|
compose: 'RHEL-8.7.0-Nightly'
|
||||||
|
pull_request_status_name: "8.7to9.1"
|
||||||
|
tmt_context: "distro=rhel-8.7"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_86to90_sst:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
@@ -87,7 +107,7 @@ jobs:
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
- && startsWith(github.event.comment.body, '/rerun-all')
|
||||||
|
+ && startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
call_workflow_tests_8to9_aws:
|
||||||
|
@@ -101,3 +121,7 @@ jobs:
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
pull_request_status_name: "8to9-aws-e2e"
|
||||||
|
variables: "RHUI=aws"
|
||||||
|
+ if: |
|
||||||
|
+ github.event.issue.pull_request
|
||||||
|
+ && ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
+ && contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
163
SOURCES/0011-Do-not-run-rhsm-tests-in-upstream.patch
Normal file
163
SOURCES/0011-Do-not-run-rhsm-tests-in-upstream.patch
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
From 057b2887586e9255c2b45c2ce9463240d1a1b484 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Inessa Vasilevskaya <ivasilev@redhat.com>
|
||||||
|
Date: Mon, 28 Nov 2022 12:50:47 +0100
|
||||||
|
Subject: [PATCH 11/16] Do not run rhsm tests in upstream
|
||||||
|
|
||||||
|
It was decided to limit test tuns to tier0/tier1, non-RHSM
|
||||||
|
tests only.
|
||||||
|
Also this patch will keep github action parameters in sync with
|
||||||
|
supported upgrade paths.
|
||||||
|
---
|
||||||
|
.github/workflows/reuse-tests-7to8.yml | 2 +-
|
||||||
|
.github/workflows/reuse-tests-8to9.yml | 2 +-
|
||||||
|
.github/workflows/tmt-tests.yml | 34 ++++++++++++++------------
|
||||||
|
3 files changed, 21 insertions(+), 17 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/reuse-tests-7to8.yml b/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
index b1a9a8e..cfdfb35 100644
|
||||||
|
--- a/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
+++ b/.github/workflows/reuse-tests-7to8.yml
|
||||||
|
@@ -13,7 +13,7 @@ on:
|
||||||
|
type: string
|
||||||
|
tmt_plan_regex:
|
||||||
|
type: string
|
||||||
|
- default: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)"
|
||||||
|
+ default: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)"
|
||||||
|
environment_settings:
|
||||||
|
type: string
|
||||||
|
default: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
diff --git a/.github/workflows/reuse-tests-8to9.yml b/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
index 828a717..5d2e9d5 100644
|
||||||
|
--- a/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
+++ b/.github/workflows/reuse-tests-8to9.yml
|
||||||
|
@@ -13,7 +13,7 @@ on:
|
||||||
|
type: string
|
||||||
|
tmt_plan_regex:
|
||||||
|
type: string
|
||||||
|
- default: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)"
|
||||||
|
+ default: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)"
|
||||||
|
environment_settings:
|
||||||
|
type: string
|
||||||
|
default: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
diff --git a/.github/workflows/tmt-tests.yml b/.github/workflows/tmt-tests.yml
|
||||||
|
index 15b7eb3..2212453 100644
|
||||||
|
--- a/.github/workflows/tmt-tests.yml
|
||||||
|
+++ b/.github/workflows/tmt-tests.yml
|
||||||
|
@@ -10,14 +10,15 @@ jobs:
|
||||||
|
uses: ./.github/workflows/reuse-copr-build.yml
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
- call_workflow_tests_79to84_integration:
|
||||||
|
+ call_workflow_tests_79to88_integration:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
uses: ./.github/workflows/reuse-tests-7to8.yml
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
- pull_request_status_name: "7.9to8.4"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
+ pull_request_status_name: "7.9to8.8"
|
||||||
|
+ variables: 'TARGET_RELEASE=8.8'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
@@ -29,7 +30,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
variables: 'TARGET_RELEASE=8.6'
|
||||||
|
pull_request_status_name: "7.9to8.6"
|
||||||
|
if: |
|
||||||
|
@@ -37,15 +38,16 @@ jobs:
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
- call_workflow_tests_79to84_sst:
|
||||||
|
+ call_workflow_tests_79to88_sst:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
uses: ./.github/workflows/reuse-tests-7to8.yml
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
- pull_request_status_name: "7.9to8.4-sst"
|
||||||
|
+ pull_request_status_name: "7.9to8.8-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
+ variables: 'TARGET_RELEASE=8.8'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
@@ -57,7 +59,7 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(.*e2e)"
|
||||||
|
compose: "RHEL-7.9-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; echo 42; yum-config-manager --enable rhel-7-server-rhui-optional-rpms"}}'
|
||||||
|
pull_request_status_name: "7to8-aws-e2e"
|
||||||
|
@@ -73,23 +75,24 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
+ variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
pull_request_status_name: "8.6to9.0"
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
- call_workflow_tests_87to91_integration:
|
||||||
|
+ call_workflow_tests_87to90_integration:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
uses: ./.github/workflows/reuse-tests-8to9.yml
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
- variables: 'LEAPP_DEVEL_TARGET_PRODUCT_TYPE=beta;RHSM_SKU=RH00069;TARGET_RELEASE=9.1;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms'
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
+ variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms'
|
||||||
|
compose: 'RHEL-8.7.0-Nightly'
|
||||||
|
- pull_request_status_name: "8.7to9.1"
|
||||||
|
+ pull_request_status_name: "8.7to9.0"
|
||||||
|
tmt_context: "distro=rhel-8.7"
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
@@ -103,6 +106,7 @@ jobs:
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
+ variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
pull_request_status_name: "8.6to9.0-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
@@ -110,17 +114,17 @@ jobs:
|
||||||
|
&& startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
&& contains(fromJson('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association)
|
||||||
|
|
||||||
|
- call_workflow_tests_8to9_aws:
|
||||||
|
+ call_workflow_tests_86to90_aws:
|
||||||
|
needs: call_workflow_copr_build
|
||||||
|
uses: ./.github/workflows/reuse-tests-8to9.yml
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)"
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(.*e2e)"
|
||||||
|
compose: "RHEL-8.6-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
pull_request_status_name: "8to9-aws-e2e"
|
||||||
|
- variables: "RHUI=aws"
|
||||||
|
+ variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;RHUI=aws'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
92
SOURCES/0012-Set-SOURCE_RELEASE-env-var.patch
Normal file
92
SOURCES/0012-Set-SOURCE_RELEASE-env-var.patch
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
From 821358f50454108b3b43c1e51623089424a8cc7b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Inessa Vasilevskaya <ivasilev@redhat.com>
|
||||||
|
Date: Fri, 16 Dec 2022 11:38:53 +0100
|
||||||
|
Subject: [PATCH 12/16] Set SOURCE_RELEASE env var
|
||||||
|
|
||||||
|
Following a change in tmt-tests this is a necessary addition
|
||||||
|
for upgrade_plugin to correctly choose an upgrade path.
|
||||||
|
---
|
||||||
|
.github/workflows/tmt-tests.yml | 18 +++++++++---------
|
||||||
|
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/.github/workflows/tmt-tests.yml b/.github/workflows/tmt-tests.yml
|
||||||
|
index 2212453..1fd012b 100644
|
||||||
|
--- a/.github/workflows/tmt-tests.yml
|
||||||
|
+++ b/.github/workflows/tmt-tests.yml
|
||||||
|
@@ -18,7 +18,7 @@ jobs:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
pull_request_status_name: "7.9to8.8"
|
||||||
|
- variables: 'TARGET_RELEASE=8.8'
|
||||||
|
+ variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.8'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
@@ -30,8 +30,8 @@ jobs:
|
||||||
|
secrets: inherit
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
- tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
- variables: 'TARGET_RELEASE=8.6'
|
||||||
|
+ tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*8to9)(?!.*morf)"
|
||||||
|
+ variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.6'
|
||||||
|
pull_request_status_name: "7.9to8.6"
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
@@ -47,7 +47,7 @@ jobs:
|
||||||
|
tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
pull_request_status_name: "7.9to8.8-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
- variables: 'TARGET_RELEASE=8.8'
|
||||||
|
+ variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.8'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
@@ -63,7 +63,7 @@ jobs:
|
||||||
|
compose: "RHEL-7.9-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys; echo 42; yum-config-manager --enable rhel-7-server-rhui-optional-rpms"}}'
|
||||||
|
pull_request_status_name: "7to8-aws-e2e"
|
||||||
|
- variables: "RHUI=aws"
|
||||||
|
+ variables: 'SOURCE_RELEASE=7.9;TARGET_RELEASE=8.6;RHUI=aws'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
@@ -76,7 +76,7 @@ jobs:
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
- variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
+ variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
pull_request_status_name: "8.6to9.0"
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
@@ -90,7 +90,7 @@ jobs:
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(?!.*upgrade_plugin)(?!.*tier[2-3].*)(?!.*rhsm)(?!.*c2r)(?!.*sap)(?!.*7to8)(?!.*morf)"
|
||||||
|
- variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms'
|
||||||
|
+ variables: 'SOURCE_RELEASE=8.7;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-rpms,rhel-8-for-x86_64-baseos-rpms'
|
||||||
|
compose: 'RHEL-8.7.0-Nightly'
|
||||||
|
pull_request_status_name: "8.7to9.0"
|
||||||
|
tmt_context: "distro=rhel-8.7"
|
||||||
|
@@ -106,7 +106,7 @@ jobs:
|
||||||
|
with:
|
||||||
|
copr_artifacts: ${{ needs.call_workflow_copr_build.outputs.artifacts }}
|
||||||
|
tmt_plan_regex: "^(/plans/morf)(?!.*sap)"
|
||||||
|
- variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
+ variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms'
|
||||||
|
pull_request_status_name: "8.6to9.0-sst"
|
||||||
|
update_pull_request_status: 'false'
|
||||||
|
if: |
|
||||||
|
@@ -124,7 +124,7 @@ jobs:
|
||||||
|
compose: "RHEL-8.6-rhui"
|
||||||
|
environment_settings: '{"provisioning": {"post_install_script": "#!/bin/sh\nsudo sed -i s/.*ssh-rsa/ssh-rsa/ /root/.ssh/authorized_keys"}}'
|
||||||
|
pull_request_status_name: "8to9-aws-e2e"
|
||||||
|
- variables: 'TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;RHUI=aws'
|
||||||
|
+ variables: 'SOURCE_RELEASE=8.6;TARGET_RELEASE=9.0;TARGET_KERNEL=el9;RHSM_REPOS=rhel-8-for-x86_64-appstream-eus-rpms,rhel-8-for-x86_64-baseos-eus-rpms;RHUI=aws'
|
||||||
|
if: |
|
||||||
|
github.event.issue.pull_request
|
||||||
|
&& ! startsWith(github.event.comment.body, '/rerun-sst')
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,40 @@
|
|||||||
|
From 895caae0dac1dabd0966b5c4c9e29b86573fe0c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: PeterMocary <petermocary@gmail.com>
|
||||||
|
Date: Fri, 16 Dec 2022 16:20:49 +0100
|
||||||
|
Subject: [PATCH 13/16] change the permissions for /var/lib/leapp directory
|
||||||
|
from '755' to '700'
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile | 2 +-
|
||||||
|
packaging/leapp.spec | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index d392765..2653896 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -188,7 +188,7 @@ install:
|
||||||
|
install -dm 0755 ${CONFDIR}
|
||||||
|
install -m 0744 etc/leapp/leapp.conf ${CONFDIR}
|
||||||
|
install -m 0744 etc/leapp/logger.conf ${CONFDIR}
|
||||||
|
- install -dm 0755 ${LIBDIR}
|
||||||
|
+ install -dm 0700 ${LIBDIR}
|
||||||
|
umask 177 && $(PYTHON_VENV) -c "import sqlite3; sqlite3.connect('${LIBDIR}/audit.db').executescript(open('res/audit-layout.sql', 'r').read())"
|
||||||
|
|
||||||
|
install-test:
|
||||||
|
diff --git a/packaging/leapp.spec b/packaging/leapp.spec
|
||||||
|
index dfca9aa..071ffe7 100644
|
||||||
|
--- a/packaging/leapp.spec
|
||||||
|
+++ b/packaging/leapp.spec
|
||||||
|
@@ -180,7 +180,7 @@ install -m 0644 -p man/snactor.1 %{buildroot}%{_mandir}/man1/
|
||||||
|
install -m 0755 -d %{buildroot}%{_datadir}/leapp
|
||||||
|
install -m 0755 -d %{buildroot}%{_datadir}/leapp/report_schema
|
||||||
|
install -m 0644 -p report-schema-v110.json %{buildroot}%{_datadir}/leapp/report_schema/report-schema.json
|
||||||
|
-install -m 0755 -d %{buildroot}%{_sharedstatedir}/leapp
|
||||||
|
+install -m 0700 -d %{buildroot}%{_sharedstatedir}/leapp
|
||||||
|
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp
|
||||||
|
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/repos.d
|
||||||
|
install -m 0600 -d %{buildroot}%{_sysconfdir}/leapp/answers
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
111
SOURCES/0014-Expose-tracebacks-from-actor-exceptions.patch
Normal file
111
SOURCES/0014-Expose-tracebacks-from-actor-exceptions.patch
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
From 3d453d180d9b7bf0e283e313d1b5e294a5b4aeeb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Roman Prilipskii <rprilipskii@cloudlinux.com>
|
||||||
|
Date: Wed, 9 Nov 2022 07:22:54 +0400
|
||||||
|
Subject: [PATCH 14/16] Expose tracebacks from actor exceptions
|
||||||
|
|
||||||
|
Previously when leapp would be running actors, any exceptions raised by
|
||||||
|
those actors in child processes would only be output to stderr,
|
||||||
|
while the main process would only have the exit code to examine.
|
||||||
|
|
||||||
|
Consequently, there was no real way to log occuring exceptions -
|
||||||
|
only providing the aforementioned exit code was possible.
|
||||||
|
|
||||||
|
This patch adds a pipe between the main and the actor processes,
|
||||||
|
through which a formatted exception + traceback string is provided to
|
||||||
|
the main process.
|
||||||
|
This string is then packaged into the LeappRuntimeError thrown from the
|
||||||
|
process, to be utilized downstream in
|
||||||
|
workflow/command code.
|
||||||
|
---
|
||||||
|
leapp/exceptions.py | 4 +++-
|
||||||
|
leapp/repository/actor_definition.py | 31 +++++++++++++++++++++-------
|
||||||
|
2 files changed, 27 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/leapp/exceptions.py b/leapp/exceptions.py
|
||||||
|
index 1bd4222..ef9d647 100644
|
||||||
|
--- a/leapp/exceptions.py
|
||||||
|
+++ b/leapp/exceptions.py
|
||||||
|
@@ -109,7 +109,9 @@ class UnknownCommandError(LeappError):
|
||||||
|
|
||||||
|
|
||||||
|
class LeappRuntimeError(LeappError):
|
||||||
|
- pass
|
||||||
|
+ def __init__(self, message, exception_info):
|
||||||
|
+ super().__init__(message)
|
||||||
|
+ self.exception_info = exception_info
|
||||||
|
|
||||||
|
|
||||||
|
class StopActorExecution(Exception):
|
||||||
|
diff --git a/leapp/repository/actor_definition.py b/leapp/repository/actor_definition.py
|
||||||
|
index 7c0beb9..2b5df1a 100644
|
||||||
|
--- a/leapp/repository/actor_definition.py
|
||||||
|
+++ b/leapp/repository/actor_definition.py
|
||||||
|
@@ -4,9 +4,10 @@ import logging
|
||||||
|
import os
|
||||||
|
import pkgutil
|
||||||
|
import sys
|
||||||
|
+import traceback
|
||||||
|
import warnings
|
||||||
|
from io import UnsupportedOperation
|
||||||
|
-from multiprocessing import Process, Queue
|
||||||
|
+from multiprocessing import Process, Queue, Pipe
|
||||||
|
|
||||||
|
import leapp.libraries.actor # noqa # pylint: disable=unused-import
|
||||||
|
from leapp.actors import get_actor_metadata, get_actors
|
||||||
|
@@ -56,7 +57,7 @@ class ActorCallContext(object):
|
||||||
|
self.skip_dialogs = skip_dialogs
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
- def _do_run(stdin, logger, messaging, definition, config_model, skip_dialogs, args, kwargs):
|
||||||
|
+ def _do_run(stdin, logger, messaging, definition, config_model, skip_dialogs, error_pipe, args, kwargs):
|
||||||
|
if stdin is not None:
|
||||||
|
try:
|
||||||
|
sys.stdin = os.fdopen(stdin)
|
||||||
|
@@ -69,7 +70,13 @@ class ActorCallContext(object):
|
||||||
|
target_actor = [actor for actor in get_actors() if actor.name == definition.name][0]
|
||||||
|
actor_instance = target_actor(logger=logger, messaging=messaging, config_model=config_model,
|
||||||
|
skip_dialogs=skip_dialogs)
|
||||||
|
- actor_instance.run(*args, **kwargs)
|
||||||
|
+ try:
|
||||||
|
+ actor_instance.run(*args, **kwargs)
|
||||||
|
+ except Exception:
|
||||||
|
+ # Send the exception data string to the parent process
|
||||||
|
+ # and reraise.
|
||||||
|
+ error_pipe.send(traceback.format_exc())
|
||||||
|
+ raise
|
||||||
|
try:
|
||||||
|
# By this time this is no longer set, so we have to get it back
|
||||||
|
os.environ['LEAPP_CURRENT_ACTOR'] = actor_instance.name
|
||||||
|
@@ -96,15 +103,25 @@ class ActorCallContext(object):
|
||||||
|
stdin = sys.stdin.fileno()
|
||||||
|
except UnsupportedOperation:
|
||||||
|
stdin = None
|
||||||
|
+
|
||||||
|
+ pipe_receiver, pipe_sender = Pipe()
|
||||||
|
p = Process(target=self._do_run,
|
||||||
|
args=(stdin, self.logger, self.messaging, self.definition, self.config_model,
|
||||||
|
- self.skip_dialogs, args, kwargs))
|
||||||
|
+ self.skip_dialogs, pipe_sender, args, kwargs))
|
||||||
|
p.start()
|
||||||
|
p.join()
|
||||||
|
if p.exitcode != 0:
|
||||||
|
- raise LeappRuntimeError(
|
||||||
|
- 'Actor {actorname} unexpectedly terminated with exit code: {exitcode}'
|
||||||
|
- .format(actorname=self.definition.name, exitcode=p.exitcode))
|
||||||
|
+ err_message = "Actor {actorname} unexpectedly terminated with exit code: {exitcode}".format(
|
||||||
|
+ actorname=self.definition.name, exitcode=p.exitcode)
|
||||||
|
+
|
||||||
|
+ exception_info = None
|
||||||
|
+ # If there's data in the pipe, it's formatted exception info.
|
||||||
|
+ if pipe_receiver.poll():
|
||||||
|
+ exception_info = pipe_receiver.recv()
|
||||||
|
+
|
||||||
|
+ # This LeappRuntimeError will contain an exception traceback
|
||||||
|
+ # in addition to the above message.
|
||||||
|
+ raise LeappRuntimeError(err_message, exception_info)
|
||||||
|
|
||||||
|
|
||||||
|
class ActorDefinition(object):
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From adc83588e269866d01bde579e075405939b08434 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Roman Prilipskii <rprilipskii@cloudlinux.com>
|
||||||
|
Date: Wed, 9 Nov 2022 07:24:38 +0400
|
||||||
|
Subject: [PATCH 15/16] Add a default None value to the LeappRuntimeError field
|
||||||
|
|
||||||
|
---
|
||||||
|
leapp/exceptions.py | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/leapp/exceptions.py b/leapp/exceptions.py
|
||||||
|
index ef9d647..d6bbf00 100644
|
||||||
|
--- a/leapp/exceptions.py
|
||||||
|
+++ b/leapp/exceptions.py
|
||||||
|
@@ -109,7 +109,7 @@ class UnknownCommandError(LeappError):
|
||||||
|
|
||||||
|
|
||||||
|
class LeappRuntimeError(LeappError):
|
||||||
|
- def __init__(self, message, exception_info):
|
||||||
|
+ def __init__(self, message, exception_info=None):
|
||||||
|
super().__init__(message)
|
||||||
|
self.exception_info = exception_info
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
From 2d7ec8f21ea70fd0dc9656cd63a761342cefeb8f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Roman Prilipskii <rprilipskii@cloudlinux.com>
|
||||||
|
Date: Mon, 28 Nov 2022 07:12:43 +0400
|
||||||
|
Subject: [PATCH 16/16] Fix super() args for Leapp exception classes
|
||||||
|
|
||||||
|
---
|
||||||
|
leapp/exceptions.py | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/leapp/exceptions.py b/leapp/exceptions.py
|
||||||
|
index d6bbf00..43c5905 100644
|
||||||
|
--- a/leapp/exceptions.py
|
||||||
|
+++ b/leapp/exceptions.py
|
||||||
|
@@ -104,13 +104,13 @@ class CommandDefinitionError(LeappError):
|
||||||
|
|
||||||
|
class UnknownCommandError(LeappError):
|
||||||
|
def __init__(self, command):
|
||||||
|
- super().__init__('Unknown command: {}'.format(command))
|
||||||
|
+ super(UnknownCommandError, self).__init__('Unknown command: {}'.format(command))
|
||||||
|
self.requested = command
|
||||||
|
|
||||||
|
|
||||||
|
class LeappRuntimeError(LeappError):
|
||||||
|
def __init__(self, message, exception_info=None):
|
||||||
|
- super().__init__(message)
|
||||||
|
+ super(LeappRuntimeError, self).__init__(message)
|
||||||
|
self.exception_info = exception_info
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.0
|
||||||
|
|
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
Name: leapp
|
Name: leapp
|
||||||
Version: 0.15.0
|
Version: 0.15.0
|
||||||
Release: 1%{?dist}.1
|
Release: 4%{?dist}
|
||||||
Summary: OS & Application modernization framework
|
Summary: OS & Application modernization framework
|
||||||
|
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
@ -65,7 +65,22 @@ Requires: leapp-repository
|
|||||||
|
|
||||||
# PATCHES HERE
|
# PATCHES HERE
|
||||||
# Patch0001: filename.patch
|
# Patch0001: filename.patch
|
||||||
Patch0001: 0001-Make-checks-for-missing-answers-more-strict.patch
|
Patch0001: 0001-Make-checks-for-missing-answers-more-strict.patch
|
||||||
|
Patch0002: 0002-Add-Makefile-target-for-building-RPMs-locally-and-in.patch
|
||||||
|
Patch0003: 0003-Add-possibility-to-use-docker-to-run-tests-and-build.patch
|
||||||
|
Patch0004: 0004-Document-workaround-for-the-broken-snactor.patch
|
||||||
|
Patch0005: 0005-Improve-wording.patch
|
||||||
|
Patch0006: 0006-Docs-update-the-leapp-deprecation-doc-add-v0.15.0.patch
|
||||||
|
Patch0007: 0007-snactor.sanity-check-Add-option-to-ignore-models.patch
|
||||||
|
Patch0008: 0008-Update-leapp-snactor-commands-workflow-sanity_check..patch
|
||||||
|
Patch0009: 0009-Tune-tmt-tests-regexes-to-align-with-QE-automation.patch
|
||||||
|
Patch0010: 0010-Change-rerun-all-to-rerun-sst.patch
|
||||||
|
Patch0011: 0011-Do-not-run-rhsm-tests-in-upstream.patch
|
||||||
|
Patch0012: 0012-Set-SOURCE_RELEASE-env-var.patch
|
||||||
|
Patch0013: 0013-change-the-permissions-for-var-lib-leapp-directory-f.patch
|
||||||
|
Patch0014: 0014-Expose-tracebacks-from-actor-exceptions.patch
|
||||||
|
Patch0015: 0015-Add-a-default-None-value-to-the-LeappRuntimeError-fi.patch
|
||||||
|
Patch0016: 0016-Fix-super-args-for-Leapp-exception-classes.patch
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -162,6 +177,21 @@ Requires: findutils
|
|||||||
# APPLY REGISTERED PATCHES HERE
|
# APPLY REGISTERED PATCHES HERE
|
||||||
# %%patch0001 -p1
|
# %%patch0001 -p1
|
||||||
%patch0001 -p1
|
%patch0001 -p1
|
||||||
|
%patch0002 -p1
|
||||||
|
%patch0003 -p1
|
||||||
|
%patch0004 -p1
|
||||||
|
%patch0005 -p1
|
||||||
|
%patch0006 -p1
|
||||||
|
%patch0007 -p1
|
||||||
|
%patch0008 -p1
|
||||||
|
%patch0009 -p1
|
||||||
|
%patch0010 -p1
|
||||||
|
%patch0011 -p1
|
||||||
|
%patch0012 -p1
|
||||||
|
%patch0013 -p1
|
||||||
|
%patch0014 -p1
|
||||||
|
%patch0015 -p1
|
||||||
|
%patch0016 -p1
|
||||||
|
|
||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
@ -183,7 +213,7 @@ install -m 0644 -p man/snactor.1 %{buildroot}%{_mandir}/man1/
|
|||||||
install -m 0755 -d %{buildroot}%{_datadir}/leapp
|
install -m 0755 -d %{buildroot}%{_datadir}/leapp
|
||||||
install -m 0755 -d %{buildroot}%{_datadir}/leapp/report_schema
|
install -m 0755 -d %{buildroot}%{_datadir}/leapp/report_schema
|
||||||
install -m 0644 -p report-schema-v110.json %{buildroot}%{_datadir}/leapp/report_schema/report-schema.json
|
install -m 0644 -p report-schema-v110.json %{buildroot}%{_datadir}/leapp/report_schema/report-schema.json
|
||||||
install -m 0755 -d %{buildroot}%{_sharedstatedir}/leapp
|
install -m 0700 -d %{buildroot}%{_sharedstatedir}/leapp
|
||||||
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp
|
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp
|
||||||
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/repos.d
|
install -m 0755 -d %{buildroot}%{_sysconfdir}/leapp/repos.d
|
||||||
install -m 0600 -d %{buildroot}%{_sysconfdir}/leapp/answers
|
install -m 0600 -d %{buildroot}%{_sysconfdir}/leapp/answers
|
||||||
@ -245,15 +275,23 @@ install -m 0644 -p man/leapp.1 %{buildroot}%{_mandir}/man1/
|
|||||||
# no files here
|
# no files here
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Sep 08 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-1.1
|
* Fri Jan 20 2023 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-4
|
||||||
|
- Change DAC for /var/lib/leapp to 0700 to make it accessible for root only
|
||||||
|
- Propagate error messages from leapp actors to the main leapp process
|
||||||
|
- Resolves: rhbz#2162710
|
||||||
|
|
||||||
|
* Thu Sep 08 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-2
|
||||||
|
- Fix the check of missing required answers
|
||||||
|
- Resolves: rhbz#2124332
|
||||||
|
|
||||||
|
* Wed Aug 24 2022 Petr Stodulka <pstodulk@redhat.com> - 0.15.0-1
|
||||||
- Rebase to v0.15.0
|
- Rebase to v0.15.0
|
||||||
- Bump leapp-framework to 3.1
|
- Bump leapp-framework to 3.1
|
||||||
- Deprecate `reporting.(Tags|Flags)` replaced by `reporting.Groups`
|
- Deprecate `reporting.(Tags|Flags)` replaced by `reporting.Groups`
|
||||||
- Fix crashes when processing invalid FQDNs
|
- Fix crashes when processing invalid FQDNs
|
||||||
- Fix the error msg when a leapp CLI command does not exist
|
- Fix the error msg when a leapp CLI command does not exist
|
||||||
- Introduce new report JSON schema v1.2.0 (default: 1.1.0)
|
- Introduce new report JSON schema v1.2.0 (default: 1.1.0)
|
||||||
- Fix the check of missing required answers
|
- Resolves: rhbz#2090992, rhbz#2106065
|
||||||
- Resolves: rhbz#2125285
|
|
||||||
|
|
||||||
* Mon Mar 14 2022 Petr Stodulka <pstodulk@redhat.com> - 0.14.0-1
|
* Mon Mar 14 2022 Petr Stodulka <pstodulk@redhat.com> - 0.14.0-1
|
||||||
- Rebase to v0.14.0
|
- Rebase to v0.14.0
|
||||||
|
Loading…
Reference in New Issue
Block a user