log.info("using yaml path %s", yaml_path)
downstream_config = yaml.safe_load(open(yaml_path))
rh_versions = downstream_config.get('versions', dict()).get('supported', [])
+ external_config = dict(extra_system_packages=config.get('extra_system_packages', {}),
+ extra_packages=config.get('extra_packages', {}),
+ )
+ downstream_config.update(external_config)
version = config['rhbuild']
if version in rh_versions:
log.info("%s is a supported version", version)
else:
log.info("Install on Ubuntu node: %s", remote.shortname)
p.spawn(install_deb_pkgs, ctx, remote, version,
- downstream_config, config['deb-repo'],
- config['deb-gpg-key'])
+ downstream_config)
try:
yield
finally:
:param downstream_config the dict object that has downstream pkg info
"""
rh_version_check = downstream_config.get('versions').get('rpm').get('mapped')
- rh_rpm_pkgs = downstream_config.get('pkgs').get('rpm')
+ rh_rpm_pkgs = downstream_config.get('pkgs').get('rpm') + \
+ downstream_config.get('extra_system_packages').get('rpm', []) + \
+ downstream_config.get('extra_packages').get('rpm', [])
pkgs = str.join(' ', rh_rpm_pkgs)
log.info("Remove any epel packages installed on node %s", remote.shortname)
# below packages can come from epel and still work, ensure we use cdn pkgs
run.Raw("leveldb xmlstarlet fcgi"),
'-y'],
check_status=False)
+
log.info("Installing redhat ceph packages")
remote.run(args=['sudo', 'yum', '-y', 'install',
run.Raw(pkgs)])
ctx,
remote,
version,
- downstream_config,
- deb_repo,
- deb_gpg_key):
+ downstream_config):
"""
Setup debian repo, Install gpg key
and Install on debian packages
: param ctx
: param remote
: param downstream_config the dict object that has downstream pkg info
- : deb_repo - http path of downstream ubuntu repo
- : deb_gpg_key - gpg key for the ubuntu pkg
"""
- set_deb_repo(remote, deb_repo, deb_gpg_key)
rh_version_check = downstream_config.get('versions').get('deb').get('mapped')
- rh_deb_pkgs = downstream_config.get('pkgs').get('deb')
+ rh_deb_pkgs = downstream_config.get('pkgs').get('deb') + \
+ downstream_config.get('extra_system_packages').get('deb', []) + \
+ downstream_config.get('extra_packages').get('deb', [])
pkgs = str.join(' ', rh_deb_pkgs)
log.info("Installing redhat ceph packages")
remote.run(args=['sudo', 'apt-get', '-y', 'install',
remote = Mock()
version = '1.3.2'
rh_ds_yaml = dict()
- rh_ds_yaml = {'versions': {'deb': {'mapped': {'1.3.2': '0.94.5'}}},
- 'pkgs': { 'deb': ['pkg1', 'pkg2'] }}
+ rh_ds_yaml = {
+ 'versions': {'deb': {'mapped': {'1.3.2': '0.94.5'}}},
+ 'pkgs': {'deb': ['pkg1', 'pkg2']},
+ 'extra_system_packages': {'deb': ['es_pkg1', 'es_pkg2']},
+ 'extra_packages': {'deb': ['e_pkg1', 'e_pkg2']},
+ }
m_get_pkg_version.return_value = "0.94.5"
- deb_repo=Mock()
- deb_gpg_key=Mock()
- install.redhat.install_deb_pkgs(ctx, remote, version, rh_ds_yaml,
- deb_repo, deb_gpg_key)
-
+ install.redhat.install_deb_pkgs(ctx, remote, version, rh_ds_yaml)
@patch("teuthology.task.install.packaging.get_package_version")
def test_rh_install_pkgs(self, m_get_pkg_version):
remote = Mock()
version = '1.3.2'
rh_ds_yaml = dict()
- rh_ds_yaml = {'versions': {'rpm': {'mapped': {'1.3.2': '0.94.5',
- '1.3.1': '0.94.3'}}},
- 'pkgs': { 'rpm': ['pkg1', 'pkg2'] }}
+ rh_ds_yaml = {
+ 'versions': {'rpm': {'mapped': {'1.3.2': '0.94.5',
+ '1.3.1': '0.94.3'}}},
+ 'pkgs': {'rpm': ['pkg1', 'pkg2']},
+ 'extra_system_packages': {'rpm': ['es_pkg1', 'es_pkg2']},
+ 'extra_packages': {'rpm': ['e_pkg1', 'e_pkg2']},
+ }
+
m_get_pkg_version.return_value = "0.94.5"
install.redhat.install_pkgs(ctx, remote, version, rh_ds_yaml)
version = '1.3.1'