MCPcopy Index your code
hub / github.com/saltstack/salt / install_previous

Method install_previous

tests/support/pkg.py:1125–1488  ·  view source on GitHub ↗

Install previous version. This is used for upgrade tests.

(self, downgrade=False)

Source from the content-addressed store, hash-verified

1123 self._check_retcode(ret)
1124
1125 def install_previous(self, downgrade=False):
1126 """
1127 Install previous version. This is used for upgrade tests.
1128 """
1129 major_ver = packaging.version.parse(self.prev_version).major
1130 relenv = packaging.version.parse(self.prev_version) >= packaging.version.parse(
1131 "3006.0"
1132 )
1133 distro_name = self.distro_name
1134 if distro_name in ("almalinux", "rocky", "centos", "fedora"):
1135 distro_name = "redhat"
1136 root_url = "https://packages.broadcom.com/artifactory"
1137
1138 if self.distro_name in [
1139 "almalinux",
1140 "rocky",
1141 "redhat",
1142 "centos",
1143 "amazon",
1144 "fedora",
1145 "vmware",
1146 "photon",
1147 ]:
1148 # Removing EPEL repo files
1149 for fp in pathlib.Path("/etc", "yum.repos.d").glob("epel*"):
1150 fp.unlink()
1151
1152 if platform.is_aarch64():
1153 arch = "arm64"
1154 # Starting with 3006.5, we prioritize the aarch64 repo paths for rpm-based distros
1155 if packaging.version.parse(
1156 self.prev_version
1157 ) >= packaging.version.parse("3006.5"):
1158 arch = "aarch64"
1159 else:
1160 arch = "x86_64"
1161 ret = self.proc.run(
1162 "rpm",
1163 "--import",
1164 "https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public",
1165 )
1166 self._check_retcode(ret)
1167 download_file(
1168 "https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.repo",
1169 f"/etc/yum.repos.d/salt-{distro_name}.repo",
1170 )
1171
1172 cmd_action = "downgrade" if downgrade else "install"
1173 pkgs_to_install = self.salt_pkgs.copy()
1174
1175 if self.distro_name == "photon":
1176 rpm_prev = pep440_version_to_rpm_nevra_version(self.prev_version)
1177 orig_pkgs = pkgs_to_install[:]
1178 pkgs_to_install = []
1179 for _ in orig_pkgs:
1180 pkgs_to_install.append(f"{_}-{rpm_prev}")
1181 ret = self.proc.run(self.pkg_mngr, "clean", "all")
1182 self._check_retcode(ret)

Callers 3

_install_pkgsMethod · 0.95
__enter__Method · 0.95
salt_systemd_setupFunction · 0.80

Calls 15

_check_retcodeMethod · 0.95
_salt_yum_repo_pathMethod · 0.95
stop_servicesMethod · 0.95
update_process_pathMethod · 0.95
_install_ssm_serviceMethod · 0.95
download_fileFunction · 0.90
unlinkMethod · 0.80
debugMethod · 0.80
warningMethod · 0.80

Tested by 1

salt_systemd_setupFunction · 0.64