This is a bit of documentation that we don't have yet, so here it is. I will post it to the wiki when it is done.
Here is what i'd recommend.
- Start with some group definitions
- include distro groups (ie centos-5.2, ubuntu-intrepid, etc)
- include arch groups (x86_64, etc)
- create a base group that you can associate things that you do an all systems with a group
- create a starting profile group that includes the basic group and the appropriate
- associate your test client with the profile (i'd assume that you have most or all of this done already)
- Create your Pkgmgr files
- These files describe the versions of packages that are available for different groups of clients.
- to start with, these will correspond to the available versions of packages that you can get from yum (presuming you are using redhat-ish stuff) or apt if you are using debian-ish stuff.
- there are ad-hoc scripts at https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2/tools that you can use to generate these
- Create a few bundles corresponding to the extra services on your
nodes
- there are some examples on the wiki for these, and we can post more
- call bcfg2-admin minestruct to generate lists of packages that should be on all clients. This is documented in the bcfg2-admin manpage
- Run the client in dry-run mode. Packages that have been reconfigured will detect that some of their config files have changed, and report those packages as failing. This can be used to determine which config files need to be registered with bcfg2.
- When you are done, your client will run clean, detecting no changes to be made and no extra packages.
If you are running 0.9.5.5, I'd recommend upgrading to 0.9.6. 0.9.6 is the latest stable release, and has a lot of improvements over 0.9.5.X.
Please do ask questions as you run into problems. I have likely glossed over something that I shouldn't have in this description, and can elaborate further when it is needed.
Once some current development efforts are finished, the step with minestruct and generating pkgmgr indexes should be greatly simplified, if not disappear altogether. 1.0 should be a lot easier to deploy to this initial state.
Also, there is a longer introduction to the architecture and so forth of bcfg2 in: http://www.sage.org/pubs/19_bcfg2/ (In the interests of full disclosure, Cory and I don't get royalties, etc; all proceeds go to SAGE) It is more of a long form introduction to bcfg2, and explains a lot of the ideas in more detail. -nld