OpenMCF logoOpenMCF

Loading...

OpenStack Network

Deploys an OpenStack Neutron network, providing an isolated Layer 2 broadcast domain that serves as the foundation for subnets, ports, routers, and instance attachments.

What Gets Created

When you deploy an OpenStackNetwork resource, OpenMCF provisions:

  • Neutron Network — an openstack_networking_network_v2 resource with the configured administrative state, MTU, port security settings, and optional DNS domain integration

Prerequisites

  • OpenStack credentials configured via environment variables or OpenMCF provider config
  • Admin privileges if creating shared networks (shared: true) or external/provider networks (external: true)
  • DNS integration extension enabled in Neutron if using dnsDomain

Quick Start

Create a file network.yaml:

apiVersion: openstack.openmcf.org/v1
kind: OpenStackNetwork
metadata:
  name: my-network
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: dev.OpenStackNetwork.my-network
spec: {}

Deploy:

openmcf apply -f network.yaml

This creates a Neutron network named my-network with default settings: admin state up, port security enabled, and standard MTU.

Configuration Reference

Required Fields

All spec fields are optional. The network name is derived from metadata.name.

Optional Fields

FieldTypeDefaultDescription
descriptionstring—Human-readable description of the network, visible in the OpenStack API and Horizon.
adminStateUpbooltrueAdministrative state of the network. When false, the network is down and does not forward traffic.
sharedboolfalseWhen true, the network is shared across all tenants/projects. Requires admin privileges.
externalboolfalseWhen true, marks this as an external (provider) network used for floating IP allocation and router gateways. Requires admin privileges.
mtuintplatform defaultMaximum Transmission Unit in bytes. Common values: 1500 (standard Ethernet), 1450 (VXLAN overlay), 9000 (jumbo frames).
dnsDomainstring—DNS domain for auto-assigned port DNS names. Must end with a dot (e.g., my-network.example.com.). Requires the dns-integration Neutron extension.
portSecurityEnabledboolplatform defaultControls port security enforcement on ports created on this network. When enabled, only traffic matching security groups and allowed address pairs is permitted.
tagsstring[][]Tags for filtering and organization in the OpenStack API. Must be unique.
regionstringprovider defaultOverrides the region from the provider config for this network.

Examples

Basic Network

A simple network with default settings, suitable for development environments:

apiVersion: openstack.openmcf.org/v1
kind: OpenStackNetwork
metadata:
  name: dev-network
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: dev.OpenStackNetwork.dev-network
spec:
  description: Development environment network

Network with Custom MTU and DNS

A network configured for VXLAN overlay with DNS integration for automatic port name resolution:

apiVersion: openstack.openmcf.org/v1
kind: OpenStackNetwork
metadata:
  name: overlay-network
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: staging.OpenStackNetwork.overlay-network
spec:
  description: VXLAN overlay network with DNS integration
  mtu: 1450
  dnsDomain: overlay.internal.example.com.
  tags:
    - staging
    - overlay

External Provider Network

An admin-created external network for floating IP allocation and router gateways:

apiVersion: openstack.openmcf.org/v1
kind: OpenStackNetwork
metadata:
  name: external-net
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: prod.OpenStackNetwork.external-net
spec:
  description: External provider network for floating IPs
  external: true
  shared: true
  portSecurityEnabled: false
  mtu: 1500
  tags:
    - external
    - provider

Stack Outputs

After deployment, the following outputs are available in status.outputs:

OutputTypeDescription
network_idstringUUID of the created Neutron network
namestringName of the network, derived from metadata.name
regionstringOpenStack region where the network was created

Related Components

  • OpenStackSubnet — defines IP address ranges and DHCP settings on the network
  • OpenStackNetworkPort — creates ports with specific IPs and security groups on the network
  • OpenStackRouter — provides routing between networks and external connectivity
  • OpenStackInstance — attaches compute instances to the network
  • OpenStackFloatingIp — allocates floating IPs from external networks

Next article

OpenStack Network Port

OpenStack Network Port Deploys an OpenStack Neutron port, providing a stable network identity (MAC address, fixed IPs, security groups) on a Neutron network. Explicit ports are preferred over instance-inline networking when you need stable IP addresses that survive instance rebuilds, pre-provisioned network identities for InfraChart orchestration, or fine-grained security group assignments. What Gets Created When you deploy an OpenStackNetworkPort resource, OpenMCF provisions: Neutron Port — an...
Read next article
Presets
1 ready-to-deploy configurationView presets →