Modify pylorax.api.config.configure so it can also be used for tests.
This commit is contained in:
parent
f26af06739
commit
164232ba4d
@ -17,6 +17,8 @@
|
|||||||
import ConfigParser
|
import ConfigParser
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from pylorax.sysutils import joinpaths
|
||||||
|
|
||||||
class ComposerConfig(ConfigParser.SafeConfigParser):
|
class ComposerConfig(ConfigParser.SafeConfigParser):
|
||||||
def get_default(self, section, option, default):
|
def get_default(self, section, option, default):
|
||||||
try:
|
try:
|
||||||
@ -25,15 +27,23 @@ class ComposerConfig(ConfigParser.SafeConfigParser):
|
|||||||
return default
|
return default
|
||||||
|
|
||||||
|
|
||||||
def configure(conf_file="/etc/lorax/composer.conf"):
|
def configure(conf_file="/etc/lorax/composer.conf", root_dir="/", test_config=False):
|
||||||
"""lorax-composer configuration"""
|
"""lorax-composer configuration
|
||||||
|
|
||||||
|
:param conf_file: Path to the config file overriding the default settings
|
||||||
|
:type conf_file: str
|
||||||
|
:param root_dir: Directory to prepend to paths, defaults to /
|
||||||
|
:type root_dir: str
|
||||||
|
:param test_config: Set to True to skip reading conf_file
|
||||||
|
:type test_config: bool
|
||||||
|
"""
|
||||||
conf = ComposerConfig()
|
conf = ComposerConfig()
|
||||||
|
|
||||||
# set defaults
|
# set defaults
|
||||||
conf.add_section("composer")
|
conf.add_section("composer")
|
||||||
conf.set("composer", "yum_conf", "/var/lib/lorax/composer/yum.conf")
|
conf.set("composer", "yum_conf", joinpaths(root_dir, "/var/lib/lorax/composer/yum.conf"))
|
||||||
conf.set("composer", "repo_dir", "/var/lib/lorax/composer/repos.d/")
|
conf.set("composer", "repo_dir", joinpaths(root_dir, "/var/lib/lorax/composer/repos.d/"))
|
||||||
conf.set("composer", "cache_dir", "/var/cache/lorax/composer/yum/")
|
conf.set("composer", "cache_dir", joinpaths(root_dir, "/var/cache/lorax/composer/yum/"))
|
||||||
|
|
||||||
conf.add_section("users")
|
conf.add_section("users")
|
||||||
conf.set("users", "root", "1")
|
conf.set("users", "root", "1")
|
||||||
@ -43,9 +53,10 @@ def configure(conf_file="/etc/lorax/composer.conf"):
|
|||||||
conf.set("repos", "use_system_repos", "1")
|
conf.set("repos", "use_system_repos", "1")
|
||||||
conf.set("repos", "enabled", "*")
|
conf.set("repos", "enabled", "*")
|
||||||
|
|
||||||
# read the config file
|
if not test_config:
|
||||||
if os.path.isfile(conf_file):
|
# read the config file
|
||||||
conf.read(conf_file)
|
if os.path.isfile(conf_file):
|
||||||
|
conf.read(conf_file)
|
||||||
|
|
||||||
# Create any missing directories
|
# Create any missing directories
|
||||||
for section, key in [("composer", "yum_conf"), ("composer", "repo_dir"), ("composer", "cache_dir")]:
|
for section, key in [("composer", "yum_conf"), ("composer", "repo_dir"), ("composer", "cache_dir")]:
|
||||||
|
@ -126,7 +126,7 @@ if __name__ == '__main__':
|
|||||||
server.config["REPO_DIR"] = opts.RECIPES
|
server.config["REPO_DIR"] = opts.RECIPES
|
||||||
repo = open_or_create_repo(server.config["REPO_DIR"])
|
repo = open_or_create_repo(server.config["REPO_DIR"])
|
||||||
server.config["GITLOCK"] = GitLock(repo=repo, lock=Lock(), dir=opts.RECIPES)
|
server.config["GITLOCK"] = GitLock(repo=repo, lock=Lock(), dir=opts.RECIPES)
|
||||||
server.config["COMPOSER_CFG"] = configure(opts.config)
|
server.config["COMPOSER_CFG"] = configure(conf_file=opts.config)
|
||||||
|
|
||||||
# Get a YumBase to share with the requests
|
# Get a YumBase to share with the requests
|
||||||
yb = get_base_object(server.config["COMPOSER_CFG"])
|
yb = get_base_object(server.config["COMPOSER_CFG"])
|
||||||
|
Loading…
Reference in New Issue
Block a user