Puppet_Editing - ACCESS-NRI/accessdev-Trac-archive GitHub Wiki
Editing Puppet
Everything we do to configure Accessdev is version-controlled using Git. There is a central puppet repository at NCI that is used to configure the system, as well as people's individual repositories that are used for testing.
You can create your own copy of the repository by running
$ git clone [email protected]:/p/access.dev/puppet
(replace abc123 with your NCI username)
Plenty of Git tutorials exist for how to edit repositories, the basics are
- Add a new file to the repo with 
git add FILE - Commit any changes with 
git commit -a - Revert any uncommitted changes with 
git checkout -- . 
Testing
You can check the syntax of a Puppet module by running puppet-lint on your files. The Puppet Blog has some information on how to set this up.
To boot an instance you will need to be a member of the 'access.dev' group at NCI. Make sure your local machine has a SSH agent with a config that looks like:
# ~/.ssh/config
# ...
Host cloudlogin
HostName cloudlogin.nci.org.au
UserName <<NCI username>>
ForwardAgent Yes
ForwardX11Trusted true
Once this is done run:
ssh cloudlogin
# Setup your agent's SSH key on the cloud (only need to do this once)
nova keypair-add --pub-key $(ssh-add -L) agent-key 
git clone repos.nci.org.au:/p/access.dev/puppet accessdev-puppet
cd accessdev-puppet
./boot.sh --key 'agent-key'
This creates a virtual machine named like "$USER-accessdev-test" & runs puppet on it. Check on the machine's status by running
nova console-log $USER-accessdev-test
when it's ready there will be a login message.