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']
Beispiel #2
0
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'
Beispiel #4
0
 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']
Beispiel #5
0
 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'
Beispiel #6
0
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')
Beispiel #8
0
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')
Beispiel #9
0
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)
Beispiel #10
0
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")
Beispiel #11
0
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)
Beispiel #12
0
def install(distro, packages):
    return pkg_managers.zypper(
        distro.conn,
        packages
    )