components/ruby/puppet-modules/openstack-neutron/patches/09-gerrit-347468.patch
changeset 6817 e4a26f447d0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/ruby/puppet-modules/openstack-neutron/patches/09-gerrit-347468.patch	Wed Sep 07 14:48:35 2016 -0700
@@ -0,0 +1,116 @@
+Upstream patch to add the transform_to getter/setter and to/from_uuid
+methods.  This patch has been modified from upstream to work with the
+Mitaka version of the module.  This patch will be in a future release
+of the module.
+
+https://review.openstack.org/#/c/347468/
+
+From 80eaa471c96fb1df690ffe2e2ea5505b8287fdda Mon Sep 17 00:00:00 2001
+From: Sofer Athlan-Guyot <[email protected]>
+Date: Tue, 26 Jul 2016 17:59:52 +0200
+Subject: [PATCH] Transform name to uuid.
+
+Change-Id: I24553f79bdf64cf8a1c5c43572cff835591f9275
+Co-Authored-By: Drew Fisher <[email protected]>
+Depends-on: I3b7c17590b27cd3a22c5458342d049969ade2281
+Depends-on: Iad0354f5babd86822e37053f3f7a1134803fd4f8
+---
+ examples/neutron_l3_with_to_uuid.pp                | 31 ++++++++++++++++++++++
+ .../neutron_l3_agent_config/ini_setting.rb         | 14 ++++++++++
+ lib/puppet/type/neutron_l3_agent_config.rb         |  2 ++
+ releasenotes/notes/add_name_to_uuid_transform.yaml |  4 +++
+ 4 files changed, 51 insertions(+)
+ create mode 100644 examples/neutron_l3_with_to_uuid.pp
+ create mode 100644 releasenotes/notes/add_name_to_uuid_transform.yaml
+
+diff --git a/examples/neutron_l3_with_to_uuid.pp b/examples/neutron_l3_with_to_uuid.pp
+new file mode 100644
+index 0000000..892e348
+--- /dev/null
++++ b/examples/neutron_l3_with_to_uuid.pp
+@@ -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:[email protected]/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';
++}
+diff --git a/lib/puppet/provider/neutron_l3_agent_config/ini_setting.rb b/lib/puppet/provider/neutron_l3_agent_config/ini_setting.rb
+index 5bb2dfc..d36fd51 100644
+--- a/lib/puppet/provider/neutron_l3_agent_config/ini_setting.rb
++++ b/lib/puppet/provider/neutron_l3_agent_config/ini_setting.rb
+@@ -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)
+@@ -7,4 +9,16 @@ Puppet::Type.type(:neutron_l3_agent_conf
+     '/etc/neutron/l3_agent.ini'
+   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
+diff --git a/lib/puppet/type/neutron_l3_agent_config.rb b/lib/puppet/type/neutron_l3_agent_config.rb
+index 569350f..a1569c5 100644
+--- a/lib/puppet/type/neutron_l3_agent_config.rb
++++ b/lib/puppet/type/neutron_l3_agent_config.rb
+@@ -21,6 +21,8 @@ Puppet::Type.newtype(:neutron_l3_agent_config) do
+     defaultto('<SERVICE DEFAULT>')
+   end
+ 
++  newparam(:transform_to)
++
+   autorequire(:package) do
+     'neutron'
+   end
+diff --git a/releasenotes/notes/add_name_to_uuid_transform.yaml b/releasenotes/notes/add_name_to_uuid_transform.yaml
+new file mode 100644
+index 0000000..34cd794
+--- /dev/null
++++ b/releasenotes/notes/add_name_to_uuid_transform.yaml
+@@ -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. 
+-- 
+1.9.1
+
+