
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
41 lines
1.2 KiB
Ruby
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
|