~ionutbalutoiu/charms/trusty/neutron-api/next

102 by James Page
[coreycb,r=james-page] Add deploy from source support.
1
#!/usr/bin/python
2
import sys
3
import traceback
4
5
sys.path.append('hooks/')
6
7
from charmhelpers.contrib.openstack.utils import (
8
    git_install_requested,
9
)
10
11
from charmhelpers.core.hookenv import (
12
    action_set,
13
    action_fail,
14
    config,
15
)
16
17
from neutron_api_utils import (
18
    git_install,
19
)
20
21
from neutron_api_hooks import (
22
    config_changed,
23
)
24
25
26
def git_reinstall():
27
    """Reinstall from source and restart services.
28
29
    If the openstack-origin-git config option was used to install openstack
30
    from source git repositories, then this action can be used to reinstall
31
    from updated git repositories, followed by a restart of services."""
32
    if not git_install_requested():
33
        action_fail('openstack-origin-git is not configured')
34
        return
35
36
    try:
37
        git_install(config('openstack-origin-git'))
38
        config_changed()
39
    except:
40
        action_set({'traceback': traceback.format_exc()})
41
        action_fail('git-reinstall resulted in an unexpected error')
42
43
44
if __name__ == '__main__':
45
    git_reinstall()