Tutorial: Making my first change in Puppet#
The development happens in the swh-site repository.
So checkout the swh-site repository, and starts the development in the staging branches. It’s to diff against the production branch:
you@localhost$ cd swh-site && git pull you@localhost$ git checkout production && git merge origin/production # both staging and production should be in sync you@localhost$ git checkout staging && git merge origin/staging # you can now start hacking you@localhost$ # *hack on puppet Git repo* you@localhost$ rake validate you@localhost$ git commit
Test changes with octocatalog-diff#
As you developed your changes in the staging branch, you can now diff against the production branch:
cd puppet-environment # Diff between branches "staging" and "production" for node "pergamon" bin/octocatalog-diff pergamon # Diff between branches "staging_feature" and "production" for node "worker01" bin/octocatalog-diff --to staging_feature worker01
This requires your octocatalog setup to be ready.
Test changes in Vagrant#
For more involved checks, we can test the changes using vagrant.
Ask for review#
As for standard development, ask for a review so someone can validate your changes.
Please, during the diff phase, update the test plan paragraph with your octocatalog-diff output. There can be more than one machines, so please give those especially the one either impacted or not impacted by changes.
# (optional) ask for review you@localhost$ arc diff...
Once you are satisfied with your changes and they passed review, simply push the changes. Merge both the production and staging branches together.
you@localhost$ cd swh-site # you should develop on the staging branches first you@localhost$ git checkout staging && git rebase production # keep in sync the staging and production branches you@localhost$ git checkout production && git merge staging # land the changes you@localhost$ git push origin staging production