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…
Reference in a new issue