Fedora People

Nest with Fedora & Fedora Hatch: Announcing dates & call for volunteers

Posted by Fedora Community Blog on March 26, 2022 10:00 AM
Eggs in a bird nest

Hi Fedora Friends! We made it through another year of living with COVID-19, with plenty of other challenges added on top. To everyone who make up Fedora – thank you for your presence, contributions, and efforts during this trying time. Because we have yet to see an end to living with COVID-19, I opened a discussion with the community about what we should do for this year’s contributor conference.

Based on that feedback, I am pleased to announce that we will be holding the third edition of Nest with Fedora on August 4th, 5th, & 6th.  I will be publishing info on the CfP in the upcoming months. We will also be funding local in person meetups that we have titled Fedora Hatch. If you want to participate in an in person meetup, make sure to read on and suggest your ideas on the Flock pagure!

Virtual events are a success for Fedora

I know there will be many folks that are sad we aren’t holding Flock this year. I would ask you to consider this: the numbers tell us Nest with Fedora has been a huge success. Nest 2021 attracted 905 registrations and 730 participants during the event. The turnout rate for the event was 81%, 4% over Hopin’s calculated industry average at the time of the event. This is a huge achievement, as Nest 2020 had approximately 500 registration and 70% turnout. Nest 2020 also doubled engagement from our in person event, Flock to Fedora, with an average attendance of about 200 people. This does not mean that we will never run Flock to Fedora again in the future, although we might want to re-imagine it. 

There is no question that we are reaching more people with Nest than with Flock. The silver lining to these virtual events is that accessibility to our community and culture has never been greater. I am happy to say we have seen sustained or increased participation at our virtual events. Can we keep it up as we move into the third edition? We are sure going to try, but we need everyone’s help to make it a success! That means we are up for ways to shake things up or improve our virtual events. If you have ideas for Nest with Fedora, I welcome you to open a ticket on the Mindshare Committee pagure

So what is Hatch all about? 

Our vision for Hatch is to hopefully provide opportunities for Fedorans to get together in person, if they so wish. The event does not have to fit a specific format, it will be up to who is inspired to run such an event. For example, someone on the discussion thread said they would organize a hike for Fedorans and someone else mentioned that they would like to do a Pub Quiz, IRL! 

We don’t have all the details sorted out. In order to do so, we need to get an understanding of who is interested in organizing a local Fedora Hatch, and what they envision for their mini-event. The coordinators of these events should plan for local, not international. Currently we are not putting a dollar limit on what people can suggest. We want to see what people would do without that restriction. If we get so many ideas that we can’t fund them all, that will be a good problem for us to have! 

We would like to see Hatches happen in July before Nest with Fedora in August. The idea is for people to get together in person locally and them come together with a session at Nest to share the outcomes of the events, and hopefully some pictures! This is a great opportunity for Ambassadors who have been itching to organize something in person. If you are inspired to run a Fedora Hatch or would be willing to contribute with coordination, please open a ticket on the Flock pagure.

Sponsor Nest with Fedora & Hatch 2022

We welcome sponsors for the 3rd edition of Nest with Fedora, and our first attempt at Fedora Hatch. Nest with Fedora is a virtual variation of our longstanding conference Flock to Fedora. This annual gathering is an opportunity for our community to discuss new ideas, share what they have been working on, connect with each other, and revitalize for the upcoming year. Historically we have only had sponsors for Nest/Flock events, but we are open to including sponsors in the local Fedora Hatch events as well. If your organization is interested in sponsoring please take a look at our Sponsor Prospectus(link below) and contact sponsors@fedoraproject.org

The post Nest with Fedora & Fedora Hatch: Announcing dates & call for volunteers appeared first on Fedora Community Blog.

Friday’s Fedora Facts: 2022-12

Posted by Fedora Community Blog on March 25, 2022 08:40 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

F36 Beta is go for release on Tuesday.

I have weekly office hours on Wednesdays in the morning and afternoon (US/Eastern time) in #fedora-meeting-1. Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
CodeLandvirtual16–17 Juncloses 29 Mar
Devfest LilleLille, FR10 Juncloses 31 March
DevConfŁódź, PL1–2 Sepcloses 9 Apr
TechBashPocono Manor, PA, US8–11 Novcloses 13 Apr
openSUSE ConferenceNuremberg, DE2–4 Juncloses 14 Apr
DevConf.USBoston, MA18–20 Augcloses 15 Apr
Upstreamvirtual7 Juncloses 15 Apr
DebConfPrizren, XK17–24 Julcloses 15 Apr
OSCALTirana, AL18–19 Juncloses 19 Apr
Strange LoopSt. Louis, MO, US22–24 Sepcloses 20 Apr
All Things OpenRaleigh, NC, US30 Oct–2 Novcloses 22 Apr
Container DaysHamburg, DE & virtual5–7 Sepcloses 30 Apr
ShipItConDublin, IESepcloses 30 Apr
Open Source Summit EuropeDublin, IE & virtual13–16 Sepcloses 30 May
PyCon SKBratislava, SK9–11 Sepcloses 30 Jun
</figure>

Help wanted

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
1955416shimPOST
2037047selinux-policyASSIGNED
</figure>

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F345266
F353746
F36 (pre-release)1642
Rawhide6555
</figure>

Fedora Linux 36

Schedule

See the schedule website for the full schedule.

Changes

<figure class="wp-block-table">
StatusCount
ASSIGNED1
ON_QA48
</figure>

Blockers

<figure class="wp-block-table">
Bug IDComponentBug StatusBlocker Status
2049849grub2NEWAccepted(Final)
2043335gtk4VERIFIEDAccepted(Final)
2062660mutterASSIGNEDAccepted(Final)
2056927nss-mdnsON_QAAccepted(Final)
2057563plasma-discoverNEWAccepted(Final)
2068015gnome-connectionsNEWProposed(Final)
2066717gvfsMODIFIEDProposed(Final)
2063156mutterNEWProposed(Final)
2066427rpmON_QAProposed(Final)
2066703tracker-minersNEWProposed(Final)
2067151xorg-x11-serverNEWProposed(Final)
</figure>

Fedora Linux 37

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
Make Rescue Mode Work With Locked RootSystem-WideFESCo #2713
Make pkexec and pkla-compat optionalSelf-ContainedFESCo #2766
Drop i686 builds of jdk8,11,17 and latest (18) rpms from f37 onwardsSystem-WideFESCo #2772
Encourage Dropping Unused / Leaf Packages on i686Self-ContainedFESCo #2773
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2022-12 appeared first on Fedora Community Blog.

CPE Weekly Update – Week of March 21st – 25th

Posted by Fedora Community Blog on March 25, 2022 10:00 AM
featured image with CPE team's name

