forked from ungleich-public/cdist
		
	implement cdist install
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
		
					parent
					
						
							
								2c30704ba7
							
						
					
				
			
			
				commit
				
					
						54815e2b29
					
				
			
		
					 7 changed files with 58 additions and 120 deletions
				
			
		|  | @ -1,118 +0,0 @@ | |||
| autorequire: | ||||
|    - objects defined in type manifests should be automatically prerequisites of the current object | ||||
|    - __foo/some-id | ||||
|       __other other-id --state present | ||||
|       => require="__other/other-id" __foo/some-id | ||||
| 
 | ||||
| 
 | ||||
| metaparameters: | ||||
|    - steal the metaparameters from puppet: | ||||
| 
 | ||||
|    # I have to be there before the other one | ||||
|    __directory /etc/ssh \ | ||||
|       --before __file/etc/ssh/sshd_config | ||||
| 
 | ||||
|    # the other one has to be there before me | ||||
|    __file /etc/ssh/sshd_config \ | ||||
|       --after __directory/etc/ssh | ||||
| 
 | ||||
|    # if I change, tell the other one about it | ||||
|    __file /etc/ssh/sshd_config \ | ||||
|       --notify __init_script/etc/rc.d/sshd | ||||
| 
 | ||||
|    # whenever the other one changes, I want to know | ||||
|    __init_script /etc/rc.d/sshd \ | ||||
|       --subscribe __file/etc/ssh/sshd_config | ||||
| 
 | ||||
|    - how does a type react to a received 'event'? | ||||
|       - maybe something like: | ||||
|          __some_type/ | ||||
|             manifest | ||||
|             ... | ||||
|             gencode-refresh | ||||
|             ... | ||||
|       - gencode-refresh -> code-refresh -> ssh $target sh -e code-refresh | ||||
|     | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| logging: | ||||
|    - logging from type emulator without clobbering stdout | ||||
|       maybe implement logging server as described here [1] | ||||
|    [1] http://docs.python.org/py3k/howto/logging-cookbook.html#configuration-server-example | ||||
| 
 | ||||
|    - use different logger to limit output to current area of interest, | ||||
|       e.g. | ||||
|          explorer.$target_host: explorer related messages for the run for $target_host | ||||
|          manifest.$target_host: manifest related messages for the run for $target_host | ||||
|          ... | ||||
|       then one could filter e.g. on explorer.* | ||||
| 
 | ||||
|    - more granular debug output, | ||||
|    [2] http://blog.ooz.ie/2011/03/python-logging-extending-standard.html | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| tests: | ||||
| 
 | ||||
|    __init__(): | ||||
|       - sets up env: __target_host | ||||
| 
 | ||||
|    run_initial_manifest(): | ||||
|       - parameter is actually used (from __init__) | ||||
|       - ensure changing the manifest actually runs a different manifest | ||||
|       -> give ConfigInstall Constructor different manifest | ||||
|          -> different manifest is executed. | ||||
|       - test all submitted (from core to type manifest) variables: | ||||
|          - ENVIRONMENT | ||||
|          - they are set | ||||
|          - they contain the correct values | ||||
| 
 | ||||
|    run_type_manifest(): | ||||
|       - test all submitted (from core to type manifest) variables: | ||||
|          - ENVIRONMENT | ||||
|          - they are set | ||||
|          - they contain the correct values | ||||
|       - same tests as for test_initial_manifest_*? | ||||
| 
 | ||||
|    run_manifest(): | ||||
|       - test all submitted variables: | ||||
|          - ENVIRONMENT | ||||
|             - including __debug, if debug | ||||
|          - they are set | ||||
|          - they contain the correct values | ||||
|       - does $require work? | ||||
|       - check that exception raised, if manifest is not existent | ||||
| 
 | ||||
|    object_run(): | ||||
|       - ensure no object is run twice | ||||
|       - ensure requirements are taken into account? | ||||
|          - and order of run is adjusted | ||||
|       - check (from extern?) that all needed variables are setup | ||||
|       - ensure no code-{local, remote} is created,  | ||||
|          if gencode is not producing code | ||||
|       - ensure THAT code-{local, remote} contains what gencode created | ||||
|       - abort if gencode-* fails | ||||
|       - abort if code-* fails | ||||
|          - abort == raise(FooException) | ||||
|       - gencode-*: ensure ENVIRONMENT is setup correctly | ||||
| 
 | ||||
|    run_type_explorer() | ||||
|       - ensure ALL type explores have been run | ||||
|       - ensure output is saved to correct path | ||||
|       - ensure a type with {0,1,2} explorers works ? | ||||
|          - none, one, multiple | ||||
|       - ensure ENVIRONMENT is setup correctly | ||||
|       - fails if ANY of the given explorer fails | ||||
| 
 | ||||
|    run_global_explorers(): | ||||
|       - ensure ALL type explores have been run | ||||
|       - ensure output is saved to correct path | ||||
|       - ensure a type with {0,1,2} explorers works ? | ||||
|          - none, one, multiple | ||||
|       - ensure ENVIRONMENT is setup correctly | ||||
|       - fails if ANY of the given explorer fails | ||||
|        | ||||
| Code fixes needed: | ||||
| 
 | ||||
|    - shutil, os.mkdir, etc. everywhere: catch/reraise exceptions correctly | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue