Installation scripts for NFV Express
Shell Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
conf sync repo Feb 9, 2017
include sync repo Feb 9, 2017
LICENSE sync repo Feb 9, 2017 Update Mar 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 update to 2017Q3 Aug 9, 2017 sync repo Feb 9, 2017 Update Aug 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 update to 2017Q3 Aug 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 update to 2017Q3 Aug 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 update to 2017Q3 Aug 9, 2017 update to 2017Q3 Aug 9, 2017 sync repo Feb 9, 2017 sync repo Feb 9, 2017 update to 2017Q3 Aug 9, 2017 Update Apr 7, 2017 sync repo Feb 9, 2017


This bundle of scripts deploys a single-node OpenStack on FreeBSD 11 from NFV Express binary repository that includes these services

  • MySQL 5.7, RabbitMQ, Memcached
  • Command line OpenStack client (openstack, keystone, glance, nova commands)
  • Keystone (managing authentication, authorization)
  • Glance (virtual machine images)
  • Nova (compute service)
  • Cinder (block storage service, available only on Xen installations)
  • Horizon (OpenStack Dashboard)


Starting 9 of March 2017, new deployments from binary repository are not encouraged.


  • Fresh installed FreeBSD 11 server on x86-64 hardware with at least 8GB RAM
  • EPT and IOMMU processor features to use Xen hypervisor
  • Configured Xen Dom0 with 6GB RAM
  • At least 1 NIC with Static IP


Make sure you have correct /etc/hosts entry that points to the machine hostname. openstack

Also NIC should be configured statically

ifconfig_re0="inet netmask"

Determine the public interface name that will be for sharing internet connection to instances using NAT.

# ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether aa:bb:cc:dd:ee:ae
	inet netmask 0xffffff00 broadcast 
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active

Create a TAP interface for the Flat Network (between instances).

# sysrc cloned_interfaces="tap0"
# ifconfig tap create name tap0

Installation for Xen

Xen provides almost baremetal performance comparing to QEMU and this is a preferable option. For more information how to install Xen on FreeBSD 11 machine please refer to FreeBSD Wiki You can also install xen hypervisor by using script from this bundle.

# sh 
Usage: dom0_mem dom0_max_vcpus
  dom0_mem       - Memory allocated for Dom0
  dom0_max_vcpus - Virtual CPUs allocated for Dom0
Example: 6144M 4

Launch installation script

sh xen openstack re0 tap0

Finishing installation

When installaction completes you can navigate to the OpenStack Dashboard and try to launch a Virtual Machine. To use command-line OpenStack clients create a openrc files and source it every time before running openstack command.

OpenRC files for sh and csh are automatically generated and located in your home directory.

export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_AUTH_URL=http://controller:35357/v3

CSH version is slighly different

setenv OS_USERNAME admin
setenv OS_PROJECT_NAME admin
setenv OS_USER_DOMAIN_NAME Default
setenv OS_AUTH_URL http://controller:35357/v3


We provide a pre-built FreeBSD 11.0 image that works with NFV Express.

Other tested images

It's possible to boot popular Linux-based cloud images as well as *BSD

Images marked by asterisk are built for testing and may not be up to date.

Uploading boot images

When using Xen hypervisor it's important to set the proper metadata for glance image in order to launch the virtual machine. This can be done by running script or setting it manually

Please specify _ADMIN_PASS variable in before starting the script.

echo ">> Setting metadata for glance images"
$ . ~/
$ for i in $(openstack image list -f value | awk '{print $1}'); do
    glance image-update $i \
        --property hypervisor_type=xen \
        --property vm_mode=hvm \
        --property hw_disk_bus=xen


Full installation guide for FreeBSD® is available on our website.

Planned features

  • ZFS support for block storage
  • iSCSI drivers with multipath support
  • Live migrations and quick snapshots
  • Neutron service, support for rich network topologies
  • VLANs and QoS
  • Security groups
  • Performance monitoring using Ceilometer
  • Database as a Service (Trove)
  • Elastic Map Reduce (Sahara)
  • OpenStack Orchestration (Heat)

For more information regarding NFV Express project status read here.