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
|
.. 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
|
as root, where `$HOST` is the host you want to run puppet on.
|
||||||
working with git, gerrit or afs servers, you'll want to replace
|
|
||||||
`remote_puppet_else.yaml` with the appropriate specific playbook.
|
|
||||||
The `:localhost` is important as some of the plays depend on performing a task
|
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
|
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.
|
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
|
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`
|
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