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
Nico Schottelius
2c15069d96
make remote_cmd a new list
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 14:56:51 +02:00
Nico Schottelius
f21ce6a0db
commit broken code
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 14:51:25 +02:00
Nico Schottelius
20aafe62f5
make use of remote=True flag
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 14:30:53 +02:00
Nico Schottelius
c1ad93bccc
extend run_or_fail to include remote exec
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 14:27:54 +02:00
Nico Schottelius
b2d1d1bee7
begin to modify tuple (bad idea)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 14:21:16 +02:00
Nico Schottelius
894c39cd21
store results of type explorer
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 12:18:25 +02:00
Nico Schottelius
8889e4a5b0
prepare saving output of type explorers
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-09 08:06:16 +02:00
Nico Schottelius
cbdb5cd05d
fixup type explorer run
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 23:01:11 +02:00
Nico Schottelius
7e8362eeed
allow zero hosts to be specified, fixup exit_error
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 22:44:25 +02:00
Nico Schottelius
ab0cd9430f
add support for the banner :-)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 22:40:12 +02:00
Nico Schottelius
f31f33418f
begin to actually prepare the object/type explorers
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 18:03:19 +02:00
Nico Schottelius
97ac276433
implement transfer of type explorers
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 17:52:15 +02:00
Nico Schottelius
4d765a7024
begin type explorer transfer
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 17:45:07 +02:00
Nico Schottelius
03e2db83cd
implement list of objects
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 17:01:22 +02:00
Nico Schottelius
0f36ddd649
support object dir
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:54:10 +02:00
Nico Schottelius
dbbbf822fe
make cdist-type-emulator work
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:52:34 +02:00
Nico Schottelius
9ce26e5817
include cdist-type-emulator into path again
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:35:29 +02:00
Nico Schottelius
d6db6d0c7e
begin move of cdist-type-emulator to lib/ and submit initial_manifest to cdist
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:20:25 +02:00
Nico Schottelius
97f7513f6e
-old fixme
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:14:28 +02:00
Nico Schottelius
2c2a234c74
use sh -e instead of shipped shell=true (see included comment)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 15:13:05 +02:00
Nico Schottelius
4fd8a16e6c
use *args not args :-)
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:52:42 +02:00
Nico Schottelius
1a96f88656
name variable target_host for consistency and easy handling
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:50:45 +02:00
Nico Schottelius
c8ce7e98ec
use -e to shell
...
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:45:54 +02:00