def repo_install(distro, reponame, baseurl, gpgkey, **kw): packages = map_components(NON_SPLIT_PACKAGES, kw.pop("components", [])) # 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 packages: distro.packager.install(packages)
def repo_install(distro, reponame, baseurl, gpgkey, **kw): packages = map_components(NON_SPLIT_PACKAGES, kw.pop('components', [])) # 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 packages: distro.packager.install(packages)
def add_repo(self, name, url, **kw): gpg_url = kw.pop('gpg_url', None) if gpg_url: self.add_repo_gpg_key(gpg_url) gpgcheck=1 else: gpgcheck=0 # RPM repo defaults description = kw.pop('description', '%s repo' % name) enabled = kw.pop('enabled', 1) proxy = kw.pop('proxy', '') # will get ignored if empty _type = 'repo-md' baseurl = url.strip('/') # Remove trailing slashes ceph_repo_content = templates.custom_repo( reponame=name, name=description, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpg_url, proxy=proxy, **kw ) self.remote_conn.remote_module.write_yum_repo( ceph_repo_content, '%s.repo' % name )
def add_repo(self, name, url, **kw): gpg_url = kw.pop("gpg_url", None) if gpg_url: self.add_repo_gpg_key(gpg_url) gpgcheck = 1 else: gpgcheck = 0 # RPM repo defaults description = kw.pop("description", "%s repo" % name) enabled = kw.pop("enabled", 1) proxy = kw.pop("proxy", "") # will get ignored if empty _type = "repo-md" baseurl = url.strip("/") # Remove trailing slashes ceph_repo_content = templates.custom_repo( reponame=name, name=description, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpg_url, proxy=proxy, **kw ) self.remote_conn.remote_module.write_yum_repo(ceph_repo_content, "%s.repo" % name)
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 = kw.pop('components', []) # Get some defaults name = kw.pop('name', '%s repo' % reponame) enabled = kw.pop('enabled', 1) gpgcheck = kw.pop('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.pop('proxy', '') # will get ignored if empty _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes distro.packager.clean() if gpgkey: distro.packager.add_repo_gpg_key(gpgkey) repo_content = templates.custom_repo(reponame=reponame, name=name, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpgkey, proxy=proxy, **kw) distro.conn.remote_module.write_yum_repo(repo_content, "%s.repo" % reponame) # Some custom repos do not need to install ceph if install_ceph and packages: distro.packager.install(packages)
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 pkg_managers.yum_clean(distro.conn) 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.yum(distro.conn, "wget") pkg_managers.yum(distro.conn, "ceph")
def repo_install(distro, reponame, baseurl, gpgkey, **kw): logger = distro.conn.logger # Get some defaults name = kw.pop('name', '%s repo' % reponame) enabled = kw.pop('enabled', 1) gpgcheck = kw.pop('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.pop('proxy', '') # will get ignored if empty _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes pkg_managers.yum_clean(distro.conn) 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, **kw ) distro.conn.remote_module.write_yum_repo( repo_content, "%s.repo" % reponame ) repo_path = '/etc/yum.repos.d/{reponame}.repo'.format(reponame=reponame) # set the right priority if kw.get('priority'): install_yum_priorities(distro) logger.warning( 'ensuring that {repo_path} contains a high priority'.format( repo_path=repo_path) ) distro.conn.remote_module.set_repo_priority([reponame], repo_path) logger.warning('altered {reponame}.repo priorities to contain: priority=1'.format( reponame=reponame) ) # Some custom repos do not need to install ceph if install_ceph: pkg_managers.yum(distro.conn, 'ceph')
def test_mixed_values(self): result = templates.custom_repo( reponame='foo', enabled=0, gpgcheck=1, baseurl='example.org') assert result == dedent("""\ [foo] baseurl=example.org enabled=0 gpgcheck=1""")
def repo_install(distro, reponame, baseurl, gpgkey, **kw): packages = map_components( NON_SPLIT_PACKAGES, kw.pop('components', []) ) logger = distro.conn.logger # Get some defaults name = kw.pop('name', '%s repo' % reponame) enabled = kw.pop('enabled', 1) gpgcheck = kw.pop('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.pop('proxy', '') # will get ignored if empty _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes distro.packager.clean() if gpgkey: distro.packager.add_repo_gpg_key(gpgkey) repo_content = templates.custom_repo( reponame=reponame, name=name, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpgkey, proxy=proxy, **kw ) distro.conn.remote_module.write_yum_repo( repo_content, "%s.repo" % reponame ) repo_path = '/etc/yum.repos.d/{reponame}.repo'.format(reponame=reponame) # set the right priority if kw.get('priority'): if distro.packager.name == 'yum': distro.packager.install('yum-plugin-priorities') distro.conn.remote_module.set_repo_priority([reponame], repo_path) logger.warning('altered {reponame}.repo priorities to contain: priority=1'.format( reponame=reponame) ) # Some custom repos do not need to install ceph if install_ceph and packages: distro.packager.install(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 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 = kw.pop('components', []) # Get some defaults name = kw.pop('name', '%s repo' % reponame) enabled = kw.pop('enabled', 1) gpgcheck = kw.pop('gpgcheck', 1) install_ceph = kw.pop('install_ceph', False) proxy = kw.pop('proxy', '') # will get ignored if empty _type = 'repo-md' baseurl = baseurl.strip('/') # Remove trailing slashes pkg_managers.yum_clean(distro.conn) 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, **kw ) distro.conn.remote_module.write_yum_repo( repo_content, "%s.repo" % reponame ) # Some custom repos do not need to install ceph if install_ceph: pkg_managers.yum(distro.conn, packages)
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 pkg_managers.yum_clean(distro.conn) 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.yum(distro.conn, 'wget') pkg_managers.yum(distro.conn, 'ceph')
def repo_install(distro, reponame, baseurl, gpgkey, **kw): packages = map_components(NON_SPLIT_PACKAGES, kw.pop("components", [])) logger = distro.conn.logger # Get some defaults name = kw.pop("name", "%s repo" % reponame) enabled = kw.pop("enabled", 1) gpgcheck = kw.pop("gpgcheck", 1) install_ceph = kw.pop("install_ceph", False) proxy = kw.pop("proxy", "") # will get ignored if empty _type = "repo-md" baseurl = baseurl.strip("/") # Remove trailing slashes distro.packager.clean() if gpgkey: distro.packager.add_repo_gpg_key(gpgkey) repo_content = templates.custom_repo( reponame=reponame, name=name, baseurl=baseurl, enabled=enabled, gpgcheck=gpgcheck, _type=_type, gpgkey=gpgkey, proxy=proxy, **kw ) distro.conn.remote_module.write_yum_repo(repo_content, "%s.repo" % reponame) repo_path = "/etc/yum.repos.d/{reponame}.repo".format(reponame=reponame) # set the right priority if kw.get("priority"): if distro.packager.name == "yum": distro.packager.install("yum-plugin-priorities") distro.conn.remote_module.set_repo_priority([reponame], repo_path) logger.warning("altered {reponame}.repo priorities to contain: priority=1".format(reponame=reponame)) # Some custom repos do not need to install ceph if install_ceph and packages: distro.packager.install(packages)
def repo_install(distro, reponame, baseurl, gpgkey, **kw): packages = map_components( NON_SPLIT_PACKAGES, kw.pop('components', []) ) # 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.encode('utf-8') ) # Some custom repos do not need to install ceph if install_ceph and packages: distro.packager.install(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 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 test_allow_invalid_options(self): result = templates.custom_repo(reponame='foo', bar='bar') assert result == '[foo]'
def test_second_line_with_good_value(self): result = templates.custom_repo(reponame='foo', enabled=0) assert result == '[foo]\nenabled=0'
def test_only_repo_name(self): result = templates.custom_repo(reponame='foo') assert result == '[foo]'