Skip to content
This repository has been archived by the owner on Aug 21, 2020. It is now read-only.

Error: Could not autoload puppet/provider/vc_*/default: undefined method `path' for nil:NilClass #147

Open
cbitter78 opened this issue May 30, 2014 · 0 comments

Comments

@cbitter78
Copy link

When using the vcenter plugin with a puppet master we get this error:

Error: Could not autoload puppet/provider/vc_folder/default: undefined method path' for nil:NilClass Error: Could not autoload puppet/type/vc_folder: Could not autoload puppet/provider/vc_folder/default: undefined methodpath' for nil:NilClass
Error: Could not retrieve catalog from remote server: Could not intern from text/pson: Could not autoload puppet/type/vc_folder: Could not autoload puppet/provider/vc_folder/default: undefined method `path' for nil:NilClass
Warning: Not using cache on failed catalog

Its not only vc_folder, I have tried vc_host and vc_datacenter all have the same issue.

My first step was to install the rbvmomi (1.6.0.z1) gem on the puppet master. That had no effect on this issue.

I then tried to run puppet locally using puppet apply without a puppet master. That worked. (I put the modules and manifests in /etc/puppet/) After this success I tried running puppet with the puppet master and it magically started working ;)

I then removed the modules under /etc/puppet/modules/* that I put there so I could try puppet apply and then ran puppet using my puppet master and it Failed with the same error. This suggests a dependency that is not being provided via the manifest sent from the puppet master.

I narrowed it down to the vmware_lib module being required on the host. After I restored that single module to /etc/puppet/modules/vmware_lib then used the puppet master, it worked.

This is my manifest:

node default {' {
  include 'vcenter::package'
  class {'testing_vmware':}
}

This is the calls

class testing_vmware {

  transport { 'vcenter':
      username => 'esxpuppet',
      password => '**********!',
      server   => 'vcenter-lab-1d.testing.lab',
      options  => { 'insecure' => true }
  }

  vc_folder { 'folder_test':
    path => '/Lab02/test1',
    ensure    => present,
    transport => Transport['vcenter'],
  }
}

Thanks for your help!

dmohanty09 referenced this issue in dmohanty09/vmware-vcenter Jun 20, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant