Initial commit of Neutron Configuration Overrides

This commit is contained in:
Alan Meadows 2017-04-10 13:14:10 -07:00
parent 803282f97c
commit 9b2970ded4
29 changed files with 5492 additions and 326 deletions

View File

@ -17,17 +17,20 @@
set -ex
export HOME=/tmp
ansible localhost -vvv -m mysql_db -a "login_host='{{ include "helm-toolkit.mariadb_host" . }}' \
login_port='{{ .Values.database.port }}' \
login_user='{{ .Values.database.root_user }}' \
login_password='{{ .Values.database.root_password }}' \
name='{{ .Values.database.neutron_database_name }}'"
ansible localhost -vvv \
-m mysql_db -a "login_host='{{ .Values.endpoints.oslo_db.hosts.internal | default .Values.endpoints.oslo_db.hosts.default }}' \
login_port='{{ .Values.endpoints.oslo_db.port.mysql }}' \
login_user='{{ .Values.endpoints.oslo_db.auth.admin.username }}' \
login_password='{{ .Values.endpoints.oslo_db.auth.admin.password }}' \
name='{{ .Values.endpoints.oslo_db.path | trimAll "/" }}'"
ansible localhost -vvv -m mysql_user -a "login_host='{{ include "helm-toolkit.mariadb_host" . }}' \
login_port='{{ .Values.database.port }}' \
login_user='{{ .Values.database.root_user }}' \
login_password='{{ .Values.database.root_password }}' \
name='{{ .Values.database.neutron_user }}' \
password='{{ .Values.database.neutron_password }}' \
ansible localhost -vvv \
-m mysql_user -a "login_host='{{ .Values.endpoints.oslo_db.hosts.internal | default .Values.endpoints.oslo_db.hosts.default }}' \
login_port='{{ .Values.endpoints.oslo_db.port.mysql }}' \
login_user='{{ .Values.endpoints.oslo_db.auth.admin.username }}' \
login_password='{{ .Values.endpoints.oslo_db.auth.admin.password }}' \
name='{{ .Values.endpoints.oslo_db.auth.user.username }}' \
password='{{ .Values.endpoints.oslo_db.auth.user.password }}' \
host='%' \
priv='{{ .Values.database.neutron_database_name }}.*:ALL' append_privs='yes'"
priv='{{ .Values.endpoints.oslo_db.path | trimAll "/" }}.*:ALL' \
append_privs='yes'"

View File

@ -24,18 +24,20 @@ chown neutron: /run/openvswitch/db.sock
# which means we need to do a create action
#
# see https://github.com/att-comdev/openstack-helm/issues/88
timeout 3m neutron-sanity-check --config-file /etc/neutron/neutron.conf --ovsdb_native --nokeepalived_ipv6_support
timeout 3m neutron-sanity-check --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --ovsdb_native --nokeepalived_ipv6_support
# determine local-ip dynamically based on interface provided but only if tunnel_types is not null
{{- if .Values.ml2.agent.tunnel_types }}
IP=$(ip a s {{ .Values.network.interface.tunnel | default .Values.network.interface.default}} | grep 'inet ' | awk '{print $2}' | awk -F "/" '{print $1}')
cat <<EOF>/tmp/ml2-local-ip.ini
[ovs]
local_ip = $IP
EOF
{{- else }}
touch /tmp/ml2-local-ip.ini
{{- end }}
exec sudo -E -u neutron neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2-conf.ini --config-file /tmp/ml2-local-ip.ini
# TODO: make this configurable going forward as today
# it forces openvswitch agent
exec sudo -E -u neutron neutron-openvswitch-agent \
--config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/plugins/ml2/ml2-conf.ini \
--config-file /tmp/ml2-local-ip.ini \
--config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini

View File

@ -19,10 +19,8 @@ set -ex
# load tunnel kernel modules we may use and gre/vxlan
modprobe openvswitch
{{- if .Values.ml2.agent.tunnel_types }}
modprobe gre
modprobe vxlan
{{- end }}
ovs-vsctl --no-wait show
bash /tmp/openvswitch-ensure-configured.sh {{ .Values.network.external_bridge }} {{ .Values.network.interface.external | default .Values.network.interface.default }}

View File

@ -12,22 +12,205 @@
# See the License for the specific language governing permissions and
# limitations under the License.
{{- include "neutron.conf.neutron_values_skeleton" .Values.conf.neutron | trunc 0 -}}
{{- include "neutron.conf.dhcp_agent_values_skeleton" .Values.conf.dhcp_agent | trunc 0 -}}
{{- include "neutron.conf.l3_agent_values_skeleton" .Values.conf.l3_agent | trunc 0 -}}
{{- include "neutron.conf.metadata_agent_values_skeleton" .Values.conf.metadata_agent | trunc 0 -}}
{{- include "neutron.conf.metering_agent_values_skeleton" .Values.conf.metering_agent | trunc 0 -}}
{{- include "neutron.conf.linuxbridge_agent_values_skeleton" .Values.conf.linuxbridge_agent | trunc 0 -}}
{{- include "neutron.conf.macvtap_agent_values_skeleton" .Values.conf.macvtap_agent | trunc 0 -}}
{{- include "neutron.conf.ml2_conf_values_skeleton" .Values.conf.ml2_conf | trunc 0 -}}
{{- include "neutron.conf.ml2_conf_sriov_values_skeleton" .Values.conf.ml2_conf_sriov | trunc 0 -}}
{{- include "neutron.conf.openvswitch_agent_values_skeleton" .Values.conf.openvswitch_agent | trunc 0 -}}
{{- include "neutron.conf.sriov_agent_values_skeleton" .Values.conf.sriov_agent | trunc 0 -}}
{{- if empty .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token.auth_uri -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup"| set .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token "auth_uri" | quote | trunc 0 -}}
{{- end }}
{{- if empty .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token.auth_url -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup"| set .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token "auth_url" | quote | trunc 0 -}}
{{- end }}
{{- if empty .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token.memcached_servers -}}
{{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.hostname_endpoint_uri_lookup" | set .Values.conf.neutron.keystone_authtoken.keystonemiddleware.auth_token "memcached_servers" | quote | trunc 0 -}}
{{- end }}
{{- if empty .Values.conf.neutron.database.oslo.db.connection -}}
{{- tuple "oslo_db" "internal" "user" "mysql" . | include "helm-toolkit.authenticated_endpoint_uri_lookup"| set .Values.conf.neutron.database.oslo.db "connection" | quote | trunc 0 -}}
{{- end }}
{{- if empty .Values.conf.neutron.default.oslo.messaging.transport_url -}}
{{- tuple "oslo_messaging" "internal" "user" "amqp" . | include "helm-toolkit.authenticated_endpoint_uri_lookup" | set .Values.conf.neutron.default.oslo.messaging "transport_url" | quote | trunc 0 -}}
{{- end }}
{{- if empty .Values.conf.neutron.nova.nova.auth.auth_url -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.keystone_endpoint_uri_lookup"| set .Values.conf.neutron.nova.nova.auth "auth_url" | quote | trunc 0 -}}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: neutron-etc
data:
dhcp-agent.ini: |
{{ tuple "etc/_dhcp-agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
l3-agent.ini: |
{{ tuple "etc/_l3-agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
metadata-agent.ini: |
{{ tuple "etc/_metadata-agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
ml2-conf.ini: |
{{ tuple "etc/_ml2-conf.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
neutron.conf: |
api-paste.ini: |+
{{ if .Values.conf.paste.override -}}
{{ .Values.conf.paste.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.paste.prefix -}}
{{ .Values.conf.paste.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_api-paste.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.paste.append -}}
{{ .Values.conf.paste.append | indent 4 }}
{{- end }}
policy.json: |+
{{ if .Values.conf.policy.override -}}
{{ .Values.conf.policy.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.policy.prefix -}}
{{ .Values.conf.policy.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_policy.json.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.policy.append -}}
{{ .Values.conf.policy.append | indent 4 }}
{{- end }}
dhcp_agent.ini: |+
{{ if .Values.conf.dhcp_agent.override -}}
{{ .Values.conf.dhcp_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.dhcp_agent.prefix -}}
{{ .Values.conf.dhcp_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_dhcp_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.dhcp_agent.append -}}
{{ .Values.conf.dhcp_agent.append | indent 4 }}
{{- end }}
l3_agent.ini: |+
{{ if .Values.conf.l3_agent.override -}}
{{ .Values.conf.l3_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.l3_agent.prefix -}}
{{ .Values.conf.l3_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_l3_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.l3_agent.append -}}
{{ .Values.conf.l3_agent.append | indent 4 }}
{{- end }}
metadata_agent.ini: |+
{{ if .Values.conf.metadata_agent.override -}}
{{ .Values.conf.metadata_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.metadata_agent.prefix -}}
{{ .Values.conf.metadata_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_metadata_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.metadata_agent.append -}}
{{ .Values.conf.metadata_agent.append | indent 4 }}
{{- end }}
metering_agent.ini: |+
{{ if .Values.conf.metering_agent.override -}}
{{ .Values.conf.metering_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.metering_agent.prefix -}}
{{ .Values.conf.metering_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_metering_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.metering_agent.append -}}
{{ .Values.conf.metering_agent.append | indent 4 }}
{{- end }}
neutron.conf: |+
{{ if .Values.conf.neutron.override -}}
{{ .Values.conf.neutron.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.neutron.prefix -}}
{{ .Values.conf.neutron.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/_neutron.conf.tpl" . | include "helm-toolkit.template" | indent 4 }}
resolv.conf: |
{{- end }}
{{- if .Values.conf.neutron.append -}}
{{ .Values.conf.neutron.append | indent 4 }}
{{- end }}
ml2_conf.ini: |+
{{ if .Values.conf.ml2_conf.override -}}
{{ .Values.conf.ml2_conf.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.ml2_conf.prefix -}}
{{ .Values.conf.ml2_conf.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_ml2_conf.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.ml2_conf.append -}}
{{ .Values.conf.ml2_conf.append | indent 4 }}
{{- end }}
ml2_conf_sriov.ini: |+
{{ if .Values.conf.ml2_conf_sriov.override -}}
{{ .Values.conf.ml2_conf_sriov.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.ml2_conf_sriov.prefix -}}
{{ .Values.conf.ml2_conf_sriov.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_ml2_conf_sriov.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.ml2_conf_sriov.append -}}
{{ .Values.conf.ml2_conf_sriov.append | indent 4 }}
{{- end }}
macvtap_agent.ini: |+
{{ if .Values.conf.macvtap_agent.override -}}
{{ .Values.conf.macvtap_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.macvtap_agent.prefix -}}
{{ .Values.conf.macvtap_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_macvtap_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.macvtap_agent.append -}}
{{ .Values.conf.macvtap_agent.append | indent 4 }}
{{- end }}
linuxbridge_agent.ini: |+
{{ if .Values.conf.linuxbridge_agent.override -}}
{{ .Values.conf.linuxbridge_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.linuxbridge_agent.prefix -}}
{{ .Values.conf.linuxbridge_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_linuxbridge_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.linuxbridge_agent.append -}}
{{ .Values.conf.linuxbridge_agent.append | indent 4 }}
{{- end }}
openvswitch_agent.ini: |+
{{ if .Values.conf.openvswitch_agent.override -}}
{{ .Values.conf.openvswitch_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.openvswitch_agent.prefix -}}
{{ .Values.conf.openvswitch_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_openvswitch_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.openvswitch_agent.append -}}
{{ .Values.conf.openvswitch_agent.append | indent 4 }}
{{- end }}
sriov_agent.ini: |+
{{ if .Values.conf.sriov_agent.override -}}
{{ .Values.conf.sriov_agent.override | indent 4 }}
{{- else -}}
{{- if .Values.conf.sriov_agent.prefix -}}
{{ .Values.conf.sriov_agent.prefix | indent 4 }}
{{- end }}
{{ tuple "etc/plugins/_sriov_agent.ini.tpl" . | include "helm-toolkit.template" | indent 4 }}
{{- end }}
{{- if .Values.conf.sriov_agent.append -}}
{{ .Values.conf.sriov_agent.append | indent 4 }}
{{- end }}
resolv.conf: |+
{{ tuple "etc/_resolv.conf.tpl" . | include "helm-toolkit.template" | indent 4 }}
dnsmasq.conf: ""

View File

@ -56,17 +56,17 @@ spec:
- --config-file
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/dhcp-agent.ini
- /etc/neutron/dhcp_agent.ini
volumeMounts:
- name: neutronconf
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
- name: dhcpagentini
mountPath: /etc/neutron/dhcp-agent.ini
subPath: dhcp-agent.ini
mountPath: /etc/neutron/dhcp_agent.ini
subPath: dhcp_agent.ini
- name: dnsmasqconf
mountPath: /etc/neutron/dnsmasq.conf
subPath: dnsmasq.conf

View File

@ -56,19 +56,19 @@ spec:
- --config-file
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/l3-agent.ini
- /etc/neutron/l3_agent.ini
- --config-file
- /etc/neutron/plugins/ml2/ml2-conf.ini
- /etc/neutron/plugins/ml2/ml2_conf.ini
volumeMounts:
- name: neutronconf
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
- name: l3agentini
mountPath: /etc/neutron/l3-agent.ini
subPath: l3-agent.ini
mountPath: /etc/neutron/l3_agent.ini
subPath: l3_agent.ini
- name: resolvconf
mountPath: /etc/resolv.conf
subPath: resolv.conf

View File

@ -56,7 +56,7 @@ spec:
- --config-file
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/metadata-agent.ini
- /etc/neutron/metadata_agent.ini
ports:
- containerPort: {{ .Values.network.port.metadata }}
volumeMounts:
@ -64,11 +64,11 @@ spec:
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
- name: metadataagentini
mountPath: /etc/neutron/metadata-agent.ini
subPath: metadata-agent.ini
mountPath: /etc/neutron/metadata_agent.ini
subPath: metadata_agent.ini
- name: resolvconf
mountPath: /etc/resolv.conf
subPath: resolv.conf

View File

@ -66,19 +66,22 @@ spec:
- name: neutronopenvswitchagentsh
mountPath: /tmp/neutron-openvswitch-agent.sh
subPath: neutron-openvswitch-agent.sh
- name: neutronconf
- name: neutron-etc
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
- name: neutron-etc
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
- name: neutron-etc
mountPath: /etc/neutron/plugins/ml2/openvswitch_agent.ini
subPath: openvswitch_agent.ini
- name: libmodules
mountPath: /lib/modules
readOnly: true
- name: run
mountPath: /run
- mountPath: /etc/resolv.conf
name: resolvconf
- name: neutron-etc
mountPath: /etc/resolv.conf
subPath: resolv.conf
volumes:
- name: varlibopenvswitch
@ -86,13 +89,7 @@ spec:
- name: neutronopenvswitchagentsh
configMap:
name: neutron-bin
- name: neutronconf
configMap:
name: neutron-etc
- name: ml2confini
configMap:
name: neutron-etc
- name: resolvconf
- name: neutron-etc
configMap:
name: neutron-etc
- name: libmodules

View File

@ -50,7 +50,7 @@ spec:
- --config-file
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/plugins/ml2/ml2-conf.ini
- /etc/neutron/plugins/ml2/ml2_conf.ini
{{- if .Values.resources.enabled }}
resources:
limits:
@ -66,16 +66,19 @@ spec:
tcpSocket:
port: {{ .Values.network.port.server }}
volumeMounts:
- name: neutronconf
- name: neutron-etc
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
- name: neutron-etc
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
- name: neutron-etc
mountPath: /etc/neutron/api-paste.ini
subPath: api-paste.ini
- name: neutron-etc
mountPath: /etc/neutron/policy.json
subPath: policy.json
volumes:
- name: neutronconf
configMap:
name: neutron-etc
- name: ml2confini
- name: neutron-etc
configMap:
name: neutron-etc

View File

@ -0,0 +1,45 @@
[composite:neutron]
use = egg:Paste#urlmap
/: neutronversions_composite
/v2.0: neutronapi_v2_0
[composite:neutronapi_v2_0]
use = call:neutron.auth:pipeline_factory
noauth = cors http_proxy_to_wsgi request_id catch_errors extensions neutronapiapp_v2_0
keystone = cors http_proxy_to_wsgi request_id catch_errors authtoken keystonecontext extensions neutronapiapp_v2_0
[composite:neutronversions_composite]
use = call:neutron.auth:pipeline_factory
noauth = cors http_proxy_to_wsgi neutronversions
keystone = cors http_proxy_to_wsgi neutronversions
[filter:request_id]
paste.filter_factory = oslo_middleware:RequestId.factory
[filter:catch_errors]
paste.filter_factory = oslo_middleware:CatchErrors.factory
[filter:cors]
paste.filter_factory = oslo_middleware.cors:filter_factory
oslo_config_project = neutron
[filter:http_proxy_to_wsgi]
paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory
[filter:keystonecontext]
paste.filter_factory = neutron.auth:NeutronKeystoneContext.factory
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
[filter:extensions]
paste.filter_factory = neutron.api.extensions:plugin_aware_extension_middleware_factory
[app:neutronversions]
paste.app_factory = neutron.api.versions:Versions.factory
[app:neutronapiapp_v2_0]
paste.app_factory = neutron.api.v2.router:APIRouter.factory
[filter:osprofiler]
paste.filter_factory = osprofiler.web:WsgiMiddleware.factory

View File

@ -1,19 +0,0 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[DEFAULT]
dnsmasq_config_file = /etc/neutron/dnsmasq.conf
enable_isolated_metadata = true
force_metadata = true
interface_driver = openvswitch

View File

@ -0,0 +1,293 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.dhcp_agent_values_skeleton" .Values.conf.dhcp_agent | trunc 0 }}
{{ include "neutron.conf.dhcp_agent" .Values.conf.dhcp_agent }}
{{- define "neutron.conf.dhcp_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.neutron -}}{{- set .default "neutron" dict -}}{{- end -}}
{{- if not .default.neutron.base -}}{{- set .default.neutron "base" dict -}}{{- end -}}
{{- if not .default.neutron.base.agent -}}{{- set .default.neutron.base "agent" dict -}}{{- end -}}
{{- if not .default.neutron.dhcp -}}{{- set .default.neutron "dhcp" dict -}}{{- end -}}
{{- if not .default.neutron.dhcp.agent -}}{{- set .default.neutron.dhcp "agent" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .agent -}}{{- set . "agent" dict -}}{{- end -}}
{{- if not .agent.neutron -}}{{- set .agent "neutron" dict -}}{{- end -}}
{{- if not .agent.neutron.base -}}{{- set .agent.neutron "base" dict -}}{{- end -}}
{{- if not .agent.neutron.base.agent -}}{{- set .agent.neutron.base "agent" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.dhcp_agent" -}}
[DEFAULT]
#
# From neutron.base.agent
#
# Name of Open vSwitch bridge to use (string value)
# from .default.neutron.base.agent.ovs_integration_bridge
{{ if not .default.neutron.base.agent.ovs_integration_bridge }}#{{ end }}ovs_integration_bridge = {{ .default.neutron.base.agent.ovs_integration_bridge | default "br-int" }}
# Uses veth for an OVS interface or not. Support kernels with limited namespace
# support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True. (boolean
# value)
# from .default.neutron.base.agent.ovs_use_veth
{{ if not .default.neutron.base.agent.ovs_use_veth }}#{{ end }}ovs_use_veth = {{ .default.neutron.base.agent.ovs_use_veth | default "false" }}
# The driver used to manage the virtual interface. (string value)
# from .default.neutron.base.agent.interface_driver
{{ if not .default.neutron.base.agent.interface_driver }}#{{ end }}interface_driver = {{ .default.neutron.base.agent.interface_driver | default "<None>" }}
# Timeout in seconds for ovs-vsctl commands. If the timeout expires, ovs
# commands will fail with ALARMCLOCK error. (integer value)
# from .default.neutron.base.agent.ovs_vsctl_timeout
{{ if not .default.neutron.base.agent.ovs_vsctl_timeout }}#{{ end }}ovs_vsctl_timeout = {{ .default.neutron.base.agent.ovs_vsctl_timeout | default "10" }}
#
# From neutron.dhcp.agent
#
# The DHCP agent will resync its state with Neutron to recover from any
# transient notification or RPC errors. The interval is number of seconds
# between attempts. (integer value)
# from .default.neutron.dhcp.agent.resync_interval
{{ if not .default.neutron.dhcp.agent.resync_interval }}#{{ end }}resync_interval = {{ .default.neutron.dhcp.agent.resync_interval | default "5" }}
# The driver used to manage the DHCP server. (string value)
# from .default.neutron.dhcp.agent.dhcp_driver
{{ if not .default.neutron.dhcp.agent.dhcp_driver }}#{{ end }}dhcp_driver = {{ .default.neutron.dhcp.agent.dhcp_driver | default "neutron.agent.linux.dhcp.Dnsmasq" }}
# The DHCP server can assist with providing metadata support on isolated
# networks. Setting this value to True will cause the DHCP server to append
# specific host routes to the DHCP request. The metadata service will only be
# activated when the subnet does not contain any router port. The guest
# instance must be configured to request host routes via DHCP (Option 121).
# This option doesn't have any effect when force_metadata is set to True.
# (boolean value)
# from .default.neutron.dhcp.agent.enable_isolated_metadata
{{ if not .default.neutron.dhcp.agent.enable_isolated_metadata }}#{{ end }}enable_isolated_metadata = {{ .default.neutron.dhcp.agent.enable_isolated_metadata | default "false" }}
# In some cases the Neutron router is not present to provide the metadata IP
# but the DHCP server can be used to provide this info. Setting this value will
# force the DHCP server to append specific host routes to the DHCP request. If
# this option is set, then the metadata service will be activated for all the
# networks. (boolean value)
# from .default.neutron.dhcp.agent.force_metadata
{{ if not .default.neutron.dhcp.agent.force_metadata }}#{{ end }}force_metadata = {{ .default.neutron.dhcp.agent.force_metadata | default "false" }}
# Allows for serving metadata requests coming from a dedicated metadata access
# network whose CIDR is 169.254.169.254/16 (or larger prefix), and is connected
# to a Neutron router from which the VMs send metadata:1 request. In this case
# DHCP Option 121 will not be injected in VMs, as they will be able to reach
# 169.254.169.254 through a router. This option requires
# enable_isolated_metadata = True. (boolean value)
# from .default.neutron.dhcp.agent.enable_metadata_network
{{ if not .default.neutron.dhcp.agent.enable_metadata_network }}#{{ end }}enable_metadata_network = {{ .default.neutron.dhcp.agent.enable_metadata_network | default "false" }}
# Number of threads to use during sync process. Should not exceed connection
# pool size configured on server. (integer value)
# from .default.neutron.dhcp.agent.num_sync_threads
{{ if not .default.neutron.dhcp.agent.num_sync_threads }}#{{ end }}num_sync_threads = {{ .default.neutron.dhcp.agent.num_sync_threads | default "4" }}
# Location to store DHCP server config files. (string value)
# from .default.neutron.dhcp.agent.dhcp_confs
{{ if not .default.neutron.dhcp.agent.dhcp_confs }}#{{ end }}dhcp_confs = {{ .default.neutron.dhcp.agent.dhcp_confs | default "$state_path/dhcp" }}
# DEPRECATED: Domain to use for building the hostnames. This option is
# deprecated. It has been moved to neutron.conf as dns_domain. It will be
# removed in a future release. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.neutron.dhcp.agent.dhcp_domain
{{ if not .default.neutron.dhcp.agent.dhcp_domain }}#{{ end }}dhcp_domain = {{ .default.neutron.dhcp.agent.dhcp_domain | default "openstacklocal" }}
# Override the default dnsmasq settings with this file. (string value)
# from .default.neutron.dhcp.agent.dnsmasq_config_file
{{ if not .default.neutron.dhcp.agent.dnsmasq_config_file }}#{{ end }}dnsmasq_config_file = {{ .default.neutron.dhcp.agent.dnsmasq_config_file | default "" }}
# Comma-separated list of the DNS servers which will be used as forwarders.
# (list value)
# from .default.neutron.dhcp.agent.dnsmasq_dns_servers
{{ if not .default.neutron.dhcp.agent.dnsmasq_dns_servers }}#{{ end }}dnsmasq_dns_servers = {{ .default.neutron.dhcp.agent.dnsmasq_dns_servers | default "" }}
# Base log dir for dnsmasq logging. The log contains DHCP and DNS log
# information and is useful for debugging issues with either DHCP or DNS. If
# this section is null, disable dnsmasq log. (string value)
# from .default.neutron.dhcp.agent.dnsmasq_base_log_dir
{{ if not .default.neutron.dhcp.agent.dnsmasq_base_log_dir }}#{{ end }}dnsmasq_base_log_dir = {{ .default.neutron.dhcp.agent.dnsmasq_base_log_dir | default "<None>" }}
# Enables the dnsmasq service to provide name resolution for instances via DNS
# resolvers on the host running the DHCP agent. Effectively removes the '--no-
# resolv' option from the dnsmasq process arguments. Adding custom DNS
# resolvers to the 'dnsmasq_dns_servers' option disables this feature. (boolean
# value)
# from .default.neutron.dhcp.agent.dnsmasq_local_resolv
{{ if not .default.neutron.dhcp.agent.dnsmasq_local_resolv }}#{{ end }}dnsmasq_local_resolv = {{ .default.neutron.dhcp.agent.dnsmasq_local_resolv | default "false" }}
# Limit number of leases to prevent a denial-of-service. (integer value)
# from .default.neutron.dhcp.agent.dnsmasq_lease_max
{{ if not .default.neutron.dhcp.agent.dnsmasq_lease_max }}#{{ end }}dnsmasq_lease_max = {{ .default.neutron.dhcp.agent.dnsmasq_lease_max | default "16777216" }}
# Use broadcast in DHCP replies. (boolean value)
# from .default.neutron.dhcp.agent.dhcp_broadcast_reply
{{ if not .default.neutron.dhcp.agent.dhcp_broadcast_reply }}#{{ end }}dhcp_broadcast_reply = {{ .default.neutron.dhcp.agent.dhcp_broadcast_reply | default "false" }}
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[AGENT]
#
# From neutron.base.agent
#
# Seconds between nodes reporting state to server; should be less than
# agent_down_time, best if it is half or less than agent_down_time. (floating
# point value)
# from .agent.neutron.base.agent.report_interval
{{ if not .agent.neutron.base.agent.report_interval }}#{{ end }}report_interval = {{ .agent.neutron.base.agent.report_interval | default "30" }}
# Log agent heartbeats (boolean value)
# from .agent.neutron.base.agent.log_agent_heartbeats
{{ if not .agent.neutron.base.agent.log_agent_heartbeats }}#{{ end }}log_agent_heartbeats = {{ .agent.neutron.base.agent.log_agent_heartbeats | default "false" }}
# Availability zone of this node (string value)
# from .agent.neutron.base.agent.availability_zone
{{ if not .agent.neutron.base.agent.availability_zone }}#{{ end }}availability_zone = {{ .agent.neutron.base.agent.availability_zone | default "nova" }}
{{- end -}}

View File

@ -1,18 +0,0 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[DEFAULT]
agent_mode = legacy
enable_metadata_proxy = True
enable_isolated_metadata = True

View File

@ -0,0 +1,355 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.l3_agent_values_skeleton" .Values.conf.l3_agent | trunc 0 }}
{{ include "neutron.conf.l3_agent" .Values.conf.l3_agent }}
{{- define "neutron.conf.l3_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.neutron -}}{{- set .default "neutron" dict -}}{{- end -}}
{{- if not .default.neutron.base -}}{{- set .default.neutron "base" dict -}}{{- end -}}
{{- if not .default.neutron.base.agent -}}{{- set .default.neutron.base "agent" dict -}}{{- end -}}
{{- if not .default.neutron.l3 -}}{{- set .default.neutron "l3" dict -}}{{- end -}}
{{- if not .default.neutron.l3.agent -}}{{- set .default.neutron.l3 "agent" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .agent -}}{{- set . "agent" dict -}}{{- end -}}
{{- if not .agent.neutron -}}{{- set .agent "neutron" dict -}}{{- end -}}
{{- if not .agent.neutron.base -}}{{- set .agent.neutron "base" dict -}}{{- end -}}
{{- if not .agent.neutron.base.agent -}}{{- set .agent.neutron.base "agent" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.l3_agent" -}}
[DEFAULT]
#
# From neutron.base.agent
#
# Name of Open vSwitch bridge to use (string value)
# from .default.neutron.base.agent.ovs_integration_bridge
{{ if not .default.neutron.base.agent.ovs_integration_bridge }}#{{ end }}ovs_integration_bridge = {{ .default.neutron.base.agent.ovs_integration_bridge | default "br-int" }}
# Uses veth for an OVS interface or not. Support kernels with limited namespace
# support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True. (boolean
# value)
# from .default.neutron.base.agent.ovs_use_veth
{{ if not .default.neutron.base.agent.ovs_use_veth }}#{{ end }}ovs_use_veth = {{ .default.neutron.base.agent.ovs_use_veth | default "false" }}
# The driver used to manage the virtual interface. (string value)
# from .default.neutron.base.agent.interface_driver
{{ if not .default.neutron.base.agent.interface_driver }}#{{ end }}interface_driver = {{ .default.neutron.base.agent.interface_driver | default "<None>" }}
# Timeout in seconds for ovs-vsctl commands. If the timeout expires, ovs
# commands will fail with ALARMCLOCK error. (integer value)
# from .default.neutron.base.agent.ovs_vsctl_timeout
{{ if not .default.neutron.base.agent.ovs_vsctl_timeout }}#{{ end }}ovs_vsctl_timeout = {{ .default.neutron.base.agent.ovs_vsctl_timeout | default "10" }}
#
# From neutron.l3.agent
#
# The working mode for the agent. Allowed modes are: 'legacy' - this preserves
# the existing behavior where the L3 agent is deployed on a centralized
# networking node to provide L3 services like DNAT, and SNAT. Use this mode if
# you do not want to adopt DVR. 'dvr' - this mode enables DVR functionality and
# must be used for an L3 agent that runs on a compute host. 'dvr_snat' - this
# enables centralized SNAT support in conjunction with DVR. This mode must be
# used for an L3 agent running on a centralized node (or in single-host
# deployments, e.g. devstack) (string value)
# Allowed values: dvr, dvr_snat, legacy
# from .default.neutron.l3.agent.agent_mode
{{ if not .default.neutron.l3.agent.agent_mode }}#{{ end }}agent_mode = {{ .default.neutron.l3.agent.agent_mode | default "legacy" }}
# TCP Port used by Neutron metadata namespace proxy. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.neutron.l3.agent.metadata_port
{{ if not .default.neutron.l3.agent.metadata_port }}#{{ end }}metadata_port = {{ .default.neutron.l3.agent.metadata_port | default "9697" }}
# Send this many gratuitous ARPs for HA setup, if less than or equal to 0, the
# feature is disabled (integer value)
# from .default.neutron.l3.agent.send_arp_for_ha
{{ if not .default.neutron.l3.agent.send_arp_for_ha }}#{{ end }}send_arp_for_ha = {{ .default.neutron.l3.agent.send_arp_for_ha | default "3" }}
# Indicates that this L3 agent should also handle routers that do not have an
# external network gateway configured. This option should be True only for a
# single agent in a Neutron deployment, and may be False for all agents if all
# routers must have an external network gateway. (boolean value)
# from .default.neutron.l3.agent.handle_internal_only_routers
{{ if not .default.neutron.l3.agent.handle_internal_only_routers }}#{{ end }}handle_internal_only_routers = {{ .default.neutron.l3.agent.handle_internal_only_routers | default "true" }}
# When external_network_bridge is set, each L3 agent can be associated with no
# more than one external network. This value should be set to the UUID of that
# external network. To allow L3 agent support multiple external networks, both
# the external_network_bridge and gateway_external_network_id must be left
# empty. (string value)
# from .default.neutron.l3.agent.gateway_external_network_id
{{ if not .default.neutron.l3.agent.gateway_external_network_id }}#{{ end }}gateway_external_network_id = {{ .default.neutron.l3.agent.gateway_external_network_id | default "" }}
# With IPv6, the network used for the external gateway does not need to have an
# associated subnet, since the automatically assigned link-local address (LLA)
# can be used. However, an IPv6 gateway address is needed for use as the next-
# hop for the default route. If no IPv6 gateway address is configured here,
# (and only then) the neutron router will be configured to get its default
# route from router advertisements (RAs) from the upstream router; in which
# case the upstream router must also be configured to send these RAs. The
# ipv6_gateway, when configured, should be the LLA of the interface on the
# upstream router. If a next-hop using a global unique address (GUA) is
# desired, it needs to be done via a subnet allocated to the network and not
# through this parameter. (string value)
# from .default.neutron.l3.agent.ipv6_gateway
{{ if not .default.neutron.l3.agent.ipv6_gateway }}#{{ end }}ipv6_gateway = {{ .default.neutron.l3.agent.ipv6_gateway | default "" }}
# Driver used for ipv6 prefix delegation. This needs to be an entry point
# defined in the neutron.agent.linux.pd_drivers namespace. See setup.cfg for
# entry points included with the neutron source. (string value)
# from .default.neutron.l3.agent.prefix_delegation_driver
{{ if not .default.neutron.l3.agent.prefix_delegation_driver }}#{{ end }}prefix_delegation_driver = {{ .default.neutron.l3.agent.prefix_delegation_driver | default "dibbler" }}
# Allow running metadata proxy. (boolean value)
# from .default.neutron.l3.agent.enable_metadata_proxy
{{ if not .default.neutron.l3.agent.enable_metadata_proxy }}#{{ end }}enable_metadata_proxy = {{ .default.neutron.l3.agent.enable_metadata_proxy | default "true" }}
# Iptables mangle mark used to mark metadata valid requests. This mark will be
# masked with 0xffff so that only the lower 16 bits will be used. (string
# value)
# from .default.neutron.l3.agent.metadata_access_mark
{{ if not .default.neutron.l3.agent.metadata_access_mark }}#{{ end }}metadata_access_mark = {{ .default.neutron.l3.agent.metadata_access_mark | default "0x1" }}
# Iptables mangle mark used to mark ingress from external network. This mark
# will be masked with 0xffff so that only the lower 16 bits will be used.
# (string value)
# from .default.neutron.l3.agent.external_ingress_mark
{{ if not .default.neutron.l3.agent.external_ingress_mark }}#{{ end }}external_ingress_mark = {{ .default.neutron.l3.agent.external_ingress_mark | default "0x2" }}
# DEPRECATED: Name of bridge used for external network traffic. When this
# parameter is set, the L3 agent will plug an interface directly into an
# external bridge which will not allow any wiring by the L2 agent. Using this
# will result in incorrect port statuses. This option is deprecated and will be
# removed in Ocata. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.neutron.l3.agent.external_network_bridge
{{ if not .default.neutron.l3.agent.external_network_bridge }}#{{ end }}external_network_bridge = {{ .default.neutron.l3.agent.external_network_bridge | default "" }}
# Seconds between running periodic tasks. (integer value)
# from .default.neutron.l3.agent.periodic_interval
{{ if not .default.neutron.l3.agent.periodic_interval }}#{{ end }}periodic_interval = {{ .default.neutron.l3.agent.periodic_interval | default "40" }}
# Number of separate API worker processes for service. If not specified, the
# default is equal to the number of CPUs available for best performance.
# (integer value)
# from .default.neutron.l3.agent.api_workers
{{ if not .default.neutron.l3.agent.api_workers }}#{{ end }}api_workers = {{ .default.neutron.l3.agent.api_workers | default "<None>" }}
# Number of RPC worker processes for service. (integer value)
# from .default.neutron.l3.agent.rpc_workers
{{ if not .default.neutron.l3.agent.rpc_workers }}#{{ end }}rpc_workers = {{ .default.neutron.l3.agent.rpc_workers | default "1" }}
# Number of RPC worker processes dedicated to state reports queue. (integer
# value)
# from .default.neutron.l3.agent.rpc_state_report_workers
{{ if not .default.neutron.l3.agent.rpc_state_report_workers }}#{{ end }}rpc_state_report_workers = {{ .default.neutron.l3.agent.rpc_state_report_workers | default "1" }}
# Range of seconds to randomly delay when starting the periodic task scheduler
# to reduce stampeding. (Disable by setting to 0) (integer value)
# from .default.neutron.l3.agent.periodic_fuzzy_delay
{{ if not .default.neutron.l3.agent.periodic_fuzzy_delay }}#{{ end }}periodic_fuzzy_delay = {{ .default.neutron.l3.agent.periodic_fuzzy_delay | default "5" }}
# Location to store keepalived/conntrackd config files (string value)
# from .default.neutron.l3.agent.ha_confs_path
{{ if not .default.neutron.l3.agent.ha_confs_path }}#{{ end }}ha_confs_path = {{ .default.neutron.l3.agent.ha_confs_path | default "$state_path/ha_confs" }}
# VRRP authentication type (string value)
# Allowed values: AH, PASS
# from .default.neutron.l3.agent.ha_vrrp_auth_type
{{ if not .default.neutron.l3.agent.ha_vrrp_auth_type }}#{{ end }}ha_vrrp_auth_type = {{ .default.neutron.l3.agent.ha_vrrp_auth_type | default "PASS" }}
# VRRP authentication password (string value)
# from .default.neutron.l3.agent.ha_vrrp_auth_password
{{ if not .default.neutron.l3.agent.ha_vrrp_auth_password }}#{{ end }}ha_vrrp_auth_password = {{ .default.neutron.l3.agent.ha_vrrp_auth_password | default "<None>" }}
# The advertisement interval in seconds (integer value)
# from .default.neutron.l3.agent.ha_vrrp_advert_int
{{ if not .default.neutron.l3.agent.ha_vrrp_advert_int }}#{{ end }}ha_vrrp_advert_int = {{ .default.neutron.l3.agent.ha_vrrp_advert_int | default "2" }}
# Number of concurrent threads for keepalived server connection requests.More
# threads create a higher CPU load on the agent node. (integer value)
# Minimum value: 1
# from .default.neutron.l3.agent.ha_keepalived_state_change_server_threads
{{ if not .default.neutron.l3.agent.ha_keepalived_state_change_server_threads }}#{{ end }}ha_keepalived_state_change_server_threads = {{ .default.neutron.l3.agent.ha_keepalived_state_change_server_threads | default "4" }}
# Service to handle DHCPv6 Prefix delegation. (string value)
# from .default.neutron.l3.agent.pd_dhcp_driver
{{ if not .default.neutron.l3.agent.pd_dhcp_driver }}#{{ end }}pd_dhcp_driver = {{ .default.neutron.l3.agent.pd_dhcp_driver | default "dibbler" }}
# Location to store IPv6 RA config files (string value)
# from .default.neutron.l3.agent.ra_confs
{{ if not .default.neutron.l3.agent.ra_confs }}#{{ end }}ra_confs = {{ .default.neutron.l3.agent.ra_confs | default "$state_path/ra" }}
# MinRtrAdvInterval setting for radvd.conf (integer value)
# from .default.neutron.l3.agent.min_rtr_adv_interval
{{ if not .default.neutron.l3.agent.min_rtr_adv_interval }}#{{ end }}min_rtr_adv_interval = {{ .default.neutron.l3.agent.min_rtr_adv_interval | default "30" }}
# MaxRtrAdvInterval setting for radvd.conf (integer value)
# from .default.neutron.l3.agent.max_rtr_adv_interval
{{ if not .default.neutron.l3.agent.max_rtr_adv_interval }}#{{ end }}max_rtr_adv_interval = {{ .default.neutron.l3.agent.max_rtr_adv_interval | default "100" }}
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[AGENT]
#
# From neutron.base.agent
#
# Seconds between nodes reporting state to server; should be less than
# agent_down_time, best if it is half or less than agent_down_time. (floating
# point value)
# from .agent.neutron.base.agent.report_interval
{{ if not .agent.neutron.base.agent.report_interval }}#{{ end }}report_interval = {{ .agent.neutron.base.agent.report_interval | default "30" }}
# Log agent heartbeats (boolean value)
# from .agent.neutron.base.agent.log_agent_heartbeats
{{ if not .agent.neutron.base.agent.log_agent_heartbeats }}#{{ end }}log_agent_heartbeats = {{ .agent.neutron.base.agent.log_agent_heartbeats | default "false" }}
# Availability zone of this node (string value)
# from .agent.neutron.base.agent.availability_zone
{{ if not .agent.neutron.base.agent.availability_zone }}#{{ end }}availability_zone = {{ .agent.neutron.base.agent.availability_zone | default "nova" }}
{{- end -}}

View File

@ -1,43 +0,0 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[DEFAULT]
debug = {{ .Values.metadata_agent.default.debug }}
# Neutron credentials for API access
auth_url = {{ tuple "identity" "admin" "admin" . | include "helm-toolkit.keystone_endpoint_uri_lookup" }}
auth_plugin = password
auth_region = {{ .Values.keystone.neutron_region_name }}
project_domain_name = {{ .Values.keystone.neutron_project_domain }}
project_name = {{ .Values.keystone.neutron_project_name }}
user_domain_name = {{ .Values.keystone.neutron_user_domain }}
username = {{ .Values.keystone.neutron_user }}
password = {{ .Values.keystone.neutron_password }}
endpoint_type = adminURL
# Nova metadata service IP and port
nova_metadata_ip = {{ include "helm-toolkit.nova_metadata_host" . }}
nova_metadata_port = {{ .Values.network.port.metadata }}
nova_metadata_protocol = http
# Metadata proxy shared secret
metadata_proxy_shared_secret = {{ .Values.neutron.metadata_secret }}
metadata_port = {{ .Values.network.port.metadata }}
# Workers and backlog requests
metadata_workers = {{ .Values.metadata.workers }}
# Caching
cache_url = memory://?default_ttl=5

View File

@ -0,0 +1,347 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.metadata_agent_values_skeleton" .Values.conf.metadata_agent | trunc 0 }}
{{ include "neutron.conf.metadata_agent" .Values.conf.metadata_agent }}
{{- define "neutron.conf.metadata_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.neutron -}}{{- set .default "neutron" dict -}}{{- end -}}
{{- if not .default.neutron.metadata -}}{{- set .default.neutron "metadata" dict -}}{{- end -}}
{{- if not .default.neutron.metadata.agent -}}{{- set .default.neutron.metadata "agent" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .agent -}}{{- set . "agent" dict -}}{{- end -}}
{{- if not .agent.neutron -}}{{- set .agent "neutron" dict -}}{{- end -}}
{{- if not .agent.neutron.metadata -}}{{- set .agent.neutron "metadata" dict -}}{{- end -}}
{{- if not .agent.neutron.metadata.agent -}}{{- set .agent.neutron.metadata "agent" dict -}}{{- end -}}
{{- if not .cache -}}{{- set . "cache" dict -}}{{- end -}}
{{- if not .cache.oslo -}}{{- set .cache "oslo" dict -}}{{- end -}}
{{- if not .cache.oslo.cache -}}{{- set .cache.oslo "cache" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.metadata_agent" -}}
[DEFAULT]
#
# From neutron.metadata.agent
#
# Location for Metadata Proxy UNIX domain socket. (string value)
# from .default.neutron.metadata.agent.metadata_proxy_socket
{{ if not .default.neutron.metadata.agent.metadata_proxy_socket }}#{{ end }}metadata_proxy_socket = {{ .default.neutron.metadata.agent.metadata_proxy_socket | default "$state_path/metadata_proxy" }}
# User (uid or name) running metadata proxy after its initialization (if empty:
# agent effective user). (string value)
# from .default.neutron.metadata.agent.metadata_proxy_user
{{ if not .default.neutron.metadata.agent.metadata_proxy_user }}#{{ end }}metadata_proxy_user = {{ .default.neutron.metadata.agent.metadata_proxy_user | default "" }}
# Group (gid or name) running metadata proxy after its initialization (if
# empty: agent effective group). (string value)
# from .default.neutron.metadata.agent.metadata_proxy_group
{{ if not .default.neutron.metadata.agent.metadata_proxy_group }}#{{ end }}metadata_proxy_group = {{ .default.neutron.metadata.agent.metadata_proxy_group | default "" }}
# Certificate Authority public key (CA cert) file for ssl (string value)
# from .default.neutron.metadata.agent.auth_ca_cert
{{ if not .default.neutron.metadata.agent.auth_ca_cert }}#{{ end }}auth_ca_cert = {{ .default.neutron.metadata.agent.auth_ca_cert | default "<None>" }}
# IP address used by Nova metadata server. (string value)
# from .default.neutron.metadata.agent.nova_metadata_ip
{{ if not .default.neutron.metadata.agent.nova_metadata_ip }}#{{ end }}nova_metadata_ip = {{ .default.neutron.metadata.agent.nova_metadata_ip | default "127.0.0.1" }}
# TCP Port used by Nova metadata server. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .default.neutron.metadata.agent.nova_metadata_port
{{ if not .default.neutron.metadata.agent.nova_metadata_port }}#{{ end }}nova_metadata_port = {{ .default.neutron.metadata.agent.nova_metadata_port | default "8775" }}
# When proxying metadata requests, Neutron signs the Instance-ID header with a
# shared secret to prevent spoofing. You may select any string for a secret,
# but it must match here and in the configuration used by the Nova Metadata
# Server. NOTE: Nova uses the same config key, but in [neutron] section.
# (string value)
# from .default.neutron.metadata.agent.metadata_proxy_shared_secret
{{ if not .default.neutron.metadata.agent.metadata_proxy_shared_secret }}#{{ end }}metadata_proxy_shared_secret = {{ .default.neutron.metadata.agent.metadata_proxy_shared_secret | default "" }}
# Protocol to access nova metadata, http or https (string value)
# Allowed values: http, https
# from .default.neutron.metadata.agent.nova_metadata_protocol
{{ if not .default.neutron.metadata.agent.nova_metadata_protocol }}#{{ end }}nova_metadata_protocol = {{ .default.neutron.metadata.agent.nova_metadata_protocol | default "http" }}
# Allow to perform insecure SSL (https) requests to nova metadata (boolean
# value)
# from .default.neutron.metadata.agent.nova_metadata_insecure
{{ if not .default.neutron.metadata.agent.nova_metadata_insecure }}#{{ end }}nova_metadata_insecure = {{ .default.neutron.metadata.agent.nova_metadata_insecure | default "false" }}
# Client certificate for nova metadata api server. (string value)
# from .default.neutron.metadata.agent.nova_client_cert
{{ if not .default.neutron.metadata.agent.nova_client_cert }}#{{ end }}nova_client_cert = {{ .default.neutron.metadata.agent.nova_client_cert | default "" }}
# Private key of client certificate. (string value)
# from .default.neutron.metadata.agent.nova_client_priv_key
{{ if not .default.neutron.metadata.agent.nova_client_priv_key }}#{{ end }}nova_client_priv_key = {{ .default.neutron.metadata.agent.nova_client_priv_key | default "" }}
# Metadata Proxy UNIX domain socket mode, 4 values allowed: 'deduce': deduce
# mode from metadata_proxy_user/group values, 'user': set metadata proxy socket
# mode to 0o644, to use when metadata_proxy_user is agent effective user or
# root, 'group': set metadata proxy socket mode to 0o664, to use when
# metadata_proxy_group is agent effective group or root, 'all': set metadata
# proxy socket mode to 0o666, to use otherwise. (string value)
# Allowed values: deduce, user, group, all
# from .default.neutron.metadata.agent.metadata_proxy_socket_mode
{{ if not .default.neutron.metadata.agent.metadata_proxy_socket_mode }}#{{ end }}metadata_proxy_socket_mode = {{ .default.neutron.metadata.agent.metadata_proxy_socket_mode | default "deduce" }}
# Number of separate worker processes for metadata server (defaults to half of
# the number of CPUs) (integer value)
# from .default.neutron.metadata.agent.metadata_workers
{{ if not .default.neutron.metadata.agent.metadata_workers }}#{{ end }}metadata_workers = {{ .default.neutron.metadata.agent.metadata_workers | default "4" }}
# Number of backlog requests to configure the metadata server socket with
# (integer value)
# from .default.neutron.metadata.agent.metadata_backlog
{{ if not .default.neutron.metadata.agent.metadata_backlog }}#{{ end }}metadata_backlog = {{ .default.neutron.metadata.agent.metadata_backlog | default "4096" }}
# DEPRECATED: URL to connect to the cache back end. This option is deprecated
# in the Newton release and will be removed. Please add a [cache] group for
# oslo.cache in your neutron.conf and add "enable" and "backend" options in
# this section. (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.neutron.metadata.agent.cache_url
{{ if not .default.neutron.metadata.agent.cache_url }}#{{ end }}cache_url = {{ .default.neutron.metadata.agent.cache_url | default "" }}
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[AGENT]
#
# From neutron.metadata.agent
#
# Seconds between nodes reporting state to server; should be less than
# agent_down_time, best if it is half or less than agent_down_time. (floating
# point value)
# from .agent.neutron.metadata.agent.report_interval
{{ if not .agent.neutron.metadata.agent.report_interval }}#{{ end }}report_interval = {{ .agent.neutron.metadata.agent.report_interval | default "30" }}
# Log agent heartbeats (boolean value)
# from .agent.neutron.metadata.agent.log_agent_heartbeats
{{ if not .agent.neutron.metadata.agent.log_agent_heartbeats }}#{{ end }}log_agent_heartbeats = {{ .agent.neutron.metadata.agent.log_agent_heartbeats | default "false" }}
[cache]
#
# From oslo.cache
#
# Prefix for building the configuration dictionary for the cache region. This
# should not need to be changed unless there is another dogpile.cache region
# with the same configuration name. (string value)
# from .cache.oslo.cache.config_prefix
{{ if not .cache.oslo.cache.config_prefix }}#{{ end }}config_prefix = {{ .cache.oslo.cache.config_prefix | default "cache.oslo" }}
# Default TTL, in seconds, for any cached item in the dogpile.cache region.
# This applies to any cached method that doesn't have an explicit cache
# expiration time defined for it. (integer value)
# from .cache.oslo.cache.expiration_time
{{ if not .cache.oslo.cache.expiration_time }}#{{ end }}expiration_time = {{ .cache.oslo.cache.expiration_time | default "600" }}
# Dogpile.cache backend module. It is recommended that Memcache or Redis
# (dogpile.cache.redis) be used in production deployments. For eventlet-based
# or highly threaded servers, Memcache with pooling (oslo_cache.memcache_pool)
# is recommended. For low thread servers, dogpile.cache.memcached is
# recommended. Test environments with a single instance of the server can use
# the dogpile.cache.memory backend. (string value)
# from .cache.oslo.cache.backend
{{ if not .cache.oslo.cache.backend }}#{{ end }}backend = {{ .cache.oslo.cache.backend | default "dogpile.cache.null" }}
# Arguments supplied to the backend module. Specify this option once per
# argument to be passed to the dogpile.cache backend. Example format:
# "<argname>:<value>". (multi valued)
# from .cache.oslo.cache.backend_argument (multiopt)
{{ if not .cache.oslo.cache.backend_argument }}#backend_argument = {{ .cache.oslo.cache.backend_argument | default "" }}{{ else }}{{ range .cache.oslo.cache.backend_argument }}backend_argument = {{ . }}{{ end }}{{ end }}
# Proxy classes to import that will affect the way the dogpile.cache backend
# functions. See the dogpile.cache documentation on changing-backend-behavior.
# (list value)
# from .cache.oslo.cache.proxies
{{ if not .cache.oslo.cache.proxies }}#{{ end }}proxies = {{ .cache.oslo.cache.proxies | default "" }}
# Global toggle for caching. (boolean value)
# from .cache.oslo.cache.enabled
{{ if not .cache.oslo.cache.enabled }}#{{ end }}enabled = {{ .cache.oslo.cache.enabled | default "false" }}
# Extra debugging from the cache backend (cache keys, get/set/delete/etc
# calls). This is only really useful if you need to see the specific cache-
# backend get/set/delete calls with the keys/values. Typically this should be
# left set to false. (boolean value)
# from .cache.oslo.cache.debug_cache_backend
{{ if not .cache.oslo.cache.debug_cache_backend }}#{{ end }}debug_cache_backend = {{ .cache.oslo.cache.debug_cache_backend | default "false" }}
# Memcache servers in the format of "host:port". (dogpile.cache.memcache and
# oslo_cache.memcache_pool backends only). (list value)
# from .cache.oslo.cache.memcache_servers
{{ if not .cache.oslo.cache.memcache_servers }}#{{ end }}memcache_servers = {{ .cache.oslo.cache.memcache_servers | default "localhost:11211" }}
# Number of seconds memcached server is considered dead before it is tried
# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
# (integer value)
# from .cache.oslo.cache.memcache_dead_retry
{{ if not .cache.oslo.cache.memcache_dead_retry }}#{{ end }}memcache_dead_retry = {{ .cache.oslo.cache.memcache_dead_retry | default "300" }}
# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
# oslo_cache.memcache_pool backends only). (integer value)
# from .cache.oslo.cache.memcache_socket_timeout
{{ if not .cache.oslo.cache.memcache_socket_timeout }}#{{ end }}memcache_socket_timeout = {{ .cache.oslo.cache.memcache_socket_timeout | default "3" }}
# Max total number of open connections to every memcached server.
# (oslo_cache.memcache_pool backend only). (integer value)
# from .cache.oslo.cache.memcache_pool_maxsize
{{ if not .cache.oslo.cache.memcache_pool_maxsize }}#{{ end }}memcache_pool_maxsize = {{ .cache.oslo.cache.memcache_pool_maxsize | default "10" }}
# Number of seconds a connection to memcached is held unused in the pool before
# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
# from .cache.oslo.cache.memcache_pool_unused_timeout
{{ if not .cache.oslo.cache.memcache_pool_unused_timeout }}#{{ end }}memcache_pool_unused_timeout = {{ .cache.oslo.cache.memcache_pool_unused_timeout | default "60" }}
# Number of seconds that an operation will wait to get a memcache client
# connection. (integer value)
# from .cache.oslo.cache.memcache_pool_connection_get_timeout
{{ if not .cache.oslo.cache.memcache_pool_connection_get_timeout }}#{{ end }}memcache_pool_connection_get_timeout = {{ .cache.oslo.cache.memcache_pool_connection_get_timeout | default "10" }}
{{- end -}}

View File

@ -0,0 +1,174 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.metering_agent_values_skeleton" .Values.conf.metering_agent | trunc 0 }}
{{ include "neutron.conf.metering_agent" .Values.conf.metering_agent }}
{{- define "neutron.conf.metering_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.neutron -}}{{- set .default "neutron" dict -}}{{- end -}}
{{- if not .default.neutron.metering -}}{{- set .default.neutron "metering" dict -}}{{- end -}}
{{- if not .default.neutron.metering.agent -}}{{- set .default.neutron.metering "agent" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.metering_agent" -}}
[DEFAULT]
#
# From neutron.metering.agent
#
# Metering driver (string value)
# from .default.neutron.metering.agent.driver
{{ if not .default.neutron.metering.agent.driver }}#{{ end }}driver = {{ .default.neutron.metering.agent.driver | default "neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver" }}
# Interval between two metering measures (integer value)
# from .default.neutron.metering.agent.measure_interval
{{ if not .default.neutron.metering.agent.measure_interval }}#{{ end }}measure_interval = {{ .default.neutron.metering.agent.measure_interval | default "30" }}
# Interval between two metering reports (integer value)
# from .default.neutron.metering.agent.report_interval
{{ if not .default.neutron.metering.agent.report_interval }}#{{ end }}report_interval = {{ .default.neutron.metering.agent.report_interval | default "300" }}
# The driver used to manage the virtual interface. (string value)
# from .default.neutron.metering.agent.interface_driver
{{ if not .default.neutron.metering.agent.interface_driver }}#{{ end }}interface_driver = {{ .default.neutron.metering.agent.interface_driver | default "<None>" }}
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
{{- end -}}

View File

@ -1,58 +0,0 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
[ml2]
# Changing type_drivers after bootstrap can lead to database inconsistencies
type_drivers = {{ include "helm-toolkit.joinListWithComma" .Values.ml2.type_drivers }}
tenant_network_types = {{ .Values.ml2.tenant_network_types }}
mechanism_drivers = {{ include "helm-toolkit.joinListWithComma" .Values.ml2.mechanism_drivers }}
extension_drivers = {{ include "helm-toolkit.joinListWithComma" .Values.ml2.extension_drivers }}
[ml2_type_flat]
flat_networks = {{ include "helm-toolkit.joinListWithComma" .Values.ml2.ml2_type_flat.flat_networks }}
[ml2_type_gre]
# (ListOpt) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
# of GRE tunnel IDs that are available for tenant network allocation
tunnel_id_ranges = {{ .Values.ml2.ml2_type_gre.tunnel_id_ranges }}
[ml2_type_vxlan]
vni_ranges = {{ .Values.ml2.ml2_type_vxlan.vni_ranges }}
vxlan_group = {{ .Values.ml2.ml2_type_vxlan.vxlan_group }}
[ml2_type_vlan]
# (ListOpt) List of <physical_network>[:<vlan_min>:<vlan_max>] tuples
# specifying physical_network names usable for VLAN provider and
# tenant networks, as well as ranges of VLAN tags on each
# physical_network available for allocation as tenant networks.
network_vlan_ranges = {{ .Values.ml2.ml2_type_vlan.network_vlan_ranges }}
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = True
{{- if .Values.ml2.agent.tunnel_types }}
[agent]
tunnel_types = {{ .Values.ml2.agent.tunnel_types }}
l2_population = false
arp_responder = false
{{- end }}
[ovs]
bridge_mappings = {{ include "helm-toolkit.joinListWithComma" .Values.ml2.ovs.bridge_mappings }}
tenant_network_type = {{ .Values.ml2.agent.tunnel_types }}
[vxlan]
l2_population = true
ovsdb_interface = {{ .Values.network.interface.openvswitch | default .Values.network.interface.default }}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,214 @@
{
"context_is_admin": "role:admin",
"owner": "tenant_id:%(tenant_id)s",
"admin_or_owner": "rule:context_is_admin or rule:owner",
"context_is_advsvc": "role:advsvc",
"admin_or_network_owner": "rule:context_is_admin or tenant_id:%(network:tenant_id)s",
"admin_owner_or_network_owner": "rule:owner or rule:admin_or_network_owner",
"admin_only": "rule:context_is_admin",
"regular_user": "",
"shared": "field:networks:shared=True",
"shared_subnetpools": "field:subnetpools:shared=True",
"shared_address_scopes": "field:address_scopes:shared=True",
"external": "field:networks:router:external=True",
"default": "rule:admin_or_owner",
"create_subnet": "rule:admin_or_network_owner",
"create_subnet:segment_id": "rule:admin_only",
"create_subnet:service_types": "rule:admin_only",
"get_subnet": "rule:admin_or_owner or rule:shared",
"get_subnet:segment_id": "rule:admin_only",
"update_subnet": "rule:admin_or_network_owner",
"update_subnet:service_types": "rule:admin_only",
"delete_subnet": "rule:admin_or_network_owner",
"create_subnetpool": "",
"create_subnetpool:shared": "rule:admin_only",
"create_subnetpool:is_default": "rule:admin_only",
"get_subnetpool": "rule:admin_or_owner or rule:shared_subnetpools",
"update_subnetpool": "rule:admin_or_owner",
"update_subnetpool:is_default": "rule:admin_only",
"delete_subnetpool": "rule:admin_or_owner",
"create_address_scope": "",
"create_address_scope:shared": "rule:admin_only",
"get_address_scope": "rule:admin_or_owner or rule:shared_address_scopes",
"update_address_scope": "rule:admin_or_owner",
"update_address_scope:shared": "rule:admin_only",
"delete_address_scope": "rule:admin_or_owner",
"create_network": "",
"get_network": "rule:admin_or_owner or rule:shared or rule:external or rule:context_is_advsvc",
"get_network:router:external": "rule:regular_user",
"get_network:segments": "rule:admin_only",
"get_network:provider:network_type": "rule:admin_only",
"get_network:provider:physical_network": "rule:admin_only",
"get_network:provider:segmentation_id": "rule:admin_only",
"get_network:queue_id": "rule:admin_only",
"get_network_ip_availabilities": "rule:admin_only",
"get_network_ip_availability": "rule:admin_only",
"create_network:shared": "rule:admin_only",
"create_network:router:external": "rule:admin_only",
"create_network:is_default": "rule:admin_only",
"create_network:segments": "rule:admin_only",
"create_network:provider:network_type": "rule:admin_only",
"create_network:provider:physical_network": "rule:admin_only",
"create_network:provider:segmentation_id": "rule:admin_only",
"update_network": "rule:admin_or_owner",
"update_network:segments": "rule:admin_only",
"update_network:shared": "rule:admin_only",
"update_network:provider:network_type": "rule:admin_only",
"update_network:provider:physical_network": "rule:admin_only",
"update_network:provider:segmentation_id": "rule:admin_only",
"update_network:router:external": "rule:admin_only",
"delete_network": "rule:admin_or_owner",
"create_segment": "rule:admin_only",
"get_segment": "rule:admin_only",
"update_segment": "rule:admin_only",
"delete_segment": "rule:admin_only",
"network_device": "field:port:device_owner=~^network:",
"create_port": "",
"create_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:mac_address": "rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:binding:host_id": "rule:admin_only",
"create_port:binding:profile": "rule:admin_only",
"create_port:mac_learning_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"create_port:allowed_address_pairs": "rule:admin_or_network_owner",
"get_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner",
"get_port:queue_id": "rule:admin_only",
"get_port:binding:vif_type": "rule:admin_only",
"get_port:binding:vif_details": "rule:admin_only",
"get_port:binding:host_id": "rule:admin_only",
"get_port:binding:profile": "rule:admin_only",
"update_port": "rule:admin_or_owner or rule:context_is_advsvc",
"update_port:device_owner": "not rule:network_device or rule:context_is_advsvc or rule:admin_or_network_owner",
"update_port:mac_address": "rule:admin_only or rule:context_is_advsvc",
"update_port:fixed_ips": "rule:context_is_advsvc or rule:admin_or_network_owner",
"update_port:port_security_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"update_port:binding:host_id": "rule:admin_only",
"update_port:binding:profile": "rule:admin_only",
"update_port:mac_learning_enabled": "rule:context_is_advsvc or rule:admin_or_network_owner",
"update_port:allowed_address_pairs": "rule:admin_or_network_owner",
"delete_port": "rule:context_is_advsvc or rule:admin_owner_or_network_owner",
"get_router:ha": "rule:admin_only",
"create_router": "rule:regular_user",
"create_router:external_gateway_info:enable_snat": "rule:admin_only",
"create_router:distributed": "rule:admin_only",
"create_router:ha": "rule:admin_only",
"get_router": "rule:admin_or_owner",
"get_router:distributed": "rule:admin_only",
"update_router:external_gateway_info:enable_snat": "rule:admin_only",
"update_router:distributed": "rule:admin_only",
"update_router:ha": "rule:admin_only",
"delete_router": "rule:admin_or_owner",
"add_router_interface": "rule:admin_or_owner",
"remove_router_interface": "rule:admin_or_owner",
"create_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
"update_router:external_gateway_info:external_fixed_ips": "rule:admin_only",
"insert_rule": "rule:admin_or_owner",
"remove_rule": "rule:admin_or_owner",
"create_qos_queue": "rule:admin_only",
"get_qos_queue": "rule:admin_only",
"update_agent": "rule:admin_only",
"delete_agent": "rule:admin_only",
"get_agent": "rule:admin_only",
"create_dhcp-network": "rule:admin_only",
"delete_dhcp-network": "rule:admin_only",
"get_dhcp-networks": "rule:admin_only",
"create_l3-router": "rule:admin_only",
"delete_l3-router": "rule:admin_only",
"get_l3-routers": "rule:admin_only",
"get_dhcp-agents": "rule:admin_only",
"get_l3-agents": "rule:admin_only",
"get_loadbalancer-agent": "rule:admin_only",
"get_loadbalancer-pools": "rule:admin_only",
"get_agent-loadbalancers": "rule:admin_only",
"get_loadbalancer-hosting-agent": "rule:admin_only",
"create_floatingip": "rule:regular_user",
"create_floatingip:floating_ip_address": "rule:admin_only",
"update_floatingip": "rule:admin_or_owner",
"delete_floatingip": "rule:admin_or_owner",
"get_floatingip": "rule:admin_or_owner",
"create_network_profile": "rule:admin_only",
"update_network_profile": "rule:admin_only",
"delete_network_profile": "rule:admin_only",
"get_network_profiles": "",
"get_network_profile": "",
"update_policy_profiles": "rule:admin_only",
"get_policy_profiles": "",
"get_policy_profile": "",
"create_metering_label": "rule:admin_only",
"delete_metering_label": "rule:admin_only",
"get_metering_label": "rule:admin_only",
"create_metering_label_rule": "rule:admin_only",
"delete_metering_label_rule": "rule:admin_only",
"get_metering_label_rule": "rule:admin_only",
"get_service_provider": "rule:regular_user",
"get_lsn": "rule:admin_only",
"create_lsn": "rule:admin_only",
"create_flavor": "rule:admin_only",
"update_flavor": "rule:admin_only",
"delete_flavor": "rule:admin_only",
"get_flavors": "rule:regular_user",
"get_flavor": "rule:regular_user",
"create_service_profile": "rule:admin_only",
"update_service_profile": "rule:admin_only",
"delete_service_profile": "rule:admin_only",
"get_service_profiles": "rule:admin_only",
"get_service_profile": "rule:admin_only",
"get_policy": "rule:regular_user",
"create_policy": "rule:admin_only",
"update_policy": "rule:admin_only",
"delete_policy": "rule:admin_only",
"get_policy_bandwidth_limit_rule": "rule:regular_user",
"create_policy_bandwidth_limit_rule": "rule:admin_only",
"delete_policy_bandwidth_limit_rule": "rule:admin_only",
"update_policy_bandwidth_limit_rule": "rule:admin_only",
"get_policy_dscp_marking_rule": "rule:regular_user",
"create_policy_dscp_marking_rule": "rule:admin_only",
"delete_policy_dscp_marking_rule": "rule:admin_only",
"update_policy_dscp_marking_rule": "rule:admin_only",
"get_rule_type": "rule:regular_user",
"get_policy_minimum_bandwidth_rule": "rule:regular_user",
"create_policy_minimum_bandwidth_rule": "rule:admin_only",
"delete_policy_minimum_bandwidth_rule": "rule:admin_only",
"update_policy_minimum_bandwidth_rule": "rule:admin_only",
"restrict_wildcard": "(not field:rbac_policy:target_tenant=*) or rule:admin_only",
"create_rbac_policy": "",
"create_rbac_policy:target_tenant": "rule:restrict_wildcard",
"update_rbac_policy": "rule:admin_or_owner",
"update_rbac_policy:target_tenant": "rule:restrict_wildcard and rule:admin_or_owner",
"get_rbac_policy": "rule:admin_or_owner",
"delete_rbac_policy": "rule:admin_or_owner",
"create_flavor_service_profile": "rule:admin_only",
"delete_flavor_service_profile": "rule:admin_only",
"get_flavor_service_profile": "rule:regular_user",
"get_auto_allocated_topology": "rule:admin_or_owner",
"create_trunk": "rule:regular_user",
"get_trunk": "rule:admin_or_owner",
"delete_trunk": "rule:admin_or_owner",
"get_subports": "",
"add_subports": "rule:admin_or_owner",
"remove_subports": "rule:admin_or_owner"
}

View File

@ -0,0 +1,207 @@
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#verbose = true
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
#watch_log_file = false
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
#use_syslog = false
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = true
# Format string to use for log messages with context. (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
# Format string to use for log messages when context is undefined. (string
# value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
# Prefix each line of exception output with this format. (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
# Enables or disables publication of error events. (boolean value)
#publish_errors = false
# The format for an instance that is passed with the log message. (string
# value)
#instance_format = "[instance: %(uuid)s] "
# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "
# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false
[agent]
#
# From neutron.ml2.linuxbridge.agent
#
# The number of seconds the agent will wait between polling for local device
# changes. (integer value)
#polling_interval = 2
# Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If
# value is set to 0, rpc timeout won't be changed (integer value)
#quitting_rpc_timeout = 10
# DEPRECATED: Enable suppression of ARP responses that don't match an IP
# address that belongs to the port from which they originate. Note: This
# prevents the VMs attached to this agent from spoofing, it doesn't protect
# them from other devices which have the capability to spoof (e.g. bare metal
# or VMs attached to agents without this flag set to True). Spoofing rules will
# not be added to any ports that have port security disabled. For LinuxBridge,
# this requires ebtables. For OVS, it requires a version that supports matching
# ARP headers. This option will be removed in Ocata so the only way to disable
# protection will be via the port security extension. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#prevent_arp_spoofing = true
# Extensions list to use (list value)
#extensions =
[linux_bridge]
#
# From neutron.ml2.linuxbridge.agent
#
# Comma-separated list of <physical_network>:<physical_interface> tuples
# mapping physical network names to the agent's node-specific physical network
# interfaces to be used for flat and VLAN networks. All physical networks
# listed in network_vlan_ranges on the server should have mappings to
# appropriate interfaces on each agent. (list value)
#physical_interface_mappings =
# List of <physical_network>:<physical_bridge> (list value)
#bridge_mappings =
[securitygroup]
#
# From neutron.ml2.linuxbridge.agent
#
# Driver for security groups firewall in the L2 agent (string value)
#firewall_driver = <None>
# Controls whether the neutron security group API is enabled in the server. It
# should be false when using no security groups or using the nova security
# group API. (boolean value)
#enable_security_group = true
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true
[vxlan]
#
# From neutron.ml2.linuxbridge.agent
#
# Enable VXLAN on the agent. Can be enabled when agent is managed by ml2 plugin
# using linuxbridge mechanism driver (boolean value)
#enable_vxlan = true
# TTL for vxlan interface protocol packets. (integer value)
#ttl = <None>
# TOS for vxlan interface protocol packets. (integer value)
#tos = <None>
# Multicast group(s) for vxlan interface. A range of group addresses may be
# specified by using CIDR notation. Specifying a range allows different VNIs to
# use different group addresses, reducing or eliminating spurious broadcast
# traffic to the tunnel endpoints. To reserve a unique group for each possible
# (24-bit) VNI, use a /8 such as 239.0.0.0/8. This setting must be the same on
# all the agents. (string value)
#vxlan_group = 224.0.0.1
# IP address of local overlay (tunnel) network endpoint. Use either an IPv4 or
# IPv6 address that resides on one of the host network interfaces. The IP
# version of this value must match the value of the 'overlay_ip_version' option
# in the ML2 plug-in configuration file on the neutron server node(s). (IP
# address value)
#local_ip = <None>
# Extension to use alongside ml2 plugin's l2population mechanism driver. It
# enables the plugin to populate VXLAN forwarding table. (boolean value)
#l2_population = false
# Enable local ARP responder which provides local responses instead of
# performing ARP broadcast into the overlay. Enabling local ARP responder is
# not fully compatible with the allowed-address-pairs extension. (boolean
# value)
#arp_responder = false

View File

@ -0,0 +1,159 @@
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
#debug = false
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#verbose = true
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
#log_config_append = <None>
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
#log_date_format = %Y-%m-%d %H:%M:%S
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
#log_file = <None>
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
#log_dir = <None>
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
#watch_log_file = false
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
#use_syslog = false
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
#syslog_log_facility = LOG_USER
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
#use_stderr = true
# Format string to use for log messages with context. (string value)
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
# Format string to use for log messages when context is undefined. (string
# value)
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
# Prefix each line of exception output with this format. (string value)
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
# Enables or disables publication of error events. (boolean value)
#publish_errors = false
# The format for an instance that is passed with the log message. (string
# value)
#instance_format = "[instance: %(uuid)s] "
# The format for an instance UUID that is passed with the log message. (string
# value)
#instance_uuid_format = "[instance: %(uuid)s] "
# Enables or disables fatal status of deprecations. (boolean value)
#fatal_deprecations = false
[agent]
#
# From neutron.ml2.macvtap.agent
#
# The number of seconds the agent will wait between polling for local device
# changes. (integer value)
#polling_interval = 2
# Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If
# value is set to 0, rpc timeout won't be changed (integer value)
#quitting_rpc_timeout = 10
# DEPRECATED: Enable suppression of ARP responses that don't match an IP
# address that belongs to the port from which they originate. Note: This
# prevents the VMs attached to this agent from spoofing, it doesn't protect
# them from other devices which have the capability to spoof (e.g. bare metal
# or VMs attached to agents without this flag set to True). Spoofing rules will
# not be added to any ports that have port security disabled. For LinuxBridge,
# this requires ebtables. For OVS, it requires a version that supports matching
# ARP headers. This option will be removed in Ocata so the only way to disable
# protection will be via the port security extension. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
#prevent_arp_spoofing = true
[macvtap]
#
# From neutron.ml2.macvtap.agent
#
# Comma-separated list of <physical_network>:<physical_interface> tuples
# mapping physical network names to the agent's node-specific physical network
# interfaces to be used for flat and VLAN networks. All physical networks
# listed in network_vlan_ranges on the server should have mappings to
# appropriate interfaces on each agent. (list value)
#physical_interface_mappings =
[securitygroup]
#
# From neutron.ml2.macvtap.agent
#
# Driver for security groups firewall in the L2 agent (string value)
#firewall_driver = <None>
# Controls whether the neutron security group API is enabled in the server. It
# should be false when using no security groups or using the nova security
# group API. (boolean value)
#enable_security_group = true
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
#enable_ipset = true

View File

@ -0,0 +1,328 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.ml2_conf_values_skeleton" .Values.conf.ml2_conf | trunc 0 }}
{{ include "neutron.conf.ml2_conf" .Values.conf.ml2_conf }}
{{- define "neutron.conf.ml2_conf_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .ml2 -}}{{- set . "ml2" dict -}}{{- end -}}
{{- if not .ml2.neutron -}}{{- set .ml2 "neutron" dict -}}{{- end -}}
{{- if not .ml2.neutron.ml2 -}}{{- set .ml2.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_type_flat -}}{{- set . "ml2_type_flat" dict -}}{{- end -}}
{{- if not .ml2_type_flat.neutron -}}{{- set .ml2_type_flat "neutron" dict -}}{{- end -}}
{{- if not .ml2_type_flat.neutron.ml2 -}}{{- set .ml2_type_flat.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_type_geneve -}}{{- set . "ml2_type_geneve" dict -}}{{- end -}}
{{- if not .ml2_type_geneve.neutron -}}{{- set .ml2_type_geneve "neutron" dict -}}{{- end -}}
{{- if not .ml2_type_geneve.neutron.ml2 -}}{{- set .ml2_type_geneve.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_type_gre -}}{{- set . "ml2_type_gre" dict -}}{{- end -}}
{{- if not .ml2_type_gre.neutron -}}{{- set .ml2_type_gre "neutron" dict -}}{{- end -}}
{{- if not .ml2_type_gre.neutron.ml2 -}}{{- set .ml2_type_gre.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_type_vlan -}}{{- set . "ml2_type_vlan" dict -}}{{- end -}}
{{- if not .ml2_type_vlan.neutron -}}{{- set .ml2_type_vlan "neutron" dict -}}{{- end -}}
{{- if not .ml2_type_vlan.neutron.ml2 -}}{{- set .ml2_type_vlan.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_type_vxlan -}}{{- set . "ml2_type_vxlan" dict -}}{{- end -}}
{{- if not .ml2_type_vxlan.neutron -}}{{- set .ml2_type_vxlan "neutron" dict -}}{{- end -}}
{{- if not .ml2_type_vxlan.neutron.ml2 -}}{{- set .ml2_type_vxlan.neutron "ml2" dict -}}{{- end -}}
{{- if not .securitygroup -}}{{- set . "securitygroup" dict -}}{{- end -}}
{{- if not .securitygroup.neutron -}}{{- set .securitygroup "neutron" dict -}}{{- end -}}
{{- if not .securitygroup.neutron.ml2 -}}{{- set .securitygroup.neutron "ml2" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.ml2_conf" -}}
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[ml2]
#
# From neutron.ml2
#
# List of network type driver entrypoints to be loaded from the
# neutron.ml2.type_drivers namespace. (list value)
# from .ml2.neutron.ml2.type_drivers
{{ if not .ml2.neutron.ml2.type_drivers }}#{{ end }}type_drivers = {{ .ml2.neutron.ml2.type_drivers | default "local,flat,vlan,gre,vxlan,geneve" }}
# Ordered list of network_types to allocate as tenant networks. The default
# value 'local' is useful for single-box testing but provides no connectivity
# between hosts. (list value)
# from .ml2.neutron.ml2.tenant_network_types
{{ if not .ml2.neutron.ml2.tenant_network_types }}#{{ end }}tenant_network_types = {{ .ml2.neutron.ml2.tenant_network_types | default "local" }}
# An ordered list of networking mechanism driver entrypoints to be loaded from
# the neutron.ml2.mechanism_drivers namespace. (list value)
# from .ml2.neutron.ml2.mechanism_drivers
{{ if not .ml2.neutron.ml2.mechanism_drivers }}#{{ end }}mechanism_drivers = {{ .ml2.neutron.ml2.mechanism_drivers | default "" }}
# An ordered list of extension driver entrypoints to be loaded from the
# neutron.ml2.extension_drivers namespace. For example: extension_drivers =
# port_security,qos (list value)
# from .ml2.neutron.ml2.extension_drivers
{{ if not .ml2.neutron.ml2.extension_drivers }}#{{ end }}extension_drivers = {{ .ml2.neutron.ml2.extension_drivers | default "" }}
# Maximum size of an IP packet (MTU) that can traverse the underlying physical
# network infrastructure without fragmentation when using an overlay/tunnel
# protocol. This option allows specifying a physical network MTU value that
# differs from the default global_physnet_mtu value. (integer value)
# from .ml2.neutron.ml2.path_mtu
{{ if not .ml2.neutron.ml2.path_mtu }}#{{ end }}path_mtu = {{ .ml2.neutron.ml2.path_mtu | default "0" }}
# A list of mappings of physical networks to MTU values. The format of the
# mapping is <physnet>:<mtu val>. This mapping allows specifying a physical
# network MTU value that differs from the default global_physnet_mtu value.
# (list value)
# from .ml2.neutron.ml2.physical_network_mtus
{{ if not .ml2.neutron.ml2.physical_network_mtus }}#{{ end }}physical_network_mtus = {{ .ml2.neutron.ml2.physical_network_mtus | default "" }}
# Default network type for external networks when no provider attributes are
# specified. By default it is None, which means that if provider attributes are
# not specified while creating external networks then they will have the same
# type as tenant networks. Allowed values for external_network_type config
# option depend on the network type values configured in type_drivers config
# option. (string value)
# from .ml2.neutron.ml2.external_network_type
{{ if not .ml2.neutron.ml2.external_network_type }}#{{ end }}external_network_type = {{ .ml2.neutron.ml2.external_network_type | default "<None>" }}
# IP version of all overlay (tunnel) network endpoints. Use a value of 4 for
# IPv4 or 6 for IPv6. (integer value)
# from .ml2.neutron.ml2.overlay_ip_version
{{ if not .ml2.neutron.ml2.overlay_ip_version }}#{{ end }}overlay_ip_version = {{ .ml2.neutron.ml2.overlay_ip_version | default "4" }}
[ml2_type_flat]
#
# From neutron.ml2
#
# List of physical_network names with which flat networks can be created. Use
# default '*' to allow flat networks with arbitrary physical_network names. Use
# an empty list to disable flat networks. (list value)
# from .ml2_type_flat.neutron.ml2.flat_networks
{{ if not .ml2_type_flat.neutron.ml2.flat_networks }}#{{ end }}flat_networks = {{ .ml2_type_flat.neutron.ml2.flat_networks | default "*" }}
[ml2_type_geneve]
#
# From neutron.ml2
#
# Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of
# Geneve VNI IDs that are available for tenant network allocation (list value)
# from .ml2_type_geneve.neutron.ml2.vni_ranges
{{ if not .ml2_type_geneve.neutron.ml2.vni_ranges }}#{{ end }}vni_ranges = {{ .ml2_type_geneve.neutron.ml2.vni_ranges | default "" }}
# Geneve encapsulation header size is dynamic, this value is used to calculate
# the maximum MTU for the driver. This is the sum of the sizes of the outer ETH
# + IP + UDP + GENEVE header sizes. The default size for this field is 50,
# which is the size of the Geneve header without any additional option headers.
# (integer value)
# from .ml2_type_geneve.neutron.ml2.max_header_size
{{ if not .ml2_type_geneve.neutron.ml2.max_header_size }}#{{ end }}max_header_size = {{ .ml2_type_geneve.neutron.ml2.max_header_size | default "30" }}
[ml2_type_gre]
#
# From neutron.ml2
#
# Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE
# tunnel IDs that are available for tenant network allocation (list value)
# from .ml2_type_gre.neutron.ml2.tunnel_id_ranges
{{ if not .ml2_type_gre.neutron.ml2.tunnel_id_ranges }}#{{ end }}tunnel_id_ranges = {{ .ml2_type_gre.neutron.ml2.tunnel_id_ranges | default "" }}
[ml2_type_vlan]
#
# From neutron.ml2
#
# 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. (list value)
# from .ml2_type_vlan.neutron.ml2.network_vlan_ranges
{{ if not .ml2_type_vlan.neutron.ml2.network_vlan_ranges }}#{{ end }}network_vlan_ranges = {{ .ml2_type_vlan.neutron.ml2.network_vlan_ranges | default "" }}
[ml2_type_vxlan]
#
# From neutron.ml2
#
# Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of
# VXLAN VNI IDs that are available for tenant network allocation (list value)
# from .ml2_type_vxlan.neutron.ml2.vni_ranges
{{ if not .ml2_type_vxlan.neutron.ml2.vni_ranges }}#{{ end }}vni_ranges = {{ .ml2_type_vxlan.neutron.ml2.vni_ranges | default "" }}
# Multicast group for VXLAN. When configured, will enable sending all broadcast
# traffic to this multicast group. When left unconfigured, will disable
# multicast VXLAN mode. (string value)
# from .ml2_type_vxlan.neutron.ml2.vxlan_group
{{ if not .ml2_type_vxlan.neutron.ml2.vxlan_group }}#{{ end }}vxlan_group = {{ .ml2_type_vxlan.neutron.ml2.vxlan_group | default "<None>" }}
[securitygroup]
#
# From neutron.ml2
#
# Driver for security groups firewall in the L2 agent (string value)
# from .securitygroup.neutron.ml2.firewall_driver
{{ if not .securitygroup.neutron.ml2.firewall_driver }}#{{ end }}firewall_driver = {{ .securitygroup.neutron.ml2.firewall_driver | default "<None>" }}
# Controls whether the neutron security group API is enabled in the server. It
# should be false when using no security groups or using the nova security
# group API. (boolean value)
# from .securitygroup.neutron.ml2.enable_security_group
{{ if not .securitygroup.neutron.ml2.enable_security_group }}#{{ end }}enable_security_group = {{ .securitygroup.neutron.ml2.enable_security_group | default "true" }}
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
# from .securitygroup.neutron.ml2.enable_ipset
{{ if not .securitygroup.neutron.ml2.enable_ipset }}#{{ end }}enable_ipset = {{ .securitygroup.neutron.ml2.enable_ipset | default "true" }}
{{- end -}}

View File

@ -0,0 +1,172 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.ml2_conf_sriov_values_skeleton" .Values.conf.ml2_conf_sriov | trunc 0 }}
{{ include "neutron.conf.ml2_conf_sriov" .Values.conf.ml2_conf_sriov }}
{{- define "neutron.conf.ml2_conf_sriov_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .ml2_sriov -}}{{- set . "ml2_sriov" dict -}}{{- end -}}
{{- if not .ml2_sriov.neutron -}}{{- set .ml2_sriov "neutron" dict -}}{{- end -}}
{{- if not .ml2_sriov.neutron.ml2 -}}{{- set .ml2_sriov.neutron "ml2" dict -}}{{- end -}}
{{- if not .ml2_sriov.neutron.ml2.sriov -}}{{- set .ml2_sriov.neutron.ml2 "sriov" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.ml2_conf_sriov" -}}
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[ml2_sriov]
#
# From neutron.ml2.sriov
#
# DEPRECATED: Comma-separated list of supported PCI vendor devices, as defined
# by vendor_id:product_id according to the PCI ID Repository. Default None
# accept all PCI vendor devicesDEPRECATED: This option is deprecated in the
# Newton release and will be removed in the Ocata release. Starting from Ocata
# the mechanism driver will accept all PCI vendor devices. (list value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .ml2_sriov.neutron.ml2.sriov.supported_pci_vendor_devs
{{ if not .ml2_sriov.neutron.ml2.sriov.supported_pci_vendor_devs }}#{{ end }}supported_pci_vendor_devs = {{ .ml2_sriov.neutron.ml2.sriov.supported_pci_vendor_devs | default "<None>" }}
{{- end -}}

View File

@ -0,0 +1,383 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.openvswitch_agent_values_skeleton" .Values.conf.openvswitch_agent | trunc 0 }}
{{ include "neutron.conf.openvswitch_agent" .Values.conf.openvswitch_agent }}
{{- define "neutron.conf.openvswitch_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .agent -}}{{- set . "agent" dict -}}{{- end -}}
{{- if not .agent.neutron -}}{{- set .agent "neutron" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2 -}}{{- set .agent.neutron "ml2" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2.ovs -}}{{- set .agent.neutron.ml2 "ovs" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2.ovs.agent -}}{{- set .agent.neutron.ml2.ovs "agent" dict -}}{{- end -}}
{{- if not .ovs -}}{{- set . "ovs" dict -}}{{- end -}}
{{- if not .ovs.neutron -}}{{- set .ovs "neutron" dict -}}{{- end -}}
{{- if not .ovs.neutron.ml2 -}}{{- set .ovs.neutron "ml2" dict -}}{{- end -}}
{{- if not .ovs.neutron.ml2.ovs -}}{{- set .ovs.neutron.ml2 "ovs" dict -}}{{- end -}}
{{- if not .ovs.neutron.ml2.ovs.agent -}}{{- set .ovs.neutron.ml2.ovs "agent" dict -}}{{- end -}}
{{- if not .securitygroup -}}{{- set . "securitygroup" dict -}}{{- end -}}
{{- if not .securitygroup.neutron -}}{{- set .securitygroup "neutron" dict -}}{{- end -}}
{{- if not .securitygroup.neutron.ml2 -}}{{- set .securitygroup.neutron "ml2" dict -}}{{- end -}}
{{- if not .securitygroup.neutron.ml2.ovs -}}{{- set .securitygroup.neutron.ml2 "ovs" dict -}}{{- end -}}
{{- if not .securitygroup.neutron.ml2.ovs.agent -}}{{- set .securitygroup.neutron.ml2.ovs "agent" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.openvswitch_agent" -}}
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[agent]
#
# From neutron.ml2.ovs.agent
#
# The number of seconds the agent will wait between polling for local device
# changes. (integer value)
# from .agent.neutron.ml2.ovs.agent.polling_interval
{{ if not .agent.neutron.ml2.ovs.agent.polling_interval }}#{{ end }}polling_interval = {{ .agent.neutron.ml2.ovs.agent.polling_interval | default "2" }}
# Minimize polling by monitoring ovsdb for interface changes. (boolean value)
# from .agent.neutron.ml2.ovs.agent.minimize_polling
{{ if not .agent.neutron.ml2.ovs.agent.minimize_polling }}#{{ end }}minimize_polling = {{ .agent.neutron.ml2.ovs.agent.minimize_polling | default "true" }}
# The number of seconds to wait before respawning the ovsdb monitor after
# losing communication with it. (integer value)
# from .agent.neutron.ml2.ovs.agent.ovsdb_monitor_respawn_interval
{{ if not .agent.neutron.ml2.ovs.agent.ovsdb_monitor_respawn_interval }}#{{ end }}ovsdb_monitor_respawn_interval = {{ .agent.neutron.ml2.ovs.agent.ovsdb_monitor_respawn_interval | default "30" }}
# Network types supported by the agent (gre and/or vxlan). (list value)
# from .agent.neutron.ml2.ovs.agent.tunnel_types
{{ if not .agent.neutron.ml2.ovs.agent.tunnel_types }}#{{ end }}tunnel_types = {{ .agent.neutron.ml2.ovs.agent.tunnel_types | default "" }}
# The UDP port to use for VXLAN tunnels. (port value)
# Minimum value: 0
# Maximum value: 65535
# from .agent.neutron.ml2.ovs.agent.vxlan_udp_port
{{ if not .agent.neutron.ml2.ovs.agent.vxlan_udp_port }}#{{ end }}vxlan_udp_port = {{ .agent.neutron.ml2.ovs.agent.vxlan_udp_port | default "4789" }}
# MTU size of veth interfaces (integer value)
# from .agent.neutron.ml2.ovs.agent.veth_mtu
{{ if not .agent.neutron.ml2.ovs.agent.veth_mtu }}#{{ end }}veth_mtu = {{ .agent.neutron.ml2.ovs.agent.veth_mtu | default "9000" }}
# Use ML2 l2population mechanism driver to learn remote MAC and IPs and improve
# tunnel scalability. (boolean value)
# from .agent.neutron.ml2.ovs.agent.l2_population
{{ if not .agent.neutron.ml2.ovs.agent.l2_population }}#{{ end }}l2_population = {{ .agent.neutron.ml2.ovs.agent.l2_population | default "false" }}
# Enable local ARP responder if it is supported. Requires OVS 2.1 and ML2
# l2population driver. Allows the switch (when supporting an overlay) to
# respond to an ARP request locally without performing a costly ARP broadcast
# into the overlay. (boolean value)
# from .agent.neutron.ml2.ovs.agent.arp_responder
{{ if not .agent.neutron.ml2.ovs.agent.arp_responder }}#{{ end }}arp_responder = {{ .agent.neutron.ml2.ovs.agent.arp_responder | default "false" }}
# DEPRECATED: Enable suppression of ARP responses that don't match an IP
# address that belongs to the port from which they originate. Note: This
# prevents the VMs attached to this agent from spoofing, it doesn't protect
# them from other devices which have the capability to spoof (e.g. bare metal
# or VMs attached to agents without this flag set to True). Spoofing rules will
# not be added to any ports that have port security disabled. For LinuxBridge,
# this requires ebtables. For OVS, it requires a version that supports matching
# ARP headers. This option will be removed in Ocata so the only way to disable
# protection will be via the port security extension. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .agent.neutron.ml2.ovs.agent.prevent_arp_spoofing
{{ if not .agent.neutron.ml2.ovs.agent.prevent_arp_spoofing }}#{{ end }}prevent_arp_spoofing = {{ .agent.neutron.ml2.ovs.agent.prevent_arp_spoofing | default "true" }}
# Set or un-set the don't fragment (DF) bit on outgoing IP packet carrying
# GRE/VXLAN tunnel. (boolean value)
# from .agent.neutron.ml2.ovs.agent.dont_fragment
{{ if not .agent.neutron.ml2.ovs.agent.dont_fragment }}#{{ end }}dont_fragment = {{ .agent.neutron.ml2.ovs.agent.dont_fragment | default "true" }}
# Make the l2 agent run in DVR mode. (boolean value)
# from .agent.neutron.ml2.ovs.agent.enable_distributed_routing
{{ if not .agent.neutron.ml2.ovs.agent.enable_distributed_routing }}#{{ end }}enable_distributed_routing = {{ .agent.neutron.ml2.ovs.agent.enable_distributed_routing | default "false" }}
# Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If
# value is set to 0, rpc timeout won't be changed (integer value)
# from .agent.neutron.ml2.ovs.agent.quitting_rpc_timeout
{{ if not .agent.neutron.ml2.ovs.agent.quitting_rpc_timeout }}#{{ end }}quitting_rpc_timeout = {{ .agent.neutron.ml2.ovs.agent.quitting_rpc_timeout | default "10" }}
# Reset flow table on start. Setting this to True will cause brief traffic
# interruption. (boolean value)
# from .agent.neutron.ml2.ovs.agent.drop_flows_on_start
{{ if not .agent.neutron.ml2.ovs.agent.drop_flows_on_start }}#{{ end }}drop_flows_on_start = {{ .agent.neutron.ml2.ovs.agent.drop_flows_on_start | default "false" }}
# Set or un-set the tunnel header checksum on outgoing IP packet carrying
# GRE/VXLAN tunnel. (boolean value)
# from .agent.neutron.ml2.ovs.agent.tunnel_csum
{{ if not .agent.neutron.ml2.ovs.agent.tunnel_csum }}#{{ end }}tunnel_csum = {{ .agent.neutron.ml2.ovs.agent.tunnel_csum | default "false" }}
# DEPRECATED: Selects the Agent Type reported (string value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .agent.neutron.ml2.ovs.agent.agent_type
{{ if not .agent.neutron.ml2.ovs.agent.agent_type }}#{{ end }}agent_type = {{ .agent.neutron.ml2.ovs.agent.agent_type | default "Open vSwitch agent" }}
# Extensions list to use (list value)
# from .agent.neutron.ml2.ovs.agent.extensions
{{ if not .agent.neutron.ml2.ovs.agent.extensions }}#{{ end }}extensions = {{ .agent.neutron.ml2.ovs.agent.extensions | default "" }}
[ovs]
#
# From neutron.ml2.ovs.agent
#
# Integration bridge to use. Do not change this parameter unless you have a
# good reason to. This is the name of the OVS integration bridge. There is one
# per hypervisor. The integration bridge acts as a virtual 'patch bay'. All VM
# VIFs are attached to this bridge and then 'patched' according to their
# network connectivity. (string value)
# from .ovs.neutron.ml2.ovs.agent.integration_bridge
{{ if not .ovs.neutron.ml2.ovs.agent.integration_bridge }}#{{ end }}integration_bridge = {{ .ovs.neutron.ml2.ovs.agent.integration_bridge | default "br-int" }}
# Tunnel bridge to use. (string value)
# from .ovs.neutron.ml2.ovs.agent.tunnel_bridge
{{ if not .ovs.neutron.ml2.ovs.agent.tunnel_bridge }}#{{ end }}tunnel_bridge = {{ .ovs.neutron.ml2.ovs.agent.tunnel_bridge | default "br-tun" }}
# Peer patch port in integration bridge for tunnel bridge. (string value)
# from .ovs.neutron.ml2.ovs.agent.int_peer_patch_port
{{ if not .ovs.neutron.ml2.ovs.agent.int_peer_patch_port }}#{{ end }}int_peer_patch_port = {{ .ovs.neutron.ml2.ovs.agent.int_peer_patch_port | default "patch-tun" }}
# Peer patch port in tunnel bridge for integration bridge. (string value)
# from .ovs.neutron.ml2.ovs.agent.tun_peer_patch_port
{{ if not .ovs.neutron.ml2.ovs.agent.tun_peer_patch_port }}#{{ end }}tun_peer_patch_port = {{ .ovs.neutron.ml2.ovs.agent.tun_peer_patch_port | default "patch-int" }}
# IP address of local overlay (tunnel) network endpoint. Use either an IPv4 or
# IPv6 address that resides on one of the host network interfaces. The IP
# version of this value must match the value of the 'overlay_ip_version' option
# in the ML2 plug-in configuration file on the neutron server node(s). (IP
# address value)
# from .ovs.neutron.ml2.ovs.agent.local_ip
{{ if not .ovs.neutron.ml2.ovs.agent.local_ip }}#{{ end }}local_ip = {{ .ovs.neutron.ml2.ovs.agent.local_ip | default "<None>" }}
# Comma-separated list of <physical_network>:<bridge> tuples mapping physical
# network names to the agent's node-specific Open vSwitch bridge names to be
# used for flat and VLAN networks. The length of bridge names should be no more
# than 11. Each bridge must exist, and should have a physical network interface
# configured as a port. All physical networks configured on the server should
# have mappings to appropriate bridges on each agent. Note: If you remove a
# bridge from this mapping, make sure to disconnect it from the integration
# bridge as it won't be managed by the agent anymore. (list value)
# from .ovs.neutron.ml2.ovs.agent.bridge_mappings
{{ if not .ovs.neutron.ml2.ovs.agent.bridge_mappings }}#{{ end }}bridge_mappings = {{ .ovs.neutron.ml2.ovs.agent.bridge_mappings | default "" }}
# Use veths instead of patch ports to interconnect the integration bridge to
# physical networks. Support kernel without Open vSwitch patch port support so
# long as it is set to True. (boolean value)
# from .ovs.neutron.ml2.ovs.agent.use_veth_interconnection
{{ if not .ovs.neutron.ml2.ovs.agent.use_veth_interconnection }}#{{ end }}use_veth_interconnection = {{ .ovs.neutron.ml2.ovs.agent.use_veth_interconnection | default "false" }}
# OpenFlow interface to use. (string value)
# Allowed values: ovs-ofctl, native
# from .ovs.neutron.ml2.ovs.agent.of_interface
{{ if not .ovs.neutron.ml2.ovs.agent.of_interface }}#{{ end }}of_interface = {{ .ovs.neutron.ml2.ovs.agent.of_interface | default "native" }}
# OVS datapath to use. 'system' is the default value and corresponds to the
# kernel datapath. To enable the userspace datapath set this value to 'netdev'.
# (string value)
# Allowed values: system, netdev
# from .ovs.neutron.ml2.ovs.agent.datapath_type
{{ if not .ovs.neutron.ml2.ovs.agent.datapath_type }}#{{ end }}datapath_type = {{ .ovs.neutron.ml2.ovs.agent.datapath_type | default "system" }}
# OVS vhost-user socket directory. (string value)
# from .ovs.neutron.ml2.ovs.agent.vhostuser_socket_dir
{{ if not .ovs.neutron.ml2.ovs.agent.vhostuser_socket_dir }}#{{ end }}vhostuser_socket_dir = {{ .ovs.neutron.ml2.ovs.agent.vhostuser_socket_dir | default "/var/run/openvswitch" }}
# Address to listen on for OpenFlow connections. Used only for 'native' driver.
# (IP address value)
# from .ovs.neutron.ml2.ovs.agent.of_listen_address
{{ if not .ovs.neutron.ml2.ovs.agent.of_listen_address }}#{{ end }}of_listen_address = {{ .ovs.neutron.ml2.ovs.agent.of_listen_address | default "127.0.0.1" }}
# Port to listen on for OpenFlow connections. Used only for 'native' driver.
# (port value)
# Minimum value: 0
# Maximum value: 65535
# from .ovs.neutron.ml2.ovs.agent.of_listen_port
{{ if not .ovs.neutron.ml2.ovs.agent.of_listen_port }}#{{ end }}of_listen_port = {{ .ovs.neutron.ml2.ovs.agent.of_listen_port | default "6633" }}
# Timeout in seconds to wait for the local switch connecting the controller.
# Used only for 'native' driver. (integer value)
# from .ovs.neutron.ml2.ovs.agent.of_connect_timeout
{{ if not .ovs.neutron.ml2.ovs.agent.of_connect_timeout }}#{{ end }}of_connect_timeout = {{ .ovs.neutron.ml2.ovs.agent.of_connect_timeout | default "30" }}
# Timeout in seconds to wait for a single OpenFlow request. Used only for
# 'native' driver. (integer value)
# from .ovs.neutron.ml2.ovs.agent.of_request_timeout
{{ if not .ovs.neutron.ml2.ovs.agent.of_request_timeout }}#{{ end }}of_request_timeout = {{ .ovs.neutron.ml2.ovs.agent.of_request_timeout | default "10" }}
# The interface for interacting with the OVSDB (string value)
# Allowed values: native, vsctl
# from .ovs.neutron.ml2.ovs.agent.ovsdb_interface
{{ if not .ovs.neutron.ml2.ovs.agent.ovsdb_interface }}#{{ end }}ovsdb_interface = {{ .ovs.neutron.ml2.ovs.agent.ovsdb_interface | default "native" }}
# The connection string for the native OVSDB backend. Requires the native
# ovsdb_interface to be enabled. (string value)
# from .ovs.neutron.ml2.ovs.agent.ovsdb_connection
{{ if not .ovs.neutron.ml2.ovs.agent.ovsdb_connection }}#{{ end }}ovsdb_connection = {{ .ovs.neutron.ml2.ovs.agent.ovsdb_connection | default "tcp:127.0.0.1:6640" }}
[securitygroup]
#
# From neutron.ml2.ovs.agent
#
# Driver for security groups firewall in the L2 agent (string value)
# from .securitygroup.neutron.ml2.ovs.agent.firewall_driver
{{ if not .securitygroup.neutron.ml2.ovs.agent.firewall_driver }}#{{ end }}firewall_driver = {{ .securitygroup.neutron.ml2.ovs.agent.firewall_driver | default "<None>" }}
# Controls whether the neutron security group API is enabled in the server. It
# should be false when using no security groups or using the nova security
# group API. (boolean value)
# from .securitygroup.neutron.ml2.ovs.agent.enable_security_group
{{ if not .securitygroup.neutron.ml2.ovs.agent.enable_security_group }}#{{ end }}enable_security_group = {{ .securitygroup.neutron.ml2.ovs.agent.enable_security_group | default "true" }}
# Use ipset to speed-up the iptables based security groups. Enabling ipset
# support requires that ipset is installed on L2 agent node. (boolean value)
# from .securitygroup.neutron.ml2.ovs.agent.enable_ipset
{{ if not .securitygroup.neutron.ml2.ovs.agent.enable_ipset }}#{{ end }}enable_ipset = {{ .securitygroup.neutron.ml2.ovs.agent.enable_ipset | default "true" }}
{{- end -}}

View File

@ -0,0 +1,196 @@
# Copyright 2017 The Openstack-Helm Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
{{ include "neutron.conf.sriov_agent_values_skeleton" .Values.conf.sriov_agent | trunc 0 }}
{{ include "neutron.conf.sriov_agent" .Values.conf.sriov_agent }}
{{- define "neutron.conf.sriov_agent_values_skeleton" -}}
{{- if not .default -}}{{- set . "default" dict -}}{{- end -}}
{{- if not .default.oslo -}}{{- set .default "oslo" dict -}}{{- end -}}
{{- if not .default.oslo.log -}}{{- set .default.oslo "log" dict -}}{{- end -}}
{{- if not .agent -}}{{- set . "agent" dict -}}{{- end -}}
{{- if not .agent.neutron -}}{{- set .agent "neutron" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2 -}}{{- set .agent.neutron "ml2" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2.sriov -}}{{- set .agent.neutron.ml2 "sriov" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2.sriov.agent -}}{{- set .agent.neutron.ml2.sriov "agent" dict -}}{{- end -}}
{{- if not .agent.neutron.ml2.agent -}}{{- set .agent.neutron.ml2 "agent" dict -}}{{- end -}}
{{- if not .sriov_nic -}}{{- set . "sriov_nic" dict -}}{{- end -}}
{{- if not .sriov_nic.neutron -}}{{- set .sriov_nic "neutron" dict -}}{{- end -}}
{{- if not .sriov_nic.neutron.ml2 -}}{{- set .sriov_nic.neutron "ml2" dict -}}{{- end -}}
{{- if not .sriov_nic.neutron.ml2.sriov -}}{{- set .sriov_nic.neutron.ml2 "sriov" dict -}}{{- end -}}
{{- if not .sriov_nic.neutron.ml2.sriov.agent -}}{{- set .sriov_nic.neutron.ml2.sriov "agent" dict -}}{{- end -}}
{{- end -}}
{{- define "neutron.conf.sriov_agent" -}}
[DEFAULT]
#
# From oslo.log
#
# If set to true, the logging level will be set to DEBUG instead of the default
# INFO level. (boolean value)
# Note: This option can be changed without restarting.
# from .default.oslo.log.debug
{{ if not .default.oslo.log.debug }}#{{ end }}debug = {{ .default.oslo.log.debug | default "false" }}
# DEPRECATED: If set to false, the logging level will be set to WARNING instead
# of the default INFO level. (boolean value)
# This option is deprecated for removal.
# Its value may be silently ignored in the future.
# from .default.oslo.log.verbose
{{ if not .default.oslo.log.verbose }}#{{ end }}verbose = {{ .default.oslo.log.verbose | default "true" }}
# The name of a logging configuration file. This file is appended to any
# existing logging configuration files. For details about logging configuration
# files, see the Python logging module documentation. Note that when logging
# configuration files are used then all logging configuration is set in the
# configuration file and other logging configuration options are ignored (for
# example, logging_context_format_string). (string value)
# Note: This option can be changed without restarting.
# Deprecated group/name - [DEFAULT]/log_config
# from .default.oslo.log.log_config_append
{{ if not .default.oslo.log.log_config_append }}#{{ end }}log_config_append = {{ .default.oslo.log.log_config_append | default "<None>" }}
# Defines the format string for %%(asctime)s in log records. Default:
# %(default)s . This option is ignored if log_config_append is set. (string
# value)
# from .default.oslo.log.log_date_format
{{ if not .default.oslo.log.log_date_format }}#{{ end }}log_date_format = {{ .default.oslo.log.log_date_format | default "%Y-%m-%d %H:%M:%S" }}
# (Optional) Name of log file to send logging output to. If no default is set,
# logging will go to stderr as defined by use_stderr. This option is ignored if
# log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logfile
# from .default.oslo.log.log_file
{{ if not .default.oslo.log.log_file }}#{{ end }}log_file = {{ .default.oslo.log.log_file | default "<None>" }}
# (Optional) The base directory used for relative log_file paths. This option
# is ignored if log_config_append is set. (string value)
# Deprecated group/name - [DEFAULT]/logdir
# from .default.oslo.log.log_dir
{{ if not .default.oslo.log.log_dir }}#{{ end }}log_dir = {{ .default.oslo.log.log_dir | default "<None>" }}
# Uses logging handler designed to watch file system. When log file is moved or
# removed this handler will open a new log file with specified path
# instantaneously. It makes sense only if log_file option is specified and
# Linux platform is used. This option is ignored if log_config_append is set.
# (boolean value)
# from .default.oslo.log.watch_log_file
{{ if not .default.oslo.log.watch_log_file }}#{{ end }}watch_log_file = {{ .default.oslo.log.watch_log_file | default "false" }}
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
# changed later to honor RFC5424. This option is ignored if log_config_append
# is set. (boolean value)
# from .default.oslo.log.use_syslog
{{ if not .default.oslo.log.use_syslog }}#{{ end }}use_syslog = {{ .default.oslo.log.use_syslog | default "false" }}
# Syslog facility to receive log lines. This option is ignored if
# log_config_append is set. (string value)
# from .default.oslo.log.syslog_log_facility
{{ if not .default.oslo.log.syslog_log_facility }}#{{ end }}syslog_log_facility = {{ .default.oslo.log.syslog_log_facility | default "LOG_USER" }}
# Log output to standard error. This option is ignored if log_config_append is
# set. (boolean value)
# from .default.oslo.log.use_stderr
{{ if not .default.oslo.log.use_stderr }}#{{ end }}use_stderr = {{ .default.oslo.log.use_stderr | default "true" }}
# Format string to use for log messages with context. (string value)
# from .default.oslo.log.logging_context_format_string
{{ if not .default.oslo.log.logging_context_format_string }}#{{ end }}logging_context_format_string = {{ .default.oslo.log.logging_context_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s" }}
# Format string to use for log messages when context is undefined. (string
# value)
# from .default.oslo.log.logging_default_format_string
{{ if not .default.oslo.log.logging_default_format_string }}#{{ end }}logging_default_format_string = {{ .default.oslo.log.logging_default_format_string | default "%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s" }}
# Additional data to append to log message when logging level for the message
# is DEBUG. (string value)
# from .default.oslo.log.logging_debug_format_suffix
{{ if not .default.oslo.log.logging_debug_format_suffix }}#{{ end }}logging_debug_format_suffix = {{ .default.oslo.log.logging_debug_format_suffix | default "%(funcName)s %(pathname)s:%(lineno)d" }}
# Prefix each line of exception output with this format. (string value)
# from .default.oslo.log.logging_exception_prefix
{{ if not .default.oslo.log.logging_exception_prefix }}#{{ end }}logging_exception_prefix = {{ .default.oslo.log.logging_exception_prefix | default "%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s" }}
# Defines the format string for %(user_identity)s that is used in
# logging_context_format_string. (string value)
# from .default.oslo.log.logging_user_identity_format
{{ if not .default.oslo.log.logging_user_identity_format }}#{{ end }}logging_user_identity_format = {{ .default.oslo.log.logging_user_identity_format | default "%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s" }}
# List of package logging levels in logger=LEVEL pairs. This option is ignored
# if log_config_append is set. (list value)
# from .default.oslo.log.default_log_levels
{{ if not .default.oslo.log.default_log_levels }}#{{ end }}default_log_levels = {{ .default.oslo.log.default_log_levels | default "amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO" }}
# Enables or disables publication of error events. (boolean value)
# from .default.oslo.log.publish_errors
{{ if not .default.oslo.log.publish_errors }}#{{ end }}publish_errors = {{ .default.oslo.log.publish_errors | default "false" }}
# The format for an instance that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_format
{{ if not .default.oslo.log.instance_format }}#{{ end }}instance_format = {{ .default.oslo.log.instance_format | default "\"[instance: %(uuid)s] \"" }}
# The format for an instance UUID that is passed with the log message. (string
# value)
# from .default.oslo.log.instance_uuid_format
{{ if not .default.oslo.log.instance_uuid_format }}#{{ end }}instance_uuid_format = {{ .default.oslo.log.instance_uuid_format | default "\"[instance: %(uuid)s] \"" }}
# Enables or disables fatal status of deprecations. (boolean value)
# from .default.oslo.log.fatal_deprecations
{{ if not .default.oslo.log.fatal_deprecations }}#{{ end }}fatal_deprecations = {{ .default.oslo.log.fatal_deprecations | default "false" }}
[agent]
#
# From neutron.ml2.sriov.agent
#
# Extensions list to use (list value)
# from .agent.neutron.ml2.sriov.agent.extensions
{{ if not .agent.neutron.ml2.sriov.agent.extensions }}#{{ end }}extensions = {{ .agent.neutron.ml2.sriov.agent.extensions | default "" }}
[sriov_nic]
#
# From neutron.ml2.sriov.agent
#
# Comma-separated list of <physical_network>:<network_device> tuples mapping
# physical network names to the agent's node-specific physical network device
# interfaces of SR-IOV physical function to be used for VLAN networks. All
# physical networks listed in network_vlan_ranges on the server should have
# mappings to appropriate interfaces on each agent. (list value)
# from .sriov_nic.neutron.ml2.sriov.agent.physical_device_mappings
{{ if not .sriov_nic.neutron.ml2.sriov.agent.physical_device_mappings }}#{{ end }}physical_device_mappings = {{ .sriov_nic.neutron.ml2.sriov.agent.physical_device_mappings | default "" }}
# Comma-separated list of <network_device>:<vfs_to_exclude> tuples, mapping
# network_device to the agent's node-specific list of virtual functions that
# should not be used for virtual networking. vfs_to_exclude is a semicolon-
# separated list of virtual functions to exclude from network_device. The
# network_device in the mapping should appear in the physical_device_mappings
# list. (list value)
# from .sriov_nic.neutron.ml2.sriov.agent.exclude_devices
{{ if not .sriov_nic.neutron.ml2.sriov.agent.exclude_devices }}#{{ end }}exclude_devices = {{ .sriov_nic.neutron.ml2.sriov.agent.exclude_devices | default "" }}
{{- end -}}

View File

@ -38,7 +38,7 @@ spec:
- --config-file
- /etc/neutron/neutron.conf
- --config-file
- /etc/neutron/plugins/ml2/ml2-conf.ini
- /etc/neutron/plugins/ml2/ml2_conf.ini
- upgrade
- head
{{- if .Values.resources.enabled }}
@ -57,8 +57,8 @@ spec:
mountPath: /etc/neutron/neutron.conf
subPath: neutron.conf
- name: ml2confini
mountPath: /etc/neutron/plugins/ml2/ml2-conf.ini
subPath: ml2-conf.ini
mountPath: /etc/neutron/plugins/ml2/ml2_conf.ini
subPath: ml2_conf.ini
volumes:
- name: pod-etc-neutron
emptyDir: {}

View File

@ -82,16 +82,6 @@ network:
server: 9696
metadata: 8775
memcached:
host: memcached
port: 11211
rabbitmq:
address: rabbitmq
admin_user: rabbitmq
admin_password: password
port: 5672
keystone:
admin_user: "admin"
admin_user_domain: "default"
@ -108,57 +98,7 @@ keystone:
neutron_project_domain: "default"
neutron_region_name: "RegionOne"
nova_user: "nova"
nova_user_domain: "default"
nova_user_role: "admin"
nova_password: "password"
nova_project_name: "service"
nova_project_domain: "default"
nova_region_name: "RegionOne"
database:
port: 3306
root_user: root
root_password: password
neutron_database_name: neutron
neutron_password: password
neutron_user: neutron
metadata_agent:
default:
debug: 'True'
neutron:
workers: 4
default:
l3_ha_network_type: gre
debug: 'True'
metadata:
workers: 4
ml2:
tenant_network_types: "flat"
agent:
tunnel_types: "vxlan"
type_drivers:
- flat
- vlan
- vxlan
mechanism_drivers:
- openvswitch
- l2population
extension_drivers:
- port_security
ml2_type_vxlan:
vni_ranges: "1:1000"
vxlan_group: 239.1.1.1
ml2_type_gre:
tunnel_id_ranges: "1:1000"
ml2_type_flat:
flat_networks:
- "*"
ml2_type_vlan:
network_vlan_ranges: "physnet1:1100:1110"
ovs:
auto_bridge_add:
br-physnet1: enp11s0f0
@ -299,10 +239,181 @@ resources:
memory: "128Mi"
cpu: "500m"
conf:
paste:
override:
append:
policy:
override:
append:
neutron:
override:
append:
default:
neutron:
api_workers: 4
allow_overlapping_ips: True
core_plugin: ml2
service_plugins: router
interface_driver: openvswitch
metadata_proxy_socket: /var/lib/neutron/openstack-helm/metadata_proxy
db:
allow_automatic_l3agent_failover: True
l3_ha: True
min_l3_agents_per_router: 1
max_l3_agents_per_router: 2
l3_ha_network_type: vxlan
dhcp_agents_per_network: 3
network_auto_schedule: True
router_auto_schedule: True
agent:
interface_driver: openvswitch
oslo_concurrency:
oslo_concurrency:
lock_path: /var/lib/neutron/tmp
database:
oslo:
db:
max_retries: -1
agent:
neutron:
agent:
root_helper: sudo /var/lib/kolla/venv/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
l2_population: True
arp_responder: True
oslo_messaging_notifications:
oslo:
messaging:
driver:
- noop
nova:
nova:
auth:
region_name: RegionOne
project_domain_name: default
project_name: service
user_domain_name: default
username: nova
password: password
keystone_authtoken:
keystonemiddleware:
auth_token:
region_name: RegionOne
project_domain_name: default
project_name: admin
user_domain_name: admin
username: admin
password: password
ml2_conf:
override:
append:
ml2:
neutron:
ml2:
extension_drivers: port_security
mechanism_drivers: openvswitch,l2population
type_drivers: flat,vlan,vxlan
tenant_network_types: vxlan
ml2_type_vxlan:
neutron:
ml2:
vni_ranges: 1:1000
vxlan_group: 239.1.1.1
ml2_type_flat:
neutron:
ml2:
flat_networks: "*"
ml2_type_vlan:
neutron:
ml2:
network_vlan_ranges: "physnet1:1100:1110"
ml2_conf_sriov:
override:
append:
dhcp_agent:
override:
append:
default:
neutron:
dhcp:
agent:
dnsmasq_config_file: /etc/neutron/dnsmasq.conf
enable_isolated_metadata: True
force_metadata: True
l3_agent:
override:
append:
default:
neutron:
l3:
agent:
agent_mode: legacy
enable_metadata_proxy: True
enable_isolated_metadata: True
openvswitch_agent:
override:
append:
ovs:
neutron:
ml2:
ovs:
agent:
tunnel_types: vxlan
ovsdb_connection: unix:/var/run/openvswitch/db.sock
metering_agent:
override:
append:
metadata_agent:
override:
append:
sriov_agent:
override:
append:
macvtap_agent:
override:
append:
linuxbridge_agent:
override:
append:
# typically overriden by environmental
# values, but should include all endpoints
# required by this chart
endpoints:
oslo_db:
auth:
admin:
username: root
password: password
user:
username: neutron
password: password
hosts:
default: mariadb
path: /neutron
scheme: mysql+pymysql
port:
mysql: 3306
oslo_messaging:
auth:
admin:
username: admin
password: password
user:
username: rabbitmq
password: password
hosts:
default: rabbitmq
path: /
scheme: rabbit
port:
amqp: 5672
oslo_cache:
hosts:
default: memcache
port:
memcache: 11211
compute:
name: nova
hosts:

View File

@ -24,7 +24,7 @@ spec:
metadata:
annotations:
pod.beta.kubernetes.io/init-containers: '[
{{ tuple $envAll $dependencies | include "helm-toolkit.kubernetes_entrypoint_init_container" | indent 10 }}
{{ tuple $envAll $dependencies "[]" | include "helm-toolkit.kubernetes_entrypoint_init_container" | indent 10 }}
]'
spec:
restartPolicy: OnFailure