Added file layout and purpose description to README

This commit is contained in:
Eugene Kirpichov 2012-06-22 13:39:36 -07:00
parent 95f158b9ad
commit 3c9c41e265
1 changed files with 44 additions and 0 deletions

View File

@ -65,3 +65,47 @@ Testing script is *nailgun/run_tests.sh*
Test cases:
- nailgun/nailgun/tests/test_handlers.py
- nailgun/nailgun/tests/test_models.py
Layout
------
Makefile - the global product makefile
Vagrantfile - for the vagrant dev vm
bin/
create_release - upload a release json file to nailgun (see e.g. scripts/ci/sample-release.json)
deploy - invoked on a node to deploy; downloads and executes recipes
install_cookbook - uploads cookbooks to nailgun admin API
bootstrap/ - creating a bootstrap image for nodes (initrd, configuration files, packages etc)
bootstrap2/ - same, another version?
ci\_with\_libvirt - libvirt-based CI tests
cookbooks/ - chef cookbooks to be used by nodes.
agent/ - node agent. Sends ohai data to admin node.
nailgun/ - nailgun server (not slave node!)
others obvious
devops/ - Mirantis CI framework, used by integration tests (./test/integration/). Installed on the master, not slave.
gnupg/
iso2/ - creating a bootstrap ISO for nodes [TODO How does it differ from bootstrap/ and bootstrap2/ ?]
lib/provision/cobbler - apparently unfinished
nailgun/ - server
manage.py, run_tests.sh - django standard
monitor.py - restart server when django conf files change
nailgun/ - django app
apps: nailgun.api at api/, nailgun.webui (fully static) at /
models: recipe, role, release, node, cluster
tasks.py - django-celery tasks submitted from api/handlers.py: deploy cluster [sub: deploy node]
MOST IMPORTANT TASK: deploy_cluster
Create databags for nodes
Provision node with Cobbler - currently does nothing (?)
ssh node and call /opt/nailgun/bin/deploy
api/ - nailgun.api django app; JSON API
main entities in REST API: task, recipe/release/role, node, cluster
scripts/
agent/ - unfinished?
ci/ - scripts for CI [run on Jenkins? Unfinished?]; looks like scripts check that we can control which cookbooks are installed on nodes.
test/ - integration tests [TODO figure out more]
vagrant/ - cookbooks for use by the vagrant vm
requirements-deb.txt - debian packages needed on nailgun server
requirements.txt - ?
rules.mk - ?