work on documentation
This commit is contained in:
parent
9aa21f6b4c
commit
05d0158c6c
@ -25,7 +25,7 @@ import sys, os
|
|||||||
|
|
||||||
# Add any Sphinx extension module names here, as strings. They can be extensions
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
||||||
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||||
extensions = ['sphinx.ext.graphviz']
|
extensions = ['sphinx.ext.graphviz', 'sphinxcontrib.programoutput']
|
||||||
|
|
||||||
# Add any paths that contain templates here, relative to this directory.
|
# Add any paths that contain templates here, relative to this directory.
|
||||||
templates_path = ['_templates']
|
templates_path = ['_templates']
|
||||||
|
@ -1,9 +1,132 @@
|
|||||||
|
:title: Installation
|
||||||
|
|
||||||
|
.. _gearman: http://gearman.org/
|
||||||
|
.. _zuul: http://ci.openstack.org/zuul/
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
1. Download
|
Download
|
||||||
2. Copy config
|
--------
|
||||||
3. Edit config
|
|
||||||
4. Make dirs
|
Grab a copy from https://github.com/rcbau/turbo-hipster
|
||||||
5. Chmod them
|
|
||||||
6. Start using daemon
|
|
||||||
|
Install
|
||||||
|
-------
|
||||||
|
|
||||||
|
turbo-hipster is configured to use setup tools for installation if
|
||||||
|
you would like to install it to your site-packages use::
|
||||||
|
|
||||||
|
sudo python setup.py install
|
||||||
|
|
||||||
|
|
||||||
|
Copy config
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Place the configuration where you are comfortable managing it. For
|
||||||
|
example::
|
||||||
|
|
||||||
|
cp -R etc/turbo-hipster /etc/
|
||||||
|
|
||||||
|
|
||||||
|
Edit config
|
||||||
|
-----------
|
||||||
|
|
||||||
|
Turbo-hipsters configuration is currently stored in json format.
|
||||||
|
Modify the config.json appropriately:
|
||||||
|
|
||||||
|
**zuul_server**
|
||||||
|
A dictionary containing details about how to communicate
|
||||||
|
with zuul
|
||||||
|
**git_url**
|
||||||
|
The publicly accessible protocol and URI from where
|
||||||
|
to clone projects and zuul_ references from. For
|
||||||
|
example::
|
||||||
|
http://review.openstack.org/p/
|
||||||
|
or::
|
||||||
|
git://review.example.org
|
||||||
|
**gearman_host**
|
||||||
|
The host of gearman_. zuul talks to its workers via
|
||||||
|
the gearman protocol and while it comes with a built-
|
||||||
|
in gearman server you can use a separate one.
|
||||||
|
**gearman_port**
|
||||||
|
The port that gearman listens on.
|
||||||
|
**debug_log**
|
||||||
|
A path to the debug log. Turbo-hipster will attempt to create
|
||||||
|
the file but must have write permissions.
|
||||||
|
**jobs_working_dir**
|
||||||
|
Each job will likely need to write out log and debug
|
||||||
|
information. This defines where turbo-hipster will do that.
|
||||||
|
**git_working_dir**
|
||||||
|
turbo-hipster needs to take a copy of the git tree of a
|
||||||
|
project to work from. This is the path it'll clone into and
|
||||||
|
work from (if needed).
|
||||||
|
**pip_download_cache**
|
||||||
|
Some of turbo-hipsters task plugins download requirements
|
||||||
|
for projects. This is the cache directory used by pip.
|
||||||
|
**plugins**
|
||||||
|
A list of enabled plugins and their settings in a dictionary.
|
||||||
|
The only required parameter is *name* which should be the
|
||||||
|
same as the folder containing the plugin module. Any other
|
||||||
|
parameters are specified by the plugin themselves as
|
||||||
|
required.
|
||||||
|
**publish_logs**
|
||||||
|
Log results from plugins can be published using multiple
|
||||||
|
methods. Currently only a local copy is fully implemented.
|
||||||
|
**type**
|
||||||
|
The type of protocol to copy the log to. eg 'local'
|
||||||
|
**path**
|
||||||
|
A type specific parameter defining the local location
|
||||||
|
destination.
|
||||||
|
**prepend_url**
|
||||||
|
What to prepend to the path when sending the result
|
||||||
|
URL back to zuul. This can be useful as you may want
|
||||||
|
to use a script to authenticate against a swift
|
||||||
|
account or to use *laughing_spice* to format the logs
|
||||||
|
etc.
|
||||||
|
|
||||||
|
|
||||||
|
Set up
|
||||||
|
------
|
||||||
|
|
||||||
|
You probably want to create a user to run turbo-hipster as. This user
|
||||||
|
will need to write to all of the directories specified in
|
||||||
|
config.json.
|
||||||
|
|
||||||
|
Make sure the required directories as defined by the config.json
|
||||||
|
exist and are writeable by your turbo-hipster user::
|
||||||
|
|
||||||
|
mkdir -p /var/log/turbo-hipster/
|
||||||
|
chown turbo-hipster:turbo-hipster /var/log/turbo-hipster/
|
||||||
|
|
||||||
|
mkdir -p /var/lib/turbo-hipster/jobs
|
||||||
|
chown turbo-hipster:turbo-hipster /var/lib/turbo-hipster/jobs
|
||||||
|
|
||||||
|
mkdir -p /var/lib/turbo-hipster/git
|
||||||
|
chown turbo-hipster:turbo-hipster /var/lib/turbo-hipster/git
|
||||||
|
|
||||||
|
mkdir -p /var/cache/pip
|
||||||
|
chown turbo-hipster:turbo-hipster /var/cache/pip
|
||||||
|
|
||||||
|
|
||||||
|
Start turbo-hipster
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
turbo hipster can be ran by executing::
|
||||||
|
|
||||||
|
./turbo-hipster/worker_server.py
|
||||||
|
|
||||||
|
and optionally takes the following parameters:
|
||||||
|
|
||||||
|
.. program-output:: ../../turbo_hipster/worker_server.py --help
|
||||||
|
|
||||||
|
By default turbo-hipster will look for
|
||||||
|
*/etc/turbo-hipster/config.json*
|
||||||
|
|
||||||
|
Alternatively turbo-hipster can be launched by init.d using the
|
||||||
|
included etc/init.d/turbo-hipster script::
|
||||||
|
|
||||||
|
sudo cp etc/init.d/turbo-hipster /etc/init.d/
|
||||||
|
sudo update-rc.d turbo-hipster defaults
|
||||||
|
sudo service turbo-hipster start
|
||||||
|
@ -20,6 +20,9 @@ build a report.
|
|||||||
Typical workflow diagram
|
Typical workflow diagram
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
**clearly this needs a lot of work, however I believe the structure
|
||||||
|
is mostly there...**
|
||||||
|
|
||||||
.. graphviz::
|
.. graphviz::
|
||||||
|
|
||||||
digraph overview {
|
digraph overview {
|
||||||
@ -107,3 +110,10 @@ Typical workflow diagram
|
|||||||
ths003 -> gm003;
|
ths003 -> gm003;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
zuul integration
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Explain how zuul triggers builds and gates etc and how turbo-hipster
|
||||||
|
responds to them. Most of this is in the zuul documentation so don't
|
||||||
|
duplicate.
|
||||||
|
@ -6,4 +6,16 @@ Structure
|
|||||||
Plugins
|
Plugins
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Requiredness
|
A little bit about plugins to come here soon.
|
||||||
|
|
||||||
|
- You need to configure it in config.json
|
||||||
|
- Folder name must be the same as 'name'
|
||||||
|
- You probably want to specify a gate in the config
|
||||||
|
- see something (introduction?) about gates and how turbo-hipster
|
||||||
|
uses them
|
||||||
|
- Each plugin has a task.py with a Runner class
|
||||||
|
- Responsible for registering functions
|
||||||
|
- handling jobs
|
||||||
|
- checking for errors
|
||||||
|
- building reports
|
||||||
|
- publishing them according to configuration
|
||||||
|
@ -5,3 +5,4 @@ lockfile
|
|||||||
python-daemon
|
python-daemon
|
||||||
extras
|
extras
|
||||||
GitPython>=0.3.2.RC1
|
GitPython>=0.3.2.RC1
|
||||||
|
sphinxcontrib-programoutput
|
@ -113,8 +113,8 @@ def main():
|
|||||||
default=
|
default=
|
||||||
'/etc/turbo-hipster/config.json',
|
'/etc/turbo-hipster/config.json',
|
||||||
help='Path to json config file.')
|
help='Path to json config file.')
|
||||||
parser.add_argument('--background', action='store_true',
|
parser.add_argument('-b', '--background', action='store_true',
|
||||||
help='Run in the background.')
|
help='Run as a daemon in the background.')
|
||||||
parser.add_argument('-p', '--pidfile',
|
parser.add_argument('-p', '--pidfile',
|
||||||
default='/var/run/turbo-hipster/'
|
default='/var/run/turbo-hipster/'
|
||||||
'turbo-hipster-worker-server.pid',
|
'turbo-hipster-worker-server.pid',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user