About JS framework
by Pierre-Yves Chibon
Good Morning Everyone,
Our infrastructure is mostly a python store, meaning almost all our apps are
written in python and most using wsgi.
However in python we are using a number of framework:
* flask for most
* pyramid for some of the biggest (bodhi, FAS3)
* Django (askbot, Hyperkitty)
* TurboGears2 (fedora-packages)
* aiohttp (python3, async app: mdapi)
While this makes sometime things difficult, these are fairly standard framework
and most of our developers are able to help on all.
However, as I see us starting to look at JS for some of our apps (fedora-hubs,
wartaa...), I wonder if we could start the discussion early about the different
framework and eventually see if we can unify around one.
This would also allow those of us not familiar with any JS framework to look at
the recommended one instead of picking one up semi-randomly.
So has anyone experience with one or more JS framework? Do you have one that
would you recommend? Why?
Thanks for your inputs,
Pierre
7 months, 3 weeks
The packages app has a short runway
by Randy Barlow
Greetings!
The packages app is running on Fedora 30, and its dependencies are not
available in Fedora 31+ as I understand it.
This means it has about 7 months before we need to do something about
it, or shut it off.
Do we know if it can run on RHEL 7?
3 years, 1 month
Re: Issue with Fedora GeoIP service
by Kevin Fenzi
On Fri, Dec 06, 2019 at 04:49:15PM +0000, Tom Hughes wrote:
> On 06/12/2019 16:41, Martin Kolman wrote:
> > On Fri, 2019-12-06 at 08:38 -0600, Chris Adams wrote:
> >
> > > I also installed the Fedora 31 GeoIP packages and ran the geoipupdate,
> > > and that DB has the correct info.
> >
> > IIRC the infra team mentioned some issues with the new geoip database
> > being incompatible with how the service is currently implemented,
> > resulting in being stuck with an outdated database until this is resolved.
>
> Sounds like it maybe doesn't have support for GeoLite2 and is using the
> old MaxMind GeoLite Legacy databases which haven't been updated since
> the start of this year.
Yes, that is exactly the case.
We recently looked at this to see if we could retire the service, but it
looks like it's still needed, so we need to figure out how to get cycles
to update it.
If someone wants to work on this, let us know!
kevin
3 years, 1 month
Pagure for EL8 (EPEL8)
by Neal Gompa
Hey all,
In the interest of helping to modernize the infrastructure Fedora runs
on, I'm working on introducing Pagure into EPEL8. This will hopefully
allow us to upgrade our Pagure instances to use RHEL 8 instead of RHEL
7, and notably, make the transition (mostly) complete for moving all
Python software Fedora runs to Python 3.
I've done an early build locally to determine what's needed to make
this possible. The following report from DNF indicates the missing
packages that need to be added to EPEL 8 before I can introduce Pagure
into EPEL8:
Problem 1: conflicting requests
- nothing provides python3-jenkins needed by pagure-ci-5.8-1.el8.noarch
Problem 2: conflicting requests
- nothing provides gitolite3 needed by pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(binaryornot) needed by
pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(celery) needed by pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(flask-wtf) needed by pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(redis) needed by pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(straight.plugin) needed by
pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(wtforms) needed by pagure-5.8-1.el8.noarch
- nothing provides python3.6dist(pygit2) >= 0.26.0 needed by
pagure-5.8-1.el8.noarch
Problem 3: conflicting requests
- nothing provides python3-trololio needed by pagure-ev-5.8-1.el8.noarch
One of the reasons I'd like to have this done sooner rather than later
is so that we can drop Python 2 support from Pagure with version 6.0.
I think it's quite reasonable to say that version 6.0 isn't going to
happen until we can get our Pagure servers running on EL8 using Python
3.
So now, I need some help making this happen. I already own trololio,
and I'm going to make that available in EPEL 8 ASAP. Can anyone help
with some of the other dependencies here?
Thanks in advance,
Neal
--
真実はいつも一つ!/ Always, there's only one truth!
3 years, 2 months
Fedora 32 Beta Freeze now in effect
by Kevin Fenzi
Greetings.
We are now in the infrastructure freeze leading up to the Fedora 32
Beta release. This is a pre release freeze.
We do this to ensure that our infrastructure is stable and ready to
release the Fedora 32 Beta when it's available.
You can see a list of hosts that do not freeze by checking out the
ansible repo and running the freezelist script:
git clone
https://infrastructure.fedoraproject.org/infra/ansible.git
ansible/scripts/freezelist -i inventory
Any hosts listed as freezes is frozen until 2020-03-17 (or later if
release slips). Frozen hosts should have no changes made to them without
a sign-off on the change from at least 2 sysadmin-main or rel-eng
members, along with (in most cases) a patch of the exact change to be
made to this list.
Thanks,
kevin
3 years, 2 months
Revamping the Release Readiness meeting
by Ben Cotton
(Posting to many mailing lists for visibility. I apologize if you see
this more times than you'd like.)
You may have already seen my Community Blog post[1] about changing the
Release Readiness meeting process. The meeting has questionable value
in the current state, so I want to make it more useful. We'll do this
by having teams self-report readiness issues on a dedicated wiki
page[2] beginning now. This gives the community time to chip in and
help with areas that need help without waiting until days before the
release.
I invite teams to identify a representative to keep the wiki page up
to date. Update it as your status changes and I'll post help requests
in my weekly CommBlog posts[3] and the FPgM office hours[4] IRC
meeting. The Release Readiness meeting will be shortened to one hour
and will review open concerns instead of polling for teams that may or
may not be there. We will use the logistics mailing list[5] to discuss
issues and make announcements, so I encourage representatives to join
this list.
[1] https://communityblog.fedoraproject.org/fedora-program-update-2020-08/
[2] https://fedoraproject.org/wiki/Release_Readiness
[3] https://communityblog.fedoraproject.org/category/program-management/
[4] https://apps.fedoraproject.org/calendar/council/#m9570
--
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
3 years, 3 months
CPE Weekly: 2020-02-28
by Aoife Moloney
---
title: CPE Weekly status email
tags: CPE Weekly, email
---
# CPE Weekly: 2020-02-28
Background:
The Community Platform Engineering group is the Red Hat team combining
IT and release engineering from Fedora and CentOS. Our goal is to keep
core servers and services running and maintained, build releases, and
other strategic tasks that need more dedicated time than volunteers
can give.
For better communication, we will be giving weekly reports to the
CentOS and Fedora communities about the general tasks and work being
done. Also for better communication between our groups we have
created #redhat-cpe on Freenode IRC! Please feel free to catch us
there, a mail has landed on both the CentOS and Fedora devel lists
with context here.
## Fedora Updates
* F32 Beta Freeze now on
### Data Centre Move
* Old OpenStack instance has now been switched off.
* The team are planning the shipping logistics of the equipment across
country with Red Hat - measurements, weights, insurance amounts - fun
stuff! :)
* No changes to our expected dates as per our last posting, but if
there are we will make sure to let you know asap.
### AAA Replacement
Current functionalities developed to date:
* User functionality to join groups
* Uhange email address and password
* Disable account function
* Database access function
* We are also currently mapping solution on how best to have users
move from the current FAS to the new FAS (potential name incoming!).
* The team also came to the end of developing our wireframes and
mapping our user experience flow.
* Unit tests were carried out regarding password controller and the
current codebase.
Patrick Uiterijk and Christian Heimes still continue to be a huge help
to the team in this project so thank you both sincerely!
For our full blog post, check out Ben Cottons weekly
For more information regarding outstanding issues, please see here.
To view our current scrum board, please see here.
### CI/CD
* The team have made good progress on getting monitor-gating to run in staging
* This is running completely now and while it fails in some steps but
not because of itself, means it is already providing us valuable
information :)
* The team have sent an email to the devel list presenting our ideas
and potential proposal for the changelog and release fields proof of
concept - check it out here:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
### Sustaining Team
* Releng and Infra Freeze for Fedora 32 Beta is now, so if you need
changes have them reviewed.
* FMN is the main blocking point for the retirement of fedmsg, it is
also running on an eol Fedora (28) and the team are working on
replacing it. Check out their public thread here:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.o...
## Docs
### Misc Updates
* Some packaging work to get pagure's dependencies added and built in
EPEL8 (remaining: pygit2 and celery) were done this week
* boot.fedoraproject.org and keys.fpo to wiki page has been retired
* koji is being set up to have rhscl and rhdevtools for EPEL-7
* infra 8664 - newer kernel on aarch64-test machines.
* infra 8369 - people css and html broken so a patch has been applied
from new contributor and pushed out
* Investigations into why fedora 32 branched compose was stuck & it
was ostree signing.
https://pagure.io/robosignatory/issue/44
https://pagure.io/pungi/issue/1350
* Broken epel8-testing update push was fixed and is now resumed
* Rawhide compose failure was investigated
https://pagure.io/releng/failed-composes/issue/1023
Was ceph. Filed https://bugzilla.redhat.com/show_bug.cgi?id=1805422
untagged it and refired compose.
* Vagrant environment for mbbox was worked on
https://github.com/fedora-infra/mbbox/pull/1
* Mbbox was moved to fedora-infra
https://github.com/fedora-infra/mbbox
* Jms-messaging-plugin PRs merged
https://github.com/jenkinsci/jms-messaging-plugin/pull/169
https://github.com/jenkinsci/jms-messaging-plugin/pull/168
* Alternative “holistic heuristic” algorithm for computing releases
was implemented
https://pagure.io/Fedora-Infra/generate_changelog/pull-request/3
Common Python package, modules and misc cleanup
https://pagure.io/Fedora-Infra/generate_changelog/pull-request/4
* Update and complete README was worked on
https://pagure.io/Fedora-Infra/generate_changelog/pull-request/5
## CentOS Updates
### CentOS
* 5 updates for el8
* 3 updates for el7
* EPEL7 container image on quay.io for python-tox
* Exploring fedora-infra jobs that can be containerized
### CentOS Stream
* Composes are now automated
* CentOS QA are now consuming compose in the test suite and running
against CentOS Linux and Stream!
* Building the contributor workflow is still ongoing and we will keep
you updated when we make some progress on this
As always, feedback is welcome, and we will continue to look at ways
to improve the delivery and readability of this weekly report.
Have a great weekend!
Aoife
Source: https://hackmd.io/8iV7PilARSG68Tqv8CzKOQ
--
Aoife Moloney
Product Owner
Community Platform Engineering Team
Red Hat EMEA
Communications House
Cork Road
Waterford
3 years, 3 months
Meeting Agenda Item: Introduction Mark Ladrera
by Mark Ladrera
IRC handle: avensurha
Skills:
- Basic Python and Bash
- Basic sysadmin skills (r/selfhosted, r/homelab, r/linuxadmin)
- Practical knowledge of TCP/IP and core protocols (DNS, DHCP)
Want to learn:
- More sysadmin skills; maintenance, monitoring, automation, etc.
:-) 2020
3 years, 3 months
FBR: Add monitoring for website build fails
by Rick Elrod
I'd like to apply the following which does:
- Adds a script I wrote for reading a timestamp from a file on disk
and alerting if the timestamp within it is NOT within a particular
delta to now.
- Applies this to sundries01 and uses it to check
/srv/websites/getfedora.org/build.timestamp.txt which now gets
generated as part of the websites build.
The purpose is because sometimes someone will commit something to the
websites repo which breaks the build, but because of how we have
things set up in openshift (cronjob), we don't get any kind of alert
when that happens.
Right now this sets the delta to 3 hours. In theory it should be 1,
but I figure let it try to build a few times before we start alerting.
Rick
commit 657d050f6d699bc43973d968cd93d12131fca7f2
Author: Rick Elrod <relrod(a)redhat.com>
Date: Thu Feb 27 05:29:24 2020 +0000
nagios: Add script and check for checking that a timestamp within
a file is within a delta of now, and then use this for alerting when
websites stop building
Signed-off-by: Rick Elrod <relrod(a)redhat.com>
diff --git a/roles/nagios_client/files/scripts/check_timestamp_from_file
b/roles/nagios_client/files/scripts/check_timestamp_from_file
new file mode 100644
index 0000000..9064337
--- /dev/null
+++ b/roles/nagios_client/files/scripts/check_timestamp_from_file
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+
+# Takes a path to a file and a delta. The file must simply contain an epoch
+# timestamp. It can be an integer or a float, as can the delta.
+#
+# Alerts critical if (now - timestamp contained in file) > delta.
+#
+# Rick Elrod <relrod(a)redhat.com>
+# MIT
+
+import sys
+import time
+
+if len(sys.argv) != 3:
+ print('UNKNOWN: Pass path to file and delta as parameters')
+ sys.exit(3)
+
+filename = sys.argv[1]
+delta = float(sys.argv[2])
+
+timestamp = None
+
+try:
+ with open(filename, 'r') as f:
+ timestamp = float(f.read().strip())
+except Exception as e:
+ print('UNKNOWN: Unable to open/read file path')
+ sys.exit(3)
+
+difference = round(time.time() - timestamp, 2)
+if difference > delta:
+ print(
+ 'CRITICAL: Timestamp in file (%.2f) exceeds delta (%.2f) by
%.2f seconds' % (
+ timestamp,
+ delta,
+ difference - delta))
+ sys.exit(2)
+
+print('OK: Timestamp in file (%.2f) is within delta (%.2f) of now, by
%.2f seconds' % (
+ timestamp,
+ delta,
+ abs(difference - delta)))
+sys.exit(0)
diff --git a/roles/nagios_client/tasks/main.yml
b/roles/nagios_client/tasks/main.yml
index 2e5e0df..8e71a3b 100644
--- a/roles/nagios_client/tasks/main.yml
+++ b/roles/nagios_client/tasks/main.yml
@@ -47,6 +47,7 @@
- check_osbs_api.py
- check_ipa_replication
- check_redis_queue.sh
+ - check_timestamp_from_file
when: not inventory_hostname.startswith('noc')
tags:
- nagios_client
@@ -226,6 +227,16 @@
tags:
- nagios_client
+- name: install nrpe checks for sundries/websites
+ template: src={{ item }}.j2 dest=/etc/nrpe.d/{{ item }} owner=root
group=root mode=0644
+ with_items:
+ - check_websites_buildtime.cfg
+ when: inventory_hostname.startswith('sundries')
+ notify:
+ - restart nrpe
+ tags:
+ - nagios_client
+
- name: install nrpe config for the RabbitMQ checks
template:
src: "rabbitmq_args.ini.j2"
diff --git a/roles/nagios_client/templates/check_websites_buildtime.cfg.j2
b/roles/nagios_client/templates/check_websites_buildtime.cfg.j2
new file mode 100644
index 0000000..ff5639d
--- /dev/null
+++ b/roles/nagios_client/templates/check_websites_buildtime.cfg.j2
@@ -0,0 +1,2 @@
+# Alert if websites haven't been built in 3 hours
+command[check_websites_buildtime]={{ libdir
}}/nagios/plugins/check_timestamp_from_file
/srv/websites/getfedora.org/build.timestamp.txt 10800
diff --git a/roles/nagios_server/templates/nagios/services/websites.cfg.j2
b/roles/nagios_server/templates/nagios/services/websites.cfg.j2
index 85e8f8e..c8958d7 100644
--- a/roles/nagios_server/templates/nagios/services/websites.cfg.j2
+++ b/roles/nagios_server/templates/nagios/services/websites.cfg.j2
@@ -316,4 +316,14 @@ define service {
use ppc-secondarytemplate
}
+## Auxillary to websites but necessary to make them happen
+
+define service {
+ host_name sundries01.phx2.fedoraproject.org
+ service_description websites build happened recently
+ check_command check_by_nrpe!check_websites_buildtime
+ use websitetemplate
+}
+
+
{% endif %}
3 years, 3 months