This is a weekly report from the CPE (Community Platform Engineering) Team. If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on libera.chat (https://libera.chat/).

Highlights of the week

Infrastructure & Release Engineering

Goal of this Initiative

Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.
Link to planning board: https://zlopez.fedorapeople.org/I&R-23-03-2022.pdf

Update

Fedora Infra

  • Fixed cert generation in ipa staging (needed upgrade run)
  • Found problem with proxies that stopped processing, was an apache bug. Downgraded back to previous stable version.
  • Good progress on testing ansible upgrade. Successfully run playbooks with python3.8/ansible-core-2.12.3.
  • Usual business.

CentOS Infra including CentOS CI

  • Kicked off work for the ansible 2.9.x => 5.x (good progress so far)
  • WIP : new lookaside structure and building from gitlab (working but need now just last steps like centpkg-minimal)
  • Last centos-repos should enable the extras-common repo for SIGs (autonomous from koji.mbox.centos.org koji builds)
  • Multiple 1:1 with phsmoura for infra onboarding
  • Bussiness as usual: new koji tags , projects on git.centos.org/rpms

Release Engineering

  • F36 Beta 1.4
  • Work on SCM request automation should be finished this week – PR

CentOS Stream

Goal of this Initiative

This initiative is working on CentOS Stream/Emerging RHEL to make this new distribution a reality. The goal of this initiative is to prepare the ecosystem for the new CentOS Stream.

Updates

  • Troubleshooting CCCC service issues
  • Build & pushing Extras repos for CentOS Stream 8, once built, tags will be available
  • Content resolver can now differentiate between warnings (when a workload lists packages that don’t exist) and failures (actual dependency problems).
  • DC move went well, all systems operational again

CentOS Duffy CI

Goal of this Initiative

Duffy is a system within CentOS CI Infra which allows tenants to provision and access bare metal resources of multiple architectures for the purposes of CI testing.
We need to add the ability to checkout VMs in CentOS CI in Duffy. We have OpenNebula hypervisor available, and have started developing playbooks which can be used to create VMs using the OpenNebula API, but due to the current state of how Duffy is deployed, we are blocked with new dev work to add the VM checkout functionality.

Updates

Bodhi

Goal of this Initiative

This initiative is to separate Bodhi into multiple sub packages, fix integration and unit tests in CI, fix dependency management and automate part of the release process.
Read ARC team findings in detail at: https://fedora-arc.readthedocs.io/en/latest/bodhi/index.html

Updates

  • Got rid of the DeclEnumType warning with SQLAlchemy 1.4+
  • Use namespace packages in accordance with current recommendations (avoiding needless .pth files)
  • Copy severity when obsoleting a security update
  • Updated Vagrant docs
  • Dependency management (ongoing)
  • Added procedure for pushing the snapshots to staging

EPEL

Goal of this initiative

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Updates

  • EPEL9 up to 2187 source packages (increase of 39 from last week)
  • Notable EPEL9 packages now available:
    • KDE Plasma
    • openvpn and NetworkManager-openvpn
    • Several ansible collections (general, mysql, rabbitmq, podman)

Kindest regards,
CPE Team

The post CPE Weekly Update – Week of March 21st – 25th appeared first on Fedora Community Blog.

“March of the penguins” or “How the OS vendors get their ducks in a row”

Posted by Fedora Magazine on March 25, 2022 08:00 AM

Various engineers that work on the Fedora Linux product line are brewing up a storm again. To find out more about their plans for world domination, check out this video!

<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="allowfullscreen" frameborder="0" height="347" src="https://www.youtube.com/embed/kvVt3tqRVm4?feature=oembed" title="Get to Know Fedora | Red Hat Enterprise Linux Presents 33" width="616"></iframe>
</figure>

Discoverability in API design

Posted by Adam Young on March 25, 2022 03:06 AM

There are a handful of questions a user will (implicitly) ask when using your API:

  1. What actions can I do against this endpoint?
  2. How do I find the URLs for those actions?
  3. What information do I need to provide in order to perform this action?
  4. What permission do I need in order to perform this action.

Answering these questions can be automated. The user, and the tools they use, can discover the answers by working with the system. That is what I mean when I use the word “Discoverability.”

We missed some opportunities to answer these questions when we designed the APIs for Keystone OpenStack. I’d like to talk about how to improve on what we did there.

First I’d like to state what not to do.

Don’t make the user read the documentation and code to an external spec.

Never require a user to manually perform an operation that should be automated. Answering every one of those question can be automated. If you can get it wrong, you will get it wrong. Make it possible to catch errors as early as possible.

Lets start with the question: “What actions can I do against this endpoint?” In the case of Keystone, the answer would be some of the following:

Create, Read, Update and Delete (CRUD) Users, Groups of Users, Projects, Roles, and Catalog Items such as Services and Endpoints. You can also CRUD relationships between these entities. You can CRUD Entities for Federated Identity. You can CRUD Policy files (historical). Taken in total, you have the tools to make access control decisions for a wide array of services, not just Keystone.

The primary way, however, that people interact with Keystone is to get a token. Let’s use this use case to start. To Get a token, you make a POST to the $OS_AUTH_URL/v3/auth/tokens/ URL. The data

How would you know this? Only by reading the documentation. If someone handed you the value of their OS_AUTH_URL environment variable, and you looked at it using a web client, what would you get? Really, just the version URL. Assuming you chopped off the V3:

$ curl http://10.76.10.254:35357/
{"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://10.76.10.254:35357/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}}

and the only URL in there is the version URL, which gives you back the same thing.

If you point a web browser at the service, the output is in JSON, even though the web browser told the server that it preferred HTML.

What could this look like: If we look at the API spec for Keystone:  We can see that the various entities referred to Above hat fairly predictable URL forms. However, for this use case, we want a token, so we should, at a minimum, see the path to get to the token. Since this is the V3 API, we should See an entry like this:

{"rel": "auth", "href": "http://10.76.10.254:35357/v3/auth"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}

And is we then performed an HTTP GET on http://10.76.10.254:35357/v3/auth we should see a link to :

{"rel": "token", "href": "http://10.76.10.254:35357/v3/auth/token"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}

Is this 100% of the solution? No. The Keystone API shows its prejudices toward PASSWORD based authentication, a very big antipattern. The Password goes in clear text into the middle of the JSON blob posted to this API. We trust in SSL/TLS to secure it over the wire, and have had to erase from logs and debugging. This is actually a step backwards from BASIC_AUTH in HTTP. All this aside, there is still no way to tell what you need to put into the body of the token request without reading the documentation….unless you know the magic of JSON-HOME.

Here is what you would need to do to get a list of the top level URLS, excluding all the ones that are templated, and thus require knowing an ID.

curl 10.76.116.63:5000 -H "Accept: application/json-home" | jq '.resources | to_entries | .[] | .value | .href ' | sort -u
  • “/v3/auth/catalog”
  • “/v3/auth/domains”
  • “/v3/auth/OS-FEDERATION/saml2”
  • “/v3/auth/OS-FEDERATION/saml2/ecp”
  • “/v3/auth/projects”
  • “/v3/auth/system”
  • “/v3/auth/tokens”
  • “/v3/auth/tokens/OS-PKI/revoked”
  • “/v3/credentials”
  • “/v3/domains”
  • “/v3/domains/config/default”
  • “/v3/ec2tokens”
  • “/v3/endpoints”
  • “/v3/groups”
  • “/v3/limits”
  • “/v3/limits/model”
  • “/v3/OS-EP-FILTER/endpoint_groups”
  • “/v3/OS-FEDERATION/identity_providers”
  • “/v3/OS-FEDERATION/mappings”
  • “/v3/OS-FEDERATION/saml2/metadata”
  • “/v3/OS-FEDERATION/service_providers”
  • “/v3/OS-OAUTH1/access_token”
  • “/v3/OS-OAUTH1/consumers”
  • “/v3/OS-OAUTH1/request_token”
  • “/v3/OS-REVOKE/events”
  • “/v3/OS-SIMPLE-CERT/ca”
  • “/v3/OS-SIMPLE-CERT/certificates”
  • “/v3/OS-TRUST/trusts”
  • “/v3/policies”
  • “/v3/projects”
  • “/v3/regions”
  • “/v3/registered_limits”
  • “/v3/role_assignments”
  • “/v3/role_inferences”
  • “/v3/roles”
  • “/v3/s3tokens”
  • “/v3/services”
  • “/v3/users”

This would be the friendly list to return from the /v3 page. Or, if we wanted to streamline it a bit for human consumption, we could put a top level grouping around each of these APIs. A friendlier list would look like this (chopping off the /v3)

  • auth
  • assignment
  • catalog
  • federation
  • identity
  • limits
  • resource
  • assignment
  • policy

There are a couple ways to order the list. Alphabetical order is the simplest for an English speaker if they know what they are looking for. This won’t internationalize, and it won’t guide the user to the use cases that are most common. Thus, I put auth at the top, as that is, by far, the most common use case. The others I have organized based on a quick think-through from most to least common. I could easily be convinced to restructure this a couple different ways.

However, we are starting to trip over some of the other aspects of usability. We have provided the user with way more information than they need, or, indeed, can use at this point. Since none of those operations can be performed unauthenticated, we have lead the user astray; we should show them, at this stage, only what they can do in their current state. Thus: the obvious entry would be.

  • /v3/auth/tokens.
  • /v3/auth/OS-FEDERATION
As these are the only two directions they can go unauthenticated.

Lets continue on with the old-school version of a token request using the v3/auth/tokens resource, as that is the most common use case. How now does a user request a token? Depends on whether they want to use password or another token, or multifactor, and whether they want an unscoped token or a scoped token.

None of this information is in the JSON home. You have to read the docs.

If we were using straight HTML to render the response, we would expect a form. Something along the lines of:

There is, as of now, no standard way to put form data into JSON. However, there are numerous standards to chose from. One such standard is FormData API. JSON Scheme https://json-schema.org/. If we look at the API do, we get a table that specifies the name. Anything that is not a single value is specified as an object, which really means a JSON object which is a dictionary that can bee deeply nested. We can see the complexity in the above form, where the scope value determines what is meant by the project/domain name field. And these versions don’t allow for IDs to be used instead of the names for users, projects, or domains.

A lot of the custom approach here is dictated by the fact that Keystone does not accept standard authentication. The Password based token request could easily be replaced with BASIC-AUTH. Tokens themselves could be stored as session cookies, with the same timeouts as the token expiration. All of the One-Offs in Keystone make it more difficult to use, and require more application specific knowledge.

Many of these issues were straightened out when we started doing federation. Now, there is still some out-of-band knowledge required to use the Federated API, but this was due to concerns about information leaking that I am going to ignore for now. The approach I am going to describe is basically what is used by any app that allows you to log in from the different cloud providers Identity sources today.

From the /v3 page, a user should be able to select the identity provider that they want to use. This could require a jump to /v3/FEDERATION and then to /v3/FEDERATION/idp, in order to keep things namespaced, or the list could be expanded in the /v3 page if there is really nothing else that a user can do unauthenticated.

Let us assume a case where there are three companies that all share access to the cloud; Acme, Beta, and Charlie. The JSON response would be the same as the list identity providers API. The interesting part of the result is this one here:

 "protocols": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols"

Lets say that a given Identity provider supports multiple protocols. Here is where the user gets to chose which hone they want to use to try and authenticate. An HTTP GET on the link above would return that list: The documentation shows an example of an identity provider that supports saml2. Here is an expanded one that shows the set of protocols a user could expect in a private cloud running FreeIPA and Keycloak, or Active Directory and ADFS.

{
    "links": {
        "next": null,
        "previous": null,
        "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols"
    },
    "protocols": [
        {
            "id": "saml2",
            "links": {
                "identity_provider": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME",
                "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols/saml2"
            },
            "mapping_id": "xyz234"
        },
        {
            "id": "x509",
            "links": {
                "identity_provider": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME",
                "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols/x509"
            },
            "mapping_id": "xyz235"
        },
        {
            "id": "gssapi",
            "links": {
                "identity_provider": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME",
                "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols/gssapi"
            },
            "mapping_id": "xyz236"
        },
        {
            "id": "oidc",
            "links": {
                "identity_provider": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME",
                "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols/oidc"
            },
            "mapping_id": "xyz237"
        },
        {
            "id": "basic-auth",
            "links": {
                "identity_provider": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME",
                "self": "http://example.com/identity/v3/OS-FEDERATION/identity_providers/ACME/protocols/basic-auth"
            },
            "mapping_id": "xyz238"
        }
    ]
}

Note that this is very similar to the content that a web browser gives back in a 401 response: the set of acceptable authentication mechanisms. I actually prefer this here, as it actually allows the user to select the appropriate mechanism for the use case, which may vary depending on where the use connects from.

Lets ignore the actual response from the above links and assume that, if the user is unauthenticated, they merely get a link to where they can authenticate. /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth. The follow on link is a GET. Not a POST. There is no form Data required. The mapping resolves the users Domain Name/ID, so there is no need to provide that information, and the token is a Federated unscoped token.

The actual response contains the list of groups that a user belongs to. This is an artifact of the mapping, and it is useful for debugging. However, what the user has at this point is, effectively, an unscoped token. It is passed in the X-Subject-Token header, and not in the session cookie. However, for an HTML based workflow, and, indeed, for sane HTTP workflows against Keystone, a session scoped cookie containing the token would be much more useful.

With an unscoped token, a user can perform some operations against a Keystone server, but those operations are either read-only, operations specific to the user, or administrative actions specific to the Keystone server. For OpenStack, the vast majority of the time the user is going to Keystone to request a scoped token to use on one of the other services. As such, the user probably needs to convert the unscoped token shown above to a token scoped to a project. A very common setup has the user assigned to a single project. Even if they are scoped to multiple, it is unlikely that they are scoped to many. Thus, the obvious next step is to show the user a URL that will allow them to get a token scoped to a specific project.

Keystone does not have such a URL. In Keystone, again you are required to go through /v3/auth/tokens to request a scoped token.

A much friendlier URL scheme would be /v3/auth/projects which lists the set of projects a user can request a token for, and /v3/auth/project/{id} which lets a user request a scoped token for that project

However, even if we had such a URL pattern, we would need to direct the user to that URL. There are two distinct use cases. The first is the case where the user has just authenticated, and in the token response, they need to see the project list URL. A redirect makes the most sense, although the list of projects could also be in authentication response. However, the user might also be returning to the Keystone server from some other operation, still have the session cookie with the token in it, and start at the discovery page again. IN this case, the /v3/ response should show /v3/auth/projects/ in its list.

There is, unfortunately, one case where this would be problematic. With Hierarchical projects, a single assignment could allow a user to get a token for many projects. While this is a useful hack in practice, it means that the project list page could get extremely long. This is, unfortunately also the case with the project list page itself; projects may be nested, but the namespace needs to be flat, and listing projects will list all of them, only the parent-project ID distinguishes them. Since we do have ways to do path nesting in HTTP, this is a solvable problem. Lets lump the token request and the project list APIs together. This actually makes a very elegant solution;

Instead of /v3/auth/projects we put a link off the project page itelf back to /v3/auth/tokens but accepting the project ID as a URL parameter, like this: /v3/auth/tokens?project_id=abc123.

Of course, this means that there is a hidden mechanism now. If a user wants to look at any resource in Keystone, they can do so with an unscoped token, provided they have a role assignment on the project or domain that manages that object.

To this point we have discussed implicit answers to the questions of finding URLs and discovering what actions a user can perform. For the token request, is started discussing how to provide the answer to “What information do I need to provide in order to perform this action?” I think now we can state how to do that: the list page for any collection should either provide an inline form or a link to a form URL. The form provides the information in a format that makes sense for the content type. If the user does not have the permission to create the object, they should not see the form. If the form is on a separate link, a user that cannot create that object should get back a 403 error if they attempt to GET the URL.

If Keystone had been written to return HTML when hit by a browser instead of JSON, all of this navigation would have been painfully obvious. Instead, we subscribed to the point of view that UI was to be done by the Horizon server.

There still remains the last question: “What permission do I need in order to perform this action?” The user only thinks to answer this question when they come across an operation that they cannot perform. I’ll did deeper into this in the next article


Fedora 36 Beta Update

Posted by Madeline Peck on March 24, 2022 06:33 PM

The final F36 day and night beta wallpapers are here! Take a look below and let us know what your thoughts are!

Day version of the wallpaper download here

<figure class=" sqs-block-image-figure intrinsic "> </figure>

Night version of the wallpaper download here.

<figure class=" sqs-block-image-figure intrinsic "> </figure>

We last left off with the beta versions of the wallpaper that were created in Krita, which can be found here with their design process explained.

We received a lot of great feedback including suggestions for a strictly night version with the moon glowing instead of a sunset, adding butterflies to the day version, as well as shifting some of the clouds around so they didn’t stack and make the right side of the wallpaper too heavy. The previous version is below in Day, Sunset, and Night mode.

<figure class=" sqs-block-image-figure intrinsic "> </figure> <figure class=" sqs-block-image-figure intrinsic "> </figure> <figure class=" sqs-block-image-figure intrinsic "> </figure>

After the first beta wallpapers were completed we were able to start to play around in Blender. Máirín Duffy created the image below demonstrating the idea of the glass planes layered in front of each other with a light source.

<figure class=" sqs-block-image-figure intrinsic "> </figure>

Máirín then moved on to approximating something that resembled the previous versions.

Here are some of the tutorials she followed:

Creating the grass (just green hair particles. Couldn't use the texture they cite because the scale is off, blades of grass are the size of the trees, and couldn't figure out how to scale the texture) - https://www.youtube.com/watch?v=jOS9k6kqBsc

Creating the glass materials - https://www.youtube.com/watch?v=CtfNtpJa3hU

Creating the clouds - https://www.youtube.com/watch?v=lPAYX8z9i8M

She noted there were some issues,

”The grass looks horrible like green hair on a bald person! I had the material as a base green color and that stopped working.
I have a pretty nice, blue cloud off on the side. That could be duplicated to make the real clouds white. I colored it blue thinking I'd put it inside the front light blue water to make it look cloudy.
The middle blue glass does not shine through the front blue glass... it's as if it's not there. But the green mountain layer does shine through. I can't figure out why.
The lighting is a train wreck.”
- Máirín

<figure class=" sqs-block-image-figure intrinsic "> </figure>

Our blender expert Micah Dunn was able to start playing around and pulled the textures from the first beta versions in a simpler manner.

<figure class=" sqs-block-image-figure intrinsic "> </figure>

Experimenting with how thick the panes of glass should be.

<figure class=" sqs-block-image-figure intrinsic "> </figure> <figure class=" sqs-block-image-figure intrinsic "> </figure>

The Fedora Design Team meets once a week and if you want you can watch the recording from March 9th’s recording here at the 16:30 minute mark.


Until this final version of the day wallpaper was produced!

<figure class=" sqs-block-image-figure intrinsic "> </figure>

The F36 default wallpaper in Fedora 36 uses a new feature called light/dark mode, where you can put your entire desktop into a light or dark mode and the wallpaper lightens or darkens to match the desktop UI.

You will need a build of Fedora 36 to test the wallpapers alongside this new functionality, but you can also just download and set the wallpapers from this blog post on any version of Fedora or any desktop to test them out as wallpapers.

If you are a beta tester for Fedora 36 or would like to test this wallpaper's light/dark functionality, the update with the new artwork is here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-30419fe922

If you have the testing updates repository enabled on your system, you should be able to grab it by simply running 'sudo dnf update f36-backgrounds -y'

You can grab the latest Workstation ISO for F36 here: https://kojipkgs.fedoraproject.org/compose/36/latest-Fedora-36/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-36_Beta-1.4.iso

You can run this in a VM tool such as GNOME Boxes on Fedora, and once it is booted, open a terminal and run 'sudo dnf update f36-backgrounds -y'

Simply, you'll be able to install the update with the following command:

sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-30419fe922

Leave your feedback here on fedoraproject.org.

Dealing With Anxiety

Posted by Peter Czanik on March 24, 2022 02:40 PM

Quite a few people asked me recently how I deal with anxiety. I seem to be less anxious than people around me. First of all: I also have anxiety, just like anybody else. The recent company acquisition & reorganization, the COVID-19 pandemic, the upcoming general elections, or the Russian attack all make sure that once a problem is over, there is a new problem already to worry about. However, sport, music and spending less time reading the news all help to keep my anxiety at bay.

Disclaimer: I’m not a medical expert. I just share my own experiences. I can only guess why these work for me, but I enjoy the results. Your mileage may vary.

Music

Let’s start with a less obvious one: music. It seems to help both when music is just put in the background and also when listening to music without doing anything else.

When I play music in the background, it helps focusing on what I’m working on in multiple ways. It keeps noises out, so there are less distractions. It also keeps part of the mind busy, so my mind has less capacity to think about the problems, and thus anxiety is reduced.

I also like listening to music not as background noise, but as a focused activity. In the first few minutes, I still might think about problems, current events, but then music takes over. When focusing on music, I can always hear new details even in songs I listened to hundreds of times already. Listening to music also clears my mind. And it seems to have a long-lasting effect, as I feel refreshed even hours after listening to music.

<iframe allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/M4xVOhVX8T4" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube Video"></iframe>

Sport

Doing some kind of sport regularly also seems to reduce anxiety levels. Of course, I can rarely do some kind of sport each and every day, but I still try to exercise. Half an hour for five days a week seems to be an achievable goal. And you do not have to think about anything special or needing lots of preparation, just something like walking or biking for half an hour in the neighborhood. When it’s too cold or raining, just jump on the exercise bike. My favorite activity is hiking. It needs a bit more preparation: driving there and driving back. But this is also the most rewarding one, thanks to the fresh air far away from the city.

Doing sports regularly helps to improve anxiety-related problems, like blood pressure and heart rate. Better physical condition also seems to reduce anxiety. As an added bonus, all these activities help to control weight as well :-)

And a few more obvious tips

I am a news maniac. I was reading the news whenever I had a little time. Not anymore. I can follow the reactions of my body when reading the news from Ukraine and it is brutal. My blood pressure and heart rate improved drastically when I skipped reading the news completely for days. Just reading the headlines and even those just 2-3 times a day allowed my situation to improve. Going back to the old me and reading everything for two days canceled the effects of two weeks of slow improvements. Reading the news is not worth your health. Donating to a charity organization helping Ukrainian refugees instead can help your anxiety a bit, and also the people in need.

Leaving social media behind as much as possible can help as well. Up until a few weeks ago, we were surrounded by COVID experts. The unfortunate events in the Ukraine changed this. One of the most unpleasant experiences is when a friend whom you admire for his technical knowledge suddenly starts pushing Russian war propaganda. Luckily, the last US elections taught me to spend less time reading Facebook and Twitter. Instead of reading the feeds, I started to just sample them. I try to post hiking and flower photos to break the constant feed of terrible news, and I got plenty of feedback that it helps those people who still read most of the posts.

I hope that my tips and tricks helped you a bit. However, remember to see a doctor if you cannot handle your anxiety!

<figure><figcaption>

flower

</figcaption> </figure>

eduGAIN Key Signing Ceremony

Posted by Kushal Das on March 23, 2022 03:27 PM

eduGAIN is a interfederation joining academic identity federations around the world, including over 4781 identify providers & 3519 service providers. The project was initiated by by the GÉANT research and education networking community in Europe.

On 8th of March, there was a key signing ceremony at Sunet office. This was my first chance to be able to attend one such ceremony in real life :)

hardware

The day before there was test run where I acted like a participant plugging in various cables/Yubikeys. A specific APU based airgapped box was used to generate the key, and it was talking over a serial port. Which in turn was split into two parts, one on a Mac where Björn Mattsson was doing the actual typing of the commands, and the other side was connected to a dot matrix printer. The printer printed every command & output of the ceremony. Apparently there were only 3 such paper rolls were available in whole of Stockholm.

Representants for the eduGAIN service flew in from different parts of EU as witness (there were many more online witnesses) and also participated in the ceremony. We also had many people present in the room (including Leif & I). Leif started describing the steps as they happened. At the end there were two copies of the keys & passphrase were made, and both the copies went to vaults of separate countries. The required material was also synced with the HSM cluster with the help of a super long cable :)

working on HSM

At the end of the ceremony the witnesses signed the printer pages containing the output.

signing the paper

This was a fun but important event for me to watch. The keys are generated for the next 20 years, so a lot of things will change in the world by the time we will have to do it again :) You can watch it all on Youtube.

The system() source of syslog-ng now also works on MacOS

Posted by Peter Czanik on March 23, 2022 10:00 AM

Most of syslog-ng works perfectly well on MacOS; however, there is no native driver to collect local log messages. Due to this, in the past, the system() source did not work on MacOS, thus the default syslog-ng configuration failed to start. Version 3.36 of syslog-ng includes a workaround: it follows /var/log/system.log.

You can read the rest of my blog at https://www.syslog-ng.com/community/b/blog/posts/the-system-source-of-syslog-ng-now-also-works-on-macos

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

You’re invited to the Fedora Linux 36 Release Party!

Posted by Fedora Community Blog on March 23, 2022 10:00 AM

As we work our way through the Fedora Linux 36 Schedule, I am pleased to announce we will celebrate the final release of Fedora Linux 36 with a virtual Release Party. Please register on Hopin and join us on May 13th & 14th for a short program of informational sessions and social activities. Make sure to save the dates, share the registration, and show up to party with Fedora Friends!

The program is still in the works, but we hope to include informational sessions that will feature updates about Fedora IoT, Podman 4.0, and a bunch more current community activities. Last, but certainly not least, we will be hanging out in the Fedora Museum WorkAdventure for our Hallway track. Thanks to our amazing community for all your contributions to the latest release of Fedora Linux. Let’s celebrate!

The post You’re invited to the Fedora Linux 36 Release Party! appeared first on Fedora Community Blog.

AMD's Pluton implementation seems to be controllable

Posted by Matthew Garrett on March 23, 2022 08:42 AM
I've been digging through the firmware for an AMD laptop with a Ryzen 6000 that incorporates Pluton for the past couple of weeks, and I've got some rough conclusions. Note that these are extremely preliminary and may not be accurate, but I'm going to try to encourage others to look into this in more detail. For those of you at home, I'm using an image from here, specifically version 309. The installer is happy to run under Wine, and if you tell it to "Extract" rather than "Install" it'll leave a file sitting in C:\\DRIVERS\ASUS_GA402RK_309_BIOS_Update_20220322235241 which seems to have an additional 2K of header on it. Strip that and you should have something approximating a flash image.

