diff --git a/hooks/install b/hooks/install deleted file mode 120000 index dd3b3eff..00000000 --- a/hooks/install +++ /dev/null @@ -1 +0,0 @@ -keystone_hooks.py \ No newline at end of file diff --git a/hooks/install b/hooks/install new file mode 100755 index 00000000..83a9d3ce --- /dev/null +++ b/hooks/install @@ -0,0 +1,20 @@ +#!/bin/bash +# Wrapper to deal with newer Ubuntu versions that don't have py2 installed +# by default. + +declare -a DEPS=('apt' 'netaddr' 'netifaces' 'pip' 'yaml') + +check_and_install() { + pkg="${1}-${2}" + if ! dpkg -s ${pkg} 2>&1 > /dev/null; then + apt-get -y install ${pkg} + fi +} + +PYTHON="python" + +for dep in ${DEPS[@]}; do + check_and_install ${PYTHON} ${dep} +done + +exec ./hooks/install.real diff --git a/hooks/install.real b/hooks/install.real new file mode 120000 index 00000000..dd3b3eff --- /dev/null +++ b/hooks/install.real @@ -0,0 +1 @@ +keystone_hooks.py \ No newline at end of file diff --git a/hooks/keystone_hooks.py b/hooks/keystone_hooks.py index f16e3315..516df25b 100755 --- a/hooks/keystone_hooks.py +++ b/hooks/keystone_hooks.py @@ -112,7 +112,7 @@ hooks = Hooks() CONFIGS = register_configs() -@hooks.hook() +@hooks.hook('install.real') def install(): execd_preinstall() configure_installation_source(config('openstack-origin'))