Commit graph

681 commits

Author SHA1 Message Date
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
99887fe20f fix typo 2011-09-09 23:27:40 -05: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
f5c2ae3049 begin cleanup
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:48:24 +02:00
Nico Schottelius
bc6201102e todo--
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-10 00:44:15 +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
Nico Schottelius
1d367d5f58 make cdist localhost work again
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:17:44 +02:00
Nico Schottelius
979174a568 integrate parser
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:11:31 +02:00
Nico Schottelius
c5d960438c import parser from steven
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:05:20 +02:00
Nico Schottelius
9533e579b3 finish run of initial manifest, finish shell_run_or_debug_fail()
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 14:04:30 +02:00
Nico Schottelius
ddff3e8b57 support changing the initial manifest
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:55:29 +02:00
Nico Schottelius
908d9d06f9 prepend __explorer on global explorer run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:50:30 +02:00
Nico Schottelius
506e0e6c81 +better logging
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:45:58 +02:00
Nico Schottelius
8fa576152e make it work again :-)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:44:58 +02:00
Nico Schottelius
7d3c67c178 make it work again :-)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:44:04 +02:00
Nico Schottelius
4c1939829e import logging, begin to put constant stuff in module
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 11:08:44 +02:00
Nico Schottelius
e8360df96b allow passing arguments to Popen()
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 09:47:30 +02:00
Nico Schottelius
0dc6af2512 wrap into a class
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 04:22:40 +02:00
Nico Schottelius
e8a6d89e3c wrap into a class
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 04:22:21 +02:00
Nico Schottelius
572401e4f8 commit broken stuff
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 03:56:59 +02:00
Nico Schottelius
7a7413f1f4 pause
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 03:31:58 +02:00
Nico Schottelius
ff2d5629d6 submit string on failed error
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 03:28:06 +02:00
Nico Schottelius
9036f8c4cc executing explorers works
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 03:24:27 +02:00
Nico Schottelius
85df71c9fa executing explorers works
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 03:23:18 +02:00
Nico Schottelius
ef925714d5 transfer explorer
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:57:47 +02:00
Nico Schottelius
d0eeafd228 also add some bugs
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:56:02 +02:00
Nico Schottelius
78a5bbf6e8 remove the currently broken init()
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:52:38 +02:00
Nico Schottelius
94fc5b3c91 add remove_remote_dir()
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:51:45 +02:00
Nico Schottelius
6e3c228a6f transfer_dir() added
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:46:09 +02:00
Nico Schottelius
09c58e2327 exit, if there are no global explorers
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:39:24 +02:00
Nico Schottelius
11750515e1 finish global_explorer_directory()
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:16:13 +02:00
Nico Schottelius
c2873a8fa0 ipmlement base_directory
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 02:12:48 +02:00
Nico Schottelius
ffd7f4b251 --todo
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 01:48:23 +02:00
Nico Schottelius
89964b32dd in theory, init_deploy is done
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 01:41:54 +02:00
Nico Schottelius
a90751dcff begin to implmenent remote execution
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 01:36:22 +02:00
Nico Schottelius
9711a5612d partly implement run_or_fail, init_deploy
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 01:21:15 +02:00
Nico Schottelius
34bb391937 +header
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 01:01:25 +02:00
Nico Schottelius
1b84a28511 add cdist
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-08 00:41:37 +02:00
Nico Schottelius
dc820cf31e also filter stderr and add hostname as prefix
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-07-28 10:54:39 +02:00
Steven Armstrong
aa6b655cd3 new executable that uses its stdin as the initial manifest
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-07-01 16:02:03 +02:00
Steven Armstrong
dd949d5984 explorers for types with clashing names not pushed to target
Thorsten Steenbock reported a bug where types with similar names, e.g
__first
__first_second
would interfere when transfering explorers to the target host.

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-07-01 13:18:18 +02:00
Nico Schottelius
d7ae5c88e6 and EXIT!
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-06-08 21:26:13 +02:00
Nico Schottelius
6f99de75a5 only trap signals in front end scripts
Otherwise children execute kill egain and the shell segfaults

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-06-08 21:23:53 +02:00
Nico Schottelius
56cf428d4c use kill 0 on SIGINT and SIGTERM, but not on trap EXIT
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-06-08 21:19:05 +02:00
Nico Schottelius
c1d17f8d14 no need for execute bit on cdist-config
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-12 17:56:50 +02:00
Nico Schottelius
916d355891 remove kill 0 in cdist-config from master branch until it works :-)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-12 17:08:18 +02:00
Nico Schottelius
14708a9c59 -SIG
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-10 17:12:02 +02:00
Nico Schottelius
ee076ef7e9 only kill children, if we got signalled
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-10 17:11:15 +02:00
Nico Schottelius
a202826a62 also kill children in cdist core
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-10 17:07:52 +02:00
Nico Schottelius
b1f10f2936 use kill 0 to kill all children
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-10 16:58:59 +02:00
Nico Schottelius
8b4196e023 Prepare release of 1.7.0 (1) 2011-05-10 15:49:35 +02:00
Nico Schottelius
d8cd9e0118 allow debug to be unset when using
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-05-10 10:04:37 +02:00
Nico Schottelius
ae538362e6 __cdist prefix in bin/cdist-code-run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 19:01:21 +02:00
Nico Schottelius
ac157aa442 allow no code in cdist-code-run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 15:21:35 +02:00
Nico Schottelius
49ebb77ab3 adjust __cdist_object_code cal in cdist-code-run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 15:16:28 +02:00
Nico Schottelius
5e34bebc05 cleanup in cdist-object-gencode
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 15:07:13 +02:00
Nico Schottelius
bba8c641e5 remove unecessary cd
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 15:00:20 +02:00
Nico Schottelius
fc01ceb914 in theory: do not generate code anymore
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 14:59:57 +02:00
Nico Schottelius
93ef73a645 move gencode type path combination into cdist-config (also for __cdist_type_gencode)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-04-28 14:46:35 +02:00