Looking for UTF16 strings in this reveals something interesting:

<quote>Pluton (HSP) X86 Firmware Support
Enable/Disable X86 firmware HSP related code path, including AGESA HSP module, SBIOS HSP related drivers.
Auto - Depends on PcdAmdHspCoreEnable build value
NOTE: PSP directory entry 0xB BIT36 have the highest priority.
NOTE: This option will NOT put HSP hardware in disable state, to disable HSP hardware, you need setup PSP directory entry 0xB, BIT36 to 1.
// EntryValue[36] = 0: Enable, HSP core is enabled.
// EntryValue[36] = 1: Disable, HSP core is disabled then PSP will gate the HSP clock, no further PSP to HSP commands. System will boot without HSP.
</quote>
"HSP" here means "Hardware Security Processor" - a generic term that refers to Pluton in this case. This is a configuration setting that determines whether Pluton is "enabled" or not - my interpretation of this is that it doesn't directly influence Pluton, but disables all mechanisms that would allow the OS to communicate with it. In this scenario, Pluton has its firmware loaded and could conceivably be functional if the OS knew how to speak to it directly, but the firmware will never speak to it itself. I took a quick look at the Windows drivers for Pluton and it looks like they won't do anything unless the firmware wants to expose Pluton, so this should mean that Windows will do nothing.

