mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-22 09:57:41 +00:00
[#2111] hammer: attempt to upgrade vagrant when the latest vagrant version is unknown
This commit is contained in:
parent
e21d3c40e5
commit
dda481bb25
18
hammer.py
18
hammer.py
@ -200,6 +200,7 @@ Vagrant.configure("2") do |config|
|
|||||||
end
|
end
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
RECOMMENDED_VAGRANT_VERSION='2.2.16'
|
||||||
|
|
||||||
log = logging.getLogger()
|
log = logging.getLogger()
|
||||||
|
|
||||||
@ -2379,11 +2380,11 @@ def ssh(provider, system, revision):
|
|||||||
ve.ssh()
|
ve.ssh()
|
||||||
|
|
||||||
|
|
||||||
def _install_vagrant(ver='2.2.16', upgrade=False):
|
def _install_vagrant(ver=RECOMMENDED_VAGRANT_VERSION, upgrade=False):
|
||||||
system, _ = get_system_revision()
|
system, _ = get_system_revision()
|
||||||
if system in ['fedora', 'centos', 'rhel']:
|
if system in ['fedora', 'centos', 'rhel']:
|
||||||
if upgrade:
|
if upgrade:
|
||||||
execute('sudo rpm -e vagrant')
|
execute('sudo yum remove -y vagrant')
|
||||||
rpm = 'vagrant_%s_x86_64.rpm' % ver
|
rpm = 'vagrant_%s_x86_64.rpm' % ver
|
||||||
cmd = 'wget --no-verbose -O /tmp/%s ' % rpm
|
cmd = 'wget --no-verbose -O /tmp/%s ' % rpm
|
||||||
cmd += 'https://releases.hashicorp.com/vagrant/%s/%s' % (ver, rpm)
|
cmd += 'https://releases.hashicorp.com/vagrant/%s/%s' % (ver, rpm)
|
||||||
@ -2392,7 +2393,7 @@ def _install_vagrant(ver='2.2.16', upgrade=False):
|
|||||||
os.unlink('/tmp/%s' % rpm)
|
os.unlink('/tmp/%s' % rpm)
|
||||||
elif system in ['debian', 'ubuntu']:
|
elif system in ['debian', 'ubuntu']:
|
||||||
if upgrade:
|
if upgrade:
|
||||||
execute('sudo dpkg --purge vagrant')
|
execute('sudo apt-get purge -y vagrant')
|
||||||
deb = 'vagrant_%s_x86_64.deb' % ver
|
deb = 'vagrant_%s_x86_64.deb' % ver
|
||||||
cmd = 'wget --no-verbose -O /tmp/%s ' % deb
|
cmd = 'wget --no-verbose -O /tmp/%s ' % deb
|
||||||
cmd += 'https://releases.hashicorp.com/vagrant/%s/%s' % (ver, deb)
|
cmd += 'https://releases.hashicorp.com/vagrant/%s/%s' % (ver, deb)
|
||||||
@ -2412,10 +2413,15 @@ def ensure_hammer_deps():
|
|||||||
else:
|
else:
|
||||||
m = re.search('Installed Version: ([\d\.]+)', out, re.I)
|
m = re.search('Installed Version: ([\d\.]+)', out, re.I)
|
||||||
ver = m.group(1)
|
ver = m.group(1)
|
||||||
major, minor, patch = [int(v) for v in ver.split('.')]
|
vagrant = [int(v) for v in ver.split('.')]
|
||||||
# if ver < 2.2.16
|
recommended_vagrant = [int(v) for v in RECOMMENDED_VAGRANT_VERSION.split('.')]
|
||||||
if major < 2 or (major == 2 and (minor < 2 or (minor == 2 and patch < 16))):
|
if vagrant < recommended_vagrant:
|
||||||
m = re.search('Latest Version: ([\d\.]+)', out, re.I)
|
m = re.search('Latest Version: ([\d\.]+)', out, re.I)
|
||||||
|
if m is None:
|
||||||
|
# Vagrant was unable to check for the latest version of Vagrant.
|
||||||
|
# Attempt to upgrade to the recommended version to fix it.
|
||||||
|
_install_vagrant(upgrade=True)
|
||||||
|
return
|
||||||
ver = m.group(1)
|
ver = m.group(1)
|
||||||
_install_vagrant(ver, upgrade=True)
|
_install_vagrant(ver, upgrade=True)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user