def generate_preference_pin(repos, priority): packages = " ".join(magic_consts.OSD_UPGRADE_REQUIRED_PACKAGES) contents = [] priority_getter = operator.itemgetter('priority') for repo in sorted(repos, key=priority_getter): if repo['priority'] is None: continue repo['priority'] = max(repo['priority'], priority) _, content = apt.create_repo_preferences(repo, packages) contents.append(content) return '\n\n'.join(contents)
def change_repositories(node, repos): ssh.remove_all_files_from_dirs(['/etc/apt/sources.list.d', '/etc/apt/preferences.d'], node) sftp = ssh.sftp(node) for repo in repos: filename_source, content_source = apt.create_repo_source(repo) ssh.write_content_to_file(sftp, filename_source, content_source) if repo['priority']: filename_pref, content_pref = apt.create_repo_preferences(repo) ssh.write_content_to_file(sftp, filename_pref, content_pref) ssh.call(['apt-get', 'update'], node=node)
def test_create_repo_preferences(mocker, params, repo, filename, content): mock_fetch_release = mocker.patch("octane.util.apt.fetch_release_parameters") mock_fetch_release.return_value = params result = apt.create_repo_preferences(repo) assert result[0] == filename assert result[1] == content