So what about the reference to "PSP directory entry 0xB BIT36 have the highest priority"? The PSP is the AMD Platform Security Processor - it's an ARM core on the CPU package that boots before the x86. The PSP firmware lives in the same flash image as the x86 firmware, so the PSP looks for a header that points it towards the firmware it should execute. This gives a pointer to a "directory" - a list of different object types and where they're located in flash (there's a description of this for slightly older AMDs here). Type 0xb is treated slightly specially. Where most types contain the address of where the actual object is, type 0xb contains a 64-bit value that's interpreted as enabling or disabling various features - something AMD calls "soft fusing" (Intel have something similar that involves setting bits in the Firmware Interface Table). The PSP looks at the bits that are set here and alters its behaviour. If bit 36 is set, the PSP tells Pluton to turn itself off and will no longer send any commands to it.

So, we have two mechanisms to disable Pluton - the PSP can tell it to turn itself off, or the x86 firmware can simply never speak to it or admit that it exists. Both of these imply that Pluton has started executing before it's shut down, so it's reasonable to wonder whether it can still do stuff. In the image I'm looking at, there's a blob starting at 0x0069b610 that appears to be firmware for Pluton - it contains chunks that appear to be the reference TPM2 implementation, and it broadly decompiles as valid ARM code. It should be viable to figure out whether it can do anything in the face of being "disabled" via either of the above mechanisms.

Unfortunately for me, the system I'm looking at does set bit 36 in the 0xb entry - as a result, Pluton is disabled before x86 code starts running and I can't investigate further in any straightforward way. The implication that the user-controllable mechanism for disabling Pluton merely disables x86 communication with it rather than turning it off entirely is a little concerning, although (assuming Pluton is behaving as a TPM rather than having an enhanced set of capabilities) skipping any firmware communication means the OS has no way to know what happened before it started running even if it has a mechanism to communicate with Pluton without firmware assistance. In that scenario it'd be viable to write a bootloader shim that just faked up the firmware measurements before handing control to the OS.

The bit 36 disabling mechanism seems more solid? Again, it should be possible to analyse the Pluton firmware to determine whether it actually pays attention to a disable command being sent. But even if it chooses to ignore that, if the PSP is in a position to just cut the clock to Pluton, it's not going to be able to do a lot. At that point we're trusting AMD rather than trusting Microsoft, but given that you're also trusting AMD to execute the code you're giving them to execute, it's hard to avoid placing trust in them.

Overall: I'm reasonably confident that systems that ship with Pluton disabled via setting bit 36 in the soft fuses are going to disable it sufficiently hard that the OS can't do anything about it. Systems that give the user an option to enable or disable it are a little less clear in that respect, and it's possible (but not yet demonstrated) that an OS could communicate with Pluton anyway. However, if that's true, and if the firmware never communicates with Pluton itself, the user could install a stub loader in UEFI that mimicks the firmware behaviour and leaves the OS thinking everything was good when it absolutely is not.

So, assuming that Pluton in its current form on AMD has no capabilities outside those we know about, the disabling mechanisms are probably good enough. It's tough to make a firm statement on this before I have access to a system that doesn't just disable it immediately, so stay tuned for updates.

comment count unavailable comments

The syslog-ng insider 2022-03: syslog-ng 4; MQTT source; Zinc; Elastic Cloud; 3.36;

Posted by Peter Czanik on March 22, 2022 10:10 AM

The March syslog-ng newsletter is now on-line:

  • syslog-ng future: the path to syslog-ng 4
  • MQTT source
  • Another use for the syslog-ng elasticsearch-http destination: Zinc
  • Sending logs to Elastic Cloud using syslog-ng
  • syslog-ng 3.36 is now available

It is available at https://www.syslog-ng.com/community/b/blog/posts/the-syslog-ng-insider-2022-03-syslog-ng-4-mqtt-source-zinc-elastic-cloud-3-36

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

Collecting ideas for “Feature Spotlight” articles

Posted by Fedora Community Blog on March 22, 2022 10:00 AM
Collecting ideas for “Feature Spotlight” articles

How do we – as in, the developers and package maintainers who are working on Fedora Linux – make sure people actually know about all the cool stuff we’re doing? That’s the question at the heart of previous discussions on the “devel” mailing list (How do we announce new packages?) and on discourse (Idea for collecting “Cool New Features / Cool New Packages” article ideas).

As it turns out, the answer to that question is: “If what you’ve worked on isn’t big or noteworthy enough, then there’s no place for you”. That’s not good, and it’s why I started working on “Feature Spotlight”.

Feature Spotlight

I intend the “Feature Spotlight” to be a series of semi-regular articles for the Fedora Magazine. There, we can showcase all the nice “little” features and improvements that land in Fedora all the time, for example:

  • a change that’s too small for the official “Change” process
  • a new feature that is published independently of the Fedora release cycle
  • addition of new packages for an awesome open-source project to Fedora

Open for Submissions

Any Fedora contributor can suggest a topic for the next article in the series by filing a ticket in the feature-spotlight project. For this purpose, I have provided an issue template that explains the basic process. Editors will regularly collect and curate submissions, and submit articles for review and publication in the Fedora Magazine.

I also intend this curation and editing process to be open, so any “co-editors” for this project are welcome.

The post Collecting ideas for “Feature Spotlight” articles appeared first on Fedora Community Blog.

Prometheus counters don't behave

Posted by Tomas Tomecek on March 22, 2022 07:00 AM

…when the numbers are not increasing consistently.

The problem

We have moved from httpd + mod_wsgi to launch Packit’s API server with mod_wsgi-express. That change simplified how we run Packit - look at the number of removed lines! But sadly it broke a Grafana chart I used almost daily. The chart shows an amount of traffic from GitHub webhooks Packit processes.

Facts vs Feelings

Posted by Josh Bressers on March 21, 2022 10:07 PM

Earlier today I asked a question on Twitter

<figure class="wp-block-image size-large"></figure>

Holy cow that thread took on a life of its own. The question is easy enough, do we have any security data on pinning vs not pinning dependencies? We don’t, I know this, but I was hoping someone was working on something (I don’t think they are). But during the thread I also think I figured how to be start collecting this data. That’s a post for the future.

Now, I should clarify, it think pinning dependencies is a fine idea. I imagine my question was misread by a number of people to be some secret attempt at pushing an agenda. Sadly it was not. I am a bit harsh in the thread on people trying to pass off opinion as fact. The whole point of the question was to find some data, then things got weird.

I want to address something I realized in this thread. There is no data on this point, yet there is quite a bit of guidance in that thread. Everyone just sort of talks past each other. Some people are horrified by the idea of not pinning your dependencies. Some think pinning dependencies is the worst thing ever. It’s all quite fascinating. Everyone has an opinion, nobody has data. How often do we make decisions based on how we feel about something, but then end up confusing our feelings for facts? I think all the random odd views we can see in that thread are the result of different opinions. Opinions based on how someone feels. Data is like a line in the sand you can always see, opinions are like waves washing back and forth. Sometimes weird things wash up.

It’s easy to get caught up things we want to believe to be true. I know people who still maintain changing your password on a regular basis is more secure. There is actual research that shows changing your passwords on a regular cadence is less secure than using one very long password, actual real research. But because it feels wrong, it must be wrong.

I find myself doing this all the time. I might have a certain opinion and it’s really hard to objectively unlearn something. My favorite example I use of this is I once thought PGP was the best possible form of secure messaging. The keys are generated locally, you can pass messages via any medium. You can send messages to nearly anyone. In theory it’s a great system! But in reality it’s terrible. It took me a long time to realize my love of PGP was mostly emotional. The data was clear, PGP has a lot of problems. I try not to use it now.

I’m not trying to make anyone feel bad for whatever view they may or may not have in this post. I wanted to scribble down some quick thoughts because the whole conversation reminded me that opinion is not fact. Facts need data. And sometimes we believe something for so long, we don’t even notice we are trying to pass off our opinions as facts.

There’s an old hacker saying “question everything”. It’s very relevant in this discussion.

It’s relevant in every discussion, especially this blog post.

Stand With Ukraine

Posted by Martin Stransky on March 21, 2022 08:02 PM
<figure class="wp-block-image size-large"></figure>

CPE Weekly Update – Week of March 14th – 18th

Posted by Fedora Community Blog on March 21, 2022 03:22 PM
featured image with CPE team's name

This is a weekly report from the CPE (Community Platform Engineering) Team. If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on libera.chat (https://libera.chat/).

Highlights of the week

Infrastructure & Release Engineering

Goal of this Initiative

Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.

You can look at the I&R planning board.

Update

Fedora Infra

  • prod->stg koji db sync completed, stg should be mostly up to date now.
  • Reinstalling some lower memory aws proxies in progress to avoid alerts/slow response times.
  • Business as usual tasks

CentOS Infra including CentOS CI

  • Infra work done and PR to let SIGs push their -release pkgs out (without asking Stream team to build+push) to Extras(-common) repo
  • Onboarding Pedro in CI infra (WIP)
    • Ara.ci.centos.org is deployed for CentOS CI infra (and ansible automatic run on ci fleet)
  • Knowledge sharing with Mark about “legacy” mirror network (for tasks landing now on pagure.io/centos-infra/issues)
  • WIP : allowing cbs/koji to build from gitlab.com

Release Engineering

  • Work on SCM request automation continue – PR
  • F36 Beta 1.1 compose is out waiting for 1.2 request

CentOS Stream

Goal of this Initiative

This initiative is working on CentOS Stream/Emerging RHEL to make this new distribution a reality. The goal of this initiative is to prepare the ecosystem for the new CentOS Stream.

Updates

  • CentOS Stream 9 build env is offline Monday 21st March to facilitate a move within the datacenter. Please be aware services will be down.
  • Sync2gitlab moved to the testing phase.
  • Manually pushed CVE checker blocked modules/packages.

CentOS Duffy CI

Goal of this Initiative

Duffy is a system within CentOS CI Infra which allows tenants to provision and access bare metal resources of multiple architectures for the purposes of CI testing.
We need to add the ability to checkout VMs in CentOS CI in Duffy. We have OpenNebula hypervisor available, and have started developing playbooks which can be used to create VMs using the OpenNebula API, but due to the current state of how Duffy is deployed, we are blocked with new dev work to add the VM checkout functionality.

Updates

  • Finish development work
    • Session expiration and extension
    • Lock critical sections in Celery tasks
  • Test deployment in dev infrastructure (more)
  • Add example systemd service files
  • Deploy in staging infrastructure (ongoing)

Image builder for Fedora IoT

Goal of this Initiative

Integration of Image builder as a service with Fedora infra to allow Fedora IoT migrate their pipeline to Fedora infra.

Updates

  • Project was unfortunately paused until this Monday as we were still blocked
  • Since being unblocked we have installed and configured staging with everything we need to use the Image builder service
  • Koji-hub is now able to understand osbuild commands
  • Builders are able to authenticate with Image builder
  • Manual testing
  • Will be handing over to fedora IoT team next week so they can test it

Bodhi

Goal of this Initiative

This initiative is to separate Bodhi into multiple sub packages, fix integration and unit tests in CI, fix dependency management and automate part of the release process.
Read ARC team findings in detail at: https://fedora-arc.readthedocs.io/en/latest/bodhi/index.html

Updates

  • Let the Bodhi client storage store tokens for multiple OIDC providers (in review)
  • Dependency management (ongoing)
  • Testing of OIDC (ongoing)
  • Improvements to documentation (ongoing)

EPEL

Goal of this initiative

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Updates

  • EPEL9 up to 2148 source packages (increase of 54 from last week)
  • Various documentation improvements merged

Kindest regards,
CPE Team

The post CPE Weekly Update – Week of March 14th – 18th appeared first on Fedora Community Blog.

Migrating From irssi to weechat

Posted by David Cantrell on March 21, 2022 02:48 PM

I’ve been using irssi for a long time with no complaints. Well that’s not true. I complain about a lot of things. But at least with irssi I was able to centralize all of my chat systems in to one client running in a terminal window. I can connect to multiple IRC networks, which is necessary for my job. I can also use bitlbee to make instant messenger systems like Google Chat and Facebook Chat appear in my IRC client. This has a huge impact on my daily workflow and makes communication easier for me.

In recent times, more and more teams and projects at work are using systems other than IRC to chat. That’s fine, except that a lot of these are proprietary and do not offer a client-independent way to connect to them. Most notably the latest Google Hangouts iteration is the worst offender. I’m not adding another chat client to my workflow and I still need the networks I use in irssi.

Work has now set up a Matrix server to bridge IRC and Google Hangouts chat and I started looking at this. There is a plugin for bitlbee, but it is largely unfinished and not really usable (based on what I read…I did not actually try it). But I also found there’s a Matrix plugin for weechat. I have thought about giving weechat a try for a while, so this was a reasonable excuse.

First up, get weechat installed and work through the quick start guide. Default keybindings are easy enough and configuration is simple. I made a list of the things I rely on in irssi and networks I connect to and began the migration. First up was bitlbee.

weechat

Ooops, before bitlbee I want to note that I set WEECHAT_HOME=${HOME}/.weechat in my .zshrc file. Why? Well, I share dot files across multiple systems and at least on Fedora weechat wants to put config files in ~/.config/weechat. I prefer just using ~/.weechat so I can set WEECHAT_HOME in the environment and be done with it.

Passphrase

Connecting to the networks I use requires a passphrase. In irssi that was just stored plain text in the config file. Weechat goes a bit further and creates an encrypted ~/.weechat/sec.conf file and stores passphrases there. You can then reference passphrases in configuration settings using ${} syntax. Weechat even goes further and allows you to specify a passphrase command to unlock sec.conf on startup, so if you have a password manager this can make startup easier otherwise weechat will prompt for the master passphrase of sec.conf on startup each time.

I use password-store (/usr/bin/pass), so I first created a passphrase entry in that for Weechat:

$ pass edit app-passwords/weechat

Now in weechat I do this:

/secure passphrase <passphrase>
/set sec.crypt.passphrase_command "pass show app-passwords/weechat"

Now whenever I add a network, I will set the passphrase in the secure data using:

/secure set NETWORK <passphrase>

And then I can reference it as ${sec.data.NETWORK} in the configuration settings.

bitlbee

Bitlbee is already running on my system, so all I needed to do was disconnect it in irssi and then add it as a new irssi network in weechat. I did this in weechat:

/secure set im <passphrase>
/server add im localhost/6667 -autoconnect
/set irc.server.im.command "/msg &bitlbee identify ${sec.data.im}"
/connect im

Grab the bitlbee passphrase from your irssi config file. Easy enough. Use Alt plus the left and right arrow to move between buffers (or windows, haven’t figured out the weechat vocabulary). In irssi, you can type /win NUM where NUM is the number of the chat window to jump to. In weechat, you do this by typing /buffer NUM. ¯_(ツ)_/¯

I did notice that the bitlbee control window (or buffer!) is combined with the weechat core one. This was a little confusing at first. I guess some people don’t mind this, but I kind of like having a different control window for each network I connect to as well as the main one for the program. To get this behavior, Alt + arrow back to buffer (or window!) #1 and type:

/set irc.look.server_buffer independent

You should now see #1 labeled as weechat and then #2 is labeled as im which is bitlbee. Active chats are indented under the network in question. The first one under im should be &bitlbee which is the one where you talk to bitlbee to set up individual systems to connect to. So many layers.

Notifications

I don’t constantly stare at every chat window (or buffer!), so I like notifications that appear to tell me what to look at. I use notify-send in irssi, so I went looking for the same thing for weechat and found the weechat-notify-send plugin.

This is exactly what I was looking for. I cloned the repo and followed the instructions to install the plugin. One thing I like about weechat is plugins written in Python rather than Perl. Or more of them are written in Python. Weechat supports lots of plugin languages. I’m more fluent in Python these days than Perl and also irssi really would get picky if Perl was upgraded and you didn’t rebuild or upgrade irssi.

I copied the plugin in place:

cd weechat-notify-send
cp -p notify_send.py ~/.weechat/python
( cd ~/.weechat/python/autoload ; ln -sf ../notify_send.py . )

The default options will cause notifications for mentions and privmsgs.

IRC

My IRC networks use znc as a proxy, so I need to configure my connection to them using the TLS certificates I have created. In ~/.irssi, I have the \*.pem files and ~/.irssi contains the login auth information. For me that involves copying the \*.pem files to ~/.weechat/ssl and then doing this for each network:

/secure set NET <passphrase>
/server add NET irc.example.net/6697 -ssl -autoconnect
/set irc.server.NET.username USERNAME
/set irc.server.NET.password ${sec.data.NET}
/set irc.server.NET.ssl_cert ~/.weechat/ssl/NET.pem
/set irc.server.NET.ssl_verify off
/connect NET

These certificates are created by me specifically for speaking from my system to my znc instances.

Logging

I like organizing my log files by year and then adding a month and day stamp to each filename. I do this from the #weechat core buffer:

/set logger.level.irc 9
/set logger.file.mask "%Y/$plugin/$name-%m-%d.log"

Log files go to ~/.weechat/logs. Under irssi, I had log files go to ~/irclogs. Log level 9 means log everything (I think). I like keeping data.

Scripts

I have installed additional scripts from https://weechat.org/scripts/ to the ~/.weechat/python directory. So far I have:

emoji2ascii.py Convert Unicode emoji to ascii equivalent
notify_send.py Mentions get sent to desktop notification
autosort.py Sort networks and channels alphabetically in buflist
urlbar.py Makes multiline URLs easier to click

The emoji2ascii.py script needs the Python emoji module, which I installed using pip3 install emoji.

Filtering

I don’t like seeing every join and quit message. Weechat has the smart filter thing for IRC, so I did this (lifted from their user guide):

/filter add irc_smart * irc_smart_filter *
/set irc.look.smart_filter on                # <--- not in user guide!
/set irc.look.smart_filter_join on
/set irc.look.smart_filter_quit on
/set irc.look.smart_filter_delay 5

Hide The Nicklist

I don’t really need the nicklist always visible, so I prefer to hide it by default:

/set weechat.bar.nicklist.hidden on

You can toggle it on and off if you really want it back.

Notification On Keywords

I get a notification if someone mentions my nick, but I also want notifications on specific keywords. I can do that with the notify_send.py script:

/set plugins.var.python.notify_send.notify_on_all_messages_in_buffers_that_match "(?i)rpminspect,(?i)rpmdiff"

Anytime someone says rpminspect or rpmdiff (case-insensitive) in a channel I am connected to, I will get a notification.

I also want the channel highlighted, so I also add these to the highlight regex list:

/set weechat.look.highlight_regex "[Rr][Pp][Mm]([Ii][Nn][Ss][Pp][Ee][Cc][Tt]|[Dd][Ii][Ff][Ff])"

The notify_send.py script uses the Python re module, so the configuration setting needs to use syntax compatible with that module. The other setting uses ordinary regexp syntax. I am still not 100% sure this is correct for the settings.

Next Steps

The above gets me a functional setup in weechat. My next steps are to verify message highlighting is working as I expect, certain types of messages are filtered correctly, notify-send works, and then the Matrix plugin is working. I will post again with updates to the above.

Upgrade of Copr servers

Posted by Fedora Infrastructure Status on March 21, 2022 08:15 AM

We're updating copr packages to the new versions which will bring new features and bugfixes. This outage affects the copr-frontend and copr-backend

Fedora Workstation’s State of Gaming – A Case Study of Control (2019)

Posted by Fedora Magazine on March 21, 2022 08:00 AM

Back in the day, it used to irk me as to how GNU/Linux[1] distributions could not be even considered to be in the proximity of video games enthusiasts – less because of the performance of the video games themselves and more because of how inconvenient it could be for them to set it all up. Admittedly, it had been quite a while since an avid video games fan like me did that, so it was almost a no-brainer for me to try it out and see if things have changed. What I ended up finding surprised me – I like to think that it would be just as pleasing to both enthusiasts who have been playing video games on GNU/Linux distributions and to newcomers who have been scoping this, alike.

On a testing bench using an AMD RDNA2-based[2] GPU, the video game was configured to the highest possible graphical preset[3] to really stress the hardware into performing as much as its limiting factor. If the RDNA2 architecture reminds you of something, allow me to share that it is what forms the foundation of the GPU that no other than the widely acclaimed Steam Deck[4] makes use of. For that matter, if you factor in some performance scaling with respect to the handheld nature of the device and the optimized Proton compatibility layer, this article can be representative of what the Steam Deck is capable of when you use Fedora Workstation[5] as a platform of your choice for playing your favourite video games.

<figure class="wp-block-image size-large"><figcaption>Figure 1 – GNOME Software helps to install Steam conveniently</figcaption></figure>

To have an apples to apples comparison, we set up two environments – one with Windows 10 21H2[6] and one with Fedora Workstation 35. On the former, I installed MSI Afterburner[7] and ensured that the graphics drivers are up-to-date while I did not have to bother doing the same on the latter as they came preinstalled. The only extra thing that I did was to configure the Lutris v7.1 runner[8] after clicking my way through installing Lutris[9] and MangoHUD[10] from GNOME Software[11]. It is downright astonishing how much you can do these days on GNU/Linux distributions without actually having to interact with the command line, making the entry barrier very low and welcoming.

<figure class="wp-block-image size-large"><figcaption>Figure 2 – GNOME Software helps to install Lutris conveniently
</figcaption></figure>

Before we get into some actual performance testing and comparison results, let me talk a bit about the video game that is at the centre of the case study. Control[12] is an action-adventure video game developed by Remedy Entertainment[13] and published by 505 Games[14]. The video game is centred around a fictitious organization about paranormal activities and takes inspiration from the likes of the SCP Foundation[15]. It is a well-optimized video game that exhibits great graphics and is a showcase of what the underlying hardware is capable of. I ran tests on both DirectX 11[16] and DirectX 12[17] versions of the video game with their compatibility layers[18], DXVK[19] and VKD3D[20], respectively.

<figure class="wp-block-image size-large"><figcaption>Figure 3 – Lutris configured to play Control (2019) using the Wine runner</figcaption></figure>

Following are the results of the tests. I made use of OBS Studio[21], which is available as both an installer binary and as a package in the RPM Fusion[22] repositories, to record around 15 seconds of in-menu gameplay and around 60 seconds of in-game gameplay. As the video game does not have any intrinsic benchmarking tool, the footage had to be broken down into segments of equal time periods to be able to pick up performance statistics on CPU usage, GPU usage and framerate. Please do note, even when OBS Studio introduces a certain overhead to the performance, the comparison still remains valid as in both the platforms the recording software is configured identically.

Metrics

  • Framerate
    • In the menus
<figure class="wp-block-image size-large"><figcaption>Figure 4 – Framerate in the menus</figcaption></figure>
  • In the game
<figure class="wp-block-image size-large"><figcaption>Figure 5 – Framerate in the game</figcaption></figure>
  • CPU usage
    • In the menus
<figure class="wp-block-image size-large"><figcaption>Figure 6 – CPU usage in the menus</figcaption></figure>
  • In the game
<figure class="wp-block-image size-large"><figcaption>Figure 7 – CPU usage in the game</figcaption></figure>
  • GPU usage
    • In the menus
<figure class="wp-block-image size-large"><figcaption>Figure 8 – GPU usage in the menus</figcaption></figure>
  • In the game
<figure class="wp-block-image size-large"><figcaption>Figure 9 – GPU usage in the game</figcaption></figure>

Please feel free to let your inner enthusiast loose in the statistics and try sharing as many performance differences as you have inferred so far in the comments section below. In the meanwhile, allow me to share mine –

  • With DXVK (DirectX 11), the loss of average in-menu framerate is around 19.87% and the same for average in-game framerate is barely 6.26%. DXVK is almost at the stage where a blind test of framerate smoothness could potentially confuse anyone as to which platform runs natively.
  • With VKD3D (DirectX 12), the loss of average in-menu framerate is barely 8.67% and the same for average in-game framerate is around 24.51%. VKD3D seems to be steadily catching up and very soon enough, video games would be able to run with minimal loss of performance.
  • With DXVK, there is only 1.40% of additional average CPU usage in the menus and around 17.88% of the same in the game. Closing this gap would help save battery life on handheld devices.
  • With VKD3D, the average CPU usage in the menus is around 1.47% less than the equivalent Windows platform and the same in the game is 1.62% more. VKD3D is a great choice for handheld devices.
  • With DXVK, the average GPU usage in the menus is around 13.40% more than that on Windows and the same in the game is around 1.04% more, making it more efficient in geometry rendering and less so in sprites.
  • With VKD3D, the average GPU usage in the game is around 8.13% more than that on Windows and the same in the game is around 9.34% less, thus helping save battery on handheld devices running these video games.
  • The CPU governor[23] makes a marginal difference in performance and hence, it is something that can be left alone untweaked. The marginal difference noticed can also be considered in the margin of error.
  • Fedora Workstation uses fewer system resources out of the box and hence, can easily dedicate a huge chunk of those to the video game in question but the same is not possible in Windows 10 21H2.

For someone who looked into GNU/Linux distributions as a platform for using interactive and entertainment software applications without having any fancy hardware requirements, these results almost feel like a breath of fresh air. With Valve[24] working on strengthening Proton[25] and other communities working on great solutions like Bottles[26] and Lutris, gaming on GNU/Linux distributions is no longer an elusive dream. Things are only going to get better with a great number of video games running at near-native performance as we go on. I do not know for certain if 2022 would be the year of Linux Desktop or not, but if you ask me whether 2022 would be the year of Linux Gaming – I would answer that with a resounding yes. Let me know your thoughts down below!

Appendix

  1. Highest possible graphical preset[3]
  2. Configuration differences[27]
  3. Performance measurements in the menus[28]
  4. Performance measurements in the game[29]

References

  1. https://en.wikipedia.org/wiki/Linux
  2. https://www.amd.com/en/technologies/rdna-2
  3. https://gist.github.com/t0xic0der/e6958f9404d395705a8b67a1ab39d024#file-preset-csv
  4. https://en.wikipedia.org/wiki/Steam_Deck
  5. https://getfedora.org/
  6. https://docs.microsoft.com/en-us/windows/release-health/status-windows-10-21h2
  7. https://www.msi.com/Landing/afterburner/graphics-cards
  8. https://lutris.net/runners
  9. https://lutris.net/
  10. https://github.com/flightlessmango/MangoHud
  11. https://gitlab.gnome.org/GNOME/gnome-software
  12. https://en.wikipedia.org/wiki/Control_(video_game)
  13. https://www.remedygames.com/
  14. https://505games.com/
  15. https://scp-wiki.wikidot.com/
  16. https://en.wikipedia.org/wiki/DirectX#DirectX_11
  17. https://en.wikipedia.org/wiki/DirectX#DirectX_12
  18. https://en.wikipedia.org/wiki/Compatibility_layer
  19. https://github.com/doitsujin/dxvk
  20. https://source.winehq.org/git/vkd3d.git/
  21. https://obsproject.com/
  22. https://rpmfusion.org/
  23. https://wiki.archlinux.org/title/CPU_frequency_scaling#Scaling_governors
  24. https://www.valvesoftware.com/en/
  25. https://github.com/ValveSoftware/Proton
  26. https://usebottles.com/
  27. https://gist.github.com/t0xic0der/e6958f9404d395705a8b67a1ab39d024#file-config-csv
  28. https://gist.github.com/t0xic0der/e6958f9404d395705a8b67a1ab39d024#file-in-menu-csv
  29. https://gist.github.com/t0xic0der/e6958f9404d395705a8b67a1ab39d024#file-in-game-csv

Fedora rawhide – fixed bugs 2021/10

Posted by Filipe Rosset on March 21, 2022 05:24 AM

Bug 1974107 – xwax package needs dependency on alsa-lib-devel [NEEDINFO]
https://bugzilla.redhat.com/show_bug.cgi?id=1974107

Bug 1988055 – xwax: FTBFS in Fedora rawhide/f35 [NEEDINFO]
https://bugzilla.redhat.com/show_bug.cgi?id=1988055

Bug 1995356 – xwax-1.8 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1995356

Bug 2022971 – xfce4-whiskermenu-plugin-2.6.2 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2022971

Updated highlight to version 4.1
https://src.fedoraproject.org/rpms/highlight/c/d745b4a0ca869d4f282d791f5389bc6eceeb0e17?branch=rawhide

Bug 1990936 – aime-8.20210923 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1990936

Bug 1914694 – cproto-4.7s is available
https://bugzilla.redhat.com/show_bug.cgi?id=1914694

Bug 1925760 – pigz-2.6 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1925760

Bug 1936057 detox-2.0.0-beta1 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1936057

Bug 1979067 converseen-0.9.9.2 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1979067

Bug 2002117 – dgit-9.14 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2002117

Bug 1998781 – worker-4.9.0 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1998781

Bug 1944896 – sakura-3.8.3 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1944896

Bug 1969290 – pdf2djvu-0.9.18 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1969290

Bug 2013685 – pdf2djvu-0.9.18.1 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2013685

Bug 2014349 – sakura-3.8.4 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2014349

Bug 1882134 – cdk-20210825 is available
https://bugzilla.redhat.com/show_bug.cgi?id=1882134

Bug 2025197 – xfce4-whiskermenu-plugin-2.7.0 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2025197

Bug 2025677 – pdf2djvu-0.9.18.2 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2025677

Episode 315 – Who even makes all these terrible decisions?

Posted by Josh Bressers on March 21, 2022 12:01 AM

Josh and Kurt talk about Microsoft accidentally letting us find out about ads in file explorer. Changing your clocks sucks. And touch on some of the security implications of the Russian invasion and sanctions. There are a lot of security lessons we can all learn. Mostly what not to do.

<audio class="wp-audio-shortcode" controls="controls" id="audio-2728-1" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_315_Who_even_makes_all_these_terrible_decisions.mp3?_=1" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_315_Who_even_makes_all_these_terrible_decisions.mp3</audio>

Show Notes

gem-compare goes 1.0

Posted by Josef Strzibny on March 21, 2022 12:00 AM

It took forever, but gem-compare hits 1.0!

What is gem-compare, you ask? gem-compare is a RubyGems plugin that can compare gem versions. I originally created it to vet new gem versions I packaged for Fedora, but it’s useful for all kinds of tasks. The main use-cases for gem-compare are:

  • checking accidental permission changes
  • checking for files that shouldn’t make the release
  • checking for unwanted dependency changes
  • tracking license changes
  • reviewing new code

Have you heard about the npm package that wiped out people’s disk space based on geolocation? gem-compare can help you prevent bad upgrades in the Ruby eco-system.

Usage

After installation (that needs curl header files), you can start comparing:

$ gem install gem-compare
$ gem compare rails 6.2.0 7.0.0 -k

The -k option will keep the gem files if you need to work with them.

By default all kinds of comparisons are run, but you can specify what you need:

$ gem compare --help
Usage: gem compare GEMNAME VERSION [VERSION ...] [options]

  Options:
    -a, --all                        Show every comparison
    -k, --keep-all                   Keep downloaded and extracted gem files
    -n, --no-color                   Do not colorize output
        --platform PLATFORM          Specify the platform of gem to compare
    -p, --param PARAM                Compare only a given paramater
    -r, --runtime                    Compare only runtime dependencies
    -d, --development                Compare only development dependencies
    -f, --files                      Compare only files for runtime
    -F, --diff                       Diff file contents
    -g, --gemfiles                   Compare only Gemfiles
    -b, --brief                      Include only important changes in the report
    -s, --sources SOURCES            Use different source URIs for gems (separated by comma)

Note that you can compare as many versions at once as you want.

What’s new

gem-compare stayed long time at 0.0.7, but last weekend I updated the project for RubyGems 3.x and finally released 1.0. And that’s not everything, because 1.0 brings a nice new feature which I want to highlight.

It’s now possible to compare whole file diffs with the --diff option:

diff-feature

GitHub

So go ahead and make gem-compare part of your release and upgrade workflows :). Contributions welcome.

Inject DB connections in Golang gRPC API

Posted by Fabio Alessandro Locati on March 21, 2022 12:00 AM
One of the first issues that I had to solve when I started to use gRPC was how to inject a DB connection pool to the function handling the request. The DB connection injection is needed because creating a new SQL connection every time there is a new gRPC request (and tearing it down at the end) is a massive waste of resources. Also, this approach could limit the scalability of the API since the database probably has a limited number of connections it will accept.

هر روزتان نوروز نوروزتان پیروز

Posted by Fedora fans on March 20, 2022 12:13 PM
norooz

norooz

سال نو می شود، زمین نفسی دوباره می کشد، برگ ها به رنگ در می آیند و گل ها لبخند می زنند و پرنده های خسته بر می گردند و در این رویش سبز دوباره…من…تو…ما… کجا ایستاده ایم. سهم ما چیست؟.. نقش ما چیست؟… پیوند ما در دوباره شدن با کیست؟…

زمین سلامت می کنیم و ابرها درودتان باد و چون همیشه امیدوار و سال نو مبارک…

The post هر روزتان نوروز نوروزتان پیروز first appeared on طرفداران فدورا.

Friday’s Fedora Facts: 2022-11

Posted by Fedora Community Blog on March 18, 2022 06:36 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

I have weekly office hours on Wednesdays in the morning and afternoon (US/Eastern time) in #fedora-meeting-1. Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
Devfest LilleLille, FR10 Juncloses 31 March
DevConfŁódź, PL1–2 Sepcloses 9 Apr
openSUSE ConferenceNuremberg, DE2–4 Juncloses 14 Apr
DevConf.USBoston, MA18–20 Augcloses 15 Apr
Upstreamvirtual7 Juncloses 15 Apr
DebConfPrizren, XK17–24 Julcloses 15 Apr
OSCALTirana, AL18–19 Juncloses 19 Apr
Strange LoopSt. Louis, MO, US22–24 Sepcloses 20 Apr
All Things OpenRaleigh, NC, US30 Oct–2 Novcloses 22 Apr
Container DaysHamburg, DE & virtual5–7 Sepcloses 30 Apr
ShipItConDublin, IESepcloses 30 Apr
Open Source Summit EuropeDublin, IE & virtual13–16 Sepcloses 30 May
PyCon SKBratislava, SK9–11 Sepcloses 30 Jun
</figure>

Help wanted

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
1955416shimPOST
2037047selinux-policyASSIGNED
</figure>

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F345253
F353594
F36 (pre-release)1623
Rawhide6463
</figure>

Fedora Linux 36

Schedule

See the schedule website for the full schedule.

Changes

<figure class="wp-block-table">
StatusCount
ASSIGNED2
ON_QA47
</figure>

Blockers

<figure class="wp-block-table">
Bug IDComponentBug StatusBlocker Status
2016613anacondaON_QAAccepted(Beta)
2064623gnome-softwareVERIFIEDProposed(Beta)
</figure>

Fedora Linux 37

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
Make Rescue Mode Work With Locked RootSystem-WideFESCo #2713
Make pkexec and pkla-compat optionalSelf-ContainedFESCo #2766
Drop i686 builds of jdk8,11,17 and latest (18) rpms from f37 onwardsSystem-WideFESCo #2772
Encourage Dropping Unused / Leaf Packages on i686Self-ContainedFESCo #2773
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2022-11 appeared first on Fedora Community Blog.

PHP version 8.0.17 and 8.1.4

Posted by Remi Collet on March 18, 2022 07:13 AM

RPMs of PHP version 8.1.4 are available in remi-modular repository for Fedora ≥ 34 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in remi-php81 repository for EL 7.

RPMs of PHP version 8.0.17 are available in remi-modular repository for Fedora ≥ 34 and Enterprise Linux ≥ 8 (RHEL, Alma, CentOS, Rocky...) and in remi-php80 repository for EL 7.

emblem-notice-24.pngNo security fix this month, so no update for version 7.4.28.

emblem-important-2-24.pngPHP version 7.3 have reached its end of life and is no longer maintained by the PHP project.

These versions are also available as Software Collections in the remi-safe repository and as module for Fedora and EL ≥ 8.

Version announcements:

emblem-notice-24.pngInstallation: use the Configuration Wizard and choose your version and installation mode.

Replacement of default PHP by version 8.1 installation (simplest):

dnf module reset php
dnf module enable php:remi-8.1
dnf update php\*

or, the old EL-7 way:

yum-config-manager --enable remi-php81
yum update php\*

Parallel installation of version 8.1 as Software Collection

yum install php81

Replacement of default PHP by version 8.0 installation (simplest):

dnf module reset php
dnf module enable php:remi-8.0
dnf update php\*

or, the old EL-7 way:

yum-config-manager --enable remi-php80
yum update

Parallel installation of version 8.0 as Software Collection

yum install php80

Replacement of default PHP by version 7.4 installation (simplest):

dnf module reset php
dnf module enable php:remi-7.4
dnf update php\*

or, the old EL-7 way:

yum-config-manager --enable remi-php74
yum update

Parallel installation of version 7.4 as Software Collection

yum install php74

And soon in the official updates:

emblem-important-2-24.pngTo be noticed :

  • EL-8 RPMs are build using RHEL-8.5
  • EL-7 RPMs are build using RHEL-7.9
  • EL-7 builds now use libicu69 (version 69.1)
  • EL builds now uses oniguruma5php (version 6.9.5, instead of outdated system library)
  • oci8 extension now uses Oracle Client version 21.5
  • a lot of extensions are also available, see the PHP extensions RPM status (from PECL and other sources) page

emblem-notice-24.pngInformation:

Base packages (php)

Software Collections (php74 / php80 / php81)

Pinephone pro

Posted by Kevin Fenzi on March 17, 2022 09:46 PM

Once again it’s been a while since I’ve posted, but I am getting a bit caught up with life and am going to try and resume some more regular blogging.

Lets start with a quick post about the Pinephone pro. I had gotten not one, but two of the orig pinephones. Nice fun to play with, but so many non upstream patches to get everything working made it pretty much impossible that it would ever be able to have a Fedora spin. Also, it was really quite slow at pretty much everything. ;( Enter the pinephone pro that was announced late last year.

I signed up for the very first batch of pinephone pro’s and managed to get one! First, for some reason, the shipper (DHL international) decided to use USPS for the last leg of the shipping to my house. This is not ok, because I don’t actually have USPS service here. 🙁 I did finally manage to get a hold of the local postoffice to go in and claim my package from them.

The pro is very similar to the older pinephone in size, appearance and also accessories like batteries, usb dock and such. It’s a LOT faster than the old pinephone. Still probibly not up to a top tier phone, but it seems pretty similar in performance to my daily driver phone (a OnePlus 3t running /e/ os). Also, much more support is already upstream or more easily upstreamable.

The pinephone pro has a SPI (apparently all generations, although I don’t have a cite, this is just what I have heard). A SPI is a small flash area you can place a boot loader. There’s a fork of the uboot loader called ‘towboot’ that many folks are flashing there. towboot has nice support for a phone device. It lights up the led based on whats happening (before the screen), it lets you use volume and select to decide if you want to boot the eMMC (internal flash) or microsd card, etc. I finally broke down and ran the towboot installer. Worked fine and it’s nice to have a bit more control over the boot process. A group of folks are pushing pine64 to just ship with towboot on SPI in later batches, we will see how that goes.

Thanks to javierm, we have a Fedora kernel and uboot with pinephone pro patches on top in copr now, along with osbuild templates to use that kernel/uboot to make a raw image for the phone. There’s more patches to test and then all of them to upstream, but progress is being made.

Next steps for the mobility sig are to start getting a change together, update the phosh comps group, and get kickstarts together (in case we can land before fedora uses osbuild). Progress is slower than anyone would like, but I hope later this year we will have a pinephone pro image (or two)!

یوجین پارکر شخصیت افسانه ای در علم خورشید

Posted by Fedora fans on March 17, 2022 06:11 PM
gene_parker_at_his_hyde_park_home_in_2019_photo_by_john_zich

gene_parker_at_his_hyde_park_home_in_2019_photo_by_john_zichپروفسور بازنشسته Eugene N. Parker، اخترفیزیکدان پیشگام که کمک هایش به فیزیک خورشیدی آنقدر بزرگ بود که ناسا مأموریت کاوشگر خورشیدی پارکر خود را به نام او نامگذاری کرد، در 15 March سال 2022 درگذشت. او 94 سال سن داشت.

پارکر در سطح بین المللی به دلیل پیشنهاد مفهوم باد خورشیدی شناخته شده بود. ایده ای که ابتدا با شک و تردید مواجه شد تا کاملاً مورد تمسخر قرار گرفت. بعداً درستی این نظریه ثابت شد و تصویر ما از فضا و منظومه خورشیدی را تغییر داد. پارکر در ادامه تحولی در زمینه اخترفیزیک ایجاد کرد و فیزیک پیچیده پشت میدان های مغناطیسی در فضا و دینامیک پلاسما را کشف کرد.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" loading="lazy" src="https://www.youtube.com/embed/WH_TC9VzMUA" title="YouTube video player" width="560"></iframe>

در آگوست 2018، در سن 91 سالگی، او اولین کسی بود که شاهد پرتاب فضاپیمای همنام خود بود.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" loading="lazy" src="https://www.youtube.com/embed/50eruw-In5w" title="YouTube video player" width="560"></iframe>

در همان سال، از پارکر در مورد توصیه ای که به دانشمندانی که در مراحل اولیه زندگی حرفه ای بودند، پرسیدند.

پارکر در پاسخ گفت: «من هرگز پیشنهاد مهمی نداده‌ام، اما آنچه که جمعیتی می‌گفتند، “اینطور نیست”، احتمالاً نمی‌تواند باشد. اگر کاری جدید یا نوآورانه انجام می دهید، منتظر مشکل باشید. اما به طور انتقادی در مورد آن فکر کنید، زیرا اگر اشتباه می کنید، می خواهید اولین کسی باشید که این را می داند

نیکی فاکس (Nicky Fox)، مدیر بخش هلیوفیزیک (heliophysics) ناسا در مقر ناسا در واشنگتن و دوست پارکر گفت: «فکر نمی‌کنم این که بگوییم حوزه هلیوفیزیک امروزه عمدتاً به دلیل کار دکتر یوجین پارکر وجود دارد اغراق آمیز نیست. اگر چه دکتر پارکر دیگر در میان ما نیست، اکتشافات و میراث او برای همیشه زنده خواهد ماند.

پارکر که در سال 1927 در Houghton میشیگان به دنیا آمد، مدرک کارشناسی خود را در رشته فیزیک از دانشگاه ایالتی میشیگان در سال 1948 و دکترای خود را از Caltech در سال 1951 به پایان رساند. او مدتی را به عنوان مربی (instructor) و استادیار (assistant professor) در دانشگاه یوتا (Utah) گذراند و سپس در سال 1955 سمتی را در دانشگاه شیکاگو پذیرفت و تا پایان دوران کاری خود در آنجا ماند.

در سال 1957، پارکر یک استادیار جوان بود که توجه خود را به دمای تاج خورشید معطوف کرد. او با بررسی ریاضیات، تعیین کرد که شرایط باید یک جریان مافوق صوت از ذرات از سطح خورشید ایجاد کند. جهت آشنایی بیشتر با آقای یوجین پارکر می توانید لینک زیر را مشاهده کنید:

https://www.nasa.gov/content/goddard/eugene-newman-parker

کاوشگر پارکر در آگوست سال ۲۰۱۸ یعنی ۳ سال پیش از پایگاه نیروی هوایی کیپ کاناورال (Cape Canaveral Air Force Station) در فلوریدای (Florida) امریکا به فضا پرتاپ شد. ماموریت این کاوشگر شناخت بیشتر خورشید و بادهای خورشیدی می باشد.

parker

اکنون برای اولین بار در تاریخ، شاهد آن هستیم که اولین فضاپیمای ساخته ی دست انسان، خورشید را لمس کرده است. کاوشگر خورشیدی پارکر ناسا ( Parker Solar Probe) اکنون از اتمسفر بالای خورشید یا همان تاج خورشید که اصطلاحا به آن corona گفته می شود، عبور کرده و از ذرات و میدان های مغناطیسی نمونه برداری کرده است.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="315" loading="lazy" src="https://www.youtube.com/embed/LkaLfbuB_6E" title="YouTube video player" width="560"></iframe>

نقطه عطف جدید یک گام بزرگ برای کاوشگر خورشیدی پارکر و یک جهش بزرگ برای علم خورشیدی است. همانطور که فرود روی ماه به دانشمندان اجازه داد تا چگونگی شکل‌گیری آن را درک کنند، لمس موادی که خورشید از آنها ساخته شده است به دانشمندان کمک می‌کند اطلاعات مهمی درباره نزدیک‌ترین ستاره ما و تأثیر آن بر منظومه خورشیدی کشف کنند. برای اطلاعات بیشتر در مورد کاوشگر پارکر می توانید به لینک پایین مراجعه نمایید:

https://www.nasa.gov/content/goddard/parker-solar-probe

بدرود مرد بزرگ، بدرود یوجین پارکر

The post یوجین پارکر شخصیت افسانه ای در علم خورشید first appeared on طرفداران فدورا.

Generating a clouds.yaml file

Posted by Adam Young on March 16, 2022 11:00 PM

Kolla creates an admin.rc file using the environment variables. I want to then use this in a terraform plan, but I’d rather not generate terrafoprm specific code for the Keystone login data. So, a simple python script converts from env vars to yaml.

#!/usr/bin/python3
import os
import yaml

clouds = {
   "clouds":{
    "cluster": {
        "auth" : {
            "auth_url" : os.environ["OS_AUTH_URL"], 
            "project_name": os.environ["OS_PROJECT_NAME"],
            "project_domain_name": os.environ["OS_PROJECT_DOMAIN_NAME"],
            "username": os.environ["OS_USERNAME"],
            "user_domain_name": os.environ["OS_USER_DOMAIN_NAME"],
            "password": os.environ["OS_PASSWORD"]
        }
    }
    }
}


print (yaml.dump(clouds))

To use it:

./clouds.py > clouds.yaml

Note that you should have sourced the appropriate config environment variables file, such as :

. /etc/kolla/admin-openrc.sh

Fedora Mentor Summit is here!

Posted by Fedora Community Blog on March 16, 2022 10:00 AM
Fedora Mentor Summit banner

We are excited to invite you to the first edition of the Fedora Mentor Summit. It’s an yearly event for our community members interested in mentorship as a practice. The event is on April 1st and 2nd – 1300 UTC to 1700 UTC. Registration is open now!

This community members lead event is full of agenda of intriguing discussions, interesting talks and fun activities that everyone can be a part of. While the final schedule is still being planned, you can see the draft at the event fedocal.

What’s in it for you?

  • As a Mentor: You will be able to hear and learn from mentors across various Open Source Projects. You will also get to share your experiences as a mentor to help others. You can help us by sharing how we can improve mentorship in the Fedora Project in future. You will enjoy your time networking with others, and may find yourself at the crossroads to take up new mentorship opportunities!
  • As a student/mentee: Yyou will get to know our Mentored Project alumni and a lot more leaders in the space. You can interact with them about their experiences and learn how they empower mentees. You will learn how the community looks out for students and projects, and utilize a good networking opportunity.
  • As a curious community member: Mentorship is all about skills that you want to learn and pass on. Everyone with the interest to learn, teach, and create a project that leads towards the success of the Fedora Project as an organization can potentially be a future mentor. This event can open doors for anyone willing to learn new skills on mentorship and community building.

Join us!

We are hosting this over Hopin on Friday, 2022-04-01 and Saturday, 2022-04-02 1300 UTC to 1700 UTC. You can also help us with suggestion and feedback as we continue shaping the event in the Mindshare matrix channel, or using our task tracker.

The post Fedora Mentor Summit is here! appeared first on Fedora Community Blog.

Cockpit 265

Posted by Cockpit Project on March 16, 2022 12:00 AM

Cockpit is the modern Linux admin interface. We release regularly.

Here are the release notes from Cockpit 265 and cockpit-machines 264:

Animate new rows in lists

When new items appear on a page, they are highlighted for a short while to make it easier to notice them.

Peek 2022-03-15 07-47

Support for X-Forwarded-For

When run in a configuration involving a reverse proxy server, Cockpit can now report the client IP address as provided to it by the proxy server, rather than using the IP of the proxy server itself. This impacts what appears in system login logs, for example, and may have an impact on authentication, depending on which pam modules are in use.

Support for this feature must be explicitly enabled via the new ForwardedForHeader option in the configuration file.

Manifest overrides in /etc and ~/.config directories

Manifest override files are a way to customize or hide a Cockpit page’s menu entries. Until now these needed to be put next to the manifest.json which they modify, for example /usr/share/cockpit/systemd/override.json. However, /usr/share/ is package manager territory, and admins should not (and in some cases cannot) write files there. With this Cockpit version, these overrides can now be placed into /etc/cockpit/systemd.override.json for global customizations, or ~/.config/cockpit/systemd.override.json for user-specific ones.

Crypto policies support

Cockpit now has basic support for displaying and changing a subset of crypto policies (default, future, legacy). The current configured crypto policy is shown in the “Configuration” card.

Crypto policies card

Crypto policy changes can be applied immediately or later. When “Apply only” is selected, the Health card shows that a reboot is required to fully apply the changed crypto policy.

Crypto policies modal

Metrics: Show busiest CPU core

On multi-core systems, the Metrics page now shows an additional usage bar for the CPU core with the highest usage. This points out bottlenecks and performance problems which happen because only a few cores (or even a single one) get fully used, while many others are mostly idle. In that case, the average CPU usage will be low.

screenshot of show busiest cpu core

Machines: Disk serial number

A disk identifier can now be specified for attached disks. This is the identifier that appears for the disk in /dev/disk/by-id on Linux systems and might be useful for multipath storage setups. It may also be useful with proprietary software which is licensed to specific disk serial numbers (which is sometimes seen on Windows).

Disk serial number modal

Try it out

Cockpit 265 and cockpit-machines 264 are available now:

چهارشنبه سوری مبارک

Posted by Fedora fans on March 15, 2022 06:09 PM
charshanbe-sori

charshanbe-sori

در آستانه آخرین شب چهارشنبه سال

امیدوارم تمام خاطرات تلختون

در سال جدید سوخته باشه

و خاطرات شیرین و خوب

و موفقیت‌های پی در پی

سال جدیدتون رو بسازه

چهارشنبه سوری مبارک

The post چهارشنبه سوری مبارک first appeared on طرفداران فدورا.

CPE Quarterly Update Q4 2021

Posted by Fedora Community Blog on March 15, 2022 10:00 AM
cpe quarterly update

This is a summary of the work done on initiatives by the CPE Team. Every quarter, the team together with CentOS and Fedora community representatives, choose initiatives to work on. The CPE Team is then split into multiple smaller sub-teams for initiatives and a dedicated team for day to day infrastructure and release engineering work.

Following is the list of sub-teams in this quarter:

  • Infra & Releng
  • CentOS Stream
  • OSCI – Distrobaker monitoring
  • EPEL
  • CentOS Duffy CI

Infra & Releng

About

This team takes care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work. It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.). This sub-team also investigates possible future initiatives.

Issue trackers: Fedora Infrastructure | CentOS Infrastructure | Fedora Release Engineering

Documentation: Fedora Infrastructure | CentOS Infrastructure | Fedora Release Engineering

Members of sub-team for Q4 2021

  • Mark O’Brien (Team Lead) (Fedora Operations, CentOS Operations) (mobrien)
  • Kevin Fenzi (Team Lead) (Fedora Operations) (kevin)
  • Michal Konecny (Agile Practitioner) (Developer) (mkonecny)
  • Patrik Polakovic (Agile Practitioner) (Developer) (ppolakov)
  • Fabian Arrotin (CentOS Operations) (arrfab)
  • Tomas Hrcka (Release Engineering) (humaton)
  • Adam Saleh (Developer) (asaleh)
  • Aurelien Bompard (Developer) (abompard)
  • Emma Kidney (Developer) (ekidney)
  • Pedro Moura (Developer) (pmoura)
  • Ryan Lerch (Developer) (rlerch)

What the sub-team did in Q4 2021

Fedora Infrastructure

  • Fedora Infra moved their documentation to docs.fedoraproject.org.
  • Migrated discourse2fedmsg from fedmsg to fedora messaging and deployed the app in production. 
  • Migrated most koji builders to Fedora 35 (finished in Q1 2022)
  • Got CentOS stream 9 using mirrormanager (mirrors.centos.org)
  • Helped release Fedora 35 Beta and then Final
  • Kinoite website published.
  • Fedoraproject dnssec keys moved to sha384 from sha1
  • All wiki talk pages have been disabled. We don’t use them or read them.
  • S390x builders moved to the new z15 mainframe. Additional resources allowed us to increase kvm builders from 10 to 20.

CentOS Infrastructure

  • Upgraded openshift for CI tenants
  • Migrated the cico-workspace to CentOS 8-stream instead of CentOS 7
  • Onboarding new SIGs and adapted workflow
  • Migrated sig guide to https://sigs.centos.org/guide and hosting sigs.centos.org SIGs docs (opt-in)
  • Prepared the CentOS Linux 8 EOL/decommissioning steps
  • Migrated several services in infrastructure due to some sponsors leaving the project (willing to sponsor other rebuilds now instead)
  • Rolled out (with Artwork SIG) new visual theme across all centos infra for stream 9 visual style (website, mirrors, mailing-list, etc)
  • Implemented the new mirror.stream.centos.org mirror pool for Stream 9 (that is also used with mirrormanager)

Fedora Release Engineering

ARC

The ARC Team was looking at Bodhi and Image Builder in Q4.

  • Bodhi: 
    • Investigated doing an initiative on Bodhi
    • Looked at splitting Bodhi up into separate packages
    • Investigated decoupling Bodhi from PDC
    • Looked at dependency management
    • Concluded PDC functionality should move to dist-git instead
    • Not suitable for an initiative 
    • Package separation & dependency management work to go ahead outside of initiative work
  • Image Factory
    • Possible replacement for OZ and Image factory
    • Could be used as a service from Red Hat internal team
    • Would likely need to use our own builders for Fedora
    • Fedora IOT moving to image builder could use builders provided by Image builder as it does not support ppc or s390x
    • Initiative going ahead in Q1 2022 to use image builder for Fedora IOT
    • Potentially used for Fedora/CentOS Stream in the future

CentOS Stream

About

This initiative is working on CentOS Stream/Emerging RHEL to make this new distribution a reality. The goal of this initiative is to prepare the ecosystem for the new CentOS Stream. 

Issue trackers: Bugzilla

Documentation: CentOS documentation

Application URLs: https://centos.org/centos-stream/

Members of sub-team for Q4 2021

  • Brian Stinson (Team Lead) (bstinson)
  • Adam Samalik (Agile Practitioner) (asamalik)
  • James Antill (jantill)
  • Johnny Hughes
  • Merlin Mathesius
  • Mohan Boddu (mboddu)
  • Petr Bokoc (pbokoc)
  • Stephen Gallagher (sgallagher)
  • Troy Dawson (tdawson)

What the sub-team did in Q4 2021

  • 1/3 of all srpms built in Stream were modules in Nov (fun/interesting fact!)
  • Automated compose checks for c9s and added repoclosure check for baseOS and app stream
  • We now report on differences between RHEL 9 and CentOS Stream 9 composes
  • Added c9s links on mirror network for downloading!
  • CI testing for SIGs enabled for c9s
  • Started work on bringing c8s and c9s closer
  • Updated the ELN Extras docs
  • Got ELN side tag builds working
  • Started work on Content Resolver buildroot integration

OSCI – Distrobaker monitoring

About

In Q4 some of the CPE team were able to assist the OSCI team with some open issues they had that they were finding hard to get to before the end of the year. Our team worked on a way to improve the Distrobaker monitoring to monitor side-tags and have the code update prometheus for metrics on the side-tags. Distrobaker itself is a service which rebuilds the CentOS 9 Stream Koji builds for RHEL 9 in Brew and having good metrics on the application provides useful insights as to how the service is operating.

Issue trackers: Gitlab

Documentation: README

Members of sub-team for Q4 2021

  • David Kirwan (dkirwan)
  • Lenka Segura (lenka)
  • Leonardo Rossetti (lrossett)

What the sub-team did in Q4 2021

This team managed to do everything that is described in the ‘about’ section.

EPEL

About

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.   

Issue trackers: Pagure

Documentation: EPEL documentation

Members of sub-team for Q4 2021

  • Carl George (Team Lead) (carlwgeorge)

What the sub-team did in Q4 2021

CentOS Duffy CI

About

Duffy is a system within CentOS CI Infra which allows tenants to provision and access bare metal resources of multiple architectures for the purposes of CI testing.

We need to add the ability to checkout VMs in CentOS CI in Duffy. We have OpenNebula hypervisor available, and have started developing playbooks which can be used to create VMs using the OpenNebula API, but due to the current state of how Duffy is deployed, we are blocked with new dev work to add the VM checkout functionality. 

Issue trackers: Github

Documentation: docs.infra.centos.org

Members of sub-team for Q4 2021

  • Akashdeep Dhar (t0xic0der)
  • Ben Capper (bcapper)
  • Nils Philippsen (Team Lead) (nphilipp)
  • Vipul Siddharth (Agile Practitioner) (siddharthvipul1)

What the sub-team did in Q4 2021

Reimplement Duffy from the ground up (which is ongoing). It features a new, much cleaner API than the currently deployed version which allows users to allocate differently featured nodes for their CI workflows. It comes with a metaclient app which translates between users of the legacy API and the new one. The Duffy core is agnostic of the features of managed nodes (e.g. bare metal vs. VM, architecture, OS type & version) and shifts that knowledge into configurable node pools with corresponding Ansible playbooks used for provisioning and deprovisioning.

Datanommer/Datagrepper V.2

About

The datanommer and datagrepper stacks are currently relying on fedmsg which we want to deprecate. These two applications need to be ported off fedmsg to fedora-messaging. As these applications are ‘old-timers’ in the fedora infrastructure, we would also like to look at optimizing the database or potentially redesigning it to better suit the current infrastructure needs.

For phase two, we would like to focus on a DB overhaul.

Issue trackers: Github project

Documentation: Datagrepper

Application URLs: Datagrepper

Members of sub-team for Q4 2021

  • Aurelien Bompard (Team Lead) (abompard)
  • Ryan Lerch (ryanlerch)
  • Lenka Segura (lenkaseg)

What the sub-team did in Q4 2021

The team migrated the datanommer and datagrepper tools to use TimescaleDB as a backend, instead of plain PostgreSQL. This will greatly improve the scalability of the apps. As a reminder, datanommer stores all messages ever sent to our message bus (and that’s a lot of messages), and datagreppers is a web UI and API to query this database.

FCOS OpenShift migration

About

Enable the Fedora CoreOS to move their pipeline from the CentOS CI OCP4 cluster to the newly deployed Fedora infra OCP4 cluster.

Issue trackers: Fedora Infra tracker

Documentation: Ansible playbook

Application URLs: Openshift project (restricted access)

Members of sub-team for Q4 2021

  • David Kirwan (Team Lead) (dkirwan)
  • James Richardson (jrichardson)
  • Lenka Segura (lenkaseg)
  • Stephen Coady (scoady)

What the sub-team did in Q4 2021

Fedora CoreOS were making use of the CentOS CI OCP4 cluster to run some of their pipelines. We reused the playbooks and roles already developed in CentOS CI Infra, to recreate the project, service account and permissions required in order to deploy their pipeline on the new Fedora infra OCP4 cluster.

Epilog

If you get here, thank you for reading this. If you want to contact us, feel free to do it in #redhat-cpe channel on libera.chat.

The post CPE Quarterly Update Q4 2021 appeared first on Fedora Community Blog.

I'm an IBM Power Champion for 2022

Posted by Peter Czanik on March 15, 2022 09:50 AM

I’m happy to announce that I became an IBM Power Champion for the year 2022. This blog is long overdue, however with the conflict raging in our neighbor country, Ukraine, I just did not feel the strength to write about anything. In this blog I try to introduce myself and share my plans for this year. But before doing so, let me share my new badge with you:

<figure><figcaption>

IBM Champion 2022 badge

</figcaption> </figure>

My background

My title at work is “Open Source Evangelist” and Power does not appear anywhere in my job description. I do not have a Power system under my desk right now. How could I still become an IBM Power Champion?

The story goes back almost 30 years. That is when I first started using Power, some RS/6000 boxes at Dartmouth College. At that time, I did not know that I was using systems based on POWER processors. I did not even know that open source software exists, but I was most likely already using some. All I was aware, that those were the fastest systems I used up to that point.

A few years later I was introduced to open source software and became a Linux admin as a student job. When I got a trainee position at an IT company, my task was to install open source software on IBM Power servers running AIX. At that time it meant compiling software from source, as pre-built binaries were not yet available. I did so also on the fastest server of Hungary at that time: an IBM Power server larger than an average fridge.

Soon I started to work at Genesi, supporting Linux on Pegasos, a PowerPC workstation. I also ported openSUSE and Ubuntu to various PowerPC development systems by Freescale. This was also the time when I became more interested in open source user communities. I became a powerdeveloper.org community contributor and moderator and later I had the same roles on power.org by IBM. In my last year at Genesi I started to give talks about Linux on Power at various events in Hungary and in Europe.

You can read more about my Power experiences at https://opensource.com/article/20/10/power-architecture

I spent the past twelve years as open source evangelist for open source IT security software: syslog-ng and sudo. Officially I do not have anything to do with Power, but in practice I work with Power regularly. I build syslog-ng packages for the platform. I also use Power to test and tune syslog-ng. For many years Power 9 was the fastest platform I had access to to run syslog-ng. I do not have access to Power 10, but I suspect that after a quick break the crown is back to Power. Obviously, the IBM Power E1080 would be an overkill to run syslog-ng :-)

