Hi,
the scoping of the class is indeed needed, but i believe that is a
parser issue.
I did the test wit class { '::vim': version => '7.4' }
on my master with puppet master --compile <certname> i got following :
{
"metadata": {
"api_version": 1
},
"data": {
"classes": [
"settings",
<snip>
"vim",
<snip>
And that is what you should check in your rspec file.
In your manifests, you need indeed the scoping, in your spec, you don't
hth
jo
On 04/06/14 21:56, Brian Wilkins wrote:
It is needed to disambiguate from profiles::logstash and just logstash
classes. If I remove it, then it will complain that logstash is
already loaded when it tries to load profiles::logstash.
On Wednesday, June 4, 2014 3:52:01 PM UTC-4, Garrett Honeycutt wrote:
On 6/4/14, 3:13 PM, Brian Wilkins wrote:
> I think you missed the part where it is complaining about line
10 in my
> profiles::logstash::install module
>
> class { '::logstash':
>
> Removing ::logstash from the spec file has the same complaint.
>
> Brian
>
> On Wednesday, June 4, 2014 3:11:14 PM UTC-4, Garrett Honeycutt
wrote:
>
> On 6/4/14, 2:30 PM, Brian Wilkins wrote:
> > I am trying to write unit tests of my puppet modules. In my
> > profiles::logstash::install, I disambiguate the call to
> > /etc/puppet/modules/logstash by using ::logstash in my class
> definition
> > like so:
> >
> > class profiles::logstash::install() {
> > $ensure = $profiles::logstash::enable ? {true => present,
> default =>
> > absent}
> > $status = $profiles::logstash::start ? {true => enabled,
default =>
> > disabled}
> >
> > class { '::logstash':
> > ensure => $ensure,
> > status => $status,
> > version => $profiles::logstash::version
> > }
> > }
> >
> > However, when I run my spec file:
> >
> > require 'spec_helper'
> >
> > describe "profiles::logstash" do
> > it { should contain_class("::logstash") }
> > it { should contain_class("profiles::logstash::install") }
> > it { should contain_class("profiles::logstash::config") }
> > end
> >
> > I get the errors:
> >
> > 1) profiles::logstash
> > Failure/Error: it { should contain_class("::logstash") }
> > Puppet::Error:
> > Puppet::Parser::AST::Resource failed with error
ArgumentError:
> > Could not find declared class ::logstash at
> >
>
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
>
> > on node els4167.els.dev
> > # ./spec/classes/logstash_spec.rb:4
> >
> > 2) profiles::logstash
> > Failure/Error: it { should
> > contain_class("profiles::logstash::install") }
> > Puppet::Error:
> > Puppet::Parser::AST::Resource failed with error
ArgumentError:
> > Could not find declared class ::logstash at
> >
>
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
>
> > on node els4167.els.dev
> > # ./spec/classes/logstash_spec.rb:5
> >
> > 3) profiles::logstash
> > Failure/Error: it { should
> > contain_class("profiles::logstash::config") }
> > Puppet::Error:
> > Puppet::Parser::AST::Resource failed with error
ArgumentError:
> > Could not find declared class ::logstash at
> >
>
/etc/puppet/modules/profiles/spec/fixtures/modules/profiles/manifests/logstash/install.pp:10
>
> > on node els4167.els.dev
> > # ./spec/classes/logstash_spec.rb:6
> >
> > How do I get rspec to find my class
/etc/puppet/modules/logstash
> and get
> > it to reference ::logstash as a disambiguation?
>
> Hi Brian,
>
> Using ::class is not needed and should not be done. If you
still
> want to
> do that in your class, try changing the spec by dropping the
preceding
> double colons.
>
> Best regards,
> -g
>
> --
> Garrett Honeycutt
> @learnpuppet
> Puppet Training with LearnPuppet.com
> Mobile: +1.206.414.8658
>
Hi Brian,
Recommend dropping the preceding double colons all around. It is not
needed at all.
Br,
-g
--
Garrett Honeycutt
@learnpuppet
Puppet Training with LearnPuppet.com
Mobile: +1.206.414.8658
--
You received this message because you are subscribed to the Google
Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/141ee867-2464-4187-9e55-5aab364c1700%40googlegroups.com
<https://groups.google.com/d/msgid/puppet-users/141ee867-2464-4187-9e55-5aab364c1700%40googlegroups.com?utm_medium=email&utm_source=footer>.
For more options, visit https://groups.google.com/d/optout.
--
Johan De Wit
Open Source Consultant
Red Hat Certified Engineer (805008667232363)
Puppet Certified Professional 2013/2014 (PCP0000006)
_________________________________________________________
Open-Future Phone +32 (0)2/255 70 70
Zavelstraat 72 Fax +32 (0)2/255 70 71
3071 KORTENBERG Mobile +32 (0)474/42 40 73
BELGIUM http://www.open-future.be
_________________________________________________________
Next Events:
Puppet Advanced Training |
https://www.open-future.be/puppet-advanced-training-10-till-12th-june
Puppet Introduction Course |
https://www.open-future.be/puppet-introduction-course-13th-june
Linux Training | https://www.open-future.be/linux-training-16-till-20th-june
Subscribe to our newsletter | http://eepurl.com/BUG8H
--
You received this message because you are subscribed to the Google Groups "Puppet
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/538F89F2.20600%40open-future.be.
For more options, visit https://groups.google.com/d/optout.