forked from ungleich-public/cdist
doc -> docs (pypi)
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
This commit is contained in:
parent
a221e6a233
commit
6d1e4d06cf
133 changed files with 12 additions and 12 deletions
1
docs/dev/todo/3.0
Normal file
1
docs/dev/todo/3.0
Normal file
|
|
@ -0,0 +1 @@
|
|||
- remove __self and all references to it
|
||||
53
docs/dev/todo/TAKEME
Normal file
53
docs/dev/todo/TAKEME
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
UNASSIGNED TODOS
|
||||
----------------
|
||||
The following list of todos has not been assigned to any developer.
|
||||
Feel free to pick one!
|
||||
|
||||
CORE
|
||||
----
|
||||
- support default parameter
|
||||
- document and add paremeters for remote-copy and remote-exec!
|
||||
- remove hack, make a feature of it
|
||||
|
||||
- remove var=foo calls on remote side. Use -o SendEnv (yeah, see ssh_config(5))
|
||||
|
||||
TESTS
|
||||
-----
|
||||
- multiple defines of object:
|
||||
- fail if different parameters
|
||||
- succeed if same parameters
|
||||
- verify that all env variables in doc/man/cdist-reference.text.sh
|
||||
exist in the right stages
|
||||
- test DependencyResolver
|
||||
|
||||
|
||||
USER INTERFACE
|
||||
--------------
|
||||
- How to cleanly implement "restart service if config file changed"
|
||||
-> document
|
||||
|
||||
- Cache
|
||||
- add example how to use
|
||||
- export variable $__cache
|
||||
-> for current host
|
||||
-> add function to cdist-config, import from cdist-cache
|
||||
|
||||
- Define / document "this is what should be on host X"
|
||||
and have it parsable by different (shinken) tool
|
||||
-> given after manifest run already!
|
||||
|
||||
- use absent/present for state by default?
|
||||
- buggy output with packages that don't exist in archlinux and fedora:
|
||||
python3 vs. python
|
||||
|
||||
TYPES
|
||||
------
|
||||
- Add testing framework (proposed by Evax Software)
|
||||
- __user
|
||||
add option to include --create-home
|
||||
- Merge __addifnosuchline and __removeline into __line + --state present|absent
|
||||
- __cron: Support --file to be used instead of user cron (probably direct support
|
||||
of /etc/cron.d)
|
||||
|
||||
- Support uci from openwrt?
|
||||
- http://wiki.openwrt.org/doc/uci
|
||||
25
docs/dev/todo/niconext
Normal file
25
docs/dev/todo/niconext
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
- introduce default parameters
|
||||
- valid for optional parameters only
|
||||
- stored in parameter/default/$name
|
||||
|
||||
- when/where to save? in emulator?
|
||||
- read vi fsproperty?
|
||||
|
||||
- cleanup object_id handling
|
||||
- have a look at singletons
|
||||
|
||||
- update/create docs
|
||||
- cdist-cache::
|
||||
How to get use information about the hosts we have been working on [advanced]
|
||||
- cdist-scaling-tuning::
|
||||
How to scale out with cdist and which tunings to apply. [advanced]
|
||||
- cdist-installation
|
||||
How to use cdist to install hosts
|
||||
- check speech publishing
|
||||
- and speeches, which may be outdated as well
|
||||
- Create new video for cdist 2.x
|
||||
http://www.youtube.com/watch?v=PRMjzy48eTI
|
||||
|
||||
- exec flag is not true for manifest anymore
|
||||
- SSH HINTS - ssh agent
|
||||
|
||||
6
docs/dev/todo/performance-ideas
Normal file
6
docs/dev/todo/performance-ideas
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
- Migrate scripts from bin/* to functions in bin/cdist-deploy-to
|
||||
- Use one pipe-shell for type execution
|
||||
- Parallelise gencode and code-run of all objects
|
||||
- Diff against local cache only instead of real target
|
||||
- Use only one ssh session?
|
||||
- Can be indirectly improved via ssh config already!
|
||||
118
docs/dev/todo/steven
Normal file
118
docs/dev/todo/steven
Normal file
|
|
@ -0,0 +1,118 @@
|
|||
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
|
||||
27
docs/dev/todo/tests
Normal file
27
docs/dev/todo/tests
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
Tests needed for config_install:
|
||||
|
||||
cleanup()
|
||||
- Fail if cache_dir from previous run cannot be deleted
|
||||
- Fail if cache_dir cannot be created from current out_dir
|
||||
|
||||
filter()
|
||||
- ensure logformat is changed: target host is prefixed:
|
||||
LOGLEVEL: target_host: MESSAGE
|
||||
|
||||
link_emulator():
|
||||
- ensure that links to ALL types are created
|
||||
- ensure that links points to correct executable
|
||||
- i.e. readlink() works
|
||||
- AND target of readlink is the correct executable
|
||||
|
||||
remote_mkdir()
|
||||
- is directory created
|
||||
|
||||
remove_remote_path
|
||||
- is path removed
|
||||
|
||||
transfer_path
|
||||
- is src to dst transferred?
|
||||
|
||||
emulator:
|
||||
may only be called with __ as prefix - fail otherwise!
|
||||
Loading…
Add table
Add a link
Reference in a new issue