You can read more about being an open source evangelist at https://opensource.com/article/21/1/open-source-evangelist

Being an open source evangelist taught me to share my thoughts loud and clear. I have hundreds of blogs and articles on-line and I have many thousands of posts on social media. Even if my primary focus is syslog-ng and sudo, many people know me as a vocal Power advocate. It’s not surprising: if I am interested in something, I use my experiences as open source evangelist to share my thoughts on it. I’m definitely very interested in Power. Within Power my focus is open source, mainly Linux.

My plans

Just like most developers, I prefer to work on a machine under my desk, not on some remote hosts. (See my blog on the topic: https://peter.czanik.hu/posts/saving-power/) I planned to buy a Power 9, either a reduced cost AC922 or a Blackbird from Raptor Computing. However, the unfortunate events in Ukraine made this plan impossible, as our currency lost much of its value.

As someone with an environmental engineer degree I’d be even more happy to have a Power 10 box under my desk to work with. More performance and it is also a lot more power efficient. Of course, with a Power system under my desk I could do a lot more practical work: testing various Linux distributions, providing fixes and/or feedback to developers. But a Power 10 desktop is probably just a dream for now. Nevertheless, advocating Power is still something very important for me. Although not as good as having a system at home, I can access remotely access Power 9 systems at one of the universities providing public access to open source developers, as well as at a friends' place. I plan to write a series of articles covering Power and open source. If all goes well, I’ll publish a new article each month here.

Next Open NeuroFedora meeting: 28 March 1300 UTC

Posted by The NeuroFedora Blog on March 15, 2022 09:26 AM
Photo by William White on Unsplash

Photo by William White on Unsplash.


Please join us at the next regular Open NeuroFedora team meeting on Monday 28 March at 1300 UTC The meeting is a public meeting, and open for everyone to attend. You can join us over:

You can use this link to convert the meeting time to your local time. Or, you can also use this command in the terminal:

$ date --date='TZ="UTC" 1300 2022-03-28'

The meeting will be chaired by @nerdsville. The agenda for the meeting is:

We hope to see you there!

Updates on the new generation of Fedora MediaWriter

Posted by Evzen Gasta on March 14, 2022 03:36 PM

In the past few months I have been developing new generation of Fedora New generation of FMW with a new UI written in Qt6 which will use native QtQuick styles for Windows and MacOS. At this point I have a fully functional application with all the features from the current version.

The application can be now build for Windows and Linux. Linux builds are also available as Flatpak for testing pourpose. Bare in mind this is still not the final version and there still might be some issues.

To develop new generation of FMW I had to learn, rework or update many things. A lot of them I To develop a new generation of FMW I had to learn, rework or update many things. A lot of them I saw for the first time like a complex project, QML, CMake, Qt… First of all I’ve started removing deprecated code that is no longer supported in Qt6 and made sure FMW can be built. After that I could start working on QML. I’ve started making pages and gradually adding basic functionality step by step.

Flatpak

For testing I’ve learned what is Flatpak and how Flatpak works. I’ve also learned how to create Flatpak using manifest file, this file was also needed to be updated. Thanks to GitHub CI we have available a test build made after every commit.

<figure class="wp-block-gallery has-nested-images columns-default is-cropped" data-carousel-extra="{"blog_id":200697502,"permalink":"https:\/\/egastablog.wordpress.com\/2022\/03\/14\/updates-on-the-new-generation-of-fedora-mediawriter\/"}"> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figcaption class="blocks-gallery-caption">Flatpak</figcaption></figure>

Windows

To develop Windows build I had to update the current script to support Qt6. That means updating qmake to cmake and removing all deprecated things. Also remove Adwaita theme, which is no longer used in FMW build on Windows. I also needed to copy all dependencies to create an installer for Windows.

Testing was pretty difficult for me, because I’m making the Windows builds on Linux and debugging was possible only in QtCreator on Windows. I had to boot multiple times from Linux to Windows and the other way around.

<figure class="wp-block-gallery has-nested-images columns-default is-cropped" data-carousel-extra="{"blog_id":200697502,"permalink":"https:\/\/egastablog.wordpress.com\/2022\/03\/14\/updates-on-the-new-generation-of-fedora-mediawriter\/"}"> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figure class="wp-block-image size-large"></figure> <figcaption class="blocks-gallery-caption">Windows</figcaption></figure>

Windows version still needs some adjustment and fixes, such as restoring USB drive. For that reason we have available only the Linux version for testing, which has full functionality. I would be happy if you give me any feedback either here, or on github in the issues mentioning you use the nextgen version. You can get the development version here in the releases section.

Targeted WebID for privacy in Solid

Posted by Kushal Das on March 14, 2022 02:31 PM

In my last post I talked about the privacy issues from static public WebID in Solid. In this post I am trying to explain a way to preserve privacy, I will later submit a proposal (after figuring out how to) to change/update the original SPECs as required.

Targeted WebID for each unique client

Instead of returning the same unique WebID, the OP can return targeted WebID based on the client asking for the information. This will remain the same for every unique client and user, and can also be computed in future. This way every service accessing a Solid Pod server, will see a different unique URL for WebID, and those can not be used to co-relate the information.

We will have to update the OP (IDP) so that either it itself can calculate (or ask a different service) for the unique WebID every time.

Below I modified the official example flow to show (in step 19 and 20) how this can be achieved.

Sequence diagram

This brings in the question of how the user will learn/see all the available/used WebIDs for themselves.

That can be done by marking one client as the primary viewer/editor for the user, you can think it like a wallet. This solid application will be able to get the original unique WebID, and using that in the user's pod the wallet can find all the issued WebIDs. This goes into the implementation details of the pod server. Maybe all targeted WebIDs (& related pods) will be stored in a different namespace, maybe not.

I will write more in the next post.

You’re invited: Fedora Ambassador Call Kick-Off

Posted by Fedora Community Blog on March 14, 2022 10:00 AM

A couple weeks ago the Fedora Community Outreach Revamp(FCOR) team announced that we will be organizing a Ambassador Call Kick-off and collected feedback about availability. Based on the results from the whenisgood, we are excited to invite you to the Ambassador Call Kick-Off, on March 31st at 3PM UTC.

This meeting will be an hour long video session to introduce ourselves, talk about the updates from the FCOR Objective, review some beginning tasks, places to get involved, and set up a recurring call. This call is not limited to Ambassadors, it’s for anyone who is interested in Fedora’s outreach, including:

  • Ambassadors
  • Advocates
  • CommOps Team Members
  • Join SIG Team Members
  • Any Fedora community member interested in outreach

The FCOR team will circulate an agenda for the meeting in advance. We can’t wait to see you there!

Background

Since July of 2020, co-leads Mariana Balla and Sumantro Mukherjee, with the support of Marie Nordin, have been working on the Fedora Community Outreach Revamp Objective(FCOR).

This objective will be an initiative to revamp several community outreach teams within Fedora that are struggling to function, or need more support to truly become a success. The objective will bring together Ambassadors, Ambassador Emeritus, Join SIG, and Advocates all under the same umbrella of CommOps in a clear and cohesive structure.

This FCOR revolves around processing feedback from the Fedora community and its various outreach groups to help restructure ongoing and new processes. CommOps, Ambassadors, Join SIG are important teams that exist to make the Fedora Project a sustainable open source project by implementing internal and external outreach. Many of the Objective deliverables are completed or in progress.

The post You’re invited: Fedora Ambassador Call Kick-Off appeared first on Fedora Community Blog.

Next Open NeuroFedora meeting: 14 March 1300 UTC

Posted by The NeuroFedora Blog on March 14, 2022 09:05 AM
Photo by William White on Unsplash

Photo by William White on Unsplash.


Please join us at the next regular Open NeuroFedora team meeting on Monday 28 March at 1300 UTC The meeting is a public meeting, and open for everyone to attend. You can join us over:

You can use this link to convert the meeting time to your local time. Or, you can also use this command in the terminal:

$ date --date='TZ="UTC" 1300 2022-03-14'

The meeting will be chaired by @ankursinha. The agenda for the meeting is:

We hope to see you there!

Episode 314 – The Linux Dirty Pipe vulnerability

Posted by Josh Bressers on March 14, 2022 12:01 AM

Josh and Kurt talk about the Linux Kernel Dirty Pipe security vulnerability. This bug is an amazing combination of amazing complexity, incredible simplicity, and a little bit of luck. The discovery is amazing, the analysis is enlightening. There’s almost no way a bug like this could be found outside of open source.

<audio class="wp-audio-shortcode" controls="controls" id="audio-2723-2" preload="none" style="width: 100%;"><source src="https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_314_The_Linux_Dirty_Pipe_vulnerability.mp3?_=2" type="audio/mpeg">https://traffic.libsyn.com/opensourcesecuritypodcast/Episode_314_The_Linux_Dirty_Pipe_vulnerability.mp3</audio>

Show Notes

My first real mechanical keyboard!

Posted by Jon Chiappetta on March 13, 2022 01:01 AM

Intro: So, I know I’m a little late to the game in terms of getting a mechanical keyboard, however, I thought it would be a good investment to have a quality one just in case while WFH. I picked up one of those Ducky One-2-Mini keyboards in a white color and it offers some great built-in-hardware features.

Stock:

  • Programmable and saveable profiles
  • Swappable key mappings for caps/ctrl/alt/cmd/fn
  • Individually lit and bright RGB color patterns for every key
  • Cherry MX Brown Switches with a serious sound and tactile travel
  • Solid key stabilizers and firm case frame
  • Lays flat plus two levels of height adjustment all with rubber feet
  • Wired-only USB-C detachable-cable + firmware updates

Mods:

  • Remapped dedicated arrow keys, removed one stab set
  • Added some extra PBT keycap colors
  • Added one O-Ring to the space-bar keycap stem
  • Removed the top case cover piece
  • Replaced the bottom case rubber feet with more medium sized felt pads

There are some extra color keys that come with it which makes it look a little bit more vintage / retro / classic.

<figure class="wp-block-image aligncenter size-large is-resized is-style-default"></figure>


Mod-Sound(Impact): It’s not the lowest-profile one but the PBT keycaps are great quality and hug your fingers! I placed a single O-Ring on the space-bar only and it sounds much less hollow and more gentle, similar to a regular key press. One observation I noticed is that the overall sound of the keyboard changes depending on what surface it’s laying on, for example glass / wood / metal / plastic. I was able to replace the bottom rubber feet with felt pads and the resulting feel and sound is soo much softer and warmer! 🙂

<figure class="wp-block-image aligncenter size-large is-resized"></figure> <figure class="wp-block-image aligncenter size-large is-resized"></figure>


Mod-Sound(Airborne): The biggest improvement I made so far was the removal of the top cover piece. This greatly reduces and lessens the amount of sound wave interference that bounces around down within the inside of the case. From the mounting plate upwards, the top portion of the switch and keycap now sit at the highest point on the keyboard. You can hear a little spring ping if you listen closely along with slightly rougher switch noise, but the sound can now directly travel outwards and away from the keys and case, unobstructed. Each key press has a greater distinction and clarity to it, thus making it a much quieter and smoother typing experience!

<figure class="wp-block-image aligncenter size-large is-resized"></figure> <figure class="wp-block-image aligncenter size-large is-resized"></figure>


Mod-Visual(Keycaps): So after spending some time with this little keyboard, I was able to remap dedicated arrow keys to be on the right side while keeping the main modifier keys on the left side (I also remapped caps lock key to be a backup fn key, as this setup is geared more towards coding on the mac). I purchased some keycap colors (main: black / highlight: blue / outline: white) although it would be nice to find some properly wide arrow keys in the future.

<figure class="wp-block-image aligncenter size-large is-resized"></figure>


Finale: It’s still a pretty good keyboard esp for just a stock unit. I wish I could get one of the ones like Taeha makes as they sound soo super smooth and clean and crisp — mechanical contact points only. He’s able to lube all of the sub-components like springs, switches, stabilizers and basically eliminate or reduce most of the noises, thus creating some purrre asmr — buttery sounding. 🙂

<figure class="wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<iframe allowfullscreen="true" class="youtube-player" height="372" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation" src="https://www.youtube.com/embed/Hsm_azHkmAA?version=3&amp;rel=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;fs=1&amp;hl=en&amp;autohide=2&amp;wmode=transparent" style="border:0;" width="660"></iframe>
</figure> <figure class="wp-block-image aligncenter size-large is-resized is-style-default"><figcaption style="text-align:center;">¯\_(ツ)_/¯</figcaption></figure>

Generate Key Pair With OpenSSL And Import To PKCS#11 Token

Posted by Zamir SUN on March 12, 2022 03:04 PM

As I’m playing with PKCS#11 token a lot recently, I’m now thinking about generating all essential data off the card and then importing. This is less secure but makes backup possible. So I tried with OpenSSL to generate everything needed.

Let’s start by generate an RSA2048 key pair with openssl.

$ openssl genrsa -aes256 -out testkey.key 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
..................................................................................+++++
...............................................+++++
e is 65537 (0x010001)
Enter pass phrase for testkey.key:
Verifying - Enter pass phrase for testkey.key:

The following command can be used to inspect the private key.

$ openssl rsa -text -in testkey.key

To export the pub key, the following command is needed.

$ openssl rsa -in testkey.key -pubout -out testkey-public.key
Enter pass phrase for testkey.key:
writing RSA key

Then everything is prepared for certificate. For generating a CSR to send to public CA, follow the command below.

$  openssl req -new -key testkey.key -out testkey.csr
Enter pass phrase for testkey.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:Test Group
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:Test-Group
Email Address []:test@example.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:

The CSR details can be inspected with openssl req -text -in testkey.csr -noout.

To generate a self-signed certificate, the following command does the job.

$ openssl x509 -req -days 3654 -in testkey.csr -signkey testkey.key -out testkey.crt
Signature ok
subject=C = CN, O = Test Group, CN = Test-Group, emailAddress = test@example.com
Getting Private key
Enter pass phrase for testkey.key:

For generating a self-signed certificate, the above two steps can be merged as the following.

$ openssl req -new -x509 -days 3654 -key testkey.key -out testkey.crt
Enter pass phrase for testkey.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:.
Locality Name (eg, city) [Default City]:.
Organization Name (eg, company) [Default Company Ltd]:Test Group 
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:Test-Group
Email Address []:test@example.com

Depending on the token for storing the certificate, the private key and certificate might need to be converted.

To convert into a pfx file containing both the key pair and the certificate, use the following commands.

$ openssl pkcs12 -export -in testkey.crt -inkey testkey.key -out testkey.pfx
Enter pass phrase for testkey.key:
Enter Export Password:
Verifying - Enter Export Password:

To convert into DER format, the following commands helps.

$ openssl rsa -in ./testkey.key -outform DER -out testkey-key.der
Enter pass phrase for ./testkey.key:
writing RSA key
$ openssl x509 -outform DER -in testkey.crt -out testkey-crt.der

If the certificate is in pfx format but der format is needed, the private key and the client certificate without the chain can be extracted with the following commands.

$ openssl pkcs12 -in test-pkcs12.pfx -out test-pkcs12.crt -clcerts -nokeys
$ openssl pkcs12 -in test-pkcs12.pfx -out test-pkcs12.key -nocerts

Then convert both to the proper format like above. For example, then the keys and certificate can be imported to a PKCS#11 token using pkcs11-tool like below.

$ pkcs11-tool --login --write-object ~/tmp/testkey-key.der --type privkey --id 1
$ pkcs11-tool --login --write-object ~/tmp/testkey-crt.der --type cert --id 1
$ pkcs11-tool --login --write-object ~/tmp/testkey-public.key --type pubkey --id 1

One interesting finding: The gnupg-pkcs11-scd daemon can detect a key in token which the private key and certificate exists but not the public key. However, it does not work if only the private key and public key are in the token without the certificate. That is because, the public key can be generated from the certificate but not vise versa.

openssl x509 -inform DER -in ~/tmp/testkey-crt.der -pubkey > ~/tmp/testkey-public.key

References:

Friday’s Fedora Facts: 2022-10

Posted by Fedora Community Blog on March 11, 2022 09:36 PM

Here’s your weekly Fedora report. Read what happened this week and what’s coming up. Your contributions are welcome (see the end of the post)!

I have weekly office hours on Wednesdays in the morning and afternoon (US/Eastern time) in #fedora-meeting-1. Drop by if you have any questions or comments about the schedule, Changes, elections, or anything else. See the upcoming meetings for more information.

Announcements

CfPs

<figure class="wp-block-table">
ConferenceLocationDateCfP
Open Source Summit NAAustin, TX, US & virtual21–24 Juncloses 14 March
WE2220–22 OctHouston, TX, UScloses 14 Mar
OSCALTirana, AL18–19 JunCfP open
Devfest LilleLille, FR10 Juncloses 31 March
DevConfŁódź, PL1–2 Sepcloses 9 Apr
openSUSE ConferenceNuremberg, DE2–4 Juncloses 14 Apr
DevConf.USBoston, MA18–20 Augcloses 15 Apr
Upstreamvirtual7 Juncloses 15 Apr
Container DaysHamburg, DE & virtual5–7 Sepcloses 30 Apr
ShipItConDublin, IESepcloses 30 Apr
Open Source Summit EuropeDublin, IE & virtual13–16 Sepcloses 30 May
</figure>

Help wanted

Upcoming test days

Prioritized Bugs

See the Prioritized Bugs documentation for information on the process, including how to nominate bugs.

<figure class="wp-block-table">
Bug IDComponentStatus
1955416shimPOST
2037047selinux-policyASSIGNED
</figure>

Meetings & events

Releases

<figure class="wp-block-table">
Releaseopen bugs
F345276
F353503
F36 (pre-release)1604
Rawhide6418
</figure>

Fedora Linux 36

Schedule

See the schedule website for the full schedule.

Changes

<figure class="wp-block-table">
StatusCount
ASSIGNED2
ON_QA49
</figure>

Blockers

<figure class="wp-block-table">
Bug IDComponentBug StatusBlocker Status
2016613anacondaPOSTAccepted(Beta)
2018271fedora-releaseASSIGNEDAccepted(Beta)
2057193firefoxON_QAAccepted(Beta)
2017043mutterON_QAAccepted(Beta)
2063156mutterNEWProposed(Beta)
2037047selinux-policyASSIGNEDProposed(Beta)
</figure>

Fedora Linux 37

Changes

The table below lists proposed Changes. See the ChangeSet page or Bugzilla for information on approved Changes.

<figure class="wp-block-table">
ProposalTypeStatus
Make Rescue Mode Work With Locked RootSystem-WideFESCo #2713
Make pkexec and pkla-compat optionalSelf-ContainedFESCo #2766
Curl-minimal as defaultSystem-WideRejected
Boost 1.78 upgradeSystem-WideApproved
Drop i686 builds of jdk8,11,17 and latest (18) rpms from f37 onwardsSystem-WideAnnounced
Encourage Dropping Unused / Leaf Packages on i686Self-ContainedAnnounced
</figure>

Contributing

Have something you want included? You can file an issue or submit a pull request in the fedora-pgm/pgm_communication repo.

The post Friday’s Fedora Facts: 2022-10 appeared first on Fedora Community Blog.

CPE Weekly Update – Week of March 07th – 11th

Posted by Fedora Community Blog on March 11, 2022 10:00 AM
featured image with CPE team's name

This is a weekly report from the CPE (Community Platform Engineering) Team. If you have any questions or feedback, please respond to this report or contact us on #redhat-cpe channel on libera.chat (https://libera.chat/).

Highlights of the week

Infrastructure & Release Engineering

Goal of this Initiative

Purpose of this team is to take care of day to day business regarding CentOS and Fedora Infrastructure and Fedora release engineering work.
It’s responsible for services running in Fedora and CentOS infrastructure and preparing things for the new Fedora release (mirrors, mass branching, new namespaces etc.).
The ARC (which is a subset of the team) investigates possible initiatives that CPE might take on.
You can look at the I&R planning board.

Update

Fedora Infra

  • Working on deploying python3 FMN to staging, hitting various dependencies, but working through them.
  • 2 power9 boxes in IAD2 all installed and ready, 1 in RDU still needs installed, but otherwise all ready.
  • Increased memory on s390x kvm builders to help large packages build.
  • Normal business (renewed some certs, processed various uses requests, etc).

CentOS Infra including CentOS CI

Release Engineering

ARC

CentOS Stream

Goal of this Initiative

This initiative is working on CentOS Stream/Emerging RHEL to make this new distribution a reality. The goal of this initiative is to prepare the ecosystem for the new CentOS Stream.

Updates

  • Changes to CVE checker client code to workaround the timeouts holding things up.
  • Work on syncing the builds from the centos 8 stream koji to the new stream koji has been started.
  • Work started on sync2gitlab.

CentOS Duffy CI

Goal of this Initiative

Duffy is a system within CentOS CI Infra which allows tenants to provision and access bare metal resources of multiple architectures for the purposes of CI testing.
We need to add the ability to checkout VMs in CentOS CI in Duffy. We have OpenNebula hypervisor available, and have started developing playbooks which can be used to create VMs using the OpenNebula API, but due to the current state of how Duffy is deployed, we are blocked with new dev work to add the VM checkout functionality.

Updates

  • Deploy in dev environment in CentOS infrastructure.
  • Testing and whack-a-bug (ongoing).
  • Publish alpha to PyPi.
  • Expire sessions automatically (in review).
  • Systemd services (in review).

Image builder for Fedora IoT

Goal of this Initiative

Integration of Image builder as a service with Fedora infra to allow Fedora IoT migrate their pipeline to Fedora infra.

Updates

  • Received the koji-osbuild config file from Image Builder team.
  • Next steps are to go through the pieces and plan how to implement.

Bodhi

Goal of this Initiative

This initiative is to separate Bodhi into multiple sub packages, fix integration and unit tests in CI, fix dependency management and automate part of the release process.
Read ARC team findings in detail at: https://fedora-arc.readthedocs.io/en/latest/bodhi/index.html

Updates

  • Move to OIDC is done.
  • Dependency management (ongoing).
  • Discussion about stretch goals started (such as scoping some good first issues to attract new contributors and doing some spring cleaning in the issue tracker in general).
  • Discussion about when to release the next major version started (we should wait a bit).

EPEL

Goal of this initiative

Extra Packages for Enterprise Linux (or EPEL) is a Fedora Special Interest Group that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL), Oracle Linux (OL).

