• FreeBSD Quarterly Status Report - Third Quarter 2022 (1/2)

    From Lorenzo Salvadore@21:1/5 to All on Fri Oct 21 10:00:09 2022
    FreeBSD Quarterly Status Report Third Quarter 2022

    Here is the third quarterly report for year 2022, with 24 reports included, which is slightly fewer than last quarter.

    I notice that in the past we had quarters with many more reports: often more than 30, sometimes even more than 40. Thus I would like to encourage all of you to submit reports: reports are useful to share your work, to find help, to have more eyes reviewing your changes, to have more people testing your software, to reach a wider audience whenever you need to tell something to all of the FreeBSD community and in many other cases. Please do not be shy and do not worry if you are not a native English speaker or if you are not proficient in AsciiDoc syntax: the quarterly team will be glad to help you in whatever you need.

    On the other hand, if you really do not have anything to report, then maybe you might like to join one of the interesting projects described below, or you might be inspired from one of them to do something new, thus having something to report in the future.

    We wish you all a pleasant read.

    Lorenzo Salvadore, on behalf of the status report team.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    A rendered version of this report is available here: https://www.freebsd.org/status/report-2022-07-2022-09/

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Table of Contents

    • FreeBSD Team Reports
    □ FreeBSD Core Team
    □ FreeBSD Foundation
    □ FreeBSD Release Engineering Team
    □ Cluster Administration Team
    □ Continuous Integration
    □ Ports Collection
    • Projects
    □ OpenStack on FreeBSD
    □ FreeBSD as a Tier 1 cloud-init Platform
    • Userland
    □ bhyve debug server enhancements
    □ Rewrite of pjdfstest
    □ Ongoing work on LLDB multiprocess debugging support
    □ DTrace: Instruction-level dynamic tracing
    • Kernel
    □ ENA FreeBSD Driver Update
    □ wtap(4) enhancement
    □ Intel wireless towards 11ac
    □ More wireless updates
    □ Enabling Snapshots on Filesystems Using Journaled Soft Updates
    • Architectures
    □ FreeBSD/Firecracker
    • Documentation
    □ Documentation Engineering Team
    • Ports
    □ Calendar-data: License added
    □ KDE on FreeBSD
    □ GCC: New maintainer, GCC 12.2 and more
    □ sysutils/lsof major upgrade
    • Third Party Projects
    □ Containers and FreeBSD: Pot, Potluck and Potman

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Team Reports

    Entries from the various official and semi-official teams, as found in the Administration Page.

    FreeBSD Core Team

    Contact: FreeBSD Core Team <core@FreeBSD.org>

    The FreeBSD Core Team is the governing body of FreeBSD.

    Completed Items

    New Core Team Secretary

    All members of the Core Team express publicly their gratitude to Muhammad Moinur Rahman (bofh) for serving as the Core Team Secretary for the past two years.

    The Core Team approved Sergio Carlavilla (carlavilla) as the new Core Team secretary.

    Procedure to handle GDPR deletion request

    The Core Team has reviewed the procedure to handle GDPR deletions requests with help from Foundation lawysers. The document is currently being written and will be published after completion.

    New Privacy Policy

    The Core Team is working closely with the FreeBSD Foundation to update the Privacy Policy to properly align with current laws and practices found on similar websites such as ours.

    Bruce Evans memorial plaque

    The Core Team unanimously votes to allow the memorial plaque for Bruce Evans mentioning him as co-founder of FreeBSD.

    EuroBSDCon core team office hour

    On Friday, September 16, the new Core Team presented at EuroBSDcon 2022 Developer Summit. The Core Team introduced themselves and talked a bit about their plans for this term. There were discussions, Q & A, and suggestions from the attendees about the details.

    Commit bits

    Core approved reactivating the source commit bit for Konrad Witaszczyk (def@). Right now Konrad is working at Cambridge University, where he is responsible for developing CheriBSD.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Foundation

    Links:
    FreeBSD Foundation URL: https://www.FreeBSDFoundation.org
    Technology Roadmap URL: https://FreeBSDFoundation.org/blog/technology-roadmap/ Donate URL: https://www.FreeBSDFoundation.org/donate/
    Foundation Partnership Program URL: https://www.FreeBSDFoundation.org/ FreeBSD-foundation-partnership-program
    FreeBSD Journal URL: https://www.FreeBSDFoundation.org/journal/
    Foundation News and Events URL: https://www.FreeBSDFoundation.org/ news-and-events/

    Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

    The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Donations from individuals and corporations are used to fund and manage software development projects, conferences, and developer summits. We also provide travel grants to FreeBSD contributors, purchase and support hardware to improve and maintain FreeBSD infrastructure, and provide resources to improve security, quality assurance, and release engineering efforts. We publish marketing material to promote, educate, and advocate for the FreeBSD Project, facilitate collaboration between commercial vendors and FreeBSD developers, and finally, represent the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.

    Fundraising Efforts

    First, I’d like to send a big thank you to everyone who gave a financial contribution to our efforts. We are 100% funded by your donations, so every contribution helps us continue to support FreeBSD in many ways, including some of the work funded and published in this status report.

    We support FreeBSD in five main areas. Software development is the largest area we fund with through staff developers and contractors who implement new features, support tier 1 platforms, review patches, and fix issues. You can find out some of the work we did under OS Improvements in this report. FreeBSD Advocacy is another area that we support to spread the word about FreeBSD at conferences, in presentations online and in-person, tutorials and how-to guides. We purchase and support hardware for the FreeBSD infrastructure that supports the work going on in the Project. Virtual and in-person events are organized by the Foundation to help connect and engage community members to share their knowledge and collaborate on projects. Finally, we provide legal support to the Project when needed and protect the FreeBSD trademarks.

    Our goal this year is to raise at a minimum $1,400,000 towards a spending budget of around $2,000,000. As we enter the last quarter of 2022, our donation total sits at $167,348, so we still need your help. If you haven’t made a donation this year, please consider making one at https://freebsdfoundation.org /donate/. We also have a Partnership Program for larger commercial donors. You can find out more at https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/

    OS Improvements

    During the second quarter of 2022, 300 src, 36 ports, and 13 doc tree commits were made that identified The FreeBSD Foundation as a sponsor. Some of that work has dedicated report entries.

    • FreeBSD as a Tier I cloud-init Platform

    • Intel wireless towards 11ac

    • LLDB multiprocess debugging support

    • OpenStack on FreeBSD

    • Snapshots on Filesystems Using Journaled Soft Updates

    The other sponsored work is challenging to concisely summarize. It varies from complex new features to various bug fixes spanning the src tree. Here is a small sample to give a flavor of last quarter’s work.

    • 240afd8 makefs: Add ZFS support

    This allows one to take a staged directory tree and create a file consisting
    of a ZFS pool with one or more datasets that contain the contents of the
    directory tree. This is useful for creating virtual machine images without
    using the kernel to create a pool; "zpool create" requires root privileges and
    currently is not permitted in jails. makefs -t zfs also provides reproducible
    images by using a fixed seed for pseudo-random number generation, used for
    generating GUIDs and hash salts. makefs -t zfs requires relatively little by
    way of machine resources.

    • 36f1526 Add experimental 16k page support on arm64

    Add initial 16k page support on arm64. It is considered experimental, with no
    guarantee of compatibility with userspace or kernel modules built with the
    current 4k page size. Testing has shown good results in kernel workloads that
    allocate and free large amounts of memory as only a quarter of the number of
    calls into the VM subsystem are needed in the best case.

    • 1424f65 vm_pager: Remove the default pager

    It's unused now. Keep the OBJ_DEFAULT identifier, but make it an alias of
    OBJT_SWAP for the benefit of out-of-tree code.

    • a889a65 eventtimer: Fix several races in the timer reload code

    In handleevents(), lock the timer state before fetching the time for the next
    event. A concurrent callout_cc_add() call might be changing the next event
    time, and the race can cause handleevents() to program an out-of-date time,
    causing the callout to run later (by an unbounded period, up to the idle
    hardclock period of 1s) than requested.

    Bhyve Issue Support

    The Foundation contracted John Baldwin to dedicate time to Bhyve as issues arise, especially security issues. Here is a summary of his 2022q3 work on that contract.

    • bb31aee bhyve virtio-scsi: Avoid out of bounds accesses to guest requests.

    • 62806a7 bhyve virtio-scsi: Tidy warning and debug prints.

    • 7afe342 bhyve e1000: Sanitize transmit ring indices.

    • c94f30e bhyve: Validate host PAs used to map passthrough BARs.

    • 16bedf5 pci: Add helper routines to iterate over a device’s BARs.

    • baf753c bhyve: Support other schemes for naming pass-through devices.

    • fa46f37 bhyve e1000: Skip packets with a small header.

    • e7439f6 bhyve xhci: Cache the value of MaxPStreams when initializing an
    endpoint.

    RISC-V Improvements

    At the end of the quarter, the Foundation contracted Mitchell Horne to add and improve support for RISC-V hardware. Mitchell will also perform general maintenance such as fixing bugs, handling reports, providing review for new code changes, and improving source code legibility and documentation.

    Continuous Integration and Quality Assurance

    The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project. You can read about CI activities this quarter in a dedicated entry.

    FreeBSD Advocacy and Education

    Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature and video tutorials, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

    The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We are continuing to attend events both in person and virtual as well as planning the November Vendor Summit. In addition to attending and planning virtual events, we are continually working on new training initiatives and updating our selection of how-to guides to facilitate getting more folks to try out FreeBSD.

    Check out some of the advocacy and education work we did last quarter:

    • Held a FreeBSD Workshop and Staffed a booth at Scale 19x in Los Angeles, CA
    on July 28-30. You can read more about our participation in the SCALE19X
    Conference Report

    • Sponsored and attended COSCUP, July 30-31, Taiwan

    • Attended the EuroBSDCon Developer Summit and sponsored and attended
    EuroBSDcon 2022, September 15-18, Vienna, Austria

    • Sponsored and Presented at the Rocky Mountain Celebration of Women in
    Computing, September 29-30, 2022. Slides from Deb’s presentation can be
    found here.

    • Published the FreeBSD Foundation Summer 2022 Update

    • Continued our participation in Google Summer of Code as both an admin and
    mentors. Interviews with some of the Google Summer of Code Students can be
    found here.

    • Introduced a new FreeBSD Resources page that allows for search by type of
    subject, type of content and difficulty level.

    • New Blog Posts:

    □ Guest Post: FreeBSD in Science

    □ Advocating for FreeBSD in 2022 and Beyond

    □ August Foundation Fundraising Update

    □ Sharing Dual-Licensed Drivers between Linux and FreeBSD

    • New and Updated How-To and Quick Guides:

    □ FreeBSD Quick Guide: Video Playback on FreeBSD

    □ Binary Package Management on FreeBSD

    We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https:// www.FreeBSDfoundation.org/journal/.

    You can find out more about events we attended and upcoming events at https:// www.FreeBSDfoundation.org/news-and-events/.

    Legal/FreeBSD IP

    The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.

    Go to https://www.FreeBSDFoundation.org to find more about how we support FreeBSD and how we can help you!

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD Release Engineering Team

    Links:
    FreeBSD 12.4-RELEASE schedule URL: https://www.freebsd.org/releases/12.4R/ schedule/
    FreeBSD 13.2-RELEASE schedule URL: https://www.freebsd.org/releases/13.2R/ schedule/
    FreeBSD 14.0-RELEASE schedule URL: https://www.freebsd.org/releases/14.0R/ schedule/
    FreeBSD development snapshots URL: https://download.freebsd.org/snapshots/ ISO-IMAGES/

    Contact: FreeBSD Release Engineering Team, <re@FreeBSD.org>

    The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.

    During the third quarter of 2022, the Release Engineering Team continued providing weekly development snapshot builds for the main, stable/13, and stable/12 branches.

    Additionally, the schedules for the upcoming 12.4, 13.2, and 14.0 release cycles were published on the Project website.

    Sponsor: Rubicon Communications, LLC ("Netgate") Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Cluster Administration Team

    Links:
    Cluster Administration Team members URL: https://www.freebsd.org/administration /#t-clusteradm

    Contact: Cluster Administration Team <clusteradm@FreeBSD.org>

    FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronise its distributed work and communications. In this quarter, the team has worked on the following:

    • Added additional storage to the CI system. It will help store more
    artifacts.

    • VuXML deployed in all official mirrors. It speeds up the pkg audit
    functionality.

    • A new (and additional) monitoring system is in place.

    • A few old and faulty machines were decommissioned.

    • Moved several services to newer hardware.

    • Regular cluster-wide software upgrades

    • Regular support for FreeBSD.org user accounts

    • Regular disk and parts support (and replacement) for all physical hosts and
    mirrors.

    Work in progress:

    • git infra: Add --filter support.

    • Work with the PowerPC team to improve the package builders, universal, and
    reference machines.

    • Site audit at our primary site: inventory of spares and other miscellanea
    occupying space in our cabinets.

    • Discussions with Juniper about a donation of new switches for our primary
    site.

    • Plan for a large scale network upgrade at our primary site.

    • Cluster refresh (more extended project). Most cluster machines are running
    FreeBSD 13-STABLE or 14-CURRENT as of 2022-09-30. Only a handful of
    machines are still on FreeBSD 12-STABLE.

    We are looking for an additional full mirror site (five servers) in Europe. See generic mirrored layout for our needs. Offers of additional single-server mirrors are always welcome too, especially in Europe.

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Continuous Integration

    Links:
    FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org
    FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org
    FreeBSD Jenkins wiki URL: https://wiki.freebsd.org/Jenkins
    Hosted CI wiki URL: https://wiki.freebsd.org/HostedCI
    3rd Party Software CI URL: https://wiki.freebsd.org/3rdPartySoftwareCI
    Tickets related to freebsd-testing@ URL: https://preview.tinyurl.com/y9maauwg FreeBSD CI Repository URL: https://github.com/freebsd/freebsd-ci
    dev-ci Mailing List URL: https://lists.freebsd.org/subscription/dev-ci

    Contact: Jenkins Admin <jenkins-admin@FreeBSD.org>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>
    Contact: freebsd-testing Mailing List
    Contact: IRC #freebsd-ci channel on EFNet

    The FreeBSD CI team maintains the continuous integration system of the FreeBSD project. The CI system checks the committed changes can be successfully built, then performs various tests and analysis over the newly built results. The artifacts from those builds are archived in the artifact server for further testing and debugging needs. The CI team members examine the failing builds and unstable tests and work with the experts in that area to fix the code or adjust test infrastructure.

    During the third quarter of 2022, we continued working with the contributors and developers in the project to fulfill their testing needs and also keep collaborating with external projects and companies to improve their products and FreeBSD.

    Important completed tasks:

    • Expand the artifact storage space for adding more types of artifacts and
    longer retention period.

    • Present Testing/CI Status Update in EuroBSDcon 2022 Developer Summit

    • Add main-powerpc-images and main-powerpcspe-images

    Work in progress tasks:

    • Designing and implementing pre-commit CI building and testing (to support
    the workflow working group)

    • Designing and implementing use of CI cluster to build release artifacts as
    release engineering does

    • Testing and merging pull requests in the FreeBSD-ci repo

    • Simplifying CI/test environment setting up for contributors and developers

    • Setting up the CI stage environment and putting the experimental jobs on it

    • Organizing the scripts in freebsd-ci repository to prepare for merging to
    src repository

    • Updating documents on wiki

    Open or queued tasks:

    • Collecting and sorting CI tasks and ideas

    • Setting up public network access for the VM guest running tests

    • Implementing use of bare-metal hardware to run test suites

    • Adding drm ports building tests against -CURRENT

    • Planning to run ztest tests

    • Adding more external toolchain related jobs

    • Improving maturity of the hardware lab and adding more hardware for testing

    • Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
    3rdPartySoftwareCI, HostedCI)

    • Working with hosted CI providers to have better FreeBSD support

    Please see freebsd-testing@ related tickets for more WIP information, and don’t
    hesitate to join the effort!

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Ports Collection

    Links:
    About FreeBSD Ports URL:https://www.FreeBSD.org/ports/
    Contributing to Ports URL: https://docs.freebsd.org/en/articles/contributing/# ports-contributing
    FreeBSD Ports Monitoring URL: http://portsmon.freebsd.org/
    Ports Management Team URL: https://www.freebsd.org/portmgr/
    Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/

    Contact: René Ladan <portmgr-secretary@FreeBSD.org>
    Contact: FreeBSD Ports Management Team <portmgr@FreeBSD.org>

    The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.

    Currently there are just over 30,500 ports in the Ports Tree. There are currently just under 2,800 open ports PRs of which 750 are unassigned. The last quarter saw 9,137 commits by 151 committers on the main branch and 589 commits by 61 committers on the 2022Q3 branch. Compared to two quarters ago, this means a slight increase in the number of ports, but also a slight increase in the number of (unassigned) ports PRs and a slight decrease in the number of commits made.

    In the last quarter, we welcomed Felix Palmen (zirias@) as a new ports committer, welcomed back Akinori MUSHA (knu@), and said goodbye to Olli Hauer (ohauer@). We also welcomed Luca Pizzamiglio (pizzamig@) as an official member of portmgr.

    Some large changes in the Ports Tree were made during the last quarter:

    • "Created by" lines have been removed from the top of each Makefile, as a
    lot of those were outdated.

    • WWW: has been moved from each pkg-descr into each Makefile as a variable;
    the below write-up is from Stefan Eßer (se@) who did the work:

    The description of a port’s functionality should end with the URL of a web page
    that provides further information, such as best practices for usage or configuration. This information can be displayed with pkg query -e for installed packages or pkg rquery -e for available packages. The URL used to be appended to the end of the ports' pkg-descr files, with the prefix "WWW: ", so that tools could extract the URL from the description. Over time, many of these URLs have become stale, since port updates generally change only the Makefile, not the pkg-descr file. By moving the definition of these URLs into the Makefiles, maintainers are more likely to update the URL along with other port changes, and tools have easier access to them. The URLs are now assigned to the WWW macro in the Makefile and can be queried with make -V WWW in the port directory. Tools that process the description contained in the package files still work because the "WWW: " lines at the end are generated from the WWW values in the Makefiles.

    During EuroBSDCon, portmgr@ had a discussion about improving the situation for kernel module packages. Various possibilities have been discussed.

    The following happened under the hood:

    • one new USES, "vala", was added.

    • The default version of Go got bumped to 1.19

    • CMake is now a meta-port

    • Initial support for Qt 6 was added, at version 6.3.2

    • Vim no longer installs a system-wide vimrc

    • A number of major ports got updated:

    □ pkg 1.18.4

    □ Chromium 106.0.5249.91

    □ Firefox 105.0.1

    ☆ Firefox ESR 102.3.0

    □ KDE Applications 22.8.1

    □ KDE Frameworks 5.98

    □ Rust 1.63.0

    □ SDL 2.24.0

    □ Xorg server 21.1.4 (overhaul)

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Projects

    Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.

    OpenStack on FreeBSD

    Links:
    OpenStack URL: https://www.openstack.org/
    OpenStack on FreeBSD URL: https://github.com/openstack-on-freebsd

    Contact: Chih-Hsin Chang <starbops@hey.com>
    Contact: Li-Wen Hsu <lwhsu@FreeBSD.org>

    OpenStack is an open-source cloud operating system for different types of resources like virtual and bare-metal machines. Users can spawn FreeBSD instances on the open cloud platform, but it is not currently possible to run OpenStack control plane on FreeBSD hosts. The goal of this project is to port key OpenStack components so that FreeBSD can function as an OpenStack host.

    Academic and industrial research groups have been evaluating CHERI-enabled Morello boards since mid-2022. A resource orchestration platform like OpenStack can improve the speed and cost of provisioning, managing, and recycling those boards.

    Starting in January 2022, Chih-Hsin Chang has been working to port several OpenStack components to run on FreeBSD, including:

    • Keystone (identity service)

    • Glance (image service)

    • Placement (resource tracking and inventory service)

    • Neutron (networking service)

    • Nova (compute service)

    Some of the items are still under heavy development. For instance, due to the design of Neutron, the DHCP servers are placed inside Linux network namespaces. It is necessary to find an alternative, e.g. vnet, on FreeBSD and adapt it. Most of the time the porting strategy is to make as small of an impact as possible by working around obstacles. But something like oslo.privsep deserves a true porting. oslo.privsep is rooted in Linux capabilities to do the privilege separation work. Right now we just bypassed any Linux capabilities-related operation inside oslo.privsep. So there is plenty of hackish spots in the source code and configurations currently. All of these along with the building and installation steps will be collected in the project repositories.

    In Q4 Chih-Hsin plans to focus on porting Neutron and Nova in order to complete the VM lifecycle operations. The highlights include:

    • DHCP integration

    • FreeBSD bridge driver/agent

    • Bhyve + Libvirt integration

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    FreeBSD as a Tier 1 cloud-init Platform

    Links:
    cloud-init Website URL: https://cloud-init.io/
    cloud-init Documentation URL: https://cloudinit.readthedocs.io/en/latest/ cloud-init ongoing refactorization URL: link:https://github.com/canonical/ cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst

    Contact: Mina Galić <me+FreeBSD@igalic.co>

    cloud-init is the standard way of provisioning servers in the cloud. Unfortunately, cloud-init support for operating systems other than Linux is rather poor, and the lack of cloud-init support on FreeBSD is a hindrance to cloud providers who want to offer FreeBSD as a Tier 1 platform. To remedy the situation, this project aims to bring FreeBSD cloud-init support on par with Linux support. The broader plan is to lift support across all BSDs.

    The project deliverables include completing an extraction of certain networking classes, implementing ifconfig(8) and login.conf(5) parsers, implementing IPv6 configuration, creating devd.conf(5) rules for Azure, and FreeBSD Handbook documentation about productionizing FreeBSD.

    On the way there, any BSD-related bugs found in modules and documentation will also be fixed.

    People interested in helping with the project can help with testing new features and fixes through net/cloud-init-devel, which will be updated on a weekly basis. Further, people with access to, and experience with, OpenBSD and NetBSD are also highly welcome to help.

    Sponsor: The FreeBSD Foundation

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Userland

    Changes affecting the base system and programs in it.

    bhyve debug server enhancements

    Links:
    link: Wiki project page
    link: Differential
    Contact: Bojan Novković <bojan.novkovic@kset.org>

    The goal of this project was to enhance the functionality of bhyve’s debug server. Several existing features related to single-stepping are tied to Intel-specific VM mechanisms, which severely impairs bhyve’s debugging functionality on other x86 platforms. The first goal dealt with extending single-stepping support to AMD hosts. The second goal was to add support for hardware watchpoints using the guest OS’s hardware debugging registers.

    The project was carried out under Google’s Summer of Code program and was finished around the end of July. The project’s wiki also contains detailed documentation regarding several implemented mechanisms.

    The changes can be summarized as follows:

    • Support for placing software breakpoints inside virtual machines on AMD
    platforms,

    • Support for single-stepping virtual machines on AMD platforms,

    • Support for placing hardware watchpoints inside virtual machines on Intel
    and AMD platforms.

    Any feedback, comments and discussions are welcome and would be greatly appreciated.

    Sponsor: Google Summer of Code

    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

    Rewrite of pjdfstest

    Links:
    Github URL: https://github.com/musikid/pjdfstest
    Blog URL: https://musikid.github.io/blog/rewrite-pjdfstest/
    Contact: Alan Somers <asomers@FreeBSD.org>

    Back in 2007, Pawel Jakub Dawidek <pjd@FreeBSD.org> wrote pjdfstest, a POSIX file system conformance test tool. He originally wrote it to validate the port of ZFS to FreeBSD, but it has subsequently been used for other file systems and

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)