Commit graph

216 commits

Author SHA1 Message Date
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
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
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