Darko Poljak
da274e5ef3
Redefine/reimplement CDIST_ORDER_DEPENDENCY
...
CDIST_ORDER_DEPENDENCY now defines type order dependency context.
cdist (emulator) maintains global state variables, as files,
order_dep_state and typeorder_dep, and per object state variable,
as file, typeorder_dep.
If order_dep_state exists then this defines that order dependency is
turned on.
If order_dep_state does not exist then order dependency is turned off.
If order dependency is on then objects created after it is turned on are
recorded into:
* global typeorder_dep, in case of init manifest
* object's typeorder_dep, in case of type's manifest.
If order dependency is on then requirement is injected, where object
created before current, is read from:
* global typeorder_dep, in case of init manifest
* object's typeorder_dep, in case of type's manifest.
Every time order dependency is turned off, typeorder_dep files are
removed, which means that type order list is cleared, context is
cleaned.
In the end cdist cleans after itself, i.e. mentioned files are removed.
When running type manifest is finished typeorder_dep file is removed.
When running config finishes global typeorder_dep and order_dep_state
files are removed.
Global type order recording is untouched.
Furthermore, for completeness, type order is now recorded for each object
too.
5 years ago
Darko Poljak
51fa8af6b7
pycodestyle
6 years ago
Darko Poljak
9703e0f08e
Save output streams.
...
Implementation is 99% based on Steven's initial implementation.
7 years ago
Darko Poljak
ca1cc0f64a
object_id = '/' is invalid
8 years ago
Darko Poljak
80c3dd7572
Ignore directory entries that begin with dot('.').
8 years ago
Darko Poljak
a722f3c634
3rd iteration of logging cleanup.
8 years ago
Darko Poljak
64efa04599
pep8
9 years ago
Nico Schottelius
d08c29b581
fix most test cases broken by no-dot-cdist change
...
Signed-off-by: Nico Schottelius <nico@freiheit.schottelius.org>
10 years ago
Nico Schottelius
73c77dd2d3
Let core use random .cdist directory for objects
...
Signed-off-by: Nico Schottelius <nico@freiheit.schottelius.org>
10 years ago
Nico Schottelius
c363fc24de
begin to make OBJECT_MARKER dynamic
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
11 years ago
Daniel Heule
2dd2f5593f
bugfixes for issue 161 and FIXME: also check that there is no object ID
...
when type is singleton?
11 years ago
Daniel Heule
197fabf40a
added some ideas from asteven and a bit more description about the order
...
in the manpage
11 years ago
Daniel Heule
4ef55ef13f
allow object overrides with CDIST_ALLOW_OVERRIDE=true
11 years ago
Nico Schottelius
a5fc3f5002
remove changed attribute of an object - was never used and will never be used
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Steven Armstrong
7205cd5ecf
remove that crappy old singleton object_id thingy
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
12 years ago
Nico Schottelius
25bdcb1602
cleanup tests and ... - 100% green
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
0b4914a7f3
+comment wording
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
a265d87037
begin dry run in command line
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
85d24ce259
fix execution order - seems to be fine now
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
8a7c64f86a
cleanups + indent errors
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
a064cc19b3
try new object orientated (hrrr) code instead of stage based
...
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
12 years ago
Nico Schottelius
cb829ec8d0
introduce MissingObjectIdError
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
2732a4ba5c
finally finish the dynamic resolver
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
369305f376
remove circularreferenceerror, because it is not being used anymore
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
8031c77700
fix some tests, break some others :-)
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
958d2d336f
various cleanups
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
cd8b3cf68d
finish rewrite of dependency resolver
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
12 years ago
Nico Schottelius
6a8778e595
remove most of the resolver boilerplate, keep the interesting functions
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
81c92e5cc4
merge all resolver code into cdist_object (to gain the requirement searching code
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
16340b7d34
report on broken requirements, begin to satisfy requirements
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
2fe647a1f7
Revert "implement before/after to declare dependencies and deprecate require"
...
Comment from asteven:
Some problems showed up while updating the docs and tests.
You should revert the merge for now.
This reverts commit 84770b9ef2
.
13 years ago
Steven Armstrong
84770b9ef2
implement before/after to declare dependencies and deprecate require
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
--whitespace
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Nico Schottelius
c9f728e073
lib/cdist => cdist (pypi)
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
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>
13 years ago
Nico Schottelius
0082b7f07c
allow objects to start with /, but not to contain //; sanitise after validation
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
632146114c
update copyright
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
8f75a9133f
do not fail validation on empty object_id
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
1e5226e21c
fix indention errors due to vim c&p
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
2492d51f6f
make object_from_name() better readable
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
097b4ea6ad
:%s/self.type/self.cdist_type/g
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
f27730e10b
finish rewrite to instance method
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
0c990e1756
add singleton / no object_id test to CdistObject
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
fb4f8784b6
rename Type => CdistType
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
1314567012
also begin to prefix type with cdist
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
4be37f6e93
begin rename Object => CdistObject
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
15fb097464
add function to sanitise object_id and verify no //
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Steven Armstrong
252ae5ea56
new feature: dependency resolver
13 years ago
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>
14 years ago
Nico Schottelius
c7d0d581b1
we pass base_path, not object_path (clearification)
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
14 years ago
Steven Armstrong
792ddf0a5b
add utility method to join object name from type and object_id
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
14 years ago