To publish Netapp network device module?

64 views
Skip to first unread message

Gavin Williams

unread,
Jan 18, 2013, 1:02:39 PM1/18/13
to puppe...@googlegroups.com
Evening all

As some of you are probably aware, I've been working on a NetApp network device module to Puppet.
The module has reached that point whereby it ticks most of the boxes that we needed it for internally, and so it's probably time to start looking at doing a release to the community, so that can get feedback, any missing features, bugs etc...

So I've been drawing up a mental list of things to do to get to release point...
First I think is documentation... Although the code is reasonably well documented, got nothing for the types as yet...
Secondly, need to fix the config file up... Currently it's expecting one in /var/lib/puppet/devices/[device]/, probably want to get those in a better location and manageable as part of the module...
Thirdly, and I think this is going to be most difficult, is a module testing... Currently, there's nothing... :(

So, anything I've missed? And any pointers on where to start, especially with testing...

Cheers
Gavin

P.s. For anyone who wants to look at the latest code, it's available here: https://github.com/fatmcgav/fatmcgav-netapp

Gavin Williams

unread,
Jan 21, 2013, 8:06:53 AM1/21/13
to puppe...@googlegroups.com
Afternoon all

Following a bit more research and reading, I've made a start on the test framework, as I think this is the biggest blocker to being able to happily publish the module...

Have pushed my first set of commits to Git - Am using a combination of Puppetlabs_spec_helper and a support script I pulled from the puppetlabs-f5 module, with a bit of tweaking...

Before I push on too much, I wanted to get peoples opinions on if this is the right way of doing it, or if there is a better/quicker/more scalable way that could save me time? 

So, any comments welcome.
And as always, thank-you in advance for any responses.

Cheers
Gavin

Andy Parker

unread,
Jan 22, 2013, 2:07:51 PM1/22/13
to puppe...@googlegroups.com
On Mon, Jan 21, 2013 at 5:06 AM, Gavin Williams <fatm...@gmail.com> wrote:
Afternoon all

Following a bit more research and reading, I've made a start on the test framework, as I think this is the biggest blocker to being able to happily publish the module...


Great! Testing all to often gets given short shrift.
 
Have pushed my first set of commits to Git - Am using a combination of Puppetlabs_spec_helper and a support script I pulled from the puppetlabs-f5 module, with a bit of tweaking...
 
Before I push on too much, I wanted to get peoples opinions on if this is the right way of doing it, or if there is a better/quicker/more scalable way that could save me time? 


My understanding of this is that you are following the standard way of doing this. Providing feedback to us and helping us make the experience better would be great. I think using git and github is a good way to make sure that what you are doing is accessible to others. Using the puppetlabs spec helper should make testing the module with puppet possible. I'd like to know what we can do to make it seamless and easy, though.
 
So, any comments welcome.
And as always, thank-you in advance for any responses.

Cheers
Gavin

On Friday, 18 January 2013 18:02:39 UTC, Gavin Williams wrote:
Evening all

As some of you are probably aware, I've been working on a NetApp network device module to Puppet.
The module has reached that point whereby it ticks most of the boxes that we needed it for internally, and so it's probably time to start looking at doing a release to the community, so that can get feedback, any missing features, bugs etc...

So I've been drawing up a mental list of things to do to get to release point...
First I think is documentation... Although the code is reasonably well documented, got nothing for the types as yet...
Secondly, need to fix the config file up... Currently it's expecting one in /var/lib/puppet/devices/[device]/, probably want to get those in a better location and manageable as part of the module...
Thirdly, and I think this is going to be most difficult, is a module testing... Currently, there's nothing... :(

So, anything I've missed? And any pointers on where to start, especially with testing...

Cheers
Gavin

P.s. For anyone who wants to look at the latest code, it's available here: https://github.com/fatmcgav/fatmcgav-netapp

--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-dev/-/qGr7gM4bslwJ.

To post to this group, send email to puppe...@googlegroups.com.
To unsubscribe from this group, send email to puppet-dev+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.

fatmcgav

unread,
Jan 22, 2013, 2:46:53 PM1/22/13
to puppe...@googlegroups.com
Andy

Cheers for the response.

So far, I must admin it's been a pretty steep learning curve; but that's probably as much me as the tools, as i'm not a developer by trade :)

Puppetlabs spec helper has made it much easier so far, plus the helper script I grabbed from the puppetlabs-f5 module, albeit with a couple of tweaks to make the tests pass :)
Haven't yet worked out a way of doing property testing, and provider testing... But that's next :)

Cheers
Gavin

Gavin Williams

unread,
Jan 28, 2013, 5:50:51 AM1/28/13
to puppe...@googlegroups.com
Ok, I think I've finally got to a point where I'm happy to unleash the module on the world...

Still got a few areas to improve on, however I've got a lot of working coming up which means I'm probably going to struggle to find time for further refining...

Anyways, onto the issue at hand...
I've created a 'v0.1' tag, checked it out onto my local puppet dev machine, and am trying to build the module using puppetlabs_spec_helper.

According to the documentation, it should be as simple as 'rake build'. However when I try that, I get:
 fatmcgav-netapp]$ rake
rake build            # Build puppet module package
rake clean            # Clean a built module package
rake coverage         # Generate code coverage information
rake help             # Display the list of available rake tasks
rake lint             # Check puppet manifests with puppet-lint
rake spec             # Run spec tests in a clean fixtures directory
rake spec_clean       # Clean up the fixtures directory
rake spec_prep        # Create the fixtures directory
rake spec_standalone  # Run spec tests on an existing fixtures directory
 fatmcgav-netapp]$
 fatmcgav-netapp]$
 fatmcgav-netapp]$ rake build
rake aborted!
Could not autoload puppet/face/module/install: Error converting value for param 'modulepath': Could not find value for $confdir

Tasks: TOP => build
(See full trace by running task with --trace)

Had a quick google and didn't come back with anything obvious...

Any ideas how I can get the rake task to work?

Cheers
Gavin
To unsubscribe from this group, send email to puppet-dev+unsubscribe@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.

--
You received this message because you are subscribed to the Google Groups "Puppet Developers" group.
To post to this group, send email to puppe...@googlegroups.com.
To unsubscribe from this group, send email to puppet-dev+unsubscribe@googlegroups.com.

Gavin Williams

unread,
Jan 29, 2013, 6:44:48 AM1/29/13
to puppe...@googlegroups.com
Happy days...

Managed to get the module built, had to use our production Puppet server though :s

Then had to expload the tar.gz, remove the NetApp SDK libs, and re-tar... But got there in the end...

And here it is on the Forge :)

http://forge.puppetlabs.com/fatmcgav/netapp/0.1.0

Cheers for all assistance in getting this far.

Regards
Gavin
Reply all
Reply to author
Forward
0 new messages