EPEL packages are usually based on their Fedora counterparts and will never conflict with or replace packages in the base Enterprise Linux distributions. EPEL uses much of the same infrastructure as Fedora, including buildsystem, bugzilla instance, updates manager, mirror manager and more.

Updates

  • EPEL9 up to 2094 source packages (increase of 35 from last week).
  • First EPEL Office Hours was a big success, good attendance and positive feedback afterwards.

Kindest regards,
CPE Team

The post CPE Weekly Update – Week of March 07th – 11th appeared first on Fedora Community Blog.

syslog-ng 4 theme: typing

Posted by Peter Czanik on March 10, 2022 03:18 PM

As explained in my previous post, we do have some features already in mind for syslog-ng 4, even though the work on creating a long term set of objectives for the syslog-ng project is not finished yet. One of the themes that I have working code for already, is typing.

syslog-ng traditionally assumes that log data, even if it comes in a structured form (like RFC5424 structured data or JSON) is primarily textual in nature. For this reason, name-value pairs in syslog-ng are text values just as the log message as a whole. The need for typing however came up previously, most notably in cases where we sent data to a consumer that supported typing, such as:

  • Elastic like other similar consumers use JSON, and attributes can have non-text types
  • SQL columns have types
  • Riemann metrics can have types

Read the rest of the blog at https://syslog-ng-future.blog/syslog-ng-4-theme-typing/

