Add a playbook and script for doing adhoc puppet
Running puppet remotely in an ad-hoc manner on disabled hosts is mildly complex. To facilitate, have a wide open playbook that we always run with --limit - and a shell script to help us type less. Change-Id: I629072dcada38d0465d351b1b99828466405372f
This commit is contained in:
parent
60ffbab63b
commit
e8e201cc75
@ -117,14 +117,14 @@ puppetmaster, running:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
ansible-playbook --limit='$HOST:localhost' /opt/system-config/production/playbooks/remote_puppet_else.yaml
|
||||
ansible-playbook --limit='$HOST:localhost' /opt/system-config/production/playbooks/remote_puppet_adhoc.yaml
|
||||
|
||||
as root, where `$HOST` is the host you want to run puppet on. If you are
|
||||
working with git, gerrit or afs servers, you'll want to replace
|
||||
`remote_puppet_else.yaml` with the appropriate specific playbook.
|
||||
as root, where `$HOST` is the host you want to run puppet on.
|
||||
The `:localhost` is important as some of the plays depend on performing a task
|
||||
on the localhost before continuing to the host in question, and without it in
|
||||
the limit section, the tasks for the host will have undefined values.
|
||||
There is also a script, `tools/kick.sh` that takes the host as an argument
|
||||
and runs the above command.
|
||||
|
||||
Testing new puppet code can be done via `puppet apply --noop` or by
|
||||
constructing a VM with a puppet install in it and just running `puppet apply`
|
||||
|
5
playbooks/remote_puppet_adhoc.yaml
Normal file
5
playbooks/remote_puppet_adhoc.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
- hosts: '*'
|
||||
gather_facts: true
|
||||
roles:
|
||||
- role: puppet
|
||||
manage_config: true
|
18
tools/kick.sh
Executable file
18
tools/kick.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright 2013 IBM, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
ansible-playbook -f1 --limit $1:localhost \
|
||||
/opt/system-config/production/playbooks/remote_puppet_adhoc.yaml
|
Loading…
Reference in New Issue
Block a user