Deprecate XenServer 6.5 on MOS10

We will depracate support of XenServer 6.5 since MOS10, this patch
is to implement this via:
(1) Add XCP version check in compute_pre_test.py to make sure
the minimal XCP version is 2.1.0
(2) Replace the guest tool to xe-guest-utilities_7.0.0-24_all.deb
(3) Update related documents to only support XS7.0 and XS7.1

Change-Id: I0a0420d158faf18de3534f501dd2a25d818cc9be
This commit is contained in:
Huan Xie 2017-04-11 00:46:54 -07:00
parent e50e18ab2a
commit 9a2beb2950
9 changed files with 24 additions and 21 deletions

View File

@ -8,7 +8,7 @@ Requirements
Requirement Version/Comment Requirement Version/Comment
========================= ============================ ========================= ============================
Fuel 9.0 Fuel 9.0
XenServer 6.5+XS65ESP013, 7.0 and 7.1 XenServer 7.0 and 7.1
XenServer plugin for Fuel @PLUGIN_VERSION@ XenServer plugin for Fuel @PLUGIN_VERSION@
========================= ============================ ========================= ============================

View File

@ -15,7 +15,7 @@ can also be downloaded directly from `citrix.com
Citrix account. Citrix account.
Documentation for XenServer can be found on `docs.vmd.citrix.com Documentation for XenServer can be found on `docs.vmd.citrix.com
<http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/>`_ and for how <http://docs.citrix.com/en-us/xenserver/xenserver-7-0.html>`_ and for how
XenServer works within OpenStack at docs.openstack.org in the XenServer works within OpenStack at docs.openstack.org in the
`OpenStack Configuration Reference `OpenStack Configuration Reference
<http://docs.openstack.org/juno/config-reference/content/introduction-to-xen.html>`_ <http://docs.openstack.org/juno/config-reference/content/introduction-to-xen.html>`_

View File

@ -67,8 +67,8 @@ https://docs.mirantis.com/openstack/fuel/fuel-9.0/mos-planning-guide.html
Product compatibility matrix Product compatibility matrix
---------------------------- ----------------------------
The plugin is compatible with MOS 9.0 and XenServer versions 6.5 SP1 The plugin is compatible with MOS 9.0 and XenServer versions 7.0
(with hotfix XS65ESP013), 7.0 and 7.1, with all hotfixes applied. and 7.1, with all hotfixes applied.
Prerequirements Prerequirements

View File

@ -438,12 +438,7 @@ def check_and_setup_ceilometer(himn, username, password):
restart_services('ceilometer-polling') restart_services('ceilometer-polling')
def enable_conntrack_service(himn, username, xcp_version): def enable_conntrack_service(himn, username):
if LooseVersion(xcp_version) < LooseVersion('2.1.0'):
# Only support conntrack-tools since XS7.0(XCP2.1.0) and above
LOG.info('No need to enable conntrack-tools with XCP %s' % xcp_version)
return
# use conntrack statistic mode, so change conntrackd.conf # use conntrack statistic mode, so change conntrackd.conf
if not os.path.exists('/etc/conntrackd/conntrackd.conf.back'): if not os.path.exists('/etc/conntrackd/conntrackd.conf.back'):
utils.ssh(himn, username, utils.ssh(himn, username,
@ -463,14 +458,6 @@ def enable_conntrack_service(himn, username, xcp_version):
utils.ssh(himn, username, 'service', 'conntrackd', 'restart') utils.ssh(himn, username, 'service', 'conntrackd', 'restart')
def get_xcp_version(himn, username):
xcp_ver = utils.ssh(himn, username,
('xe host-param-get uuid=$(xe host-list --minimal) '
'param-name=software-version '
'param-key=platform_version'))
return xcp_ver
if __name__ == '__main__': if __name__ == '__main__':
install_xenapi_sdk() install_xenapi_sdk()
astute = utils.get_astute() astute = utils.get_astute()
@ -487,7 +474,7 @@ if __name__ == '__main__':
if username and password and endpoints and himn_local: if username and password and endpoints and himn_local:
route_to_compute(endpoints, HIMN_IP, himn_local, username) route_to_compute(endpoints, HIMN_IP, himn_local, username)
xcp_version = get_xcp_version(HIMN_IP, username) xcp_version = utils.get_xcp_version(HIMN_IP, username)
if install_xapi: if install_xapi:
install_suppack(HIMN_IP, username, XS_PLUGIN_ISO, xcp_version) install_suppack(HIMN_IP, username, XS_PLUGIN_ISO, xcp_version)
enable_linux_bridge(HIMN_IP, username) enable_linux_bridge(HIMN_IP, username)
@ -504,7 +491,7 @@ if __name__ == '__main__':
install_logrotate_script(HIMN_IP, username) install_logrotate_script(HIMN_IP, username)
# enable conntrackd service in Dom0 # enable conntrackd service in Dom0
enable_conntrack_service(HIMN_IP, username, xcp_version) enable_conntrack_service(HIMN_IP, username)
# neutron-l2-agent in compute node # neutron-l2-agent in compute node
modify_neutron_rootwrap_conf(HIMN_IP, username, password) modify_neutron_rootwrap_conf(HIMN_IP, username, password)

View File

@ -1,5 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
from distutils.version import LooseVersion
import json import json
import os import os
import stat import stat
@ -8,6 +9,7 @@ from utils import HIMN_IP
XS_RSA = '/root/.ssh/xs_rsa' XS_RSA = '/root/.ssh/xs_rsa'
VERSION_HOTFIXES = '@VERSION_HOTFIXES@' VERSION_HOTFIXES = '@VERSION_HOTFIXES@'
MIN_XCP_VERSION = '2.1.0'
utils.setup_logging('compute_pre_test.log') utils.setup_logging('compute_pre_test.log')
LOG = utils.LOG LOG = utils.LOG
@ -38,6 +40,12 @@ def ssh_copy_id(host, username, password):
def check_host_compatibility(himn, username): def check_host_compatibility(himn, username):
xcp_version = utils.get_xcp_version(himn, username)
if LooseVersion(xcp_version) < LooseVersion(MIN_XCP_VERSION):
utils.reportError('Platform version %s should equal or greater than %s'
% (xcp_version, MIN_XCP_VERSION))
return
version_hotfixes = json.loads(VERSION_HOTFIXES) version_hotfixes = json.loads(VERSION_HOTFIXES)
ver = utils.ssh(himn, username, ver = utils.ssh(himn, username,

View File

@ -302,3 +302,11 @@ def add_cron_job(user, job_entry):
execute(crontab_cmd, '-u', user, temp_path) execute(crontab_cmd, '-u', user, temp_path)
os.close(temp_fd) os.close(temp_fd)
os.remove(temp_path) os.remove(temp_path)
def get_xcp_version(himn, username):
xcp_ver = ssh(himn, username,
('xe host-param-get uuid=$(xe host-list --minimal) '
'param-name=software-version '
'param-key=platform_version'))
return xcp_ver

View File

@ -5,7 +5,7 @@
requires: ['network_configuration_end'] requires: ['network_configuration_end']
type: shell type: shell
parameters: parameters:
cmd: 'dpkg -i ./xe-guest-utilities_6.5.0-1393_amd64.deb' cmd: 'dpkg -i ./xe-guest-utilities_7.0.0-24_all.deb'
timeout: 60 timeout: 60
- id: 'compute-pre-test' - id: 'compute-pre-test'
version: 2.0.0 version: 2.0.0