Transform name to uuid.

Change-Id: I24553f79bdf64cf8a1c5c43572cff835591f9275
Co-Authored-By: Drew Fisher <drew.fisher@oracle.com>
Depends-on: I3b7c17590b27cd3a22c5458342d049969ade2281
Depends-on: Iad0354f5babd86822e37053f3f7a1134803fd4f8
This commit is contained in:
Sofer Athlan-Guyot 2016-07-26 17:59:52 +02:00 committed by Drew Fisher
parent 4061b39bc9
commit 80eaa471c9
4 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,31 @@
#
# This manifest is intended to demonstrate the 'transform_to' argument
# for converting the name of a Neutron router to its UUID for
# inclusion in l3-agent.ini
#
# This manifest extends the one shown in base_provision.pp
#
class { '::neutron':
allow_overlapping_ips => true,
rabbit_password => 'password',
rabbit_user => 'guest',
rabbit_host => 'localhost',
service_plugins => ['router']
}
class { '::neutron::server':
auth_password => 'password',
database_connection => 'mysql://neutron:password@192.168.1.1/neutron',
}
# configure l3-agent to use the new router by name
class { '::neutron::agents::l3':
enabled => true,
use_namespaces => false,
require => Neutron_router['demo_router'],
}
neutron_l3_agent_config {
'DEFAULT/router_id': value => 'demo_router', transform_to => 'uuid';
}

View File

@ -1,3 +1,5 @@
require 'puppet/provider/neutron'
Puppet::Type.type(:neutron_l3_agent_config).provide(
:ini_setting,
:parent => Puppet::Type.type(:openstack_config).provider(:ini_setting)
@ -12,4 +14,16 @@ Puppet::Type.type(:neutron_l3_agent_config).provide(
self.class.file_path
end
def to_uuid(name)
neutron = Puppet::Provider::Neutron.new
neutron.auth_neutron('router-show', "#{name}",
'--format=value', '--column=id').chop
end
def from_uuid(uuid)
neutron = Puppet::Provider::Neutron.new
neutron.auth_neutron('router-show', "#{uuid}",
'--format=value', '--column=name').chop
end
end

View File

@ -21,6 +21,8 @@ Puppet::Type.newtype(:neutron_l3_agent_config) do
defaultto('<SERVICE DEFAULT>')
end
newparam(:transform_to)
autorequire(:package) do
'neutron'
end

View File

@ -0,0 +1,4 @@
---
features:
- Add the ability to specify the a name string for the router_id in
neutron_l3_agent_config using the transform_to argument.