<figure><figcaption>

syslog-ng logo

</figcaption> </figure>

Firmware Software Bill of Materials

Posted by Richard Hughes on March 10, 2022 10:46 AM

A Software Bill of Materials (aka SBoM) is something you’ve probably never heard of, but in future years they’ll hopefully start to become more and more important. In May last year the US president issued an executive order titled Improving the Nation’s Cybersecurity in which it outlines the way that critical software used by various branches of the government should be more traceable and secure. One of the key information captured in a SBoM is “who built what from where” which in open source we’re already familiar with, e.g. “Red Hat built your Linux kernel in a datacenter in the US” rather than “random person from the internet build your container on their laptop using Debian Sarge” and in the former case we also always have the hash of the source archive that was used to build it, and a lot more. Where this concept breaks down is firmware, where lots of different entities build each subsection in different ways, usually due to commercial and technical constraints.

Firmware is often lumped together as one thing, both technically as-in “one download” and conceptually when thinking about OS security. In reality a single firmware image might contain a FSP from Intel, several updated CPU microcode blobs for a few different CPUs, a CSME management engine, an embedded controller update, a UEFI system firmware a lot more. The system firmware is then made up of different file volumes, each with a few dozen EFI “PEI” binaries for initial system start-up and then a couple of hundred (!) “DXE” binaries for things like pre-boot networking and things like fingerprint authentication, mouse and keyboard input.

