diff --git a/hooks/cinder_hooks.py b/hooks/cinder_hooks.py index 10531bb..b6a08fe 100755 --- a/hooks/cinder_hooks.py +++ b/hooks/cinder_hooks.py @@ -67,7 +67,7 @@ hooks = Hooks() CONFIGS = register_configs() -@hooks.hook('install') +@hooks.hook('install.real') def install(): status_set('maintenance', 'Executing pre-install') execd_preinstall() diff --git a/hooks/install b/hooks/install deleted file mode 120000 index 6dcd008..0000000 --- a/hooks/install +++ /dev/null @@ -1 +0,0 @@ -cinder_hooks.py \ No newline at end of file diff --git a/hooks/install b/hooks/install new file mode 100755 index 0000000..29ff689 --- /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' 'dnspython') + +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 0000000..6dcd008 --- /dev/null +++ b/hooks/install.real @@ -0,0 +1 @@ +cinder_hooks.py \ No newline at end of file