summaryrefslogtreecommitdiffstats
path: root/LICENSE.rst
blob: 0e9e7710408abe90cd77f871164552259efd7d70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
Copyright (c) 2015 Ericsson AB and others.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Apache License, Version 2.0
which accompanies this distribution, and is available at
http://www.apache.org/licenses/LICENSE-2.0


This license is related to the following files included in this directory:

- ez_setup-py
- setup.py
round-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
heat_template_version: pike

description: >
  OpenStack Neutron ML2/OVN plugin configured with Puppet

parameters:
  ServiceData:
    default: {}
    description: Dictionary packing service data
    type: json
  ServiceNetMap:
    default: {}
    description: Mapping of service_name -> network name. Typically set
                 via parameter_defaults in the resource registry.  This
                 mapping overrides those in ServiceNetMapDefaults.
    type: json
  DefaultPasswords:
    default: {}
    type: json
  RoleName:
    default: ''
    description: Role name on which the service is applied
    type: string
  RoleParameters:
    default: {}
    description: Parameters specific to the role
    type: json
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  OVNSouthboundServerPort:
    description: Port of the OVN Southbound DB server
    type: number
    default: 6642
  OVNDbConnectionTimeout:
    description: Timeout in seconds for the OVSDB connection transaction
    type: number
    default: 180
  OVNVifType:
    description: Type of VIF to be used for ports
    type: string
    default: ovs
    constraints:
      - allowed_values:
          - ovs
          - vhostuser
  OVNNeutronSyncMode:
    description: The synchronization mode of OVN with Neutron DB
    type: string
    default: log
    constraints:
      - allowed_values:
          - log
          - off
          - repair
  OVNQosDriver:
    description: OVN notification driver for Neutron QOS service plugin
    type: string
    default: NULL
  NeutronGeneveMaxHeaderSize:
    description: Geneve encapsulation header size
    type: number
    default: 38

resources:

  NeutronMl2Base:
    type: ./neutron-plugin-ml2.yaml
    properties:
      ServiceData: {get_param: ServiceData}
      ServiceNetMap: {get_param: ServiceNetMap}
      DefaultPasswords: {get_param: DefaultPasswords}
      EndpointMap: {get_param: EndpointMap}
      RoleName: {get_param: RoleName}
      RoleParameters: {get_param: RoleParameters}

outputs:
  role_data:
    description: Role data for the Neutron ML2/OVN plugin.
    value:
      service_name: neutron_plugin_ml2_ovn
      config_settings:
        map_merge:
          - get_attr: [NeutronMl2Base, role_data, config_settings]
          - ovn::southbound::port: {get_param: OVNSouthboundServerPort}
            neutron::plugins::ml2::ovn::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
            neutron::plugins::ml2::ovn::neutron_sync_mode: {get_param: OVNNeutronSyncMode}
            neutron::plugins::ml2::ovn::ovn_l3_mode: true
            neutron::plugins::ml2::ovn::vif_type: {get_param: OVNVifType}
            neutron::server::qos_notification_drivers: {get_param: OVNQosDriver}
            neutron::plugins::ml2::max_header_size: {get_param: NeutronGeneveMaxHeaderSize}
      step_config: |
        include ::tripleo::profile::base::neutron::plugins::ml2