In the executive order from last May, firmware was explicitly excluded from the list of software that required a SBoM, on the logic that none of the infrastructure or specifications were in place, and it just wasn’t possible to do. The requirement for SBoM for boot-level firmware is expected in subsequent phases of the executive order. Needless to say I’ve been spending the last few months putting all the pieces together to make a firmware SBoM not just possible, but super easy for OEMs, ODMs and IBVs to generate.

The first problem to solve is how to embed the software ID (also known as SWID) metadata into each EFI binary. This is solved by putting coSWID metadata (a DTMF specification) into a new COFF section called, unsurprisingly, “SBOM”. This allows us to automatically capture at build time some data, for instance the tree hash, and the files that were used to build the binary, etc. This is what my friends at Eclypsium have been working on – so soon you can drop a top-level vendor.ini file in your EDK2 checkout with the correct vendor data (legal name, home page etc.) and then you can just build the tree and get everything inserted in this new PE section automatically. This gets us half way there. The uSWID readme explains how to do this manually too, for people not using either the EDK2 build-system or a variant of it.

The second problem is how to include SWID metadata for the blobs we either don’t build, or we can’t modify in any way, e.g. the FSP or uCode. For this there’s an “external” version of the same coSWID metadata which has a simple header we can find in the firmware image. This can either be included in the file volume itself, or just included as a file alongside the binary deliverable. We just have to trust that the vendor includes the correct metadata there – and we’re already trusting the vendor to implement things like SecureBoot correctly. The vendor can either use the [pip install] uswid command line (more examples in the uSWID readme) or more helpfully there’s also a web-generator on the LVFS that can spit out the tiny coSWID blob with the correct header ready to be included somewhere in the binary image.

Open source firmware like coreboot is also in the same boat of course, but here we have more flexibility in how to generate and include the SWID metadata in the image. My friends at Immune and 9elements are planning to work on this really soon, so we can have feature parity for free firmware like coreboot – even when non-free blobs are included into the image so that it can actually work on real hardware.

So, we have the metadata provision from the IBV, ODM and OEM all sprinkled around the update binary. What do we do then? When the binary is uploaded to the LVFS we decompress all the shards of the firmware, and do various checks. At this point we can look for coSWID metadata in the EFI binaries and also uSWID+coSWID metadata for the non-free blobs. From this we can save any of the detected SWID metadata to the per-component datastore, and make it available as a publicly available SBoM HTML page and also .zip archive containing the raw SWID XML data. It probably makes sense to have an external tool, either a CLI utility in the lvfs-website project, or something in native golang — but that doesn’t exist yet.

The vendor also gets the all important “green tick” which means the customer buying the hardware knows that it’s complying with the new requirements. Of course, we can’t check if the ODM has included all the SWID metadata for all the binaries, or included all the SWID components for all of the nonfree chunks, but it’s good enough as a first pass. The next logical thing would be to make a rule saying that the SWID green tick disappears if we detected CPU microcode, but also didn’t detect any microcode SWID metadata, etc. It would also be interesting to show a pie-chart for a given firmware image, showing just where the firmware has been built from, and who by, and how much stuff remains unaccounted for. But, little steps first.

I think I’ve got agreement-in-principal from most of the major stakeholders, and I’ll be hopefully presenting this work alongside AMI to the UEFI forum in a few months time. This means we’re in a position to actually provide SBoM for all firmware when the next EO revision is announced, rather than the ecosystem collapsing into a ball of raw panic.

If you want to add uSWID metadata to your firmware please let me know how I can help, even if it’s not available on the LVFS yet; I think this makes just as much sense for firmware that sits on a USB hub as it does your system firmware. Comments welcome.

On command-line argument parsing

Posted by Daiki Ueno on March 10, 2022 08:22 AM

The command-line tools that are part of GnuTLS (such as certtool and p11tool) had been using the GNU AutoGen for handling command-line arguments. AutoGen (do not be confused with autogen.sh script commonly used in Autotools based projects) does a great job in that regard, as it produces command-line parsing code and the documentation from the single source file. On the other hand, integrating the AutoGen infrastructure into a project can be tricky in many ways, e.g., it requires its own runtime library (libopts) whose interface compatibility is not well maintained. Therefore, we decided to switch to a simpler solution and have finally completed the migration recently. As I spent way too much time on this, I thought it might make sense to summarize the process in case anyone comes into a similar situation.

The first thing we tried was to define the requirements and review the existing alternatives. The requirements turned out to be:

  • The tool produces code and documentation from the same source, i.e., we do not need to repeat ourselves writing a separate documentation for the commands
  • The generated code has little to no run-time dependencies
  • The tool itself doesn’t have exotic (build-)dependencies

We soon realized that there are surprisingly few candidates that meet those requirements. help2man, which is widely used in GNU tools, generates documentation from the command output, while it only supports manual pages (no texinfo/html/pdf support); neither GNU Gengetopt, gaa, nor argtable supports documentation generation at all, etc.

The other thing to consider was how to implement it in a non-disruptive manner. The initial attempt was to combine a help2man-like approach with documentation format conversion using Pandoc, which seemed good in general but the hurdle was that the AutoGen option definitions are written in its own language. Before proceeding with this approach we need to find a way to convert the definitions into the actual option parsing code!

We split this task into two phases: first to parse the AutoGen definitions and convert it to an easier-to-use format such as JSON and YAML, and then process it to generate the code. For the former, I came across pest.rs, which is a PEG (parsing expression grammar) based parser generator with elegantly designed programming interface in Rust. With this I was able to write a converter from the AutoGen definitions to JSON.
Then the generated JSON files are processed by Python scripts to generate the code and documentation. As the first phase is one-shot, we do not need Rust at build time but only need the Python scripts and its dependencies to be integrated in the project.

The scripts and the JSON schema are now hosted as a separate project, which might be useful for other projects.

Sudo 1.9.10: using regular expressions in the sudoers file

Posted by Peter Czanik on March 10, 2022 07:54 AM

It has been possible to use wildcards in the sudoers file for many years. This can make configuration easier and more flexible, but it also introduces problems of its own. Regular expressions, introduced in in sudo 1.9.10, allow you to create more fine grained rules. From this blog you will learn about some of the problems when you use wildcards in your sudoers file, and how using regular expressions can resolve those problems.

Read the rest of my blog at https://www.sudo.ws/posts/2022/03/sudo-1.9.10-using-regular-expressions-in-the-sudoers-file/

<figure><figcaption>

Sudo logo

</figcaption> </figure>

Kiwi TCMS 11.2

Posted by Kiwi TCMS on March 09, 2022 10:20 AM

We're happy to announce Kiwi TCMS version 11.2.

IMPORTANT: This is a small release which contains several improvements, new API methods, internal refactoring and new translations! This is the first release to ship aarch64 container images!

You can explore everything at https://public.tenant.kiwitcms.org!

Supported upgrade paths:

5.3   (or older) -> 5.3.1
5.3.1 (or newer) -> 6.0.1
6.0.1            -> 6.1
6.1              -> 6.1.1
6.1.1            -> 6.2 (or newer)

---

Upstream container images (x86_64):

kiwitcms/kiwi   latest  bcc4c658440a    622MB

IMPORTANT: version tagged and multi-arch container images are available only to subscribers!

Changes since Kiwi TCMS 11.1

Improvements

  • Update django from 4.0.2 to 4.0.3
  • Update django-grappelli from 3.0.2 to 3.0.3
  • Update django-simple-captcha from 0.5.14 to 0.5.17
  • Update python-bugzilla from 3.1.0 to 3.2.0
  • Update python-gitlab from 3.1.1 to 3.2.0
  • Update node_modules/prismjs from 1.26.0 to 1.27.0
  • Add new command to perform a collection of post-upgrade tasks. Kiwi TCMS admins are advised to replace manage.py migrate with manage.py upgrade (Ivajlo Karabojkov)

API

  • New API method Category.create(). Fixes Issue #2705 (Erik Heeren)
  • New API method Classification.create(). Fixes Issue #2705 (Erik Heeren)

Refactoring and testing

  • Add docker build & push automation
  • Fix Bandit exclusion rule
  • Test and build on aarch64
  • Apply auto fixes fro pre-commit.ci
  • Apply auto fixes from Deepsource
  • Update versions of several GitHub Actions
  • Use the appropriate path to package.json for Dependabot
  • Remove old Telemetry link in menu to avoid confusion

Kiwi TCMS Enterprise v11.2-mt

  • Based on Kiwi TCMS v11.2

  • Update django-ses from 2.4.0 to 2.6.0

  • Update python3-saml from 1.13.0 to 1.14.0

  • Revert "Use django.contrib.staticfiles.storage from Django==3.2.12". Instead use the implementation from latest Django version. Closes Issue #140

  • Start building kiwitcms/enterprise on aarch64

  • Add changelog check & docker release automation

  • Add test for PSA login URLs on login page. References Issue #83

  • Add SAML & Azure AD logo images

  • Update GitHub Actions

  • Hard-code testing with Keycloak 16.1.1 to workaround significant differences with Keycloak v17 container

    Private images:

    quay.io/kiwitcms/enterprise         11.2-mt (aarch64)   fe5e869e36f6    09 Mar 2022    890MB
    quay.io/kiwitcms/enterprise         11.2-mt (x86_64)    134320d5fb7c    09 Mar 2022    841MB
    quay.io/kiwitcms/version            11.2 (aarch64)      3b782830d19d    09 Mar 2022    665MB
    quay.io/kiwitcms/version            11.2 (x86_64)       bcc4c658440a    09 Mar 2022    620MB
    

IMPORTANT: version tagged, multi-arch and Enterprise container images are available only to subscribers!

How to upgrade

Backup first! Then execute the commands:

cd path/containing/docker-compose/
docker-compose down
docker-compose pull
docker-compose up -d
docker exec -it kiwi_web /Kiwi/manage.py upgrade

Refer to our documentation for more details!

Happy testing!

---

If you like what we're doing and how Kiwi TCMS supports various communities please help us!