Don't do any of the Drupal and Civi installation from puppet. Push responsiblity for as many behaviors as are supported by civicrm-buildkit, which I believe breaks down into,
- Set up MySQL databases from Puppet.
- Everything else is installed by civicrm-buildkit.
This will simplify the puppet manifests at no loss of functionality, and will force us to make the buildkit more appropriate for provisioning a development system. Currently, there are assumptions that make it unpleasant for humans to use an environment installed by buildkit, for example the databases must have a random number in the name.