Commit graph

67 commits

Author SHA1 Message Date
Nico Schottelius
3c5aa53190 Merge branch 'feature_multiple_arguments' of https://github.com/asteven/cdist 2012-06-05 18:27:52 +02:00
Steven Armstrong
36513997d9 implement multiple parameters based on https://github.com/telmich/cdist/pull/71 by Sébastien Gross
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-06-04 22:01:32 +02:00
Steven Armstrong
06649d3478 new feature: capture and forward stdin to types
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-06-04 14:11:34 +02:00
Steven Armstrong
7d61b77708 fix autorequire dependency handling
- inherit explicit requirements that the user defined himself
- but _not_ implicit requirements that cdist added for autorequire

Changes:
- added new .autorequire property to CdistObject to keep track of implicit autorequire dependencies
- Emulator appends implicit requirements to this .autorequire property
- DependencyResolver preprocess these .autorequire properties before resolving normal dependencies
- refactored and documented DependencyResolver so it's clearer what happens and easier to use from tests
- update test cases to match new DependencyResolver behaviour

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-05-03 10:16:08 +02:00
Steven Armstrong
2ff286cf1d inherit dependencies from defining object when setting up implicit dependencies through autorequire
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-04-25 17:18:16 +02:00
Steven Armstrong
0760ff3c94 implement boolean parameters, forgotten files ;-)
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2012-02-15 14:44:16 +01:00
Nico Schottelius
46e6ea4308 print name, not object (user does not need to see python way of things)
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-15 09:27:30 +01:00
Nico Schottelius
861b13ffe4 record sanitised object, not the user supplied one, as requirement
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-14 11:12:17 +01:00
Nico Schottelius
0861276436 remove obsolete MissingEnvironmentVariableError()
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 16:14:48 +01:00
Nico Schottelius
2d61070023 remove old IllegalRequirementError exception
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 10:47:40 +01:00
Nico Schottelius
eadb62e67a minimal beaufity
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 08:44:09 +01:00
Nico Schottelius
dcd3bcee32 use the great method object_from_name() in emulator
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:57:51 +01:00
Nico Schottelius
754aba1a15 record source in setup_object not in requirements
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:47:33 +01:00
Nico Schottelius
ab565dc3d9 cleanup / emulator
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:45:10 +01:00
Nico Schottelius
91ecfa7d3f back to 100% tests working
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-12 01:27:25 +01:00
Nico Schottelius
4be37f6e93 begin rename Object => CdistObject
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-12 00:08:18 +01:00
Steven Armstrong
252ae5ea56 new feature: dependency resolver 2012-01-19 07:51:02 +01:00
Steven Armstrong
8ac375e8a6 Merge branch 'master' into autorequire
Conflicts:
	lib/cdist/test/emulator/__init__.py

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-17 13:08:30 +01:00
Steven Armstrong
68f66af21a implement: accept parameters with dashes
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-17 13:04:39 +01:00
Steven Armstrong
f36d09289d Merge branch 'master' into autorequire
Conflicts:
	lib/cdist/test/emulator/__init__.py

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-15 10:47:16 +01:00
Steven Armstrong
d0123acc2a implement singleton as requirement
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-03 15:44:51 +01:00
Steven Armstrong
c58ec7e4ef prevent circular dependencies
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-03 00:25:06 +01:00
Steven Armstrong
7d0238682b implement autorequire in emulator
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-02 23:58:18 +01:00
Steven Armstrong
8f306a7484 /__debug/__cdist_debug/
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-19 15:04:14 +02:00
Nico Schottelius
4d4287c580 Merge remote-tracking branch 'steven/master' 2011-10-18 15:14:44 +02:00
Steven Armstrong
2246b7496b fails if requirement has illegal object_id
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 15:07:58 +02:00
Nico Schottelius
7bb81e2f18 Whitespace does not not weigh anything - remove - sed -i 's/ *$//g' *py */*py
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-10-18 13:32:36 +02:00
Steven Armstrong
e9a0aa1863 fail if requirements type does not exist
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 13:20:14 +02:00
Nico Schottelius
03ea7787d2 +self
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 18:38:22 +02:00
Nico Schottelius
3c31b4f9a3 and finally also adjust the requirement itself
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 23:40:11 +02:00
Nico Schottelius
5a72223ae3 strip away / in emulator in requirements
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 23:23:57 +02:00
Steven Armstrong
b8b9719cc6 Merge remote-tracking branch 'telmich/master'
Conflicts:
	lib/cdist/core/explorer.py
	lib/cdist/emulator.py

Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-15 10:51:08 +02:00
Nico Schottelius
ee1c568c7b almost finish correct requirement loading, but need sleep
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 02:54:54 +02:00
Nico Schottelius
0dd38f75c2 remove leading / from object_id of requirement
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 02:46:28 +02:00
Nico Schottelius
a7a3ee6f19 adjust prefix
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 02:36:33 +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
d83de25774 Stripp leading slash from requirements object_id
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-15 00:26:00 +02:00
Steven Armstrong
1e622f9128 raise IllegalRequirementError if requirements object_id starts with a /
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-14 15:52:53 +02:00
Steven Armstrong
1c84e423d1 include type name in error message
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-14 11:49:37 +02:00
Steven Armstrong
f285d9e64e emulator: fail if object_id of requirement starts with slash
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-14 11:39:55 +02:00
Steven Armstrong
405ebbccb7 Merge remote-tracking branch 'telmich/master'
Conflicts:
	lib/cdist/emulator.py
2011-10-11 12:40:44 +02:00
Steven Armstrong
bcde8683af rewrite emulator to use Type and Object classes
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-11 12:27:08 +02:00
Nico Schottelius
72a2543470 introduce install support in emulator
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-11 00:42:03 +02:00
Nico Schottelius
94cca2e537 prepend hostname in emulator as well
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-11 00:28:53 +02:00
Nico Schottelius
c6e8f163f5 use variable require, not __require for defining
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 17:03:38 +02:00
Nico Schottelius
e8c9b10227 also use path in emulator
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 16:44:53 +02:00
Nico Schottelius
03f5e1b456 fix emulator and cdist module
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 16:15:48 +02:00
Nico Schottelius
149a605b16 use more path, move type -> cdist_type
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 16:14:29 +02:00
Nico Schottelius
2aa0a316e6 use _path not _dir in emulator
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 16:13:00 +02:00
Thomas Reifenberger
9045b30136 fix multiple requirements
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-07 16:07:02 +02:00