---
title: Charmhub | Deploy Neutron Gateway using Charmhub - The Open Operator Collection
description: Deploy the latest version of Neutron Gateway on any cloud.
url: https://charmhub.io/neutron-gateway/configurations
---

# Neutron Gateway

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")
* [Cloud](https://charmhub.io/?filter=cloud)

Platform:

24.04

23.10

23.04

22.10

22.04

20.04

18.04

14.04

12.04

yoga/stable 594

```
juju deploy neutron-gateway --channel yoga/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [aa-profile-mode](https://charmhub.io/neutron-gateway/configurations#aa-profile-mode)
* [action-managed-upgrade](https://charmhub.io/neutron-gateway/configurations#action-managed-upgrade)
* [bridge-mappings](https://charmhub.io/neutron-gateway/configurations#bridge-mappings)
* [customize-failure-domain](https://charmhub.io/neutron-gateway/configurations#customize-failure-domain)
* [data-port](https://charmhub.io/neutron-gateway/configurations#data-port)
* [debug](https://charmhub.io/neutron-gateway/configurations#debug)
* [default-availability-zone](https://charmhub.io/neutron-gateway/configurations#default-availability-zone)
* [disable-neutron-lbaas](https://charmhub.io/neutron-gateway/configurations#disable-neutron-lbaas)
* [dns-servers](https://charmhub.io/neutron-gateway/configurations#dns-servers)
* [dnsmasq-flags](https://charmhub.io/neutron-gateway/configurations#dnsmasq-flags)
* [enable-auto-restarts](https://charmhub.io/neutron-gateway/configurations#enable-auto-restarts)
* [enable-isolated-metadata](https://charmhub.io/neutron-gateway/configurations#enable-isolated-metadata)
* [enable-l3-agent](https://charmhub.io/neutron-gateway/configurations#enable-l3-agent)
* [enable-metadata-network](https://charmhub.io/neutron-gateway/configurations#enable-metadata-network)
* [ext-port](https://charmhub.io/neutron-gateway/configurations#ext-port)
* [external-network-id](https://charmhub.io/neutron-gateway/configurations#external-network-id)
* [firewall-driver](https://charmhub.io/neutron-gateway/configurations#firewall-driver)
* [firewall-group-log-burst-limit](https://charmhub.io/neutron-gateway/configurations#firewall-group-log-burst-limit)
* [firewall-group-log-output-base](https://charmhub.io/neutron-gateway/configurations#firewall-group-log-output-base)
* [firewall-group-log-rate-limit](https://charmhub.io/neutron-gateway/configurations#firewall-group-log-rate-limit)
* [flat-network-providers](https://charmhub.io/neutron-gateway/configurations#flat-network-providers)
* [ha-bindiface](https://charmhub.io/neutron-gateway/configurations#ha-bindiface)
* [ha-legacy-mode](https://charmhub.io/neutron-gateway/configurations#ha-legacy-mode)
* [ha-mcastport](https://charmhub.io/neutron-gateway/configurations#ha-mcastport)
* [harden](https://charmhub.io/neutron-gateway/configurations#harden)
* [instance-mtu](https://charmhub.io/neutron-gateway/configurations#instance-mtu)
* [ipfix-target](https://charmhub.io/neutron-gateway/configurations#ipfix-target)
* [keepalived-healthcheck-interval](https://charmhub.io/neutron-gateway/configurations#keepalived-healthcheck-interval)
* [kernel-modules](https://charmhub.io/neutron-gateway/configurations#kernel-modules)
* [nagios\_context](https://charmhub.io/neutron-gateway/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/neutron-gateway/configurations#nagios_servicegroups)
* [nova-rabbit-user](https://charmhub.io/neutron-gateway/configurations#nova-rabbit-user)
* [nova-rabbit-vhost](https://charmhub.io/neutron-gateway/configurations#nova-rabbit-vhost)
* [openstack-origin](https://charmhub.io/neutron-gateway/configurations#openstack-origin)
* [os-data-network](https://charmhub.io/neutron-gateway/configurations#os-data-network)
* [ovs-use-veth](https://charmhub.io/neutron-gateway/configurations#ovs-use-veth)
* [ovsdb-timeout](https://charmhub.io/neutron-gateway/configurations#ovsdb-timeout)
* [plugin](https://charmhub.io/neutron-gateway/configurations#plugin)
* [rabbit-user](https://charmhub.io/neutron-gateway/configurations#rabbit-user)
* [rabbit-vhost](https://charmhub.io/neutron-gateway/configurations#rabbit-vhost)
* [run-internal-router](https://charmhub.io/neutron-gateway/configurations#run-internal-router)
* [sysctl](https://charmhub.io/neutron-gateway/configurations#sysctl)
* [use-syslog](https://charmhub.io/neutron-gateway/configurations#use-syslog)
* [vendor-data](https://charmhub.io/neutron-gateway/configurations#vendor-data)
* [vendor-data-url](https://charmhub.io/neutron-gateway/configurations#vendor-data-url)
* [verbose](https://charmhub.io/neutron-gateway/configurations#verbose)
* [vlan-ranges](https://charmhub.io/neutron-gateway/configurations#vlan-ranges)
* [worker-multiplier](https://charmhub.io/neutron-gateway/configurations#worker-multiplier)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* aa-profile-mode | string

  Default: disable

  Experimental enable apparmor profile. Valid settings: 'complain',
  'enforce' or 'disable'. AA disabled by default.
* action-managed-upgrade | boolean

  If True enables openstack upgrades for this charm via juju actions.
  You will still need to set openstack-origin to the new repository but
  instead of an upgrade running automatically across all units, it will
  wait for you to execute the openstack-upgrade action for this charm on
  each unit. If False it will revert to existing behavior of upgrading
  all units on config change.
* bridge-mappings | string

  Default: physnet1:br-data

  Space-separated list of ML2 data bridge mappings with format
  <provider>:<bridge>.
* customize-failure-domain | boolean

  Juju propagates availability zone information to charms from the
  underlying machine provider such as MAAS and this option allows the
  charm to use JUJU\_AVAILABILITY\_ZONE to set default\_availability\_zone
  for Neutron agents (DHCP and L3 agents). This option overrides the
  default-availability-zone charm config setting only when the Juju
  provider sets JUJU\_AVAILABILITY\_ZONE.
* data-port | string

  Space-delimited list of bridge:port mappings. Specified ports will be
  added to their corresponding specified bridge. The bridges will allow
  usage of flat or VLAN network types with Neutron and should match this
  defined in bridge-mappings.
  .
  Ports can be specified through the name or MAC address of the interface
  to be added to the bridge. If MAC addresses are used, you may provide
  multiple bridge:mac for the same bridge so as to be able to configure
  multiple units. In this case the charm will run through the provided MAC
  addresses for each bridge until it finds one it can resolve to an
  interface name.
  .
  Any changes (subsequent to the initial setting) made to the value of this
  option will merely add the new values along with the existing ones. If
  removal of old values is desired, they have to be done manually through
  the command "ovs-vsctl" in the affected units. If the new values conflict
  with the previous ones, it may cause a network outage as seen in bug
  https://pad.lv/1915967
* debug | boolean

  Enable debug logging.
* default-availability-zone | string

  Default: nova

  Default availability zone to use for agents (l3, dhcp) on this machine.
  If this option is not set, the default availability zone 'nova' is used.
  If customize-failure-domain is set to True, it will override this option
  only if an AZ is set by the Juju provider. If JUJU\_AVAILABILITY\_ZONE is
  not set, the value specified by this option will be used regardless of
  customize-failure-domain's setting.

  .
  NOTE: Router and Network objects have a property called
  availability\_zone\_hints which can be used to restrict dnsmasq
  and router namespace placement by DHCP and L3 agents to specific
  neutron availability zones. Neutron AZs are not tied to Nova AZs but
  their names can match.
  .
* disable-neutron-lbaas | boolean

  Manually disable lbaas services. Set this option to True if Octavia
  is used with neutron. This option is ignored for Train+ OpenStack.
* dns-servers | string

  A comma-separated list of DNS servers which will be used by dnsmasq as
  forwarders.
* dnsmasq-flags | string

  Comma-separated list of key=value config flags with the additional
  dhcp options for neutron dnsmasq.
* enable-auto-restarts | boolean

  Default: True

  Allow the charm and packages to restart services automatically when
  required.
* enable-isolated-metadata | boolean

  Enable metadata on an isolated network (no router ports).
* enable-l3-agent | boolean

  Default: True

  Optional configuration to support use of linux router
  Note that this is used only for Cisco n1kv plugin.
* enable-metadata-network | boolean

  The metadata network is used by solutions which do not leverage the l3
  agent for providing access to the metadata service.
* ext-port | string

  [DEPRECATED] Use bridge-mappings and data-port to create a network
  which can be used for external connectivity. You can call the network
  external and the bridge br-ex by convention, but neither is required.
  .
  Space-delimited list of external ports to use for routing of instance
  traffic to the external public network. Valid values are either MAC
  addresses (in which case only MAC addresses for interfaces without an IP
  address already assigned will be used), or interfaces (eth0)
  .
  Note that if data-port is used then this config item is ignored, a
  warning is logged, and the unit is marked as blocked in order to indicate
  that the charm is misconfigured.
* external-network-id | string

  Optional configuration to set the external-network-id. Only needed when
  configuring multiple external networks and should be used in conjunction
  with run-internal-router.
* firewall-driver | string

  Firewall driver to use to support use of security groups with
  instances; valid values include iptables\_hybrid (default) and
  openvswitch. This config option is ignored for < Queens.
* firewall-group-log-burst-limit | int

  Default: 25

  This option sets the maximum queue size for log entries.
  Can be used to avoid excessive memory consumption.
  WARNING: Should be NOT LESS than 25.
  (Available from Stein)
* firewall-group-log-output-base | string

  This option allows setting a path for Firewall Group logs.
  A valid file system path must be provided. If this option is not
  provided Neutron will use syslog as a destination.
  (Available from Stein)
* firewall-group-log-rate-limit | int

  Log entries are queued for writing to a log file when a packet rate
  exceeds the limit set by this option.
  Possible values: null (no rate limitation), integer values greater than 100.
  WARNING: Should be NOT LESS than 100, if set (if null logging will not be
  rate limited).
  (Available from Stein)
* flat-network-providers | string

  Space-delimited list of Neutron flat network providers.
* ha-bindiface | string

  Default: eth0

  Default network interface on which HA cluster will bind to communicate
  with the other members of the HA Cluster.
* ha-legacy-mode | boolean

  If True will enable Pacemaker to monitor the neutron-ha-monitor daemon
  on every neutron-gateway unit, which detects neutron agents status and
  reschedule resources hosting on failed agents, detects local errors and
  release resources when network is unreachable or do necessary recover
  tasks. This feature targets to < Juno which doesn't natively support HA
  in Neutron itself.
* ha-mcastport | int

  Default: 5409

  Default multicast port number that will be used to communicate between
  HA Cluster nodes.
* harden | string

  Apply system hardening. Supports a space-delimited list of modules
  to run. Supported modules currently include os, ssh, apache and mysql.
* instance-mtu | int

  Configure DHCP services to provide MTU configuration to instances
  within the cloud. This is useful in deployments where its not
  possible to increase MTU on switches and physical servers to
  accommodate the packet overhead of using GRE tunnels.
* ipfix-target | string

  IPFIX target wit the format "IP\_Address:Port". This will enable IPFIX
  exporting on all OVS bridges to the target, including br-int and br-ext.
* keepalived-healthcheck-interval | int

  Specifies the frequency (in seconds) at which HA routers will check
  their external network gateway by performing an ICMP ping between the
  virtual routers. When the ping check fails, this will trigger the HA
  routers to failover to another node. A value of 0 will disable this
  check. This setting only applies when using l3ha and dvr\_snat.
  .
  WARNING: Enabling the health checks should be done with caution as it
  may lead to rapid failovers of HA routers. ICMP pings are low priority
  and may be dropped or take longer than the 1 second afforded by neutron,
  which leads to routers failing over to other nodes.
* kernel-modules | string

  Default: nf\_conntrack

  A space-separated list of kernel modules to load before sysctl
  options are applied by the charm and system boot.
  This ensures the sysctl options exist and can be set correctly.
* nagios\_context | string

  Default: juju

  Used by the nrpe-external-master subordinate charm.
  A string that will be prepended to instance name to set the host name
  in Nagios. So for instance the hostname would be something like:
  juju-myservice-0
  If you're running multiple environments with the same services in them
  this allows you to differentiate between them.
* nagios\_servicegroups | string

  A comma-separated list of Nagios service groups.
  If left empty, the nagios\_context will be used as the servicegroup
* nova-rabbit-user | string

  Default: nova

  RabbitMQ Nova user
* nova-rabbit-vhost | string

  Default: openstack

  RabbitMQ Nova Virtual Host
* openstack-origin | string

  Default: yoga

  Repository from which to install. May be one of the following:
  distro (default), ppa:somecustom/ppa, a deb url sources entry,
  or a supported Ubuntu Cloud Archive, e.g.
  .
  cloud:<series>-<openstack-release>
  cloud:<series>-<openstack-release>/updates
  cloud:<series>-<openstack-release>/staging
  cloud:<series>-<openstack-release>/proposed
  .
  See https://wiki.ubuntu.com/OpenStack/CloudArchive for info on which
  cloud archives are available and supported.
  .
  NOTE: updating this setting to a source that is known to provide
  a later version of OpenStack will trigger a software upgrade unless
  action-managed-upgrade is set to True.
* os-data-network | string

  The IP address and netmask of the OpenStack Data network (e.g.
  192.168.0.0/24)
  .
  This network will be used for tenant network traffic in overlay
  networks.
* ovs-use-veth | string

  "True" or "False" string value. It is safe to leave this option unset.
  This option allows the DHCP agent to use a veth interface for OVS in
  order to support kernels with limited namespace support. i.e. Trusty.
  Changing the value after neutron DHCP agents are created will break
  access. The charm will go into a blocked state if this is attempted.
* ovsdb-timeout | int

  Timeout in seconds for ovsdb commands.
  (Available from Queens)
* plugin | string

  Default: ovs

  Network configuration plugin to use for quantum.
  Supported values include:
  .
  ovs - ML2 + Open vSwitch
  nsx - VMware NSX
  n1kv - Cisco N1kv
  ovs-odl - ML2 + Open vSwitch with OpenDayLight Controller
* rabbit-user | string

  Default: neutron

  RabbitMQ user
* rabbit-vhost | string

  Default: openstack

  RabbitMQ Virtual Host
* run-internal-router | string

  Default: all

  Optional configuration to support how the L3 agent option
  handle\_internal\_only\_routers is configured.
  all => Set to be true everywhere
  none => Set to be false everywhere
  leader => Set to be true on one node (the leader) and false everywhere
  else.
  Use leader and none when configuring multiple floating pools
* sysctl | string

  Default: { net.ipv4.neigh.default.gc\_thresh1 : 128,
  net.ipv4.neigh.default.gc\_thresh2 : 28672,
  net.ipv4.neigh.default.gc\_thresh3 : 32768,
  net.ipv6.neigh.default.gc\_thresh1 : 128,
  net.ipv6.neigh.default.gc\_thresh2 : 28672,
  net.ipv6.neigh.default.gc\_thresh3 : 32768,
  net.nf\_conntrack\_max : 1000000,
  net.netfilter.nf\_conntrack\_buckets : 204800,
  net.netfilter.nf\_conntrack\_max : 1000000 }

  YAML-formatted associative array of sysctl key/value pairs to be set
  persistently e.g. '{ kernel.pid\_max : 4194303 }'.
* use-syslog | boolean

  Setting this to True will allow supporting services to log to syslog.
* vendor-data | string

  A JSON-formatted string that will serve as vendor metadata
  (via "StaticJSON" provider) to all VM's within an OpenStack deployment,
  regardless of project or domain. For deployments of Rocky or later
  this value is ignored. Please set the corresponding value in the
  nova-cloud-controller charm.
* vendor-data-url | string

  A URL serving JSON-formatted data that will serve as vendor metadata
  (via "DynamicJSON" provider) to all VM's within an OpenStack deployment,
  regardless of project or domain.
  .
  Only supported in OpenStack Newton and higher. For deployments of Rocky or
  later this value is ignored. Please set the corresponding value in the
  nova-cloud-controller charm.
* verbose | boolean

  Enable verbose logging.
* vlan-ranges | string

  Default: physnet1:1000:2000

  Space-delimited list of <physical\_network>:<vlan\_min>:<vlan\_max> or
  <physical\_network> specifying physical\_network names usable for VLAN
  provider and tenant networks, as well as ranges of VLAN tags on each
  available for allocation to tenant networks.
* worker-multiplier | float

  The CPU core multiplier to use when configuring worker processes for
  this service. By default, the number of workers for each daemon is
  set to twice the number of CPU cores a service unit has. This default
  value will be capped to 4 workers unless this configuration option
  is set.
