Revision 737b0e28 ganeti/snf-ganeti-hook.py

b/ganeti/snf-ganeti-hook.py
1 1
#!/usr/bin/env python
2 2
#
3
# Copyright (c) 2010 Greek Research and Technology Network
3
# -*- coding: utf-8 -*-
4
#
5
# Copyright 2011 GRNET S.A. All rights reserved.
6
#
7
# Redistribution and use in source and binary forms, with or
8
# without modification, are permitted provided that the following
9
# conditions are met:
10
#
11
#   1. Redistributions of source code must retain the above
12
#      copyright notice, this list of conditions and the following
13
#      disclaimer.
14
#
15
#   2. Redistributions in binary form must reproduce the above
16
#      copyright notice, this list of conditions and the following
17
#      disclaimer in the documentation and/or other materials
18
#      provided with the distribution.
19
#
20
# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
21
# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
22
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
24
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
27
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
30
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
# POSSIBILITY OF SUCH DAMAGE.
32
#
33
# The views and conclusions contained in the software and
34
# documentation are those of the authors and should not be
35
# interpreted as representing official policies, either expressed
36
# or implied, of GRNET S.A.
4 37
#
5 38
"""Ganeti hook for Synnefo
6 39

  
......
30 63
# "instance-stop", "instance-reboot", "instance-modify". See the Ganeti
31 64
# documentation for a full list.
32 65

  
33
# The operation and phase for which the hook run are determined from the 
66
# The operation and phase for which the hook run are determined from the
34 67
# values of the GANETI_HOOK_PATH and GANETI_HOOK_PHASE environment variables.
35 68
# For each valid (operation, phase) pair control passes to the corresponding
36 69
# Python function, based on the following dictionary.
......
57 90
    except KeyError:
58 91
        raise Exception("Environment missing one of: " \
59 92
            "GANETI_INSTANCE_NAME, GANETI_HOOKS_PATH, GANETI_HOOKS_PHASE")
60
        
93

  
61 94
    prefix = instance.split('-')[0]
62
  
95

  
63 96
    # FIXME: The hooks should only run for Synnefo instances.
64 97
    # Uncomment the following lines for a shared Ganeti deployment.
65 98
    # Currently, the following code is commented out because multiple

Also available in: Unified diff