create_entity

in providers/client.rb [101:131]


def create_entity(keyname)
  tmp_keyring = "#{Chef::Config[:file_cache_path]}/.#{keyname}.keyring"

  if new_resource.key
    
    cmd_text = "ceph-authtool #{tmp_keyring} --create-keyring --name #{keyname} "\
               "--add-key '#{new_resource.key}'"
    cmd = Mixlib::ShellOut.new(cmd_text)
    cmd.run_command
    cmd.error!

    key_option = "-i #{tmp_keyring}"
  else
    key_option = ''
  end

  caps = new_resource.caps.map { |k, v| "#{k} '#{v}'" }.join(' ')

  cmd_text = "ceph auth #{key_option} add #{keyname} #{caps} --name mon. --key='#{ceph_chef_mon_secret}'"
  cmd = Mixlib::ShellOut.new(cmd_text)
  cmd.run_command
  cmd.error!
  Chef::Log.debug "Client #{keyname} created"

  
  file tmp_keyring do
    action :delete
    sensitive true if Chef::Resource::File.method_defined? :sensitive
  end
end