Merge remote-tracking branch 'steven/initial-manifest-from-stdin'
This commit is contained in:
commit
f517f2667d
2 changed files with 19 additions and 1 deletions
13
bin/cdist
13
bin/cdist
|
@ -60,7 +60,7 @@ def commandline():
|
|||
help='Change cdist home (default: .. from bin directory)',
|
||||
action='store')
|
||||
parser['configinstall'].add_argument('-i', '--initial-manifest',
|
||||
help='Path to a cdist manifest',
|
||||
help='Path to a cdist manifest or \'-\' to read from stdin.',
|
||||
dest='manifest', required=False)
|
||||
parser['configinstall'].add_argument('-p', '--parallel',
|
||||
help='Operate on multiple hosts in parallel',
|
||||
|
@ -104,6 +104,17 @@ def configinstall(args, mode):
|
|||
import multiprocessing
|
||||
import time
|
||||
|
||||
initial_manifest_tempfile = None
|
||||
if args.manifest == '-':
|
||||
# read initial manifest from stdin
|
||||
import tempfile
|
||||
handle, initial_manifest_temp_path = tempfile.mkstemp(prefix='cdist.stdin.')
|
||||
with os.fdopen(handle, 'w') as fd:
|
||||
fd.write(sys.stdin.read())
|
||||
args.manifest = initial_manifest_temp_path
|
||||
import atexit
|
||||
atexit.register(lambda: os.remove(initial_manifest_temp_path))
|
||||
|
||||
try:
|
||||
process = {}
|
||||
failed_hosts = []
|
||||
|
|
7
doc/dev/fancy-ideas
Normal file
7
doc/dev/fancy-ideas
Normal file
|
@ -0,0 +1,7 @@
|
|||
== types with namespaces ==
|
||||
- allow types to have namespaces, e.g.
|
||||
__path/my/type
|
||||
implemented as a proof of concept at:
|
||||
https://github.com/asteven/cdist/tree/type-namespaces
|
||||
|
||||
|
Loading…
Reference in a new issue