Nico Schottelius
e6a903fd96
cleanup logger stuff, remove more path stuff from cdist bin
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 10:28:57 +02:00
Nico Schottelius
8f2e5bb8c8
cleanup and move error class to init
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 10:25:51 +02:00
Nico Schottelius
8af45f83b2
rearange remote_user
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 20:53:09 +02:00
Nico Schottelius
e14848ec1f
remove run* from cdist and put it into lib/exec
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 20:21:10 +02:00
Nico Schottelius
d4406cece3
begin to replace first function with path module
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 20:17:17 +02:00
Nico Schottelius
79173488ff
cdist runs with path module loaded (unusued though)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 20:08:55 +02:00
Nico Schottelius
6139fab354
import cdist.path works
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 19:10:07 +02:00
Nico Schottelius
8e59f97800
begin to used cdist.path
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 18:55:23 +02:00
Steven Armstrong
91022c3f7e
handle ioerror if script does not exist
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-23 17:19:45 +02:00
Steven Armstrong
a2f3246758
fix typo /nun_or_fail/run_or_fail/
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-23 17:03:00 +02:00
Steven Armstrong
2720a36e98
merge indentation change
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-23 16:50:51 +02:00
Steven Armstrong
ea9dc8d60c
handle errors with exceptions instead of function
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-23 16:43:25 +02:00
Nico Schottelius
f4da3b96d8
fix indentions
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 16:41:55 +02:00
Nico Schottelius
ad5c33b746
%s/\( \)/\1 /g + fix logo
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 16:38:47 +02:00
Nico Schottelius
b8ff4c9609
begin split into smaller files
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 14:55:00 +02:00
Nico Schottelius
412778206c
and increment version
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 14:21:33 +02:00
Nico Schottelius
7a09266abf
allow users to check whether an object changed
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-23 13:49:02 +02:00
Nico Schottelius
462ed49a74
BUGFIX: TypeError: Can't convert 'list' object to str implicitly (in emulator)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-22 18:43:36 +02:00
Nico Schottelius
20bb4d044b
--typo: .realines( vs. readlines(
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-20 13:29:08 +02:00
Nico Schottelius
de7123df79
always catch KeyboardInterrupt
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 14:38:52 +02:00
Steven Armstrong
1c1ebac90c
dont break if sys.argv[0] is a relative path
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-19 14:09:01 +02:00
Steven Armstrong
2a5ee06b0e
no need to redefine again and again inside loop
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-09-19 14:08:30 +02:00
Nico Schottelius
9e99d420b6
in theory implement double definition strategy in new type emulator
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 00:52:09 +02:00
Nico Schottelius
4e8f99b01d
almost completly implemented type emulator in python
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 00:36:35 +02:00
Nico Schottelius
b7b48414e1
use subdirectory, record source
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 00:32:33 +02:00
Nico Schottelius
9de1d9ce20
write parameters to object
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 00:24:17 +02:00
Nico Schottelius
3faf56cb04
Merge branch 'master' into type-emulator
2011-09-18 23:52:43 +02:00
Nico Schottelius
a9bcec7fbe
also catch OSError from subprocess
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-18 20:50:07 +02:00
Nico Schottelius
8838d5df11
begin writing params
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 19:06:43 +02:00
Nico Schottelius
5cefeb25fc
+/- todo, improve argument handling
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 18:26:18 +02:00
Nico Schottelius
6485299a7c
prepare source records, cleanup
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 17:08:59 +02:00
Nico Schottelius
75510d88c9
first new type emulator parameter support in cdist
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 16:08:25 +02:00
Nico Schottelius
f720ce9243
++todo
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:46:02 +02:00
Nico Schottelius
1b0d85dcbe
link type emulator to ourself
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:29:56 +02:00
Nico Schottelius
40d494ace2
and now replace the new cool function type_attribute_path() with easy type_dir
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:20:59 +02:00
Nico Schottelius
d979bdc514
also replace self.type_explorer_dir
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:12:12 +02:00
Nico Schottelius
eb3982b059
introduce more generic type_attribute_path() and replace type_manifest_path()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:10:24 +02:00
Nico Schottelius
dadc3ffe94
self....
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 15:01:33 +02:00
Nico Schottelius
4956c015c1
make __type available for type gencode
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 14:50:43 +02:00
Nico Schottelius
76f3792885
prepare argv[0] parsing for emulator use
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 14:47:50 +02:00
Nico Schottelius
b2546fb236
split deploy to into two stages
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 13:24:40 +02:00
Nico Schottelius
7c56630924
prepare installation routine
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-16 13:13:56 +02:00
Nico Schottelius
b76c4a5105
make shell exec error and normal error look the same for easier grepping in logfiles
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-14 08:45:55 +02:00
Nico Schottelius
03e312dcb7
use shutil.move() instead of os.rename() to avoid OSError: [Errno 18] Invalid cross-device link
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-14 01:50:18 +02:00
Nico Schottelius
9b18b3d79e
update manpage and support commands title
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 21:35:57 +02:00
Nico Schottelius
90bdf04336
add epilog to parsers, make it look beautiful
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 21:30:17 +02:00
Nico Schottelius
e1421280d4
remove debug
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 18:18:56 +02:00
Nico Schottelius
7e9d234219
remove obsolete length check
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 18:18:12 +02:00
Nico Schottelius
780fd5625e
re-implement correct caching
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 18:15:04 +02:00
Nico Schottelius
581562aae9
cleanups
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 18:05:15 +02:00
Nico Schottelius
4d065443da
remove alias deploy for config, does not make things better
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 18:00:41 +02:00
Nico Schottelius
8d1b4236d4
fixup most arguments for config
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 17:59:11 +02:00
Nico Schottelius
df7f27f94b
catch keyboard interrupt for all subcommands
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 17:42:43 +02:00
Nico Schottelius
5cbe34ee33
begin to implement subcommand handling
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 17:40:28 +02:00
Nico Schottelius
59afce35b5
do not do more checks on the manifest, current ones are good
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 16:25:39 +02:00
Nico Schottelius
a5b56f0c41
remove useless function
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 16:19:43 +02:00
Nico Schottelius
4e3fec1e9e
add hint to pythons octal mode
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 16:10:03 +02:00
Nico Schottelius
99b3b0789b
remove tmpdir, keep it only if debug is enabled
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-13 00:02:04 +02:00
Nico Schottelius
a09a618c78
prepare cdist-type-emulator transformation
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 11:37:20 +02:00
Nico Schottelius
4e95535b7c
definitely cleanup remote directory first, so we see more bugs :-)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 11:27:20 +02:00
Nico Schottelius
b470a47b15
add working cdist manpage
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 11:18:18 +02:00
Nico Schottelius
7de51e8d45
print help in case no hosts are given
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 10:52:04 +02:00
Nico Schottelius
5ba6e0bb14
more hints on parallel running
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 01:38:51 +02:00
Nico Schottelius
e07328f569
initial support for parallel running
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 01:14:35 +02:00
Nico Schottelius
4aff176106
flush and also append \n to header
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 00:30:45 +02:00
Nico Schottelius
1a790edbf6
remove context class until we need it
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 00:20:06 +02:00
Nico Schottelius
c5355ca104
fixup -c option
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 00:16:18 +02:00
Nico Schottelius
8f34f8659b
support -V, --version
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 00:08:30 +02:00
Nico Schottelius
5260f230e5
support -V, --version
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-12 00:06:59 +02:00
Nico Schottelius
1cc7600c9c
begin to make home configurable
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 23:54:34 +02:00
Nico Schottelius
2490b983ba
++todo
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 23:42:53 +02:00
Nico Schottelius
db658328d2
add sh -e header to code to avoid OSError: [Errno 8] Exec format error
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 23:11:27 +02:00
Nico Schottelius
0d1f121e21
do not fail without objects
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 22:21:46 +02:00
Nico Schottelius
326f2644c7
introduce type_dir() and use it :-)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 21:41:56 +02:00
Nico Schottelius
47c5ebcf3f
remove parallel and sequential args, until they are working
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 21:37:40 +02:00
Nico Schottelius
be2efbbb0d
give me a big F
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 21:16:42 +02:00
Nico Schottelius
eb2512d4a2
add timing information and setup remote = false by default
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 21:15:58 +02:00
Nico Schottelius
e56bbfea9a
less verbose output in default case
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 20:45:54 +02:00
Nico Schottelius
34ae8c2926
make code execution happen in the end
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 20:41:39 +02:00
Nico Schottelius
4e4d648593
fchmod() does not work on object returned by open(), so use chmod
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 20:18:30 +02:00
Nico Schottelius
30a52cab0f
begin to save code and make it executable
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 20:17:20 +02:00
Nico Schottelius
c78ce344e7
remove debug by default, switch to infolevel and verify -d works
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 14:30:05 +02:00
Nico Schottelius
5702706adf
fix not so obvious tuple/str error (trailing comma from c&p)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 14:11:54 +02:00
Nico Schottelius
c9c808a732
cleanp
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 13:55:40 +02:00
Nico Schottelius
c147c74e1e
begin to redo object_run()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-11 13:11:45 +02:00
Nico Schottelius
151022ffd1
support file transfer and begin support for non root logins
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 23:46:17 +02:00
Nico Schottelius
ca58841696
Broken code - it's too hot
...
DEBUG: Shell exec: /bin/sh -e /home/users/nico/p/cdist/conf/type/__directory/gencode-remote
Traceback (most recent call last):
File "/home/users/nico/p/cdist/bin/cdist", line 557, in <module>
c.deploy_to()
File "/home/users/nico/p/cdist/bin/cdist", line 523, in deploy_to
self.object_run(cdist_object, mode="gencode")
File "/home/users/nico/p/cdist/bin/cdist", line 491, in object_run
self.shell_run_or_debug_fail(bin, [bin], env=env)
File "/home/users/nico/p/cdist/bin/cdist", line 164, in shell_run_or_debug_fail
subprocess.check_call(*args, **kargs)
File "/usr/lib/python3.2/subprocess.py", line 480, in check_call
retcode = call(*popenargs, **kwargs)
File "/usr/lib/python3.2/subprocess.py", line 467, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python3.2/subprocess.py", line 741, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.2/subprocess.py", line 1174, in _execute_child
for k, v in env.items()]
File "/usr/lib/python3.2/subprocess.py", line 1174, in <listcomp>
for k, v in env.items()]
File "/usr/lib/python3.2/os.py", line 581, in fsencode
raise TypeError("expect bytes or str, not %s" % type(filename).__name__)
TypeError: expect bytes or str, not tuple
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 15:36:21 +02:00
Nico Schottelius
636995f44e
add some meat to object_run()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 14:45:59 +02:00
Nico Schottelius
c516d8359e
support __object_* in run_type_explorer()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 13:19:32 +02:00
Nico Schottelius
4a5100692a
add helper methods to get paths from code/gencode
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 10:12:01 +02:00
Nico Schottelius
74c280911b
begin run_object_gencode() and import missing FIXME bits deploy_to()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:53:10 +02:00
Nico Schottelius
4e2e731374
execute the correct manifest for objects
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:43:28 +02:00
Nico Schottelius
7eb418c3ab
correct env for the various stages
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:40:45 +02:00
Nico Schottelius
8dff399c96
reloop until no new objects are created anyomer
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:09:57 +02:00
Nico Schottelius
232618a675
make manifest run more generic
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:01:16 +02:00
Nico Schottelius
99268591c2
make more use of run_or_fail
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 20:54:17 +02:00
Nico Schottelius
14ac0e3ad1
introduce remote_mkdir()
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 20:53:09 +02:00
Nico Schottelius
db2562303a
in theory transfer the object parameters
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 15:28:38 +02:00
Nico Schottelius
722339f3e1
support getting paths of objects and their parameters
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 15:16:47 +02:00
Nico Schottelius
6d5a53b7ad
fixup list bug by creating a new one
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 15:00:09 +02:00