Skip to content

Commit c63a7ba

Browse files
author
Colleen Murphy
committed
Sync files
1 parent 6dfa636 commit c63a7ba

10 files changed

+284
-27
lines changed

Diff for: .gitignore

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
.vagrant
2-
# This is a library, so don't pin
3-
Gemfile.lock
4-
spec/fixtures
51
pkg/
6-
.rspec_system/
2+
Gemfile.lock
3+
vendor/
4+
spec/fixtures/
5+
.vagrant/
6+
.bundle/
7+
coverage/

Diff for: .travis.yml

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
---
2+
branches:
3+
only:
4+
- master
25
language: ruby
36
bundler_args: --without development
4-
script: bundle exec rake spec SPEC_OPTS='--format documentation'
7+
script: "bundle exec rake spec SPEC_OPTS='--format documentation'"
58
rvm:
6-
- 1.8.7
7-
- 1.9.3
8-
- 2.0.0
9+
- 1.8.7
10+
- 1.9.3
11+
- 2.0.0
912
env:
1013
matrix:
1114
- PUPPET_GEM_VERSION="~> 2.7.0"

Diff for: CONTRIBUTING.md

+234
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,234 @@
1+
Checklist (and a short version for the impatient)
2+
=================================================
3+
4+
* Commits:
5+
6+
- Make commits of logical units.
7+
8+
- Check for unnecessary whitespace with "git diff --check" before
9+
committing.
10+
11+
- Commit using Unix line endings (check the settings around "crlf" in
12+
git-config(1)).
13+
14+
- Do not check in commented out code or unneeded files.
15+
16+
- The first line of the commit message should be a short
17+
description (50 characters is the soft limit, excluding ticket
18+
number(s)), and should skip the full stop.
19+
20+
- Associate the issue in the message. The first line should include
21+
the issue number in the form "(#XXXX) Rest of message".
22+
23+
- The body should provide a meaningful commit message, which:
24+
25+
- uses the imperative, present tense: "change", not "changed" or
26+
"changes".
27+
28+
- includes motivation for the change, and contrasts its
29+
implementation with the previous behavior.
30+
31+
- Make sure that you have tests for the bug you are fixing, or
32+
feature you are adding.
33+
34+
- Make sure the test suites passes after your commit:
35+
`bundle exec rspec spec/acceptance` More information on [testing](#Testing) below
36+
37+
- When introducing a new feature, make sure it is properly
38+
documented in the README.md
39+
40+
* Submission:
41+
42+
* Pre-requisites:
43+
44+
- Sign the [Contributor License Agreement](https://cla.puppetlabs.com/)
45+
46+
- Make sure you have a [GitHub account](https://github.com/join)
47+
48+
- [Create a ticket](http://projects.puppetlabs.com/projects/modules/issues/new), or [watch the ticket](http://projects.puppetlabs.com/projects/modules/issues) you are patching for.
49+
50+
* Preferred method:
51+
52+
- Fork the repository on GitHub.
53+
54+
- Push your changes to a topic branch in your fork of the
55+
repository. (the format ticket/1234-short_description_of_change is
56+
usually preferred for this project).
57+
58+
- Submit a pull request to the repository in the puppetlabs
59+
organization.
60+
61+
The long version
62+
================
63+
64+
1. Make separate commits for logically separate changes.
65+
66+
Please break your commits down into logically consistent units
67+
which include new or changed tests relevant to the rest of the
68+
change. The goal of doing this is to make the diff easier to
69+
read for whoever is reviewing your code. In general, the easier
70+
your diff is to read, the more likely someone will be happy to
71+
review it and get it into the code base.
72+
73+
If you are going to refactor a piece of code, please do so as a
74+
separate commit from your feature or bug fix changes.
75+
76+
We also really appreciate changes that include tests to make
77+
sure the bug is not re-introduced, and that the feature is not
78+
accidentally broken.
79+
80+
Describe the technical detail of the change(s). If your
81+
description starts to get too long, that is a good sign that you
82+
probably need to split up your commit into more finely grained
83+
pieces.
84+
85+
Commits which plainly describe the things which help
86+
reviewers check the patch and future developers understand the
87+
code are much more likely to be merged in with a minimum of
88+
bike-shedding or requested changes. Ideally, the commit message
89+
would include information, and be in a form suitable for
90+
inclusion in the release notes for the version of Puppet that
91+
includes them.
92+
93+
Please also check that you are not introducing any trailing
94+
whitespace or other "whitespace errors". You can do this by
95+
running "git diff --check" on your changes before you commit.
96+
97+
2. Sign the Contributor License Agreement
98+
99+
Before we can accept your changes, we do need a signed Puppet
100+
Labs Contributor License Agreement (CLA).
101+
102+
You can access the CLA via the [Contributor License Agreement link](https://cla.puppetlabs.com/)
103+
104+
If you have any questions about the CLA, please feel free to
105+
contact Puppet Labs via email at [email protected].
106+
107+
3. Sending your patches
108+
109+
To submit your changes via a GitHub pull request, we _highly_
110+
recommend that you have them on a topic branch, instead of
111+
directly on "master".
112+
It makes things much easier to keep track of, especially if
113+
you decide to work on another thing before your first change
114+
is merged in.
115+
116+
GitHub has some pretty good
117+
[general documentation](http://help.github.com/) on using
118+
their site. They also have documentation on
119+
[creating pull requests](http://help.github.com/send-pull-requests/).
120+
121+
In general, after pushing your topic branch up to your
122+
repository on GitHub, you can switch to the branch in the
123+
GitHub UI and click "Pull Request" towards the top of the page
124+
in order to open a pull request.
125+
126+
127+
4. Update the related GitHub issue.
128+
129+
If there is a GitHub issue associated with the change you
130+
submitted, then you should update the ticket to include the
131+
location of your branch, along with any other commentary you
132+
may wish to make.
133+
134+
Testing
135+
=======
136+
137+
Getting Started
138+
---------------
139+
140+
Our puppet modules provide [`Gemfile`](./Gemfile)s which can tell a ruby
141+
package manager such as [bundler](http://bundler.io/) what Ruby packages,
142+
or Gems, are required to build, develop, and test this software.
143+
144+
Please make sure you have [bundler installed](http://bundler.io/#getting-started)
145+
on your system, then use it to install all dependencies needed for this project,
146+
by running
147+
148+
```shell
149+
% bundle install
150+
Fetching gem metadata from https://rubygems.org/........
151+
Fetching gem metadata from https://rubygems.org/..
152+
Using rake (10.1.0)
153+
Using builder (3.2.2)
154+
-- 8><-- many more --><8 --
155+
Using rspec-system-puppet (2.2.0)
156+
Using serverspec (0.6.3)
157+
Using rspec-system-serverspec (1.0.0)
158+
Using bundler (1.3.5)
159+
Your bundle is complete!
160+
Use `bundle show [gemname]` to see where a bundled gem is installed.
161+
```
162+
163+
NOTE some systems may require you to run this command with sudo.
164+
165+
If you already have those gems installed, make sure they are up-to-date:
166+
167+
```shell
168+
% bundle update
169+
```
170+
171+
With all dependencies in place and up-to-date we can now run the tests:
172+
173+
```shell
174+
% rake spec
175+
```
176+
177+
This will execute all the [rspec tests](http://rspec-puppet.com/) tests
178+
under [spec/defines](./spec/defines), [spec/classes](./spec/classes),
179+
and so on. rspec tests may have the same kind of dependencies as the
180+
module they are testing. While the module defines in its [Modulefile](./Modulefile),
181+
rspec tests define them in [.fixtures.yml](./fixtures.yml).
182+
183+
Some puppet modules also come with [beaker](https://github.com/puppetlabs/beaker)
184+
tests. These tests spin up a virtual machine under
185+
[VirtualBox](https://www.virtualbox.org/)) with, controlling it with
186+
[Vagrant](http://www.vagrantup.com/) to actually simulate scripted test
187+
scenarios. In order to run these, you will need both of those tools
188+
installed on your system.
189+
190+
You can run them by issuing the following command
191+
192+
```shell
193+
% rake spec_clean
194+
% rspec spec/acceptance
195+
```
196+
197+
This will now download a pre-fabricated image configured in the [default node-set](./spec/acceptance/nodesets/default.yml),
198+
install puppet, copy this module and install its dependencies per [spec/spec_helper_acceptance.rb](./spec/spec_helper_acceptance.rb)
199+
and then run all the tests under [spec/acceptance](./spec/acceptance).
200+
201+
Writing Tests
202+
-------------
203+
204+
XXX getting started writing tests.
205+
206+
If you have commit access to the repository
207+
===========================================
208+
209+
Even if you have commit access to the repository, you will still need to
210+
go through the process above, and have someone else review and merge
211+
in your changes. The rule is that all changes must be reviewed by a
212+
developer on the project (that did not write the code) to ensure that
213+
all changes go through a code review process.
214+
215+
Having someone other than the author of the topic branch recorded as
216+
performing the merge is the record that they performed the code
217+
review.
218+
219+
220+
Additional Resources
221+
====================
222+
223+
* [Getting additional help](http://projects.puppetlabs.com/projects/puppet/wiki/Getting_Help)
224+
225+
* [Writing tests](http://projects.puppetlabs.com/projects/puppet/wiki/Development_Writing_Tests)
226+
227+
* [Patchwork](https://patchwork.puppetlabs.com)
228+
229+
* [Contributor License Agreement](https://projects.puppetlabs.com/contributor_licenses/sign)
230+
231+
* [General GitHub documentation](http://help.github.com/)
232+
233+
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
234+

Diff for: Gemfile

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
source ENV['GEM_SOURCE'] || "https://rubygems.org"
22

33
group :development, :test do
4-
gem 'rake', '10.1.1'
4+
gem 'rake', :require => false
5+
gem 'rspec-puppet', :require => false
56
gem 'puppetlabs_spec_helper', :require => false
6-
gem 'rspec-puppet', '~> 1.0'
7-
gem 'puppet-lint', '~> 0.3.2'
8-
gem 'beaker', :require => false
9-
gem 'beaker-rspec', '> 2.0.0', :require => false
107
gem 'serverspec', :require => false
8+
gem 'puppet-lint', :require => false
9+
gem 'beaker', :require => false
10+
gem 'beaker-rspec', :require => false
11+
gem 'pry', :require => false
12+
gem 'simplecov', :require => false
1113
end
1214

1315
if puppetversion = ENV['PUPPET_GEM_VERSION']

Diff for: Rakefile

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
require 'rubygems'
2-
require 'bundler/setup'
3-
4-
Bundler.require :default
5-
61
require 'puppetlabs_spec_helper/rake_tasks'
72
require 'puppet-lint/tasks/puppet-lint'
83

9-
task :default do
10-
sh %{rake -T}
11-
end
4+
PuppetLint.configuration.fail_on_warnings
5+
PuppetLint.configuration.send('disable_80chars')
6+
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
7+
PuppetLint.configuration.send('disable_class_parameter_defaults')
8+
PuppetLint.configuration.send('disable_documentation')
9+
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
10+
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp"]

Diff for: spec/acceptance/nodesets/centos-65-x64.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
HOSTS:
2+
centos-65-x64:
3+
roles:
4+
- master
5+
platform: el-6-x86_64
6+
box : centos-65-x64-vbox436-nocm
7+
box_url : http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box
8+
hypervisor : vagrant
9+
CONFIG:
10+
type: foss

Diff for: spec/acceptance/nodesets/ubuntu-server-10044-x64.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ HOSTS:
77
box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-10044-x64-vbox4210-nocm.box
88
hypervisor : vagrant
99
CONFIG:
10-
type: git
10+
type: foss

Diff for: spec/acceptance/nodesets/ubuntu-server-12042-x64.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ HOSTS:
77
box_url : http://puppet-vagrant-boxes.puppetlabs.com/ubuntu-server-12042-x64-vbox4210-nocm.box
88
hypervisor : vagrant
99
CONFIG:
10-
type: git
10+
type: foss

Diff for: spec/acceptance/nodesets/ubuntu-server-1404-x64.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ HOSTS:
22
ubuntu-server-1404-x64:
33
roles:
44
- master
5-
platform: ubuntu-14.04-64
6-
box: puppetlabs/ubuntu-14.04-64-nocm
5+
platform: ubuntu-14.04-amd64
6+
box : puppetlabs/ubuntu-14.04-64-nocm
7+
box_url : https://vagrantcloud.com/puppetlabs/ubuntu-14.04-64-nocm
78
hypervisor : vagrant
89
CONFIG:
9-
type: foss
10+
log_level : debug
11+
type: git

Diff for: spec/spec.opts

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
--format
2+
s
3+
--colour
4+
--loadby
5+
mtime
6+
--backtrace

0 commit comments

Comments
 (0)