Files
puppet-ironic/lib/puppet/provider/ironic_config/openstackconfig.rb
Takashi Kajinami 0f4a5263a7 Add support for MultiStrOpt
This replaces the provider implementation of ironic_config type so that
MultiStrOpt, which is used by several options like
 - oslo_messaging_notifications/driver
 - oslo_policy/policy_dirs
are handled correctly.

Change-Id: Icbc4d60d2538317c05ff5760359b45327abfb533
2021-07-13 18:17:12 +09:00

41 lines
1.2 KiB
Ruby

require File.join(File.dirname(__FILE__), '..','..','..', 'puppet/provider/ironic')
Puppet::Type.type(:ironic_config).provide(
:openstackconfig,
:parent => Puppet::Type.type(:openstack_config).provider(:ruby)
) do
def self.file_path
'/etc/ironic/ironic.conf'
end
def to_net_uuid(name)
properties = [name, '--column', 'id']
openstack = Puppet::Provider::Ironic::OpenstackRequest.new
res = openstack.openstack_request('network', 'show', properties)
return res[:id]
end
def from_net_uuid(uuid)
properties = [uuid, '--column', 'name']
openstack = Puppet::Provider::Ironic::OpenstackRequest.new
res = openstack.openstack_request('network', 'show', properties)
return res[:name]
end
def to_project_uuid(name)
properties = [name, '--column', 'id']
openstack = Puppet::Provider::Ironic::OpenstackRequest.new
res = openstack.openstack_request('project', 'show', properties)
return "AUTH_#{res[:id]}"
end
def from_project_uuid(uuid)
uuid = uuid.sub('AUTH_','')
properties = [uuid, '--column', 'name']
openstack = Puppet::Provider::Ironic::OpenstackRequest.new
res = openstack.openstack_request('project', 'show', properties)
return "AUTH_#{res[:name]}"
end
end