ppouliot / puppet-openstack_hyper_v

A starting point for building Windows/Hyper-V OpenStack Compute nodes
Other
6 stars 4 forks source link

virtual_switch type fails with error "Could not evaluate: undefined method `should' for os_managed:Puppet::Type::Virtual_switch::Os_managed" #31

Closed vijaytripathi closed 11 years ago

vijaytripathi commented 11 years ago

While using this module , virtual_switch type throws following error:

Error: /Stage[main]/Openstack_hyper_v/Virtual_switch[br100]: Could not evaluate: undefined method `should' for os_managed:Puppet::Type::Virtual_switch::Os_managed.

Has anyone saw this error?

luisfdez commented 11 years ago

This one is new for me, could you give us more details about the environment?

vijaytripathi commented 11 years ago

Its Windows Server 2012, puppet version =3.3.0 (tested with 3.2.4) as well, python version =2.7

vijaytripathi commented 11 years ago

please let me know if you any other details/info.

vijaytripathi commented 11 years ago

Ruby version is ruby 1.9.3p448 (2013-06-27) [i386-mingw32]

luisfdez commented 11 years ago

Thanks for the info @vijaytripathi, also... ...are you having these problems since a particular moment/commit? ...are you using the last version? ...have you been able to test it successfully in the past?

vijaytripathi commented 11 years ago

Yes I am using last version, I have tested it with previous version but without any luck. So till now I have not been able to test it successfully.

luisfdez commented 11 years ago

My environment is the following.

Windows 2012 DataCenter
Puppet 3.2.2
ruby 1.9.3p392 (2013-02-22) [i386-mingw32]

I'm not using the upstream version of the module, but I think the're no big/relevant differences between them. I'll take a look anyway.

vijaytripathi commented 11 years ago

Tried with puppet 3.2.2, same result. Cam someone please verify this module in their local environment ..either there is some bug in module or something missing in my environment.

luisfdez commented 11 years ago

I found the problem!!, more details in the coming minutes... now I need a coffee :+1:

luisfdez commented 11 years ago

The problem is related with the boolean class we were using for defining the _osmanaged. This class was added in 3.3.0, and as my servers are still in 3.2.X they don't have this ?improvement?.

We need to know if we weren't using in the right way or if it's a bug to be reported upstream.

Applying the proposed patch, I was able to test successfully the following command in a minimal environment (without the patch, I was getting the same error as @vijaytripathi ):

C:\Program Files (x86)\Puppet Labs\Puppet\bin>puppet apply --modulepath=C:\ProgramData\PuppetLabs\puppet\etc\modules -e "virtual_switch{testbr: notes=> test, interface_address=>xx.yy.zz.uu, type=>External, os_managed=> true}"

If it's ok for you, we can apply. I think we're not losing relevante functionality.

Cheers, Luis

vijaytripathi commented 11 years ago

Verified with patch ..it works ...thanks a lot Luis for help here. :+1: