Use ansible instead of direct ssh calls
Instead of a shell script looping over ssh calls, use a simple ansible playbook. The benefit this gets is that we can then also script ad-hoc admin tasks either via playbooks or on the command line. We can also then get rid of the almost entirely unused salt infrastructure. Change-Id: I53112bd1f61d94c0521a32016c8a47c8cf9e50f7
This commit is contained in:
commit
47d837fb54
3
ansible.cfg
Normal file
3
ansible.cfg
Normal file
@ -0,0 +1,3 @@
|
||||
[defaults]
|
||||
hostfile=/usr/local/bin/puppet-inventory
|
||||
log_path=/var/log/ansible.log
|
30
puppet-inventory
Executable file
30
puppet-inventory
Executable file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
# 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.
|
||||
|
||||
import json
|
||||
import subprocess
|
||||
|
||||
output = [
|
||||
x.split()[1][1:-1] for x in subprocess.check_output(
|
||||
["puppet","cert","list","-a"]).split('\n')
|
||||
if x.startswith('+')
|
||||
]
|
||||
|
||||
data = {
|
||||
'_meta': {'hostvars': dict()},
|
||||
'ungrouped': output,
|
||||
}
|
||||
print json.dumps(data, sort_keys=True, indent=2)
|
6
roles/puppet/tasks/main.yml
Normal file
6
roles/puppet/tasks/main.yml
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
- name: run puppet
|
||||
command: timeout -s 9 30m puppet agent --onetime --ignorecache --no-daemonize --no-usecacheonfailure --no-splay --detailed-exitcodes --verbose
|
||||
register: result
|
||||
failed_when: "result.rc != 0 and result.rc != 2"
|
||||
changed_when: "result.rc == 4 or result.rc == 6"
|
Loading…
x
Reference in New Issue
Block a user