Few improvements in Kolla tools. Added Ubuntu support.
pip install default prefix in Ubuntu is /usr/local, and Kolla tools scripts didnt respect that. So I added few OS checks in this scripts. I improve config path check in build.py. Added more verbose error if we can't find config directory. Change-Id: Ide521ed205b0dc1fc27e237a9a8f4da0168e664f Closes-Bug: #1512302
This commit is contained in:
parent
efab0314e9
commit
396014f8d1
@ -20,6 +20,7 @@ import datetime
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import platform
|
||||
import Queue
|
||||
import re
|
||||
import requests
|
||||
@ -189,12 +190,19 @@ class WorkerThread(Thread):
|
||||
LOG.info('{}:Built'.format(image['name']))
|
||||
|
||||
|
||||
def find_os_type():
|
||||
return platform.linux_distribution()
|
||||
|
||||
|
||||
def find_base_dir():
|
||||
script_path = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
if os.path.basename(script_path) == 'cmd':
|
||||
return os.path.join(script_path, '..', '..')
|
||||
if os.path.basename(script_path) == 'bin':
|
||||
return '/usr/share/kolla'
|
||||
if find_os_type()[0] in ['Ubuntu', 'debian']:
|
||||
return '/usr/local/share/kolla'
|
||||
else:
|
||||
return '/usr/share/kolla'
|
||||
if os.path.exists(os.path.join(script_path, 'tests')):
|
||||
return script_path
|
||||
raise KollaDirNotFoundException(
|
||||
@ -203,13 +211,18 @@ def find_base_dir():
|
||||
|
||||
|
||||
def find_config_file(filename):
|
||||
filepath = os.path.join('/etc/kolla', filename)
|
||||
if os.access(filepath, os.R_OK):
|
||||
config_file = filepath
|
||||
global_conf_path = os.path.join('/etc/kolla', filename)
|
||||
local_conf_path = os.path.join(find_base_dir(), 'etc', 'kolla', filename)
|
||||
|
||||
if os.access(global_conf_path, os.R_OK):
|
||||
return global_conf_path
|
||||
elif os.access(local_conf_path, os.R_OK):
|
||||
return local_conf_path
|
||||
else:
|
||||
config_file = os.path.join(find_base_dir(),
|
||||
'etc', 'kolla', filename)
|
||||
return config_file
|
||||
raise KollaDirNotFoundException(
|
||||
'Cant find kolla config. Searched at: %s and %s' %
|
||||
(global_conf_path, local_conf_path)
|
||||
)
|
||||
|
||||
|
||||
def merge_args_and_config(settings_from_config_file):
|
||||
|
@ -7,6 +7,8 @@ function find_base_dir {
|
||||
local dir_name="$(dirname "$real_path")"
|
||||
if [[ ${dir_name} == "/usr/bin" ]]; then
|
||||
BASEDIR=/usr/share/kolla
|
||||
elif [[ ${dir_name} == "/usr/local/bin" ]]; then
|
||||
BASEDIR=/usr/local/share/kolla
|
||||
else
|
||||
BASEDIR="${dir_name}/.."
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user