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 resource types like virtual and bare-metal machines. Users can spawn FreeBSD instances on the open cloud platform, but it is not currently possible to run the OpenStack control plane on FreeBSD hosts. This project aims to port key OpenStack components so that FreeBSD can function as an OpenStack host.
In 2022 Q4, we have almost completed the porting work regarding the crucial OpenStack components. Most of the components/services composing an essential OpenStack cluster are now able to run on FreeBSD hosts, including:
-
Keystone (identity service)
-
keystone server
-
-
Glance (image service)
-
glance-api
-
-
Placement (resource tracking and inventory service)
-
placement-api
-
-
Neutron (networking service)
-
neutron-server
-
neutron-metadata-agent
-
neutron-dhcp-agent
-
neutron-openvswitch-agent
-
-
Nova (compute service)
-
nova-api
-
nova-conductor
-
nova-scheduler
-
nova-compute
-
nova-novncproxy
-
The step-by-step documents for constructing a POC can be found
in the
docs
repository.
In its design, most of the OpenStack components provide an
abstraction layer for the underlying implementations. For nova, we
choose the combination of the libvirt
driver with the
bhyve
virtualization type enabled. For neutron, it is
the openvswitch
mechanism driver. We solved several
runtime dependencies and porting issues against the Libvirt, bhyve,
and Open vSwitch combinations with minimal effort. We still have
lots of work to undertake to make the changes back to OpenStack
upstream.
TODOs include:
-
Develop a proper alternative execution path in the
oslo_privsep
module for FreeBSD environments -
Develop a new virtualization type,
bhyve
, for nova-compute’slibvirt
driver -
Develop the IP library for FreeBSD under
neutron/agent/freebsd
In the first few weeks of 2023, we will focus on breaking through the last mile of the instance spawn path and wrapping up the documentation regarding POC site construction. We will also try rebasing the porting work to the master branch of OpenStack (now Xena).
People interested in helping with the project can first help check the documentation by following the installation guide.
Sponsor: The FreeBSD Foundation
Last modified on: January 23, 2023 by Lorenzo Salvadore