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
Last modified on: October 18, 2022 by Lorenzo Salvadore