Commit 7b4c36d3 authored by Kostas Papadimitriou's avatar Kostas Papadimitriou
Browse files

Fixed sphinx errors when building html docs

parent b4a2b5fb
......@@ -27,15 +27,12 @@ FIXES:
* Fix Enter/Esc on machine rename not working in the UI (#1501)
* Fix UI barfs if a VM is based on an Image with state=DELETED (#1494)
* Fix UI user logout action does not work (#1497)
Images:
* Fix erroneous reference to $(HELPER_DIR) in /etc/default /snf-image
(#1498)
* Fix typo in snf-image-helper ChangePassword task (#1500)
* Show timestamps on execution of helper tasks in snf-image helper VM
(#1499)
Deployment:
* Improve check for Ganeti master in snf-ganeti-eventd init script
(#1323)
Images:
* Fix erroneous reference to $(HELPER_DIR) in /etc/default /snf-image (#1498)
* Fix typo in snf-image-helper ChangePassword task (#1500)
* Show timestamps on execution of helper tasks in snf-image helper VM (#1499)
Deployment:
* Improve check for Ganeti master in snf-ganeti-eventd init script (#1323)
* Fix snf-ganeti-eventd init script ignored defaults file (#1505)
......
......@@ -242,3 +242,6 @@ texinfo_documents = [
# todo extension configuration
todo_include_todos = True
# autodoc config
autodoc_default_flags = ['members']
......@@ -12,10 +12,10 @@ Google Ganeti for VM management at the backend.
src/install
src/configuration
src/deployment
src/ci
src/settings
src/admin
src/develop
src/ci
src/storage
src/upgrade
src/changelog
......
......@@ -8,20 +8,20 @@ Jenkins cannot currently work with Git over encrypted HTTP. To solve this
problem we currently mirror the central Git repository locally on the jenkins
installation machine. To setup such a mirror do the following:
-edit .netrc
edit .netrc::
machine code.grnet.gr
login accountname
password accountpasswd
machine code.grnet.gr
login accountname
password accountpasswd
-Create the mirror
Create the mirror::
git clone --mirror https://code.grnet.gr/git/synnefo synnefo
git clone --mirror https://code.grnet.gr/git/synnefo synnefo
-Setup cron to pull from the mirror periodically. Ideally, Git mirror updates
should run just before Jenkins jobs check the mirror for changes.
Setup cron to pull from the mirror periodically. Ideally, Git mirror updates
should run just before Jenkins jobs check the mirror for changes::
4,14,24,34,44,54 * * * * cd /path/to/mirror && git fetch && git remote prune origin
4,14,24,34,44,54 * * * * cd /path/to/mirror && git fetch && git remote prune origin
Jenkins setup
-------------
......@@ -66,50 +66,49 @@ build script).
4. Make sure that all system-level dependencies specified in README.develop
are correctly installed
5. Create a new "free-style software" job and set the following values:
-Project name: synnefo
-Source Code Management: Git
-URL of repository: Jenkins Git does not support HTTPS for checking out directly
from the repository. The temporary solution is to checkout
with a cron script in a directory and set the checkout path
in this field
-Branches to build: master and perhaps others
-Git->Advanced->Local subdirectory for repo (optional): synnefo
-Git->Advanced->Prune remote branches before build: check
-Repository browser: redmineweb,
URL: https://code.grnet.gr/projects/synnefo/repository/
-Build Triggers->Poll SCM: check
Schedule: # every five minutes
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
-Build -> Add build step-> Execute shell
Command:
#!/bin/bash -ex
cd synnefo
mkdir -p reports
/usr/bin/sloccount --duplicates --wide --details api util ui logic auth > reports/sloccount.sc
cp conf/ci/manage.py .
if [ ! -e requirements.pip ]; then cp conf/ci/pip-1.2.conf requirements.pip; fi
cat settings.py.dist conf/ci/settings.py.sqlite > settings.py
python manage.py update_ve
python manage.py hudson api db logic
-Post-build Actions->Publish JUnit test result report: check
Test report XMLs: synnefo/reports/TEST-*.xml
-Post-build Actions->Publish Cobertura Coverage Report: check
Cobertura xml report pattern: synnefo/reports/coverage.xml
-Post-build Actions->Report Violations: check
pylint[XML filename pattern]: synnefo/reports/pylint.report
-Post-build Actions->Publish SLOCCount analysis results
SLOCCount reports: synnefo/reports/sloccount.sc
(also, remember to install sloccount at /usr/bin)
---------------
See also:
http://sites.google.com/site/kmmbvnr/home/django-hudson-tutorial
5. Create a new "free-style software" job and set the following values::
Project name: synnefo
Source Code Management: Git
URL of repository: Jenkins Git does not support HTTPS for checking out directly
from the repository. The temporary solution is to checkout
with a cron script in a directory and set the checkout path
in this field
Branches to build: master and perhaps others
Git->Advanced->Local subdirectory for repo (optional): synnefo
Git->Advanced->Prune remote branches before build: check
Repository browser: redmineweb,
URL: https://code.grnet.gr/projects/synnefo/repository/
Build Triggers->Poll SCM: check
Schedule: # every five minutes
0,5,10,15,20,25,30,35,40,45,50,55 * * * *
Build -> Add build step-> Execute shell
Command::
#!/bin/bash -ex
cd synnefo
mkdir -p reports
/usr/bin/sloccount --duplicates --wide --details api util ui logic auth > reports/sloccount.sc
cp conf/ci/manage.py .
if [ ! -e requirements.pip ]; then cp conf/ci/pip-1.2.conf requirements.pip; fi
cat settings.py.dist conf/ci/settings.py.sqlite > settings.py
python manage.py update_ve
python manage.py hudson api db logic
Post-build Actions->Publish JUnit test result report: check
Test report XMLs: synnefo/reports/TEST-*.xml
Post-build Actions->Publish Cobertura Coverage Report: check
Cobertura xml report pattern: synnefo/reports/coverage.xml
Post-build Actions->Report Violations: check
pylint[XML filename pattern]: synnefo/reports/pylint.report
Post-build Actions->Publish SLOCCount analysis results
SLOCCount reports: synnefo/reports/sloccount.sc
(also, remember to install sloccount at /usr/bin)
.. seealso::
http://sites.google.com/site/kmmbvnr/home/django-hudson-tutorial
......@@ -101,7 +101,6 @@ hardware configurations (flavors) and OS images::
sample users.json file:
.. literalinclude:: ../../synnefo/db/fixtures/users.json
:language: json
`download <../_static/users.json>`_
......@@ -114,7 +113,7 @@ The logic dispatcher is part of the Synnefo Django project and must run
on LOGIC nodes.
The dispatcher retrieves messages from the queue and calls the appropriate
handler function as defined in the queue configuration in `/etc/synnefo/*.conf'
handler function as defined in the queue configuration in `/etc/synnefo/*.conf`
files.
The default configuration should work directly without any modifications.
......
......@@ -67,7 +67,7 @@ Services:
the Synnefo Ganeti hook [/ganeti/snf-ganeti-hook.py].
on each GANETI_NODE:
a deployment-specific KVM ifup script
properly configured `NFDHCPD`_
properly configured :ref:`NFDHCPD <nfdhcpd-setup>`
.. _WEBAPP_NODE:
......@@ -77,7 +77,8 @@ WEBAPP
Synnefo WEBAPP node is the server that runs the web application contained within
the synnefo package. At the current state Synnefo provides two web frontends.
.. webapp-deploy:
.. _webapp-deploy:
Web application deployment
--------------------------
......
......@@ -4,16 +4,17 @@ Developers guide
Information on how to setup a development environment.
This file documents the installation of a development environment for Synnefo.
It should be read alongside README.deploy.
It should be read alongside :ref:`installation guide <installation>`.
It contains development-specific ammendments to the basic deployment steps
outlined in README.deploy, and development-specific notes.
It contains development-specific ammendments to the basic installation steps
outlined in `installation guide <installation>`, and development-specific notes.
Installing the development environment
--------------------------------------
For a basic development environment you need to follow steps 0-15
of README.deploy, which should be read in its entirety *before* this document.
For a basic development environment you need to follow steps
of `installation guide <installation>`, which should be read in its
entirety *before* this document.
Development-specific guidelines on each step:
......@@ -28,14 +29,14 @@ Development-specific guidelines on each step:
1. You do not need to install your own Ganeti installation.
Use the RAPI endpoint as contained in settings.py.dist.
Use the RAPI endpoint as contained in common settings.
2. You do not need to setup your own RabbitMQ nodes, use the AMQP endpoints
contained in settings.py.dist.
3. For development purposes, Django's own development
`server, ./manage.py runserver' will suffice.
server, `./manage.py runserver` will suffice.
4. Use a virtual environment to install the Django project, or packages provided
......@@ -103,12 +104,12 @@ Development-specific guidelines on each step:
17.[OPTIONAL] Create settings.d/99-local.conf and insert local overrides for
settings.d/*. This will allow pulling new files without needing to reapply
settings.d/\*. This will allow pulling new files without needing to reapply
local any local modifications.
South Database Migrations
------------------------=
-------------------------
* Initial Migration
......@@ -159,6 +160,7 @@ Consider this example (adding a field to the SynnefoUser model):
$ ./bin/python manage.py schemamigration db --auto
+ Added field new_south_test_field on db.SynnefoUser
Created 0002_auto__add_field_synnefouser_new_south_test_field.py.
You can now apply this migration with: ./manage.py migrate db
......@@ -168,6 +170,7 @@ Consider this example (adding a field to the SynnefoUser model):
- Migrating forwards to 0002_auto__add_field_synnefouser_new_south_test_field.
> db:0002_auto__add_field_synnefouser_new_south_test_field
- Loading initial data for db.
Installing json fixture 'initial_data' from '/home/bkarak/devel/synnefo/../synnefo/db/fixtures'.
Installed 1 object(s) from 1 fixture(s)
......
......@@ -11,14 +11,13 @@ then we add on the settings.py the language code e.g.,
LANGUAGES = (
('el', u'Ελληνικά'),
('en', 'English'),
)
('en', 'English'),)
1) For each language we want to add, we run makemessages, from our project's
base:
$ ./bin/django-admin.py makemessages -l el -e html,txt,py
(./bin/django-admin.py makemessages -l el -e html,txt,py --ignore=lib/*)
(./bin/django-admin.py makemessages -l el -e html,txt,py --ignore=lib/\*)
This will add the Greek language, and we specify that html, txt and python
files contain translatable strings
......
.. _installation:
Installation
============
......@@ -59,7 +61,7 @@ on GANETI-MASTER, e.g. ::
.. note::
The link name may only contain "upper and lower case, digits,
underscores and hyphens. In other words, the regexp ^[a-zA-Z0-9_-]+$."
underscores and hyphens. In other words, the regexp ^[a-zA-Z0-9\_-]+$."
.. seealso::
`Ganeti customisation using hooks <http://docs.ganeti.org/ganeti/master/html/hooks.html?highlight=hooks#naming>`_
......@@ -112,6 +114,9 @@ Then build debian package, and install as root::
cd $SYNNEFO
sudo pip install -e git+https://code.grnet.gr/git/vncauthproxy@5a196d8481e171a#egg=vncauthproxy
.. _nfdhcpd-setup:
NFDHCPD installation
********************
Setup Synnefo-specific networking on the Ganeti backend.
......@@ -148,7 +153,7 @@ After installation, create a user and set its permissions::
$ rabbitmqctl set_permissions -p / <username> "^.*" ".*" ".*"
The values set for the user and password must be mirrored in the
`RABBIT_*` variables in your `settings`_ (see step 6)
`RABBIT_*` variables in your :ref:`settings <configuration>`.
snf-image installation
......
Intro
=====
.. todo:: write introductory documentation
.. automodule:: synnefo.settings.common.aai
Available settings
==================
ADMINS
------
.. automodule:: synnefo.settings.common.admins
:members:
:undoc-members:
:no-undoc-members:
APPS
----
.. literalinclude:: ../../synnefo/settings/common/apps.py
......@@ -286,7 +286,8 @@ This section describes the installation process of the various software
components in a RADOS cluster.
0. Add Ceph Debian repository in /etc/apt/sources.list on every node (mon, osd,
clients):
clients)::
deb http://ceph.newdream.net/debian/ squeeze main
deb-src http://ceph.newdream.net/debian/ squeeze main
......@@ -362,7 +363,7 @@ This section includes some notes on the RADOS cluster administration.
After the splitting is complete, the number of PGs in the system must be
changed. Warning: this is not considered safe on PGs in use (with objects),
and should be changed only when the PG is created, and before being used:
ceph osd pool set $poolname pgp_num $num
ceph osd pool set $poolname pgp_num $num
4. Replacing the journal for osd.$id:
Edit the osd.$id journal configration section
......@@ -446,6 +447,8 @@ This section includes some notes on the RADOS cluster administration.
It can be configured via libvirt, and the configuration looks like this:
.. code-block:: xml
<disk type='network' device='disk'>
<driver name='qemu' type='raw'/>
<source protocol='rbd' name='[pool]/[image]:rbd_writeback_window=8000000'/>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment