mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Fix photon upgrade tests
This commit is contained in:
parent
70ad2a4e4e
commit
e141799a94
1 changed files with 36 additions and 11 deletions
|
@ -78,6 +78,12 @@ class SaltPkgInstall:
|
||||||
distro_name: str = attr.ib(init=False)
|
distro_name: str = attr.ib(init=False)
|
||||||
distro_version: str = attr.ib(init=False)
|
distro_version: str = attr.ib(init=False)
|
||||||
|
|
||||||
|
# Version information
|
||||||
|
prev_version: str = attr.ib()
|
||||||
|
use_prev_version: str = attr.ib()
|
||||||
|
artifact_version: str = attr.ib(init=False)
|
||||||
|
version: str = attr.ib(init=False)
|
||||||
|
|
||||||
# Package (and management) metadata
|
# Package (and management) metadata
|
||||||
pkg_mngr: str = attr.ib(init=False)
|
pkg_mngr: str = attr.ib(init=False)
|
||||||
rm_pkg: str = attr.ib(init=False)
|
rm_pkg: str = attr.ib(init=False)
|
||||||
|
@ -86,12 +92,6 @@ class SaltPkgInstall:
|
||||||
file_ext: bool = attr.ib(default=None)
|
file_ext: bool = attr.ib(default=None)
|
||||||
relenv: bool = attr.ib(default=True)
|
relenv: bool = attr.ib(default=True)
|
||||||
|
|
||||||
# Version information
|
|
||||||
prev_version: str = attr.ib()
|
|
||||||
use_prev_version: str = attr.ib()
|
|
||||||
artifact_version: str = attr.ib(init=False)
|
|
||||||
version: str = attr.ib(init=False)
|
|
||||||
|
|
||||||
@proc.default
|
@proc.default
|
||||||
def _default_proc(self):
|
def _default_proc(self):
|
||||||
return Subprocess()
|
return Subprocess()
|
||||||
|
@ -106,11 +106,16 @@ class SaltPkgInstall:
|
||||||
|
|
||||||
@distro_name.default
|
@distro_name.default
|
||||||
def _default_distro_name(self):
|
def _default_distro_name(self):
|
||||||
if distro.name():
|
name = distro.name()
|
||||||
return distro.name().split()[0].lower()
|
if name:
|
||||||
|
if "vmware" in name.lower():
|
||||||
|
return name.split()[1].lower()
|
||||||
|
return name.split()[0].lower()
|
||||||
|
|
||||||
@distro_version.default
|
@distro_version.default
|
||||||
def _default_distro_version(self):
|
def _default_distro_version(self):
|
||||||
|
if self.distro_name == "photon":
|
||||||
|
return distro.version().split(".")[0]
|
||||||
return distro.version().lower()
|
return distro.version().lower()
|
||||||
|
|
||||||
@pkg_mngr.default
|
@pkg_mngr.default
|
||||||
|
@ -141,8 +146,12 @@ class SaltPkgInstall:
|
||||||
]
|
]
|
||||||
if self.distro_id in ("centos", "redhat", "amzn", "fedora", "photon"):
|
if self.distro_id in ("centos", "redhat", "amzn", "fedora", "photon"):
|
||||||
salt_pkgs.append("salt")
|
salt_pkgs.append("salt")
|
||||||
|
dbg_pkg = "salt-debuginfo"
|
||||||
elif self.distro_id in ("ubuntu", "debian"):
|
elif self.distro_id in ("ubuntu", "debian"):
|
||||||
salt_pkgs.append("salt-common")
|
salt_pkgs.append("salt-common")
|
||||||
|
dbg_pkg = "salt-dbg"
|
||||||
|
if packaging.version.parse(self.version) >= packaging.version.parse("3006.3"):
|
||||||
|
salt_pkgs.append(dbg_pkg)
|
||||||
return salt_pkgs
|
return salt_pkgs
|
||||||
|
|
||||||
@install_dir.default
|
@install_dir.default
|
||||||
|
@ -439,9 +448,14 @@ class SaltPkgInstall:
|
||||||
]
|
]
|
||||||
log.info("Installing packages:\n%s", pprint.pformat(self.pkgs))
|
log.info("Installing packages:\n%s", pprint.pformat(self.pkgs))
|
||||||
args = extra_args + self.pkgs
|
args = extra_args + self.pkgs
|
||||||
|
upgrade_cmd = "upgrade"
|
||||||
|
if self.distro_id == "photon":
|
||||||
|
# tdnf does not detect nightly build versions to be higher version
|
||||||
|
# than release versions
|
||||||
|
upgrade_cmd = "install"
|
||||||
ret = self.proc.run(
|
ret = self.proc.run(
|
||||||
self.pkg_mngr,
|
self.pkg_mngr,
|
||||||
"upgrade",
|
upgrade_cmd,
|
||||||
"-y",
|
"-y",
|
||||||
*args,
|
*args,
|
||||||
_timeout=120,
|
_timeout=120,
|
||||||
|
@ -505,7 +519,14 @@ class SaltPkgInstall:
|
||||||
if self.classic:
|
if self.classic:
|
||||||
root_url = "py3/"
|
root_url = "py3/"
|
||||||
|
|
||||||
if self.distro_name in ["redhat", "centos", "amazon", "fedora", "vmware"]:
|
if self.distro_name in [
|
||||||
|
"redhat",
|
||||||
|
"centos",
|
||||||
|
"amazon",
|
||||||
|
"fedora",
|
||||||
|
"vmware",
|
||||||
|
"photon",
|
||||||
|
]:
|
||||||
# Removing EPEL repo files
|
# Removing EPEL repo files
|
||||||
for fp in pathlib.Path("/etc", "yum.repos.d").glob("epel*"):
|
for fp in pathlib.Path("/etc", "yum.repos.d").glob("epel*"):
|
||||||
fp.unlink()
|
fp.unlink()
|
||||||
|
@ -534,7 +555,11 @@ class SaltPkgInstall:
|
||||||
f"https://repo.saltproject.io/{root_url}{distro_name}/{self.distro_version}/{arch}/{major_ver}.repo",
|
f"https://repo.saltproject.io/{root_url}{distro_name}/{self.distro_version}/{arch}/{major_ver}.repo",
|
||||||
f"/etc/yum.repos.d/salt-{distro_name}.repo",
|
f"/etc/yum.repos.d/salt-{distro_name}.repo",
|
||||||
)
|
)
|
||||||
ret = self.proc.run(self.pkg_mngr, "clean", "expire-cache")
|
if self.distro_name == "photon":
|
||||||
|
# yum version on photon doesn't support expire-cache
|
||||||
|
ret = self.proc.run(self.pkg_mngr, "clean", "all")
|
||||||
|
else:
|
||||||
|
ret = self.proc.run(self.pkg_mngr, "clean", "expire-cache")
|
||||||
self._check_retcode(ret)
|
self._check_retcode(ret)
|
||||||
cmd_action = "downgrade" if downgrade else "install"
|
cmd_action = "downgrade" if downgrade else "install"
|
||||||
pkgs_to_install = self.salt_pkgs.copy()
|
pkgs_to_install = self.salt_pkgs.copy()
|
||||||
|
|
Loading…
Add table
Reference in a new issue