Puppet Class: neutron::plugins::ml2::networking_ansible
- Defined in:
- manifests/plugins/ml2/networking_ansible.pp
Overview
Class: neutron::plugins::ml2::networking_ansible
Configures the networking-ansible ML2 Mechanism Driver
Parameters
- host_configs
-
(required) Network devices and their configurations
Hash Format:
{
<host1> => {"ansible_network_os" => "junos",
"ansible_host" => "10.0.0.1",
"ansible_user" => 'ansible',
"ansible_ssh_pass" => "***"},
<host2> => {"ansible_network_os" => "junos",
"ansible_host" => "10.0.0.2",
"ansible_user" => 'ansible',
"ansible_ssh_private_key_file" => "/private/key",
"mac" => "01:23:45:67:89:AB",
"manage_vlans" => false},
}
- coordination_uri
-
(optional) URI to use as a backend for tooz coordination Defaults to $::os_service_default
- package_ensure
-
(optional) The intended state of the python-networking-ansible package, i.e. any of the possible values of the ‘ensure’ property for a package resource type. Defaults to ‘present’
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'manifests/plugins/ml2/networking_ansible.pp', line 34
class neutron::plugins::ml2::networking_ansible(
$host_configs,
$coordination_uri = $::os_service_default,
$package_ensure = 'present'
) {
include neutron::deps
include neutron::params
require neutron::plugins::ml2
if($::osfamily != 'RedHat') {
# Drivers are only packaged for RedHat at this time
fail("Unsupported osfamily ${::osfamily}")
}
ensure_resource('package', 'python-networking-ansible',
{
ensure => $package_ensure,
name => $::neutron::params::networking_ansible_package,
tag => ['openstack', 'neutron-plugin-ml2-package']
}
)
create_resources(neutron::plugins::ml2::networking_ansible_host, $host_configs)
oslo::coordination { 'neutron_plugin_ml2':
backend_url => $coordination_uri,
manage_config => false,
}
neutron_plugin_ml2 {
'ml2_ansible/coordination_uri': value => $coordination_uri;
}
}
|