Revision 02728a9a

b/README.deploy
98 98

  
99 99
4. Installation of the Synnefo Django project:
100 100
   As of v0.5 the Synnefo Django project needs to be installed on nodes
101
   of type APISERVER, LOGIC and on the GANETI-MASTER, with a properly
102
   configured settings.py. In later revisions, the specific parts of the Django
103
   project which need to run on each node type will be identified.
101
   of type APISERVER, and LOGIC, with a properly configured settings.py. In
102
   later revisions, the specific parts of the Django project which need to run
103
   on each node type will be identified.
104 104

  
105 105
   Synnefo is written in Python 2.6 and depends on the following Python modules:
106 106
   [package versions confirmed to be compatible are in braces]
......
318 318

  
319 319
9. Installation of the Ganeti monitoring daemon, /ganeti/snf-ganeti-eventd:
320 320
   The Ganeti monitoring daemon must run on GANETI-MASTER.
321
   The Ganeti monitoring daemon has no dependency on Django.
322 321

  
323
   Override all relevant settings in settings.d/99-snf-ganeti-eventd.conf,
324
   GANETI_* variables.
325
   Then, make sure PYTHONPATH contains the parent of the Django project,
326
   and start the server on the Ganeti master as root.
322
   The monitoring daemon is configured through /etc/synnefo/settings.conf.
323
   An example is provided under snf-ganeti-tools/.
327 324

  
328
     root:~# export PYTHONPATH=$PYTHONPATH:/opt
329
     root:~# /opt/synnefo/ganeti/snf-ganeti-eventd.py
325
   If run from the repository directory, make sure to have snf-ganeti-tools/
326
   in the PYTHONPATH.
327

  
328
   You may also build Debian packages directly from the repository:
329
   $ cd snf-ganeti-tools
330
   $ dpkg-buildpackage -b -uc -us
331
   # dpkg -i ../snf-ganeti-tools-*deb
330 332

  
331 333
   TBD: how to handle master migration.
332 334

  
......
347 349

  
348 350

  
349 351
11. Installation of the Synnefo Ganeti hook:
350
    The bash wrapper ganeti/snf-ganeti-hook is the generic launcher for
351
    Synnefo hooks in Ganeti. It resides in the ganeti/ directory under the
352
    root of the Synnefo Django project.
352
    The generic Synnefo Ganeti hook wrapper resides in the snf-ganeti-tools/
353
    directory of the Synnefo repository.
353 354

  
354 355
    The hook needs to be enabled for phases post-{add,modify,reboot,start,stop}
355 356
    by *symlinking* in
......
357 358
    GANETI-MASTER, e.g.:
358 359

  
359 360
    root@ganeti-master:/etc/ganeti/hooks/instance-start-post.d# ls -l
360
    lrwxrwxrwx 1 root root 45 May   3 13:45 00-snf-ganeti-hook -> /home/devel/synnefo/ganeti/snf-ganeti-hook
361
    lrwxrwxrwx 1 root root 45 May   3 13:45 00-snf-ganeti-hook -> /home/devel/synnefo/snf-ganeti-hook/snf-ganeti-hook.py
361 362

  
362 363
    IMPORTANT: The link name may only contain "upper and lower case, digits,
363 364
    underscores and hyphens. In other words, the regexp ^[a-zA-Z0-9_-]+$."
364 365
    See:
365
     http://docs.ganeti.org/ganeti/master/html/hooks.html?highlight=hooks#naming
366
    http://docs.ganeti.org/ganeti/master/html/hooks.html?highlight=hooks#naming
367

  
368
    If run from the repository directory, make sure to have snf-ganeti-tools/
369
    in the PYTHONPATH.
366 370

  
367
    You need to set SYNNEFO_PROJECT_DIR in ganeti/snf-ganeti-hook. The bash
368
    script modifies PYTHONPATH accordingly, before passing control to the
369
    relevant Python code.
371
    Alternative, build Debian packages which take care of building, installing
372
    and activating the Ganeti hook automatically, see step. 9.
370 373

  
371 374

  
372 375
12. Installation of the VNC authentication proxy, vncauthproxy:
......
408 411
    cd $SYNNEFO
409 412
    sudo pip install -e git+https://code.grnet.gr/git/vncauthproxy@5a196d8481e171a#egg=vncauthproxy
410 413

  
414

  
411 415
13. Installation of the customized Ganeti Instance Image for image deployment:
412 416
    For Synnefo to be able to launch VMs from specified Images, you need
413 417
    the gnt-instance-image OS Provider installed on the Ganeti backend.
......
417 421
    recommended to use the win-support branch (known good commit:
418 422
    970e7307a52cc50080f8f641faba27e03a64b533).
419 423

  
424
    Make sure to enable progress monitoring, using the --with-progress-monitor
425
    argument to configure. This requires the snf-progress-monitor tool,
426
    provided in snf-ganeti-tools/ and also as part of the snf-ganeti-tools
427
    Debian package.
428

  
420 429
    After installing gnt-instance-image do the following:
421 430
    1. root@ganeti-master$ cd /path-to-repo
422 431
       root@ganeti-master$ cp ./defaults /etc/default/ganeti-instance-image
......
435 444
       `hostname' hook too:
436 445
         chmod +x /et/ganeti/instance-image/hooks/{linux,windows}/hostname
437 446

  
438
    Your Custom Images should be stored in a dump format under
447
    Your custom Images should be stored in a dump format under
439 448
    /var/cache/ganeti-instance-image and their filenames should have the
440 449
    following format:
441 450
      {backend_id}-x86_64-root.dump
442 451
    e.g., debian-6.0.1a-x86_64-root.dump (backend_id = "debian-6.0.1a")
443 452

  
453

  
444 454
14. Setup Synnefo-specific networking on the Ganeti backend:
445 455
    This part is deployment-specific and must be customized based on the
446 456
    specific needs of the system administrators.
b/README.upgrade
23 23
DB MIGRATIONS
24 24
    * 0018_auto__add_field_virtualmachine_buildpercentage
25 25

  
26
PACKAGING:
26
PACKAGING
27 27
    * Split Synnefo Ganeti tools to separate snf-ganeti-tools Debian package
28 28

  
29
NEW DEPENDENCIES:
29
NEW DEPENDENCIES
30 30
    * python-prctl: Needed by the snf-progress-monitor,
31 31
      specified as a dependency of the snf-ganeti-tools Debian package.
32 32

  
33
EXTERNAL COMPONENTS
34
    * Ganeti Instance Image must be upgraded to support progress monitoring,
35
      please see README.deploy.
36

  
33 37

  
34 38
v0.5.2 -> v0.5.3
35 39
NEW SETTINGS

Also available in: Unified diff