=== OpenStack on FreeBSD

Links: +
link:https://www.openstack.org/[OpenStack] URL: link:https://www.openstack.org/[] +
link:https://github.com/openstack-on-freebsd[OpenStack on FreeBSD] URL: link: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 https://github.com/openstack-on-freebsd[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
