Commit Graph

832 Commits

Author SHA1 Message Date
Nico Schottelius 6e107fa92c Export PYTHONPATH so it's available for the emulator
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-11-02 16:27:28 +01:00
Nico Schottelius 10b6c31ac8 Rename cdist.py to scripts/cdist to avoid self import
naming cdist cdist.py and running import cdist, imports itself and thus raises an interesting error:

(virtualenv)[7:47] brief:virtualenv% cdist.py
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 1512, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/users/nico/oeffentlich/rechner/projekte/cdist/virtualenv/bin/cdist.py", line 230, in <module>
    commandline()
  File "/home/users/nico/oeffentlich/rechner/projekte/cdist/virtualenv/bin/cdist.py", line 27, in commandline
    import cdist.banner
ImportError: No module named 'cdist.banner'; cdist is not a package

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/users/nico/oeffentlich/rechner/projekte/cdist/virtualenv/bin/cdist.py", line 235, in <module>
    except cdist.Error as e:
AttributeError: 'module' object has no attribute 'Error'

Also described on

    http://www.velocityreviews.com/forums/t953596-error-executing-import-html-parser-from-a-script.html

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-10-30 11:47:16 +01:00
Nico Schottelius 3cf59fdf9a always use dynamic version - on shipping included generated version
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-10-25 23:45:56 +02:00
Nico Schottelius 91c1374657 begin restructering for python package
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-10-25 23:37:15 +02:00
Nico Schottelius 7833d4d64c Merge branch 'remote_prefix' 2012-05-29 15:41:48 +02:00
Steven Armstrong 4b33177d54 remove install command for now
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-05-25 17:07:59 +02:00
Steven Armstrong f795b83c8e prevent a hen/egg problem when handling unsupported python versions
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-05-24 15:15:38 +02:00
Nico Schottelius 108283bbeb add default values in argparse
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-05-22 13:01:31 +02:00
Nico Schottelius c7fbdc8195 add --remote-exec and --remote-copy to command line args
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-05-22 12:40:38 +02:00
Nico Schottelius dc355e7aa2 be consistent - log parsing is easy
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-10 00:25:13 +01:00
Nico Schottelius eef408c1b3 record failing host and continue
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-07 14:26:28 +01:00
Nico Schottelius 5001e9cbe7 prevent tracebacks in tempfile code/initial manifest from stdin
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-07 13:01:11 +01:00
Nico Schottelius 58a88ca5bd remove useless try: block that was needed to find out how multiprocess /sigint behaviour works
NOT needed: KeyBoardInterrupet (aka SIGINT) is forwarded to processes spawned by multiprocess!

Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-07 11:50:16 +01:00
Nico Schottelius 531ad2966f in fork() do sys.exit() so parent knows about failures
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-07 11:48:41 +01:00
Nico Schottelius d3b9aa6769 begin support for sensible exit codes of cdist
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-03-07 11:19:26 +01:00
Nico Schottelius 5e20ba5a13 ++logs, +import sys at top level
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-17 13:59:16 +01:00
Nico Schottelius aa81486fe9 sys.exit() in try
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-17 13:47:00 +01:00
Nico Schottelius 81660b5d64 explicitly require python 3.2 on source host
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-01-06 13:17:35 +01:00
Steven Armstrong b38262f858 implement reading initial manifest from stdin
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-31 16:07:33 +01:00
Nico Schottelius 0e7c532870 add new state code, begin to detect circular dependencies
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-19 15:32:06 +02:00
Nico Schottelius ba6371c584 fix import error... stupid one
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-19 15:20:53 +02:00
Nico Schottelius b7fdfb12e6 cleanups
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-18 22:40:29 +02:00
Nico Schottelius 8b9e6780b8 no need for a constant that's used two lines below
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-18 20:42:09 +02:00
Nico Schottelius 0344796d31 restructure imports
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-18 20:36:35 +02:00
Nico Schottelius e3f3c48b22 wrap the whole program in the try...except KeyboardInterrupt block
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-18 20:34:35 +02:00
Nico Schottelius dbdf036787 do not need to use terminate()/SIGTERM
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 12:04:04 +02:00
Nico Schottelius 1d1bff88b7 just as a marker: return false, so in theory even multiprocess noticed that we did something stuped
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 01:06:33 +02:00
Nico Schottelius a587975a99 catch keyboardirq in parallel mode, so it's not raised into multiprocess
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 01:05:47 +02:00
Nico Schottelius 7b770b7b35 correctly report pid when killing subprocess
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 00:49:04 +02:00
Nico Schottelius 84e102eb29 also report failed hosts in sequential mode, terminate processes on interrupt, continue deploy even if one or more hosts failed
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 00:45:37 +02:00
Nico Schottelius e8a81551f8 implement error reporting for failed hosts at the end
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 00:31:52 +02:00
Nico Schottelius 15ae422cb2 catch cdist errors in emulator or config install, not in main, because catching there does not work in multiprocess env
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 00:15:41 +02:00
Nico Schottelius 72687b5aeb create new method to encapsulate configinstall run of one host
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 00:12:51 +02:00
Nico Schottelius 92de3d2f10 need cdist module for various constens
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 23:23:30 +02:00
Nico Schottelius e002710c4c rewrite emulator to class based approach for better logging
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 02:31:40 +02:00
Steven Armstrong e2e2ddb33b add missing import
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-13 17:05:53 +02:00
Steven Armstrong f1ff8d2f61 -todo
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-13 16:28:36 +02:00
Nico Schottelius 94a5558f3f ++todo in bin/cdist
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-13 12:20:51 +02:00
Nico Schottelius 2ec3753d94 cleanup context in main
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-11 16:45:18 +02:00
Nico Schottelius 29bb5f383c use context in cdist/bin
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-11 16:39:18 +02:00
Nico Schottelius 4c29d9839b configure logger based on hostname
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-11 16:19:27 +02:00
Nico Schottelius d2b042ab7f remove parallel arg, always change logoutput
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-10 15:14:48 +02:00
Nico Schottelius 48a9309522 indent/+FIXME
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-09 12:50:47 +02:00
Nico Schottelius d190b192de update timing method
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-08 03:22:19 +02:00
Nico Schottelius 71ed728b4a move parallel code to main binary, allow branching out on install and config
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 18:14:17 +02:00
Nico Schottelius 2b0a337584 fix base_dir passing
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 13:45:19 +02:00
Nico Schottelius 386e2ca34c make cli work again
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 13:37:56 +02:00
Nico Schottelius 13d47f3cf4 remove datetime from config to wrong position
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-06 20:20:35 +02:00
Nico Schottelius e162861b17 consistently support -h, -v, -d in all commands
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-28 09:06:20 +02:00
Nico Schottelius 0e8dcb2f3d add verbose support
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-27 17:20:31 +02:00
Nico Schottelius d8da7635de use warning loglevel by default
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-27 17:15:54 +02:00
Nico Schottelius 6c9bf9e5d7 use cdist, not __main__ as logger name
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-27 17:12:08 +02:00
Nico Schottelius 9d582ae24f rename emulator to run
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-27 14:01:09 +02:00
Nico Schottelius 996fa75c2e cleanup cdist imports
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 15:18:55 +02:00
Nico Schottelius 597e1e7345 remove obsolete cdist-deploy-stdin-to
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 15:15:36 +02:00
Nico Schottelius 6458499d2b J)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 12:02:24 +02:00
Nico Schottelius 27b4b9cd03 also move out install and cleanup library path code
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:53:09 +02:00
Nico Schottelius 35e33570d1 also move out config
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:45:19 +02:00
Nico Schottelius 0197f8da13 more cleanups from refactoring
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:25:22 +02:00
Nico Schottelius 6d75016139 make type emulator load again
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:18:36 +02:00
Nico Schottelius 4eec4d9627 only setup library path in main, not emulator
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:09:58 +02:00
Nico Schottelius 3f6c479d72 move TYPE_PREFIX back into main, as it's only needed there and should work without module
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:07:45 +02:00
Nico Schottelius 16d58dcac7 move out banner, fail at emulator
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-26 11:05:18 +02:00
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 9c7e0e358c Merge branch 'master' into install 2011-09-23 14:22:20 +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 e95defa6d2 Merge branch 'master' into install 2011-09-23 14:21:01 +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 9a3d9334d5 Merge branch 'master' into install
Conflicts:
	bin/cdist-config

Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 15:05:39 +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 de2a216ee6 cleanup bin/, move quickstart to mandir
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-09-19 00:39:43 +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
Steven Armstrong cbd073dfbd Merge remote-tracking branch 'cdist/install' into install 2011-09-17 08:55:49 +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