def _get_package_version(self):
self.assert_result()
return self._result.json()[0]['extra']['package_manager_version']
+
+
+def get_builder_project():
+ """
+ Depending on whether config.use_shaman is True or False, return
+ GitbuilderProject or ShamanProject (the class, not an instance).
+ """
+ if config.use_shaman is True:
+ builder_class = ShamanProject
+ else:
+ builder_class = GitbuilderProject
+ return builder_class
from ..misc import deep_merge
from ..repo_utils import fetch_qa_suite, fetch_teuthology
from ..orchestra.opsys import OS
-from ..packaging import GitbuilderProject
+from ..packaging import get_builder_project
from ..task.install import get_flavor
log = logging.getLogger(__name__)
(arch, release, _os) = get_distro_defaults(distro, machine_type)
if distro is None:
distro = _os.name
- gp = GitbuilderProject(
+ bp = get_builder_project()(
project,
dict(
branch=branch,
arch=arch,
),
)
- return gp.sha1
+ return bp.sha1
def get_distro_defaults(distro, machine_type):
else:
raise ValueError("Invalid distro value passed: %s", distro)
_os = OS(name=os_type, version=os_version)
- release = GitbuilderProject._get_distro(
+ release = get_builder_project()._get_distro(
_os.name,
_os.version,
_os.codename,
(arch, release, _os) = get_distro_defaults(distro, machine_type)
if distro in (None, 'None'):
distro = _os.name
- gp = GitbuilderProject(
+ bp = get_builder_project()(
'ceph',
dict(
flavor=kernel_flavor,
sha1=hash,
),
)
- return gp.version
+ return bp.version
def get_arch(machine_type):