forked from ungleich-public/cdist
		
	+lunchlogfile
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
		
					parent
					
						
							
								9ee774c31b
							
						
					
				
			
			
				commit
				
					
						67abdb3399
					
				
			
		
					 1 changed files with 120 additions and 0 deletions
				
			
		
							
								
								
									
										120
									
								
								doc/dev/logs/2012-02-15.steven
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								doc/dev/logs/2012-02-15.steven
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,120 @@ | |||
| - parameter/setting default from manifest | ||||
|     - current bug | ||||
|     - proposal 1: parameter/default/$name (for optional ones) | ||||
|         - new way | ||||
|         - catches --state absent|present | ||||
|         - needs changes of types | ||||
|         - also possible for explorer | ||||
|         - support for it in core? | ||||
|             - handling of ${o} $o "$o" ? | ||||
|             - handling which variables? | ||||
|             - introduction of "templating language" | ||||
|                 - aka macros | ||||
|                 - possible problems: | ||||
|                     - inconsistency | ||||
|                     - redoing shell functionality | ||||
|                     - raising expectations for more templating from users | ||||
|                 - possible benefit | ||||
|                     - no need for eval | ||||
|                     - once in core, not everytime in type | ||||
|                         - OTOH: one extra word.  | ||||
|                         - a=$(cat $__object/parameter/name) vs. $(eval $(cat $__object/parameter/name)) | ||||
|         - only possible for static defaults | ||||
|             - --name overrides name not possible vs. object_id | ||||
|                 - Is this the only case???? | ||||
|                     - if yes: don't care. | ||||
|                 - possible solution: | ||||
|                     - echo '/$__object_id' > typename/parameter/default/name | ||||
|                     - eval $(cat $__object/parameter/name) | ||||
|                         - probably allows code injection | ||||
|                             - is possible anyway??? | ||||
|                             - $(cat /etc/shadow) | ||||
|                         - other eval side effects??? | ||||
|                             - none: go for it | ||||
|                             - some: have headache | ||||
|                             - many: don't do | ||||
|     - proposal 2: 2 dbs (user input vs. stuff changable by type) | ||||
|         - explicit 2nd db [parameter_user and parameter/] | ||||
|         - not very clean (both agreed) | ||||
|     - proposal 3: parameter are read-only | ||||
|         - breaks current types (in core probably elsewhere) | ||||
|         - can't enforce, but user is on his own => breaks, her problem | ||||
|         + clean seperation between core and type (nico) | ||||
|             - parameter belongs to type not core (steven) | ||||
|     - proposal 4: core ignores changes in parameter/* of object | ||||
|         - implicit 2nd db [see automagic below] | ||||
|         - steven+++ | ||||
|         - does not work with divergent emulator not being in core | ||||
|             - because emulators primary db __is__ fs. | ||||
| 
 | ||||
| 1 manifest: | ||||
| 
 | ||||
| __foo bar == emulator | ||||
| echo present > $__global/object/__foo/bar/parameter/state | ||||
| 
 | ||||
| # fails | ||||
| __foo bar == emulator | ||||
| 
 | ||||
| ! automagic / filesystem | ||||
|     ! fsproperty: | ||||
|         - kill, write explicitly to disk | ||||
| 
 | ||||
|     - implicit/automatic writes/read to fs | ||||
|         - explicit interfaces are better then implicit | ||||
|         - same problems as in cdist 1.x to 2.x move! (environment!) | ||||
|     - format on disk should not change/dictate code flow | ||||
|         - degrade python to shell (nico++! steven--) | ||||
|             - user should not care about python, ruby, .net or ASM implementation (steven++ nico++) | ||||
| 
 | ||||
|     ? proposal 1: diverge emulator / core | ||||
|         - emulator verifies input | ||||
|         - emulator writes to fs | ||||
|         - core reads/syncs from/to fs before passing control to user | ||||
| 
 | ||||
|     ? proposal 2: emulator is dumb and passes data to core | ||||
|         - core creates objects | ||||
|         - no fs involved | ||||
|         - core reads/syncs from/to fs before passing control to user | ||||
|         - passing: | ||||
|             - full objects via pickle | ||||
|             - parameters only | ||||
|             - how??? | ||||
|                 - unix socket? | ||||
|                     - not everywhere possible? | ||||
|                 - tcp / ip | ||||
|                     - not everywhere possible | ||||
|                         - chroot / local only | ||||
|                 - rfc 1149 | ||||
|                     - not everywhere possible | ||||
|                         - missing avian carriers | ||||
|                 - 0mq | ||||
|                     - not everywhere possible | ||||
|                         - not installed | ||||
|                 - shm (ipcs and friends) | ||||
|                     - not everywhere possible | ||||
|                         - no /dev/shm, different libraries? cleanups needed... | ||||
|                 - what speaks against FS? | ||||
|                     - emulator_input/.../ | ||||
| 
 | ||||
|                 - nico: to fancy probably | ||||
| 
 | ||||
| ! boolean implementation | ||||
|     - nico:  | ||||
|         - parameters/boolean: document | ||||
|         - argparse changes (consider parameters/boolean) | ||||
|             - create  | ||||
|     - can be implemented with changes in emulator | ||||
|         - use store_true, del if false => never seen by core | ||||
|     - INDEPENDENT INDEPENDT OF FS.PROPERTIES!!111111! | ||||
| 
 | ||||
| - emulator: | ||||
|     - how much integrated into core | ||||
|         - also: using CdistObject???? | ||||
|     - dependency on filesystem: good (nico) | bad (steven) | ||||
| 
 | ||||
| - singleton / support without object_id | ||||
| 
 | ||||
| 
 | ||||
| - logging divergent between emulator / core | ||||
|     - no problem (nico) | ||||
|     - may be helpful (steven) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue