-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move infra from Fedora 39 to 41 #3460
Comments
After the update, make sure the |
See fedora-copr#3460 Several issues appeared during the upgrade, and we are addressing them here: - To my dismay, `python3-ipdb` is not available on F41. See https://bugzilla.redhat.com/show_bug.cgi?id=2280968 Hopefully, the upstream issue will get fixed and the pacakge will get unretired in Fedora. I love using it. - The `dist-git-client` is not a part of Copr codebase anymore and it was moved to dist-git. See https://github.com/release-engineering/dist-git As a consequence, the name of the configuration directory changed. - Removing mlocate. We discussed it several times and IIRC we don't need it Also, please recreate the whole environment through `docker-compose down --rmi all --volumes` and `docker-compose up -d`.
See #3460 Several issues appeared during the upgrade, and we are addressing them here: - To my dismay, `python3-ipdb` is not available on F41. See https://bugzilla.redhat.com/show_bug.cgi?id=2280968 Hopefully, the upstream issue will get fixed and the pacakge will get unretired in Fedora. I love using it. - The `dist-git-client` is not a part of Copr codebase anymore and it was moved to dist-git. See https://github.com/release-engineering/dist-git As a consequence, the name of the configuration directory changed. - Removing mlocate. We discussed it several times and IIRC we don't need it Also, please recreate the whole environment through `docker-compose down --rmi all --volumes` and `docker-compose up -d`.
The package |
We need that package for the prometheus monitoring in Red Hat network (grafana metrics). I think the package was renamed to
|
When upgrading the database via
I did as suggested, to fix the warnings:
No warnings now. |
A lot of errors in the httpd log:
It seems that this is caused by mod_wsgi 5.0.1 and fixed by mod_wsgi 5.0.2, see GrahamDumpleton/mod_wsgi#912 Temporarily, I built the new upstream version in Copr and it indeed fixes the issue.
I proposed a change to the Fedora package, hopefuly it will make it before we upgrade production Update: The mentioned Copr repo is not needed anymore, the package is in the repos (testing) now |
|
Hotfixes in production: Frontend: --- /usr/share/copr/coprs_frontend/coprs/logic/actions_logic.py 2024-10-03 00:00:00.000000000 +0000
+++ /usr/share/copr/coprs_frontend/coprs/logic/actions_logic.py 2024-11-24 23:23:05.087732871 +0000
@@ -224,6 +224,7 @@
# We can pick any random build because the assumption is, they are
# all from the same project
"storage": builds[0].copr.storage if builds else None,
+ "devel": builds[0].copr.devel_mode,
}
build_ids = []
Binary files ./usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__pycache__/apiv3_projects.cpython-312.pyc and /usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/__pycache__/apiv3_projects.cpython-312.pyc differ
--- /usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/apiv3_projects.py 2024-10-03 00:00:00.000000000 +0000
+++ /usr/share/copr/coprs_frontend/coprs/views/apiv3_ns/apiv3_projects.py 2024-10-10 10:58:51.654525740 +0000
@@ -242,7 +242,6 @@
selected_chroots=form.selected_chroots,
description=form.description.data,
instructions=form.instructions.data,
- check_for_duplicates=True,
unlisted_on_hp=form.unlisted_on_hp.data,
build_enable_net=form.enable_net.data,
group=group, Backend: --- /usr/bin/copr-backend-resultdir-cleaner 2024-10-22 00:00:00.000000000 +0000
+++ /usr/bin/copr-backend-resultdir-cleaner 2024-11-22 13:12:28.523835714 +0000
@@ -1,7 +1,7 @@
#! /usr/bin/python3
"""
-Cleanup the old chroot_scan folders
+Cleanup the files in resultdir that are no longer needed.
"""
import logging
@@ -17,19 +17,23 @@
from copr_backend.helpers import BackendConfigReader
-logging.basicConfig(level=logging.DEBUG)
LOG = logging.getLogger(__name__)
-setup_script_logger(LOG, "/var/log/copr-backend/resultdir-cleaner.log")
-
OLDER_THAN = time.time() - 24*3600*14
-parser = argparse.ArgumentParser(
- description=("TBD")
-)
-parser.add_argument(
- "--real-run",
- action='store_true',
- help=("Also perform the changes, not just checks"))
+
+def _get_arg_parser():
+ parser = argparse.ArgumentParser(
+ description=(
+ "Traverse the Copr Backend result directory and remove things "
+ "that are no longer needed → outdated log files, not uncleaned "
+ "temporary directories, etc."))
+ parser.add_argument(
+ "--real-run",
+ action='store_true',
+ help=(
+ "Perform the real removals (by default the tool just prints "
+ "what would normally happen = \"dry run\")."))
+ return parser
def remove_old_dir(directory, dry_run):
@@ -69,6 +73,10 @@
# to the [backend] prune_days=N config.
continue
+ if os.path.basename(chroot_dir) == "modules":
+ todo_directory(chroot_dir, "MODULES")
+ continue
+
for subdir in chroot_subdirs:
chroot_subdir_path = os.path.join(chroot_dir, subdir)
@@ -162,14 +170,15 @@
def _main():
- args = parser.parse_args()
+ logging.basicConfig(level=logging.DEBUG)
+ config_file = os.environ.get("BACKEND_CONFIG", "/etc/copr/copr-be.conf")
+ opts = BackendConfigReader(config_file).read()
+ setup_script_logger(LOG, os.path.join(opts["log_dir"], "resultdir-cleaner.log"))
+ args = _get_arg_parser().parse_args()
dry_run = not args.real_run
if dry_run:
LOG.warning("Just doing dry run, run with --real-run")
- config_file = os.environ.get("BACKEND_CONFIG", "/etc/copr/copr-be.conf")
- opts = BackendConfigReader(config_file).read()
-
clean_in(opts.destdir, dry_run=dry_run)
--- /usr/lib/python3.12/site-packages/copr_backend/pulp.py 2024-10-22 00:00:00.000000000 +0000
+++ /usr/lib/python3.12/site-packages/copr_backend/pulp.py 2024-10-29 18:42:11.176004437 +0000
@@ -50,6 +50,14 @@
"""
return (self.config["username"], self.config["password"])
+ @property
+ def cert(self):
+ """
+ See Client Side Certificates
+ https://docs.python-requests.org/en/latest/user/advanced/
+ """
+ return (self.config["cert"], self.config["key"])
+
def url(self, endpoint):
"""
A fully qualified URL for a given API endpoint
@@ -74,7 +82,12 @@
"""
Default parameters for our requests
"""
- return {"auth": self.auth, "timeout": self.timeout}
+ params = {"timeout": self.timeout}
+ if all(self.cert):
+ params["cert"] = self.cert
+ else:
+ params["auth"] = self.auth
+ return params
def create_repository(self, name):
""" Save the patch to a file and then apply with:
|
I think there is some slowness related to CDN. This test fails
but if I increase the sleep time to e.g. 180, it works fine. At the same time, I can see the repodata almost immediatelly when using ls on backend.
|
This should help with the vg activation: |
Some post-release things we should ideally address
|
This wasn't trivial to implement, so I only documented the requirements in #3533
Reported in #3553
Reported in #3554 |
Don't forget to go through hot-fixes:
https://github.com/fedora-copr/copr/issues?q=label%3Ahot-fixed+
The text was updated successfully, but these errors were encountered: