def test_install_multiple_packages(self): fake_run = Mock() with patch(self.to_patch, fake_run): pkg_managers.zypper(Mock(), ['vim', 'zsh']) result = fake_run.call_args_list[-1] assert 'install' in result[0][-1] assert result[0][-1][-2:] == ['vim', 'zsh']
def mirror_install(distro, repo_url, gpg_url, adjust_repos, **kw): packages = map_components(kw.get('components', [])) repo_url = repo_url.strip('/') # Remove trailing slashes gpg_url_path = gpg_url.split('file://')[-1] # Remove file if present if adjust_repos: remoto.process.run( distro.conn, [ 'rpm', '--import', gpg_url_path, ] ) ceph_repo_content = templates.zypper_repo.format( repo_url=repo_url, gpg_url=gpg_url ) distro.conn.remote_module.write_file( '/etc/zypp/repos.d/ceph.repo', ceph_repo_content) pkg_managers.zypper_refresh(distro.conn) if len(packages): pkg_managers.zypper(distro.conn, packages)
def test_install_single_package(self): fake_run = Mock() with patch(self.to_patch, fake_run): pkg_managers.zypper(Mock(), 'vim') result = fake_run.call_args_list[-1] assert 'install' in result[0][-1] assert result[0][-1][-1] == 'vim'
def repo_install(distro, repo_name, baseurl, gpgkey, **kw): # Get some defaults name = kw.get('name', '%s repo' % repo_name) enabled = kw.get('enabled', 1) gpgcheck = kw.get('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes if gpgkey: process.run(distro.conn, [ 'rpm', '--import', gpgkey, ]) repo_content = templates.custom_repo.format( repo_name=repo_name, name=name, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpgkey, ) distro.conn.remote_module.write_yum_repo(repo_content, "%s.repo" % repo_name) # Some custom repos do not need to install ceph if install_ceph: # Before any install, make sure we have `wget` pkg_managers.zypper(distro.conn, 'wget') pkg_managers.zypper(distro.conn, 'ceph')
def repo_install(distro, reponame, baseurl, gpgkey, **kw): # do we have specific components to install? # removed them from `kw` so that we don't mess with other defaults # note: when split packages for ceph land for Suse, `packages` # can be used. Unused for now. packages = kw.pop('components', []) # noqa # Get some defaults name = kw.get('name', '%s repo' % reponame) enabled = kw.get('enabled', 1) gpgcheck = kw.get('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.get('proxy') _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes if gpgkey: remoto.process.run( distro.conn, [ 'rpm', '--import', gpgkey, ] ) repo_content = templates.custom_repo( reponame=reponame, name = name, baseurl = baseurl, enabled = enabled, gpgcheck = gpgcheck, _type = _type, gpgkey = gpgkey, proxy = proxy, ) distro.conn.remote_module.write_file( '/etc/zypp/repos.d/%s' % (reponame), repo_content ) # Some custom repos do not need to install ceph if install_ceph: # Before any install, make sure we have `wget` pkg_managers.zypper(distro.conn, 'wget') pkg_managers.zypper(distro.conn, 'ceph')
def repo_install(distro, reponame, baseurl, gpgkey, **kw): # Get some defaults name = kw.get('name', '%s repo' % reponame) enabled = kw.get('enabled', 1) gpgcheck = kw.get('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.get('proxy') _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes if gpgkey: remoto.process.run( distro.conn, [ 'rpm', '--import', gpgkey, ] ) repo_content = templates.custom_repo( reponame=reponame, name = name, baseurl = baseurl, enabled = enabled, gpgcheck = gpgcheck, _type = _type, gpgkey = gpgkey, proxy = proxy, ) distro.conn.remote_module.write_yum_repo( repo_content, "%s.repo" % reponame ) # Some custom repos do not need to install ceph if install_ceph: # Before any install, make sure we have `wget` pkg_managers.zypper(distro.conn, 'wget') pkg_managers.zypper(distro.conn, 'ceph')
def repo_install(distro, reponame, baseurl, gpgkey, **kw): # do we have specific components to install? # removed them from `kw` so that we don't mess with other defaults packages = map_components(kw.pop('components', [])) # noqa # Get some defaults name = kw.get('name', '%s repo' % reponame) enabled = kw.get('enabled', 1) gpgcheck = kw.get('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.get('proxy') _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes if gpgkey: remoto.process.run( distro.conn, [ 'rpm', '--import', gpgkey, ] ) repo_content = templates.custom_repo( reponame=reponame, name = name, baseurl = baseurl, enabled = enabled, gpgcheck = gpgcheck, _type = _type, gpgkey = gpgkey, proxy = proxy, ) distro.conn.remote_module.write_file( '/etc/zypp/repos.d/%s' % (reponame), repo_content ) # Some custom repos do not need to install ceph if install_ceph and len(packages): pkg_managers.zypper(distro.conn, packages)
def repo_install(distro, reponame, baseurl, gpgkey, **kw): # do we have specific components to install? # removed them from `kw` so that we don't mess with other defaults # note: when split packages for ceph land for Suse, `packages` # can be used. Unused for now. packages = kw.pop("components", []) # noqa # Get some defaults name = kw.get("name", "%s repo" % reponame) enabled = kw.get("enabled", 1) gpgcheck = kw.get("gpgcheck", 1) install_ceph = kw.pop("install_ceph", False) proxy = kw.get("proxy") _type = "repo-md" baseurl = baseurl.strip("/") # Remove trailing slashes if gpgkey: remoto.process.run(distro.conn, ["rpm", "--import", gpgkey]) repo_content = templates.custom_repo( reponame=reponame, name=name, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpgkey, proxy=proxy, ) distro.conn.remote_module.write_file("/etc/zypp/repos.d/%s" % (reponame), repo_content) # Some custom repos do not need to install ceph if install_ceph: # Before any install, make sure we have `wget` pkg_managers.zypper(distro.conn, "wget") pkg_managers.zypper(distro.conn, "ceph")
def install(distro, version_kind, version, adjust_repos, **kw): packages = map_components(kw.get('components', [])) pkg_managers.zypper_refresh(distro.conn) if len(packages): pkg_managers.zypper(distro.conn, packages)
def install(distro, packages): return pkg_managers.zypper( distro.conn, packages )