Commit graph

154 commits

Author SHA1 Message Date
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
Nico Schottelius
7d2799d958 Make __manifest usable in type manifests
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-04-04 17:21:54 +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
0082b7f07c allow objects to start with /, but not to contain //; sanitise after validation
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-14 12:41:13 +01:00
Nico Schottelius
c9ae06db64 do not setup __debug - let the user do if required - do not interfere type with core
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 16:27:41 +01:00
Nico Schottelius
632146114c update copyright
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 14:30:27 +01:00
Nico Schottelius
f12a83f3dd -migration to CdistType error
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 10:41:12 +01:00
Nico Schottelius
8f75a9133f do not fail validation on empty object_id
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 10:38:36 +01:00
Nico Schottelius
a8e9b7feed :%s/cdist_object.type/cdist_object.cdist_type/g
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 08:55:42 +01:00
Nico Schottelius
2bc201614a :%s/cdist_object.type/cdist_object.cdist_type/g
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 08:54:09 +01:00
Nico Schottelius
1e5226e21c fix indention errors due to vim c&p
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 08:51:40 +01:00
Nico Schottelius
2492d51f6f make object_from_name() better readable
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:56:37 +01:00
Nico Schottelius
097b4ea6ad :%s/self.type/self.cdist_type/g
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:50:11 +01:00
Nico Schottelius
f27730e10b finish rewrite to instance method
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:45:32 +01:00
Nico Schottelius
0c990e1756 add singleton / no object_id test to CdistObject
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-13 07:25:04 +01:00
Nico Schottelius
fb4f8784b6 rename Type => CdistType
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-12 01:18:14 +01:00
Nico Schottelius
1314567012 also begin to prefix type with cdist
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-12 01:10:57 +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
Nico Schottelius
15fb097464 add function to sanitise object_id and verify no //
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-12 00:05:21 +01:00
Nico Schottelius
d55c52601f move run_type_explorer near run_type_explorers
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2012-02-09 19:08:32 +01:00
Steven Armstrong
252ae5ea56 new feature: dependency resolver 2012-01-19 07:51:02 +01:00
Steven Armstrong
1729516414 allow .cdist (OBJECT_MARKER) inside file names but not as _the_ file/folder name
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-09 20:38:22 +01:00
Steven Armstrong
b92ea62f72 export OBJECT_MARKER for use in tests
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-09 20:36:40 +01:00
Nico Schottelius
c7d0d581b1 we pass base_path, not object_path (clearification)
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
2011-11-09 18:41:46 +01:00
Steven Armstrong
792ddf0a5b add utility method to join object name from type and object_id
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-02 09:13:23 +01:00
Steven Armstrong
afba5e9280 add utilitly method to split an object name into its type name and object_id
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-02 07:52:08 +01:00
Steven Armstrong
70ee0f1681 implement __lt__ to support sorting a list of objects
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-01 22:46:46 +01:00
Steven Armstrong
bf1b995908 implement __lt__ and __eq__ to support sorting a list of types
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-11-01 22:20:46 +01:00
Steven Armstrong
9588c5189c Merge branch 'master' into run-explorers-in-cdist.core.explorer 2011-10-20 11:08:23 +02:00
Steven Armstrong
6223402b9e bugfix: only attempt to transfer object parameters it their are any
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-20 11:07:48 +02:00
Steven Armstrong
60c4e21981 implement Explorer run_global_explorers and run_type_explorers
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-20 11:05:50 +02:00
Steven Armstrong
d6cf85e6f6 implement /__object_fq/__object_name/
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-19 15:17:45 +02:00
Steven Armstrong
dc3ed07153 /__debug/__cdist_debug/
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-19 15:03:47 +02:00
Steven Armstrong
ff2192f6de remove legacy attributes: ran, prepared
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-19 14:54:15 +02:00
Steven Armstrong
022b17d700 implement Object state
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-19 14:53:31 +02:00
Nico Schottelius
4d4287c580 Merge remote-tracking branch 'steven/master' 2011-10-18 15:14:44 +02:00
Steven Armstrong
d427e3f585 __self should not contain .cdist
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 15:07:58 +02:00
Steven Armstrong
030d5919e6 raise exception if object_id contains .cdist
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 15:07:58 +02:00
Steven Armstrong
e58b52592b add missing environment variable __self
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
4975b4643a --typo
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 13:11:53 +02:00
Steven Armstrong
95a858c350 implement: fail if type does not exist on the filesystem
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 12:46:06 +02:00
Steven Armstrong
a0a4a7382d import NoSuchTypeError into cdist.core namespace
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-18 12:44:07 +02:00
Nico Schottelius
32b2c49d32 found 2 bugs in transfer_code_remote
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-16 12:39:06 +02:00
Nico Schottelius
053903bb69 use instance logger in explorer
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 12:00:46 +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
00a1f1eeb9 ++ more host prefixing log code
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 01:41:11 +02:00
Nico Schottelius
a415cc4b91 add correct logger in manifest
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 01:38:22 +02:00
Steven Armstrong
889e6c23cb Explorer tracks which type explorers have been transferred instad of Type
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2011-10-15 00:44:54 +02:00
Nico Schottelius
0d441eb378 report info when running initial manifest (it may take some time)
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
2011-10-15 00:12:08 +02:00