Commit graph

74 commits

Author SHA1 Message Date
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.
2019-11-27 15:04:47 +01:00
Darko Poljak
3d3b59ab87 Add pycodestyle ignores 2019-11-27 14:59:25 +01:00
Darko Poljak
2505023387 Append requirement only if already not present 2019-05-01 12:31:30 +02:00
Darko Poljak
797522f91e Fix circular dep for CDIST_ORDER_DEPENDENCY
Fixes #756
2019-04-14 16:58:18 +02:00
Darko Poljak
5480c22020 Adapt object_parameters before checking conflicting parameters. 2018-10-13 16:11:51 +02:00
Darko Poljak
eb8922ebcd Remove redundant log.error line. 2017-11-20 08:02:25 +01:00
Darko Poljak
e6c5563a16 NoSuchTypeError -> InvalidTypeError 2017-11-02 13:57:36 +01:00
Darko Poljak
f0dc21ec0c __cdist_log_level=<log level int value>; __cdist_log_level_name=<log level name> (#574) 2017-09-11 09:06:47 +02:00
Darko Poljak
3454da076f Add -l/--log-level option. Honor __cdist_loglevel env var. (#572)
Add -l/--log-level option, __cdist_loglevel -> __cdist_log_level; honor __cdist_log_level env var
2017-09-09 21:17:29 +02:00
Darko Poljak
57f15f9cce Make __cdist_loglevel value more expressive. (#571) 2017-09-07 16:36:23 +02:00
Darko Poljak
f368539447 Some pylint cleaning. 2017-08-22 10:58:30 +02:00
Darko Poljak
b6467e716e Merge remote-tracking branch 'ungleich/master' into jobs-locking 2017-08-13 12:27:57 +02:00
Darko Poljak
75fe3272b3 Add file locking for -j parallel execution. 2017-08-13 12:26:20 +02:00
Darko Poljak
87fe52ea61 Default logging level is WARNING. 2017-08-12 23:02:31 +02:00
Darko Poljak
314a931b84 Respect cdist log level in emulator. 2017-08-12 21:40:23 +02:00
Darko Poljak
a722f3c634 3rd iteration of logging cleanup. 2017-07-04 23:49:43 +02:00
Darko Poljak
127c05a882 2nd iteration of logging cleanup. 2017-07-04 23:49:43 +02:00
Darko Poljak
248656b81f First iteration of logging cleanup. 2017-07-04 23:49:43 +02:00
Darko Poljak
cca6693b2e Merge install feature from 4.0-pre-not-stable. 2016-10-13 21:16:59 +02:00
Darko Poljak
d49af95d3c Add warning message for faulty dependencies case. 2016-10-08 11:40:32 +02:00
Darko Poljak
72001b237e Remove relict comment. 2016-08-24 13:46:47 +02:00
Darko Poljak
d96be90f26 Fix self.target_host 2016-08-14 22:09:36 +02:00
Darko Poljak
dbcc94ab65 Add derived env vars for target hostname and fqdn. 2016-08-10 23:56:56 +02:00
Darko Poljak
64efa04599 pep8 2016-07-05 20:44:24 +02:00
Darko Poljak
92d96c14b9 Undo reqs conflict detection, continue appending new reqs. 2016-07-04 10:11:11 +02:00
Darko Poljak
72345f5516 Make union of existing and new requirements instead of conflict error. 2016-06-30 20:37:08 +02:00
Darko Poljak
bd9008794c Conflicting requirements bugfix. 2016-06-10 07:50:07 +02:00
Nico Schottelius
fa6e389fdd cannot use False for object id, as it is being used for os.path.join() in object
Signed-off-by: Nico Schottelius <nico@freiheit.schottelius.org>
2015-03-05 15:23:53 +01:00
Nico Schottelius
73c77dd2d3 Let core use random .cdist directory for objects
Signed-off-by: Nico Schottelius <nico@freiheit.schottelius.org>
2015-03-05 15:02:26 +01:00
Nico Schottelius
2734e5069e Merge branch '3.0' into 4.0-pre-not-stable 2014-02-14 20:52:36 +01:00
Daniel Heule
cfbc68aa11 bugfix if both override and order is specified 2014-02-12 10:31:46 +01:00
Nico Schottelius
03f99a0e55 Merge branch 'preos' into 4.0-pre-not-stable 2014-02-08 00:32:39 +01:00
Daniel Heule
60c53e213c testcases emulator.OverrideTestCase, with some minor bugfixes to make
test work as expected ...
2014-02-07 14:24:12 +01:00
Nico Schottelius
1be3ea4362 Merge branch 'origin/feature_object_override' of git://github.com/dheule/cdist 2014-02-06 16:32:29 +01:00
Daniel Heule
52e2017d8f CDIST_ALLOW_OVERRIDE -> CDIST_OVERRIDE as requested by nico 2014-02-06 16:03:07 +01:00
Daniel Heule
51afca5336 Implement lastest suggestions from nico, rename ENV Variable to
CDIST_ORDER_DEPENDENCY
2014-02-06 15:26:17 +01:00
Daniel Heule
2b5929c881 Merge branch 'master' of https://github.com/telmich/cdist into feature__cdist_autodep_try2
Conflicts:
	docs/man/man7/cdist-manifest.text
2014-02-06 15:10:34 +01:00
Nico Schottelius
5389d71905 Merge branch 'master' into 4.0-pre-not-stable
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>

Conflicts:
	cdist/config.py
	cdist/emulator.py
	docs/changelog
2014-02-05 23:22:04 +01:00
Nico Schottelius
34f2f7f038 setting up CDIST_ALLOW_OVERRIDE to any value is ok - do not depend on true/yes/ja
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
2014-02-05 21:09:24 +01:00
Daniel Heule
5fbac8d0ba forgot the : after the else ... 2014-01-31 17:59:56 +01:00
Daniel Heule
197fabf40a added some ideas from asteven and a bit more description about the order
in the manpage
2014-01-31 17:56:55 +01:00
Daniel Heule
4ef55ef13f allow object overrides with CDIST_ALLOW_OVERRIDE=true 2014-01-27 16:19:01 +01:00
Nico Schottelius
300af0b1cf Merge branch 'master' into install_integration 2014-01-19 23:28:52 +01:00
Nico Schottelius
ac0c88fe9f remove some old typos and omit type details that follow anyway
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
2014-01-19 23:28:45 +01:00
Nico Schottelius
5858ebda53 Merge branch 'master' into install_integration 2014-01-19 23:22:53 +01:00
Nico Schottelius
ce73cef457 explain that a requirement caused the error, otherwise you search until you die
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
2014-01-19 23:22:48 +01:00
Daniel Heule
61aec12ba1 Try2 to make cdist honor the manifest order,
this implementation has some more lines of code,
but no collision with the require variable.
2014-01-18 19:23:21 +01:00
Daniel Heule
824381e6ca new special value require="CDIST_HONOR_MANIFEST_ORDER"
which tells cdist to execute types in the manifest order
2014-01-17 23:35:02 +01:00
Steven Armstrong
54815e2b29 implement cdist install
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2014-01-15 13:43:23 +01:00
Steven Armstrong
08762330e1 default to None, not empty list
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2013-12-21 21:59:47 +01:00