charm-neutron-gateway/actions/git_reinstall.py
James Page b63f8687f9 Update for Python 3 execution
Refactor codebase and unit tests to default to execution
under Python 3.

Drop install shim as Python 3 is always present >= trusty.

Drop legacy dhcp and network reassignment code from charm as
a) this relies on a py3 neutronclient (not supported on older
releases) and b) this function was superceeded by the ha-legacy-mode
and then neutron router and network HA built in functionality.

Use charmhelper provided get_host_ip as this superceeds the in
charm version of this function.

Change-Id: I0b28bf0851d44e85b1e856cbd97b71099faa76ae
2017-11-16 11:19:58 -08:00

46 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python3
import sys
import traceback
sys.path.append('hooks/')
from charmhelpers.contrib.openstack.utils import (
git_install_requested,
)
from charmhelpers.core.hookenv import (
action_set,
action_fail,
config,
)
from neutron_utils import (
git_install,
)
from neutron_hooks import (
config_changed,
)
def git_reinstall():
"""Reinstall from source and restart services.
If the openstack-origin-git config option was used to install openstack
from source git repositories, then this action can be used to reinstall
from updated git repositories, followed by a restart of services."""
if not git_install_requested():
action_fail('openstack-origin-git is not configured')
return
try:
git_install(config('openstack-origin-git'))
config_changed()
except:
action_set({'traceback': traceback.format_exc()})
action_fail('git-reinstall resulted in an unexpected error')
if __name__ == '__main__':
git_reinstall()