diff -pruN 0.3.3-3/.gitignore 0.3.4-0ubuntu8/.gitignore
--- 0.3.3-3/.gitignore	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/.gitignore	1970-01-01 00:00:00.000000000 +0000
@@ -1,58 +0,0 @@
-*.py[cod]
-
-# C extensions
-*.so
-
-# Packages
-*.egg*
-*.egg-info
-dist
-build
-eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-lib
-lib64
-
-# Installer logs
-pip-log.txt
-
-# Unit test / coverage reports
-cover/
-.coverage*
-!.coveragerc
-.tox
-nosetests.xml
-.testrepository
-.venv
-
-# Translations
-*.mo
-
-# Mr Developer
-.mr.developer.cfg
-.project
-.pydevproject
-
-# Complexity
-output/*.html
-output/*/index.html
-
-# Sphinx
-doc/build
-
-# pbr generates these
-AUTHORS
-ChangeLog
-
-# Editors
-*~
-.*.swp
-.*sw?
-
-# Files created by releasenotes build
-releasenotes/build
\ No newline at end of file
diff -pruN 0.3.3-3/.gitreview 0.3.4-0ubuntu8/.gitreview
--- 0.3.3-3/.gitreview	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/.gitreview	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-[gerrit]
-host=review.openstack.org
-port=29418
-project=openstack/os-xenapi.git
diff -pruN 0.3.3-3/AUTHORS 0.3.4-0ubuntu8/AUTHORS
--- 0.3.3-3/AUTHORS	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/AUTHORS	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1,17 @@
+Andreas Jaeger <aj@suse.com>
+Arundhati Surpur <arundhati@nectechnologies.in>
+Bob Ball <bob.ball@citrix.com>
+Doug Hellmann <doug@doughellmann.com>
+Huan Xie <huan.xie@citrix.com>
+Ihar Hrachyshka <ihrachys@redhat.com>
+Javier Pena <jpena@redhat.com>
+Jianghua Wang <jianghua.wang@citrix.com>
+John Hua <john.hua@citrix.com>
+Luong Anh Tuan <tuanla@vn.fujitsu.com>
+Thomas Goirand <zigo@debian.org>
+Tony Breeds <tony@bakeyournoodle.com>
+Vu Cong Tuan <tuanvc@vn.fujitsu.com>
+Zuul <zuul@review.openstack.org>
+jianghua wang <jianghua.wang@citrix.com>
+naichuans <naichuan.sun@citrix.com>
+wangqi <wang.qi@99cloud.net>
diff -pruN 0.3.3-3/ChangeLog 0.3.4-0ubuntu8/ChangeLog
--- 0.3.3-3/ChangeLog	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/ChangeLog	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1,164 @@
+CHANGES
+=======
+
+0.3.4
+-----
+
+* os-xenapi: change dom0 uuid get function
+* os-xenapi: add utility to setup guest VM logs
+* Replace file() with open() for Python 3 compatibility
+* Change neutron firewall driver to ovs
+* Remove the restriction that SR must be FS based SR
+* uncap eventlet
+
+0.3.3
+-----
+
+* Replace py33 with py35
+* VDI-Streaming: support customizing compress level
+* Update README for devstack tool to support LTSR only
+* Avoid using the module of future in xapi plugin
+* VDI-streaming: support non-default SR
+* Updated from global requirements
+* add lower-constraints job
+* Make os-xenapi package as universal
+* Fix random failures in test\_glance
+* Updated from global requirements
+
+0.3.2
+-----
+
+* Move the Devstack installation guide to sub dir: tools
+* Add reno for xenapi\_bootstrap
+* Use module name (\_\_name\_\_) for getLogger()
+* Fix for py3 compat
+* Kolla: Include bridge name for host's ipv4s
+* os-xenapi: Fix bugs related with sshclient modifications
+* os-xenapi: Add setting function to support logging
+* XenAPI-Kolla: Gather domU's vifs in facts
+* os-xenapi: refine ssh client to return error code
+* os-xenapi: Add utility to enable conntrack service
+* Fix compatibility issue when using netifaces
+* os-xenapi: enable linux bridge on dom0
+* Introduce command: xenapi\_bootstrap for kolla deployment
+* Kolla-on-XenServer: Add dom0's ip addresses into xenapi facts
+* os-xenapi: Add script for iptable configure
+* Refactor for get\_xenapi\_facts
+* Adding utils to install XAPI plugins to dom0
+* os-xenapi: add unit test for himn utils
+* Add a new command to get facts for XenAPI
+* Fix a format issue within ifcfg
+* os-xenapi: Add utils to support HIMN configure
+* Introduce an utility for ssh commands
+* Remove -U from pip install
+* Avoid tox\_install.sh for constraints support
+* Enable neutron ovs agent (q-domua) polling mode
+* Updated from global requirements
+* Updated from global requirements
+* Add more objects for XenAPI
+* Add reno for features in os-xenapi v0.3.1
+* Should enable n-novnc service for compute node
+
+0.3.1
+-----
+
+* os-xenapi: Fix configure driver creating issue
+* Set host=${dom0\_hostname} in related conf
+* Updated from global requirements
+* os-xenapi: fix tempest test error from glance
+* Updated from global requirements
+* os-xenapi: xe cmd failed after set disable journaling to true
+* os-xenapi: FS journaling flag failed to pass
+
+0.3.0
+-----
+
+* os-xenapi: Support deploying devstack in xapi-pool
+* Support VDI streaming
+* os-xenpai: add option to disable FS journaling
+* Updated from global requirements
+* Enable dstat service on all nodes
+* Use singleconductor mode
+* Avoid using sudo in non-interactive execution
+* Persist journald log storage
+* XenAPI: fix the ephemeral disk failure on XS7.x
+* os-xenapi: Add XAPI pools support for openstack on xenserver
+* There is no documentation for os-xenapi
+* Drop MANIFEST.in - it's not needed by pbr
+* Removed the older version of python and added 3.5
+* os-xenapi: fix CI to fit the change that glance-api use uwsgi
+* os-xenapi: Grammatical errors about swap host function
+* Revert "Replace basestring with six.string\_types"
+* Fix an error in VM migration with volumes
+* Replace basestring with six.string\_types
+* os-xenapi: Exception Error logs shown in Citrix XenServer CI
+* os-xenapi: Exception Error logs shown in Citrix XenServer CI
+* Support installing and testing multi-host OS
+* os-xenapi: fix ssh failure and modify jeos template name
+* os-xenapi: Add readme guild to xenserver devstack install script
+* os-xenapi: remove install dependence with devstack 2:
+* Updated from global requirements
+* Move install-devstack-xen.sh script from QA repo
+* Remove bittorrent related functions in dom0 plugin
+* Install conntrack and create image/kernel dir in Dom0
+* Fix coverage test errors in os-xenapi
+* os-xenapi: remove install dependence with devstack 1:
+* Make plugin installation supporting both master and stable branches
+* Updated from global requirements
+* Updated from global requirements
+
+0.2.0
+-----
+
+* XenAPI: add unit test for the plugin - glance: the last part
+* XenAPI: add unit test for Dom0 plugin xenhost.py: other
+* XenAPI: add unit test for Dom0 plugin xenhost.py: Network
+* XenAPI: add unit test for the plugin - glance: first part
+* XenAPI: add unit test for Dom0 plugin xenhost.py: conf opts
+* Devstack plugin add support of install ceilometer
+* Update copyrights for new added files in this repo
+* XenAPI: add unit test for Dom0 plugin xenhost.py: host opts
+* XenAPI: add unit test for Dom0 plugin xenhost.py: VM operations
+* XenAPI: add unit test for Dom0 plugin xenhost.py: run\_cmd tests
+* os-xenapi v2: Expose python interfaces for some Dom0 plugins
+* os-xenapi: add wrapper for complicated plugins
+* os-xenapi: add unit tests for agent.py
+* Revert "os-xenapi: add unit tests for agent.py"
+* os-xenapi: add unit tests for agent.py
+* os-xenapi: modify timeout setting to avoid long time test
+* os-xenapi: fix TypeError in agent.py when throws an exception
+* os-xenapi: add a maximum retry count for vbd unplug
+* Fix unit tests to be executed inside a chroot
+* Use os-xenapi for neutron dom0 plugin
+* Create ovs port with other params together
+* Move scripts of building rpm to os-xenapi
+* Updated from global requirements
+* Use default br-int for ovs-agent in Dom0
+* Enable neutron VxLAN
+* Set default value for host
+* Move image configuration from devstack to os-xenapi
+* Set defaults for Tempest
+* Install XenAPI for neutron
+* Add devstack-plugins in os-xenapi
+* Add Constraints support
+
+0.1.1
+-----
+
+* Remove uesless check
+* Minor fix for letfovers
+
+0.1.0
+-----
+
+* Fix metadata for first release
+* Fix coverage test configuration
+* Fix stderr.write error in XenAPI.py
+* Add dom0 plugins
+* Add XenAPI.py into os-xenapi repo
+* Updated from global requirements
+* Updated from global requirements
+* Add session support for os-xenapi
+* Updated from global requirements
+* Initial cookiecutter commit
+* Added .gitreview
diff -pruN 0.3.3-3/PKG-INFO 0.3.4-0ubuntu8/PKG-INFO
--- 0.3.3-3/PKG-INFO	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/PKG-INFO	2018-08-21 13:12:14.000000000 +0000
@@ -0,0 +1,60 @@
+Metadata-Version: 1.1
+Name: os-xenapi
+Version: 0.3.4
+Summary: XenAPI library for OpenStack projects
+Home-page: http://www.citrix.com
+Author: Citrix
+Author-email: openstack@citrix.com
+License: UNKNOWN
+Description: =========
+        os-xenapi
+        =========
+        
+        XenAPI library for OpenStack projects
+        
+        This library provides the support functions needed to connect to and manage a XenAPI-based
+        hypervisor, such as Citrix's XenServer.
+        
+        * Free software: Apache license
+        * Source: http://git.openstack.org/cgit/openstack/os-xenapi
+        * Bugs: http://bugs.launchpad.net/os-xenapi
+        * Install Devstack on XenServer: https://github.com/openstack/os-xenapi/blob/master/tools/README.rst
+        
+        Features
+        --------
+        
+        The following features are supported since 0.3.1:
+        
+        * VDI streaming
+          It will allow the library user to create XenServer VDI from a gzipped
+          image data stream; or create gzipped image data stream from a specified
+          XenServer VDI. By comparing to the existing dom0 glance plugin, the
+          image data gets processed on the fly via streams. So it doesn't create
+          intermediate files. And it completely uses the formal VDI import or
+          export APIs when it exchanges VDI data with XenServer.
+        
+        * XAPI pool
+          With this feature, we can deploy OpenStack on hosts which belong to a
+          XAPI pool, so that we can get the benefits from XAPI pool features:
+          e.g. it's able to live migrate instance between two hosts without
+          moving the disks on shared storage.
+        
+        The following features are supported since 0.3.2:
+        
+        * Bootstrap compute node via a single command
+          Now we can support to boostrap an OpenStack compute node by running the
+          command of ``xenapi_bootstrap`` from a VM which is running on XenServer.
+          At the moment, only CentOS 7.x is supported.
+        
+        
+Platform: UNKNOWN
+Classifier: Environment :: OpenStack
+Classifier: Intended Audience :: Information Technology
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: POSIX :: Linux
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
diff -pruN 0.3.3-3/RELEASENOTES.rst 0.3.4-0ubuntu8/RELEASENOTES.rst
--- 0.3.3-3/RELEASENOTES.rst	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/RELEASENOTES.rst	2018-08-21 13:12:14.000000000 +0000
@@ -0,0 +1,54 @@
+=========
+os-xenapi
+=========
+
+.. _os-xenapi_0.3.2:
+
+0.3.2
+=====
+
+.. _os-xenapi_0.3.2_New Features:
+
+New Features
+------------
+
+.. releasenotes/notes/compute-bootstrap-54cb5eb24b6ba133.yaml @ 9f31d2af8f3d7d8ac6f9f059ba97b8fce5477c25
+
+- Now we can support boostrap an OpenStack compute node by running the command of
+  ``xenapi_bootstrap`` from a VM which is running on XenServer. It will automatically
+  finish the following bootstrap tasks:
+  
+  * configure HIMN interface (firstly need add a VIF for the VM to connect to HIMN.)
+  
+  * configure iptalbes to allow OpenStack traffic between compute VM and Dom0.
+  
+  * install OpenStack XAPI plugins into Dom0
+  
+  * gather XenAPI facts and save them into a json file which can be used
+    as input for other OpenStack deployment tasks.
+  
+  * and other misc bootstrap operations: e.g. enable Linux bridge in Dom0.
+  
+  .. note::
+  
+         At the moment, ``xenapi_bootstrap`` only supports CentOS 7.x.
+
+.. releasenotes/notes/vdi-stream-536202fc2f0a4d0a.yaml @ b61ca2a13cd3d63da76fbd2c4aa2f61d94431724
+
+- The os-xenapi library now supports the VDI streaming feature which will
+  allow the library user to create XenServer VDI from a gzipped image data
+  stream; or create gzipped image data stream from a specified XenServer
+  VDI.
+  
+  By comparing to the existing dom0 glance plugin, the image data gets
+  processed on the fly via streams. So it doesn't create intermediate files.
+  And it completely uses the formal VDI import or export APIs when it
+  exchanges VDI data with XenServer.
+
+.. releasenotes/notes/xapi-pool-f6282fbca7c0690a.yaml @ b61ca2a13cd3d63da76fbd2c4aa2f61d94431724
+
+- The os-xenapi library now supports XAPI pool. We can deploy OpenStack on
+  hosts which belong to a XAPI pool, so that we can get the benefits from
+  XAPI pool features: e.g. it's able to live migrate between two hosts
+  without moving the disks on shared storage.
+
diff -pruN 0.3.3-3/debian/changelog 0.3.4-0ubuntu8/debian/changelog
--- 0.3.3-3/debian/changelog	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/changelog	2023-03-01 15:46:23.000000000 +0000
@@ -1,27 +1,65 @@
-python-os-xenapi (0.3.3-3) unstable; urgency=medium
+python-os-xenapi (0.3.4-0ubuntu8) lunar; urgency=medium
 
-  * override_dh_python3: dh_python3 --shebang=/usr/bin/python3.
+  * Rebuild to drop Python 3.10 extension
 
- -- Thomas Goirand <zigo@debian.org>  Fri, 28 Dec 2018 16:34:34 +0100
+ -- Jeremy Bicha <jbicha@ubuntu.com>  Wed, 01 Mar 2023 10:46:23 -0500
 
-python-os-xenapi (0.3.3-2) unstable; urgency=medium
+python-os-xenapi (0.3.4-0ubuntu7) jammy; urgency=medium
 
-  * Uploading to unstable.
+  * Add build-dependency on python3-mock
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 04 Sep 2018 23:53:41 +0200
+ -- Graham Inggs <ginggs@ubuntu.com>  Wed, 23 Mar 2022 13:42:47 +0000
 
-python-os-xenapi (0.3.3-1) experimental; urgency=medium
+python-os-xenapi (0.3.4-0ubuntu6) jammy; urgency=medium
 
-  [ Ondřej Nový ]
-  * d/control: Use team+openstack@tracker.debian.org as maintainer
+  * No-change rebuild with Python 3.10 only.
 
-  [ Thomas Goirand ]
-  * New upstream release.
-  * Removed py3-fixes.patch applied upstream.
-  * Fixed (build-)depends for this release.
-  * Using python3 to build the sphinx doc.
+ -- Matthias Klose <doko@ubuntu.com>  Thu, 17 Mar 2022 18:51:08 +0100
+
+python-os-xenapi (0.3.4-0ubuntu5) impish; urgency=medium
+
+  * Sync upload into repo.
+  * d/control: Update VCS paths for move to lp:~ubuntu-openstack-dev.
+  * d/control: Drop python-pbr build-depends and py2 dependencies.
+  * d/rules: Migrate to pybuild.
+
+ -- Chris MacNaughton <chris.macnaughton@ubuntu.com>  Wed, 23 Jun 2021 08:32:42 +0000
+
+python-os-xenapi (0.3.4-0ubuntu4) hirsute; urgency=medium
+
+  * No-change rebuild to drop python3.8 extensions.
+
+ -- Matthias Klose <doko@ubuntu.com>  Mon, 07 Dec 2020 18:42:57 +0100
+
+python-os-xenapi (0.3.4-0ubuntu3) focal; urgency=medium
+
+  * No-change rebuild to drop python3.7.
+
+ -- Matthias Klose <doko@ubuntu.com>  Tue, 18 Feb 2020 10:23:34 +0100
+
+python-os-xenapi (0.3.4-0ubuntu2) eoan; urgency=medium
+
+  * d/rules, d/control: Drop Python 2 support.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 28 Aug 2019 14:50:43 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Wed, 22 Aug 2018 23:01:25 +0200
+python-os-xenapi (0.3.4-0ubuntu1) disco; urgency=medium
+
+  * New upstream release for OpenStack Stein.
+
+ -- James Page <james.page@ubuntu.com>  Tue, 20 Nov 2018 14:58:11 +0000
+
+python-os-xenapi (0.3.3-0ubuntu1) cosmic; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Bump debhelper compat to 10.
+    - Enable autopkgtest-pkg-python.
+    - Use upstream release tarballs.
+  * New upstream release for OpenStack Rocky.
+  * d/p/*: Drop, no longer needed.
+  * Align (Build-)Depends with upstream.
+
+ -- James Page <james.page@ubuntu.com>  Thu, 14 Jun 2018 11:06:17 +0100
 
 python-os-xenapi (0.3.1-2) unstable; urgency=medium
 
@@ -44,6 +82,13 @@ python-os-xenapi (0.3.1-1) experimental;
 
  -- Thomas Goirand <zigo@debian.org>  Thu, 15 Feb 2018 07:39:02 +0000
 
+python-os-xenapi (0.3.1-0ubuntu1) bionic; urgency=medium
+
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- James Page <james.page@ubuntu.com>  Wed, 15 Nov 2017 14:09:51 +0000
+
 python-os-xenapi (0.2.0-2) unstable; urgency=medium
 
   [ Michal Arbet ]
@@ -57,3 +102,27 @@ python-os-xenapi (0.2.0-1) unstable; urg
   * Initial release. (Closes: #877981)
 
  -- Thomas Goirand <zigo@debian.org>  Sun, 08 Oct 2017 11:30:15 +0200
+
+python-os-xenapi (0.2.0-0ubuntu1) artful; urgency=medium
+
+  [ Chuck Short ]
+  * d/gbp.conf: Update gbp configuration file.
+  * d/control: Update Vcs-* links and maintainers.
+  * debian/rules:  Run the testsuite.
+
+  [ James Page ]
+  * d/watch: Correct upstream name.
+  * d/control: Align (Build-)Depends with upstream.
+  * New upstream release.
+  * d/rules: Rework unit test execution for upstream py3 blacklist.
+  * d/rules: Install Py 3 module in python3 package.
+  * d/rules: Install docs in -doc package.
+
+ -- James Page <james.page@ubuntu.com>  Fri, 09 Jun 2017 10:19:51 +0100
+
+python-os-xenapi (0.1.1-0ubuntu1) zesty; urgency=medium
+
+  * Initial release.
+
+ -- Chuck Short <zulcss@ubuntu.com>  Mon, 30 Jan 2017 21:11:16 -0500
+
diff -pruN 0.3.3-3/debian/compat 0.3.4-0ubuntu8/debian/compat
--- 0.3.3-3/debian/compat	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/compat	2021-06-23 08:32:42.000000000 +0000
@@ -1 +1 @@
-9
+10
\ No newline at end of file
diff -pruN 0.3.3-3/debian/control 0.3.4-0ubuntu8/debian/control
--- 0.3.3-3/debian/control	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/control	2022-03-23 13:33:32.000000000 +0000
@@ -1,76 +1,40 @@
 Source: python-os-xenapi
 Section: python
 Priority: optional
-Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: PKG OpenStack <openstack-devel@lists.alioth.debian.org>
 Uploaders:
  Thomas Goirand <zigo@debian.org>,
 Build-Depends:
- debhelper (>= 9),
+ debhelper (>= 10),
  dh-python,
  openstack-pkg-tools,
- python-all,
- python-pbr (>= 2.0.0),
- python-setuptools,
  python3-all,
  python3-pbr (>= 2.0.0),
  python3-setuptools,
  python3-sphinx (>= 1.6.2) <!nodoc>,
 Build-Depends-Indep:
- python-babel,
- python-coverage,
- python-eventlet,
- python-hacking,
- python-os-testr (>= 1.0.0),
- python-oslo.concurrency (>= 3.26.0),
- python-oslo.i18n (>= 3.15.3),
- python-oslo.log (>= 3.36.0),
- python-oslo.utils (>= 3.33.0),
- python-oslotest (>= 1:3.2.0),
- python-paramiko,
- python-six,
- python-testscenarios,
- python-testtools (>= 2.2.0),
  python3-babel,
  python3-eventlet,
+ python3-mock,
  python3-os-testr (>= 1.0.0),
- python3-oslo.concurrency (>= 3.26.0),
+ python3-oslo.concurrency (>= 3.20.0),
  python3-oslo.i18n (>= 3.15.3),
  python3-oslo.log (>= 3.36.0),
  python3-oslo.utils (>= 3.33.0),
  python3-oslosphinx,
- python3-oslotest (>= 1:3.2.0),
+ python3-oslotest (>= 1:1.10.0),
  python3-paramiko,
  python3-six,
  python3-testscenarios,
- python3-testtools (>= 2.2.0),
- subunit (>= 1.0.0),
+ python3-testtools,
+ subunit,
  testrepository,
 Standards-Version: 4.1.3
-Vcs-Browser: https://salsa.debian.org/openstack-team/libs/python-os-xenapi
-Vcs-Git: https://salsa.debian.org/openstack-team/libs/python-os-xenapi.git
+Vcs-Browser: https://git.launchpad.net/~ubuntu-openstack-dev/ubuntu/+source/python-os-xenapi
+Vcs-Git: git://git.launchpad.net/~ubuntu-openstack-dev/ubuntu/+source/python-os-xenapi
 Homepage: http://www.citrix.com
-
-Package: python-os-xenapi
-Architecture: all
-Depends:
- python-babel,
- python-eventlet,
- python-oslo.concurrency (>= 3.26.0),
- python-oslo.i18n (>= 3.15.3),
- python-oslo.log (>= 3.36.0),
- python-oslo.utils (>= 3.33.0),
- python-paramiko,
- python-pbr (>= 2.0.0),
- python-six,
- ${misc:Depends},
- ${python:Depends},
-Suggests:
- python-os-xenapi-doc,
-Description: XenAPI library for OpenStack projects - Python 2.7
- This library provides the support functions needed to connect to and manage a
- XenAPI-based hypervisor, such as Citrix's XenServer.
- .
- This package contains the Python 2.7 module.
+Testsuite: autopkgtest-pkg-python
 
 Package: python-os-xenapi-doc
 Section: doc
@@ -89,11 +53,10 @@ Architecture: all
 Depends:
  python3-babel,
  python3-eventlet,
- python3-oslo.concurrency (>= 3.26.0),
+ python3-oslo.concurrency (>= 3.20.0),
  python3-oslo.i18n (>= 3.15.3),
  python3-oslo.log (>= 3.36.0),
  python3-oslo.utils (>= 3.33.0),
- python3-paramiko,
  python3-pbr (>= 2.0.0),
  python3-six,
  ${misc:Depends},
diff -pruN 0.3.3-3/debian/gbp.conf 0.3.4-0ubuntu8/debian/gbp.conf
--- 0.3.3-3/debian/gbp.conf	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/gbp.conf	2021-06-23 08:32:42.000000000 +0000
@@ -0,0 +1,7 @@
+[DEFAULT]
+debian-branch = master
+upstream-tag = %(version)s
+pristine-tar = True
+
+[buildpackage]
+export-dir = ../build-area
diff -pruN 0.3.3-3/debian/python-os-xenapi-doc.doc-base 0.3.4-0ubuntu8/debian/python-os-xenapi-doc.doc-base
--- 0.3.3-3/debian/python-os-xenapi-doc.doc-base	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/python-os-xenapi-doc.doc-base	1970-01-01 00:00:00.000000000 +0000
@@ -1,9 +0,0 @@
-Document: python-os-xenapi-doc
-Title: os-xenapi Documentation
-Author: N/A
-Abstract: Sphinx documentation for os-xenapi
-Section: Programming/Python
-
-Format: HTML
-Index: /usr/share/doc/python-os-xenapi-doc/html/index.html
-Files: /usr/share/doc/python-os-xenapi-doc/html/*
diff -pruN 0.3.3-3/debian/rules 0.3.4-0ubuntu8/debian/rules
--- 0.3.3-3/debian/rules	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/rules	2021-06-23 08:32:42.000000000 +0000
@@ -4,26 +4,35 @@ UPSTREAM_GIT := https://github.com/opens
 include /usr/share/openstack-pkg-tools/pkgos.make
 
 %:
-	dh $@ --buildsystem=python_distutils --with python2,python3,sphinxdoc
+	dh $@ --buildsystem=pybuild --with python3,sphinxdoc
 
 override_dh_auto_install:
-	pkgos-dh_auto_install
+	pkgos-dh_auto_install --no-py2
 
 override_dh_auto_test:
 ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
-	pkgos-dh_auto_test 'os_xenapi\.tests\.((?!.*plugins\.test_agent\.AgentTestCase\.test_inject_file_with_old_agent.*|.*plugins\.test_xenhost\.NetworkTestCase\.test_iptables_config.*|.*plugins\.test_glance\.GlanceTestCase\.test_download_ok_verify_failed.*))'
+	pkgos-dh_auto_test --no-py2 'os_xenapi\.tests\.((?!.*plugins\.test_agent\.AgentTestCase\.test_inject_file_with_old_agent.*|.*plugins\.test_xenhost\.NetworkTestCase\.test_iptables_config.*|.*plugins\.test_glance\.GlanceTestCase\.test_download_ok_verify_failed.*))'
 endif
 
 
 override_dh_sphinxdoc:
 ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
-	PYTHONPATH=. python3 -m sphinx -b html doc/source debian/python-os-xenapi-doc/usr/share/doc/python-os-xenapi-doc/html
+	sphinx-build -b html doc/source debian/python-os-xenapi-doc/usr/share/doc/python-os-xenapi-doc/html
 	dh_sphinxdoc -O--buildsystem=python_distutils
 endif
 
 override_dh_clean:
-	dh_clean -O--buildsystem=python_distutils
+	dh_clean -O--buildsystem=pybuild
 	rm -rf build
 
-override_dh_python3:
-	dh_python3 --shebang=/usr/bin/python3
+
+# Commands not to run
+override_dh_installcatalogs:
+override_dh_installemacsen override_dh_installifupdown:
+override_dh_installinfo override_dh_installmenu override_dh_installmime:
+override_dh_installmodules override_dh_installlogcheck:
+override_dh_installpam override_dh_installppp override_dh_installudev override_dh_installwm:
+override_dh_installxfonts override_dh_gconf override_dh_icons override_dh_perl override_dh_usrlocal:
+override_dh_installcron override_dh_installdebconf:
+override_dh_installlogrotate override_dh_installgsettings:
+
diff -pruN 0.3.3-3/debian/watch 0.3.4-0ubuntu8/debian/watch
--- 0.3.3-3/debian/watch	2018-12-28 15:34:34.000000000 +0000
+++ 0.3.4-0ubuntu8/debian/watch	2021-06-23 08:32:42.000000000 +0000
@@ -1,4 +1,3 @@
 version=3
-opts=uversionmangle=s/(rc|a|b|c)/~$1/ \
-https://pypi.debian.net/os-xenapi/os-xenapi-(.+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
-
+opts="uversionmangle=s/\.([a-zA-Z])/~$1/;s/%7E/~/;s/\.0b/~b/;s/\.0rc/~rc/" \
+ http://tarballs.openstack.org/os-xenapi/ os-xenapi-(\d.*)\.tar\.gz
diff -pruN 0.3.3-3/devstack/plugin.sh 0.3.4-0ubuntu8/devstack/plugin.sh
--- 0.3.3-3/devstack/plugin.sh	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/devstack/plugin.sh	2018-08-21 13:08:28.000000000 +0000
@@ -155,6 +155,13 @@ function config_ovs_agent {
     iniset $NEUTRON_CORE_PLUGIN_CONF.domU ovs ovsdb_connection tcp:$dom0_ip:$DOM0_OVSDB_PORT
     iniset $NEUTRON_CORE_PLUGIN_CONF.domU ovs of_listen_address $HOST_IP
 
+    # Neutron has changed to openvswitch as default firewall driver, see patch:
+    # https://review.openstack.org/#/c/568297/1
+    # But we cannot change to openvswitch as XenServer LTSR release is using ovs 2.3.2,
+    # not ovs 2.5, so set the firewall driver back to iptables_hybrid
+    iniset $NEUTRON_CORE_PLUGIN_CONF.domU securitygroup firewall_driver iptables_hybrid
+    iniset $NEUTRON_CORE_PLUGIN_CONF securitygroup firewall_driver iptables_hybrid
+
     if [[ "$ENABLE_TENANT_VLANS" == "True" ]]; then
         # Create a bridge "br-$VLAN_INTERFACE" and add port
         _neutron_ovs_base_add_bridge "br-$VLAN_INTERFACE"
diff -pruN 0.3.3-3/lower-constraints.txt 0.3.4-0ubuntu8/lower-constraints.txt
--- 0.3.3-3/lower-constraints.txt	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/lower-constraints.txt	2018-08-21 13:08:28.000000000 +0000
@@ -32,7 +32,7 @@ netaddr==0.7.18
 netifaces==0.10.4
 os-client-config==1.28.0
 os-testr==1.0.0
-oslo.concurrency==3.25.0
+oslo.concurrency==3.26.0
 oslo.config==5.2.0
 oslo.context==2.19.2
 oslo.i18n==3.15.3
@@ -61,7 +61,7 @@ requestsexceptions==1.2.0
 rfc3986==0.3.1
 six==1.10.0
 snowballstemmer==1.2.1
-Sphinx==1.6.5
+Sphinx==1.6.2
 sphinxcontrib-websupport==1.0.1
 stestr==1.0.0
 stevedore==1.20.0
diff -pruN 0.3.3-3/os_xenapi/cmd/bootstrap.py 0.3.4-0ubuntu8/os_xenapi/cmd/bootstrap.py
--- 0.3.3-3/os_xenapi/cmd/bootstrap.py	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi/cmd/bootstrap.py	2018-08-21 13:08:28.000000000 +0000
@@ -24,6 +24,7 @@ import sys
 
 from os_xenapi.utils.common_conf import enable_linux_bridge
 from os_xenapi.utils.common_function import setup_logging
+from os_xenapi.utils.consoles import setup_guest_console_log
 from os_xenapi.utils.himn import config_himn
 from os_xenapi.utils.iptables import config_iptables
 from os_xenapi.utils.sshclient import SSHClient
@@ -107,6 +108,7 @@ def main():
     config_iptables(dom0_client)
     install_plugins_to_dom0(dom0_client)
     enable_linux_bridge(dom0_client)
+    setup_guest_console_log(dom0_client)
 
     # Gather XenAPI relative facts and save them into file.
     get_and_store_facts(dom0_client, facts_file)
diff -pruN 0.3.3-3/os_xenapi/dom0/etc/xapi.d/plugins/xenhost.py 0.3.4-0ubuntu8/os_xenapi/dom0/etc/xapi.d/plugins/xenhost.py
--- 0.3.3-3/os_xenapi/dom0/etc/xapi.d/plugins/xenhost.py	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi/dom0/etc/xapi.d/plugins/xenhost.py	2018-08-21 13:08:28.000000000 +0000
@@ -132,7 +132,7 @@ def set_host_enabled(self, arg_dict):
 
 
 def _write_config_dict(dct):
-    conf_file = file(config_file_path, "w")
+    conf_file = open(config_file_path, 'w')
     json.dump(dct, conf_file)
     conf_file.close()
 
@@ -144,7 +144,7 @@ def _get_config_dict():
     is returned.
     """
     try:
-        conf_file = file(config_file_path)
+        conf_file = open(config_file_path, 'r')
         config_dct = json.load(conf_file)
         conf_file.close()
     except IOError:
diff -pruN 0.3.3-3/os_xenapi/tests/cmd/test_bootstrap.py 0.3.4-0ubuntu8/os_xenapi/tests/cmd/test_bootstrap.py
--- 0.3.3-3/os_xenapi/tests/cmd/test_bootstrap.py	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi/tests/cmd/test_bootstrap.py	2018-08-21 13:08:28.000000000 +0000
@@ -71,6 +71,7 @@ class GetXenapiFactsTestCase(base.TestCa
 
     @mock.patch.object(bootstrap, '_parse_args')
     @mock.patch.object(bootstrap, 'SSHClient')
+    @mock.patch.object(bootstrap, 'setup_guest_console_log')
     @mock.patch.object(bootstrap, 'config_himn')
     @mock.patch.object(bootstrap, 'config_iptables')
     @mock.patch.object(bootstrap, 'install_plugins_to_dom0')
@@ -78,8 +79,8 @@ class GetXenapiFactsTestCase(base.TestCa
     @mock.patch.object(bootstrap, 'enable_linux_bridge')
     @mock.patch.object(bootstrap, 'setup_logging')
     def test_bootstrap(self, mock_setup_logging, mock_enable_lbr, mock_facts,
-                       mock_plugin, mock_iptables, mock_himn, mock_client,
-                       mock_parse):
+                       mock_plugin, mock_iptables, mock_himn, mock_guest_log,
+                       mock_client, mock_parse):
         fake_opts = {'himn-ip': '169.254.0.1',
                      'passwd': 'passwd',
                      'user-name': 'root'}
@@ -96,3 +97,4 @@ class GetXenapiFactsTestCase(base.TestCa
                                       bootstrap.DEF_XENAPI_FACTS_FILE)
         mock_enable_lbr.assert_called_with(mock.sentinel.sshclient)
         mock_setup_logging.assert_called_once_with(log_level=logging.DEBUG)
+        mock_guest_log.assert_called_once_with(mock.sentinel.sshclient)
diff -pruN 0.3.3-3/os_xenapi/utils/consoles.py 0.3.4-0ubuntu8/os_xenapi/utils/consoles.py
--- 0.3.3-3/os_xenapi/utils/consoles.py	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi/utils/consoles.py	2018-08-21 13:08:28.000000000 +0000
@@ -0,0 +1,54 @@
+#!/usr/bin/env python
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+"""console utils
+
+It contains the utilities relative to guest VM console logs collecting."""
+import os
+import sys
+
+from os_xenapi.utils import sshclient
+from os_xenapi.utils import xapi_plugin
+
+OS_XENAPI_PKG = 'os-xenapi'
+
+
+def exit_with_error(err_msg):
+    sys.stderr.write(err_msg)
+    sys.exit(1)
+
+
+def setup_guest_console_log(dom0_client):
+    "Install console logrotate script"
+    dom0_client.ssh('mkdir -p /var/log/xen/guest')
+    dom0_client.ssh('mkdir -p /opt/xensource/bin')
+    is_tmp_dir, os_xenapi_dir = xapi_plugin.get_os_xenapi_dir()
+    dom0_client.scp(
+        os_xenapi_dir + "/os_xenapi/utils/rotate_xen_guest_logs.sh",
+        os.path.join("/opt/xensource/bin/", 'rotate_xen_guest_logs.sh'))
+    dom0_client.ssh('''crontab - << CRONTAB
+* * * * * /opt/xensource/bin/rotate_xen_guest_logs.sh >/dev/null 2>&1
+CRONTAB''')
+
+
+if __name__ == '__main__':
+    if len(sys.argv) != 4:
+        exit_with_error("Wrong parameters input.")
+    dom0_himn_ip, user_name, password = sys.argv[1:]
+    try:
+        client = sshclient.SSHClient(dom0_himn_ip, user_name, password)
+    except Exception:
+        exit_with_error("Create connection failed, ip: %(dom0_himn_ip)s,"
+                        " user_name: %(user_name)s" %
+                        {'dom0_himn_ip': dom0_himn_ip, 'user_name': user_name})
+    setup_guest_console_log(client)
diff -pruN 0.3.3-3/os_xenapi/utils/rotate_xen_guest_logs.sh 0.3.4-0ubuntu8/os_xenapi/utils/rotate_xen_guest_logs.sh
--- 0.3.3-3/os_xenapi/utils/rotate_xen_guest_logs.sh	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi/utils/rotate_xen_guest_logs.sh	2018-08-21 13:08:28.000000000 +0000
@@ -0,0 +1,70 @@
+#!/bin/bash
+set -eux
+
+# Script to rotate console logs
+#
+# Should be run on Dom0, with cron, every minute:
+# * * * * * /root/rotate_xen_guest_logs.sh
+#
+# Should clear out the guest logs on every boot
+# because the domain ids may get re-used for a
+# different tenant after the reboot
+#
+# /var/log/xen/guest could be mounted into a
+# small loopback device to stop any guest being
+# able to fill dom0 file system
+
+log_dir="/var/log/xen/guest"
+kb=1024
+mb=1048576
+max_size_bytes=$((1*$mb))
+truncated_size_bytes=$((5*$kb))
+syslog_tag='rotate_xen_guest_logs'
+
+log_file_base="${log_dir}/console."
+
+# Only delete log files older than this number of minutes
+# to avoid a race where Xen creates the domain and starts
+# logging before the XAPI VM start returns (and allows us
+# to preserve the log file using last_dom_id)
+min_logfile_age=10
+
+# Ensure logging is setup correctly for all domains
+xenstore-write /local/logconsole/@ "${log_file_base}%d"
+
+# Grab the list of logs now to prevent a race where the domain is
+# started after we get the valid last_dom_ids, but before the logs are
+# deleted.  Add spaces to ensure we can do containment tests below
+current_logs=$(find "$log_dir" -type f)
+
+# Ensure the last_dom_id is set + updated for all running VMs
+for vm in $(xe vm-list power-state=running --minimal | tr ',' ' '); do
+    xe vm-param-set uuid=$vm other-config:last_dom_id=$(xe vm-param-get uuid=$vm param-name=dom-id)
+done
+
+# Get the last_dom_id for all VMs
+valid_last_dom_ids=$(xe vm-list params=other-config --minimal | tr ';,' '\n\n' | grep last_dom_id | sed -e 's/last_dom_id: //g' | xargs)
+echo "Valid dom IDs: $valid_last_dom_ids" | /usr/bin/logger -t $syslog_tag
+
+# Remove old console files that do not correspond to valid last_dom_id's
+allowed_consoles=".*console.\(${valid_last_dom_ids// /\\|}\)$"
+delete_logs=`find "$log_dir" -type f -mmin +${min_logfile_age} -not -regex "$allowed_consoles"`
+for log in $delete_logs; do
+    if echo "$current_logs" | grep -q -w "$log"; then
+        echo "Deleting: $log" | /usr/bin/logger -t $syslog_tag
+        rm $log
+    fi
+done
+
+# Truncate all remaining logs
+for log in `find "$log_dir" -type f -regex '.*console.*' -size +${max_size_bytes}c`; do
+    echo "Truncating log: $log" | /usr/bin/logger -t $syslog_tag
+    tmp="$log.tmp"
+    tail -c $truncated_size_bytes "$log" > "$tmp"
+    mv -f "$tmp" "$log"
+
+    # Notify xen that it needs to reload the file
+    domid="${log##*.}"
+    xenstore-write /local/logconsole/$domid "$log"
+    xenstore-rm /local/logconsole/$domid
+done
diff -pruN 0.3.3-3/os_xenapi.egg-info/PKG-INFO 0.3.4-0ubuntu8/os_xenapi.egg-info/PKG-INFO
--- 0.3.3-3/os_xenapi.egg-info/PKG-INFO	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/PKG-INFO	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1,60 @@
+Metadata-Version: 1.1
+Name: os-xenapi
+Version: 0.3.4
+Summary: XenAPI library for OpenStack projects
+Home-page: http://www.citrix.com
+Author: Citrix
+Author-email: openstack@citrix.com
+License: UNKNOWN
+Description: =========
+        os-xenapi
+        =========
+        
+        XenAPI library for OpenStack projects
+        
+        This library provides the support functions needed to connect to and manage a XenAPI-based
+        hypervisor, such as Citrix's XenServer.
+        
+        * Free software: Apache license
+        * Source: http://git.openstack.org/cgit/openstack/os-xenapi
+        * Bugs: http://bugs.launchpad.net/os-xenapi
+        * Install Devstack on XenServer: https://github.com/openstack/os-xenapi/blob/master/tools/README.rst
+        
+        Features
+        --------
+        
+        The following features are supported since 0.3.1:
+        
+        * VDI streaming
+          It will allow the library user to create XenServer VDI from a gzipped
+          image data stream; or create gzipped image data stream from a specified
+          XenServer VDI. By comparing to the existing dom0 glance plugin, the
+          image data gets processed on the fly via streams. So it doesn't create
+          intermediate files. And it completely uses the formal VDI import or
+          export APIs when it exchanges VDI data with XenServer.
+        
+        * XAPI pool
+          With this feature, we can deploy OpenStack on hosts which belong to a
+          XAPI pool, so that we can get the benefits from XAPI pool features:
+          e.g. it's able to live migrate instance between two hosts without
+          moving the disks on shared storage.
+        
+        The following features are supported since 0.3.2:
+        
+        * Bootstrap compute node via a single command
+          Now we can support to boostrap an OpenStack compute node by running the
+          command of ``xenapi_bootstrap`` from a VM which is running on XenServer.
+          At the moment, only CentOS 7.x is supported.
+        
+        
+Platform: UNKNOWN
+Classifier: Environment :: OpenStack
+Classifier: Intended Audience :: Information Technology
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: POSIX :: Linux
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 2
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
diff -pruN 0.3.3-3/os_xenapi.egg-info/SOURCES.txt 0.3.4-0ubuntu8/os_xenapi.egg-info/SOURCES.txt
--- 0.3.3-3/os_xenapi.egg-info/SOURCES.txt	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/SOURCES.txt	2018-08-21 13:12:14.000000000 +0000
@@ -0,0 +1,147 @@
+.coveragerc
+.mailmap
+.testr.conf
+.zuul.yaml
+AUTHORS
+CONTRIBUTING.rst
+ChangeLog
+HACKING.rst
+LICENSE
+Makefile
+README.rst
+babel.cfg
+exclusion_py3.txt
+lower-constraints.txt
+requirements.txt
+setup.cfg
+setup.py
+test-requirements.txt
+tox.ini
+devstack/README.rst
+devstack/dom0_functions
+devstack/override-defaults
+devstack/plugin.sh
+devstack/settings
+doc/source/conf.py
+doc/source/contributing.rst
+doc/source/index.rst
+doc/source/installation.rst
+doc/source/readme.rst
+doc/source/usage.rst
+os_xenapi/__init__.py
+os_xenapi.egg-info/PKG-INFO
+os_xenapi.egg-info/SOURCES.txt
+os_xenapi.egg-info/dependency_links.txt
+os_xenapi.egg-info/entry_points.txt
+os_xenapi.egg-info/not-zip-safe
+os_xenapi.egg-info/pbr.json
+os_xenapi.egg-info/requires.txt
+os_xenapi.egg-info/top_level.txt
+os_xenapi/client/XenAPI.py
+os_xenapi/client/__init__.py
+os_xenapi/client/disk_management.py
+os_xenapi/client/exception.py
+os_xenapi/client/host_agent.py
+os_xenapi/client/host_glance.py
+os_xenapi/client/host_management.py
+os_xenapi/client/host_network.py
+os_xenapi/client/host_xenstore.py
+os_xenapi/client/i18n.py
+os_xenapi/client/objects.py
+os_xenapi/client/session.py
+os_xenapi/client/utils.py
+os_xenapi/client/vm_management.py
+os_xenapi/client/image/__init__.py
+os_xenapi/client/image/vdi_handler.py
+os_xenapi/client/image/vhd_utils.py
+os_xenapi/cmd/__init__.py
+os_xenapi/cmd/bootstrap.py
+os_xenapi/dom0/README
+os_xenapi/dom0/xenapi-plugins.spec
+os_xenapi/dom0/etc/xapi.d/plugins/agent.py
+os_xenapi/dom0/etc/xapi.d/plugins/bandwidth.py
+os_xenapi/dom0/etc/xapi.d/plugins/config_file.py
+os_xenapi/dom0/etc/xapi.d/plugins/console.py
+os_xenapi/dom0/etc/xapi.d/plugins/dom0_plugin_version.py
+os_xenapi/dom0/etc/xapi.d/plugins/dom0_pluginlib.py
+os_xenapi/dom0/etc/xapi.d/plugins/glance.py
+os_xenapi/dom0/etc/xapi.d/plugins/ipxe.py
+os_xenapi/dom0/etc/xapi.d/plugins/kernel.py
+os_xenapi/dom0/etc/xapi.d/plugins/migration.py
+os_xenapi/dom0/etc/xapi.d/plugins/netwrap.py
+os_xenapi/dom0/etc/xapi.d/plugins/partition_utils.py
+os_xenapi/dom0/etc/xapi.d/plugins/utils.py
+os_xenapi/dom0/etc/xapi.d/plugins/workarounds.py
+os_xenapi/dom0/etc/xapi.d/plugins/xenhost.py
+os_xenapi/dom0/etc/xapi.d/plugins/xenstore.py
+os_xenapi/tests/__init__.py
+os_xenapi/tests/base.py
+os_xenapi/tests/test_os_xenapi.py
+os_xenapi/tests/client/__init__.py
+os_xenapi/tests/client/test_host_glance.py
+os_xenapi/tests/client/test_objects.py
+os_xenapi/tests/client/test_session.py
+os_xenapi/tests/client/test_utils.py
+os_xenapi/tests/client/image/__init__.py
+os_xenapi/tests/client/image/test_init.py
+os_xenapi/tests/client/image/test_vdi_handler.py
+os_xenapi/tests/client/image/test_vhd_utils.py
+os_xenapi/tests/cmd/__init__.py
+os_xenapi/tests/cmd/test_bootstrap.py
+os_xenapi/tests/plugins/__init__.py
+os_xenapi/tests/plugins/plugin_test.py
+os_xenapi/tests/plugins/test_agent.py
+os_xenapi/tests/plugins/test_bandwidth.py
+os_xenapi/tests/plugins/test_dom0_plugin_version.py
+os_xenapi/tests/plugins/test_dom0_pluginlib.py
+os_xenapi/tests/plugins/test_glance.py
+os_xenapi/tests/plugins/test_partition_utils.py
+os_xenapi/tests/plugins/test_xenhost.py
+os_xenapi/tests/utils/__init__.py
+os_xenapi/tests/utils/test_common_conf.py
+os_xenapi/tests/utils/test_common_function.py
+os_xenapi/tests/utils/test_conntrack_service.py
+os_xenapi/tests/utils/test_himn.py
+os_xenapi/tests/utils/test_iptable.py
+os_xenapi/tests/utils/test_sshclient.py
+os_xenapi/tests/utils/test_xapi_plugin.py
+os_xenapi/tests/utils/test_xenapi_facts.py
+os_xenapi/utils/__init__.py
+os_xenapi/utils/common_conf.py
+os_xenapi/utils/common_function.py
+os_xenapi/utils/conntrack_service.py
+os_xenapi/utils/consoles.py
+os_xenapi/utils/himn.py
+os_xenapi/utils/iptables.py
+os_xenapi/utils/rotate_xen_guest_logs.sh
+os_xenapi/utils/sshclient.py
+os_xenapi/utils/xapi_plugin.py
+os_xenapi/utils/xenapi_facts.py
+os_xenapi/utils/shell_tools/enable_conntrack.sh
+os_xenapi/utils/shell_tools/install_conntrack.sh
+releasenotes/notes/.placeholder
+releasenotes/notes/compute-bootstrap-54cb5eb24b6ba133.yaml
+releasenotes/notes/vdi-stream-536202fc2f0a4d0a.yaml
+releasenotes/notes/xapi-pool-f6282fbca7c0690a.yaml
+releasenotes/source/conf.py
+releasenotes/source/index.rst
+releasenotes/source/unreleased.rst
+releasenotes/source/_static/.placeholder
+releasenotes/source/_templates/.placeholder
+tools/README.rst
+tools/install-devstack-xen.sh
+tools/install_on_xen_host.sh
+tools/install/create_ubuntu_template.sh
+tools/install/common/functions
+tools/install/conf/ubuntupreseed.cfg
+tools/install/conf/xenrc
+tools/install/devstack/install_devstack.sh
+tools/install/scripts/install-os-vpx.sh
+tools/install/scripts/install_ubuntu_template.sh
+tools/install/scripts/manage-vdi
+tools/install/scripts/on_exit.sh
+tools/install/scripts/persist_domU_interfaces.sh
+tools/install/scripts/prepare_guest.sh
+tools/install/scripts/prepare_guest_template.sh
+tools/install/scripts/ubuntu_latecommand.sh
+tools/install/scripts/uninstall-os-vpx.sh
\ No newline at end of file
diff -pruN 0.3.3-3/os_xenapi.egg-info/dependency_links.txt 0.3.4-0ubuntu8/os_xenapi.egg-info/dependency_links.txt
--- 0.3.3-3/os_xenapi.egg-info/dependency_links.txt	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/dependency_links.txt	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1 @@
+
diff -pruN 0.3.3-3/os_xenapi.egg-info/entry_points.txt 0.3.4-0ubuntu8/os_xenapi.egg-info/entry_points.txt
--- 0.3.3-3/os_xenapi.egg-info/entry_points.txt	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/entry_points.txt	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1,3 @@
+[console_scripts]
+xenapi_bootstrap = os_xenapi.cmd.bootstrap:main
+
diff -pruN 0.3.3-3/os_xenapi.egg-info/not-zip-safe 0.3.4-0ubuntu8/os_xenapi.egg-info/not-zip-safe
--- 0.3.3-3/os_xenapi.egg-info/not-zip-safe	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/not-zip-safe	2018-08-21 13:11:59.000000000 +0000
@@ -0,0 +1 @@
+
diff -pruN 0.3.3-3/os_xenapi.egg-info/pbr.json 0.3.4-0ubuntu8/os_xenapi.egg-info/pbr.json
--- 0.3.3-3/os_xenapi.egg-info/pbr.json	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/pbr.json	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1 @@
+{"git_version": "12c68d0", "is_release": true}
\ No newline at end of file
diff -pruN 0.3.3-3/os_xenapi.egg-info/requires.txt 0.3.4-0ubuntu8/os_xenapi.egg-info/requires.txt
--- 0.3.3-3/os_xenapi.egg-info/requires.txt	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/requires.txt	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1,9 @@
+pbr!=2.1.0,>=2.0.0
+Babel!=2.4.0,>=2.3.4
+eventlet!=0.18.3,!=0.20.1,>=0.18.2
+oslo.concurrency>=3.26.0
+oslo.log>=3.36.0
+oslo.utils>=3.33.0
+oslo.i18n>=3.15.3
+paramiko>=2.0.0
+six>=1.10.0
diff -pruN 0.3.3-3/os_xenapi.egg-info/top_level.txt 0.3.4-0ubuntu8/os_xenapi.egg-info/top_level.txt
--- 0.3.3-3/os_xenapi.egg-info/top_level.txt	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/os_xenapi.egg-info/top_level.txt	2018-08-21 13:12:13.000000000 +0000
@@ -0,0 +1 @@
+os_xenapi
diff -pruN 0.3.3-3/releasenotes/notes/reno.cache 0.3.4-0ubuntu8/releasenotes/notes/reno.cache
--- 0.3.3-3/releasenotes/notes/reno.cache	1970-01-01 00:00:00.000000000 +0000
+++ 0.3.4-0ubuntu8/releasenotes/notes/reno.cache	2018-08-21 13:12:14.000000000 +0000
@@ -0,0 +1,50 @@
+---
+file-contents:
+  releasenotes/notes/compute-bootstrap-54cb5eb24b6ba133.yaml:
+    features: ["Now we can support boostrap an OpenStack compute node by running the\
+        \ command of\n``xenapi_bootstrap`` from a VM which is running on XenServer.\
+        \ It will automatically\nfinish the following bootstrap tasks:\n\n* configure\
+        \ HIMN interface (firstly need add a VIF for the VM to connect to HIMN.)\n\
+        \n* configure iptalbes to allow OpenStack traffic between compute VM and Dom0.\n\
+        \n* install OpenStack XAPI plugins into Dom0\n\n* gather XenAPI facts and\
+        \ save them into a json file which can be used\n  as input for other OpenStack\
+        \ deployment tasks.\n\n* and other misc bootstrap operations: e.g. enable\
+        \ Linux bridge in Dom0.\n\n.. note::\n\n       At the moment, ``xenapi_bootstrap``\
+        \ only supports CentOS 7.x.\n"]
+  releasenotes/notes/vdi-stream-536202fc2f0a4d0a.yaml:
+    features: ['The os-xenapi library now supports the VDI streaming feature which
+        will
+
+        allow the library user to create XenServer VDI from a gzipped image data
+
+        stream; or create gzipped image data stream from a specified XenServer
+
+        VDI.
+
+
+        By comparing to the existing dom0 glance plugin, the image data gets
+
+        processed on the fly via streams. So it doesn''t create intermediate files.
+
+        And it completely uses the formal VDI import or export APIs when it
+
+        exchanges VDI data with XenServer.
+
+        ']
+  releasenotes/notes/xapi-pool-f6282fbca7c0690a.yaml:
+    features: ['The os-xenapi library now supports XAPI pool. We can deploy OpenStack
+        on
+
+        hosts which belong to a XAPI pool, so that we can get the benefits from
+
+        XAPI pool features: e.g. it''s able to live migrate between two hosts
+
+        without moving the disks on shared storage.
+
+        ']
+notes:
+- files:
+  - [releasenotes/notes/compute-bootstrap-54cb5eb24b6ba133.yaml, 9f31d2af8f3d7d8ac6f9f059ba97b8fce5477c25]
+  - [releasenotes/notes/vdi-stream-536202fc2f0a4d0a.yaml, b61ca2a13cd3d63da76fbd2c4aa2f61d94431724]
+  - [releasenotes/notes/xapi-pool-f6282fbca7c0690a.yaml, b61ca2a13cd3d63da76fbd2c4aa2f61d94431724]
+  version: 0.3.2
diff -pruN 0.3.3-3/requirements.txt 0.3.4-0ubuntu8/requirements.txt
--- 0.3.3-3/requirements.txt	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/requirements.txt	2018-08-21 13:08:28.000000000 +0000
@@ -5,7 +5,7 @@
 pbr!=2.1.0,>=2.0.0 # Apache-2.0
 Babel!=2.4.0,>=2.3.4 # BSD
 
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
 oslo.concurrency>=3.26.0 # Apache-2.0
 oslo.log>=3.36.0 # Apache-2.0
 oslo.utils>=3.33.0 # Apache-2.0
diff -pruN 0.3.3-3/setup.cfg 0.3.4-0ubuntu8/setup.cfg
--- 0.3.3-3/setup.cfg	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/setup.cfg	2018-08-21 13:12:14.000000000 +0000
@@ -1,30 +1,30 @@
 [metadata]
 name = os-xenapi
 summary = XenAPI library for OpenStack projects
-description-file =
-    README.rst
+description-file = 
+	README.rst
 author = Citrix
 author-email = openstack@citrix.com
 home-page = http://www.citrix.com
-classifier =
-    Environment :: OpenStack
-    Intended Audience :: Information Technology
-    Intended Audience :: System Administrators
-    License :: OSI Approved :: Apache Software License
-    Operating System :: POSIX :: Linux
-    Programming Language :: Python
-    Programming Language :: Python :: 2
-    Programming Language :: Python :: 2.7
-    Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.5
+classifier = 
+	Environment :: OpenStack
+	Intended Audience :: Information Technology
+	Intended Audience :: System Administrators
+	License :: OSI Approved :: Apache Software License
+	Operating System :: POSIX :: Linux
+	Programming Language :: Python
+	Programming Language :: Python :: 2
+	Programming Language :: Python :: 2.7
+	Programming Language :: Python :: 3
+	Programming Language :: Python :: 3.5
 
 [files]
-packages =
-    os_xenapi
+packages = 
+	os_xenapi
 
 [entry_points]
-console_scripts =
-    xenapi_bootstrap = os_xenapi.cmd.bootstrap:main
+console_scripts = 
+	xenapi_bootstrap = os_xenapi.cmd.bootstrap:main
 
 [build_sphinx]
 source-dir = doc/source
@@ -55,3 +55,8 @@ source-dir = releasenotes/source
 
 [wheel]
 universal = 1
+
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff -pruN 0.3.3-3/tools/install/devstack/install_devstack.sh 0.3.4-0ubuntu8/tools/install/devstack/install_devstack.sh
--- 0.3.3-3/tools/install/devstack/install_devstack.sh	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/tools/install/devstack/install_devstack.sh	2018-08-21 13:08:28.000000000 +0000
@@ -174,7 +174,7 @@ append_kernel_cmdline "$DEV_STACK_DOMU_N
 if [ "$DISABLE_JOURNALING" = "true" ]; then
     vm_vbd=$(xe vbd-list vm-name-label=$DEV_STACK_DOMU_NAME --minimal)
     vm_vdi=$(xe vdi-list vbd-uuids=$vm_vbd --minimal)
-    dom_zero_uuid=$(xe vm-list dom-id=0 resident-on=$host_uuid --minimal)
+    dom_zero_uuid=$(xe host-param-get param-name=control-domain-uuid uuid=$host_uuid)
     tmp_vbd=$(xe vbd-create device=autodetect bootable=false mode=RW type=Disk vdi-uuid=$vm_vdi vm-uuid=$dom_zero_uuid)
     xe vbd-plug uuid=$tmp_vbd
     sr_id=$(get_local_sr)
diff -pruN 0.3.3-3/tools/install_on_xen_host.sh 0.3.4-0ubuntu8/tools/install_on_xen_host.sh
--- 0.3.3-3/tools/install_on_xen_host.sh	2018-04-18 10:07:47.000000000 +0000
+++ 0.3.4-0ubuntu8/tools/install_on_xen_host.sh	2018-08-21 13:08:28.000000000 +0000
@@ -36,7 +36,6 @@ optional arguments:
                        it is done
  -r DISABLE_JOURNALING Disable journaling if this flag is set. It will reduce disk IO, but
                        may lead to file system unstable after long time use
-
 flags:
  -f                 Force SR replacement. If your XenServer has an LVM type SR,
                     it will be destroyed and replaced with an ext SR.
@@ -101,10 +100,12 @@ fi
 # begin install devstack process
 ##
 
-# Verify the host is suitable for devstack
-echo -n "Verify XenServer has an ext type default SR..."
+# Check the host's SR type.
 defaultSR=$(xe pool-list params=default-SR minimal=true)
 currentSrType=$(xe sr-param-get uuid=$defaultSR param-name=type)
+
+echo "The SR type is $currentSrType."
+
 if [ "$currentSrType" != "ext" -a "$currentSrType" != "nfs" -a "$currentSrType" != "ffs" -a "$currentSrType" != "file" ]; then
     if [ "true" == "$FORCE_SR_REPLACEMENT" ]; then
         echo ""
@@ -126,16 +127,6 @@ if [ "$currentSrType" != "ext" -a "$curr
         xe sr-param-add uuid=$sr_uuid param-name=other-config i18n-key=local-storage
         exit 0
     fi
-    echo ""
-    echo ""
-    echo "ERROR: The xenserver host must have an EXT3/NFS/FFS/File SR as the default SR"
-    echo "Use the -f flag to destroy the current default SR and create a new"
-    echo "ext type default SR."
-    echo ""
-    echo "WARNING: This will destroy your actual default SR !"
-    echo ""
-
-    exit 1
 fi
 
 # create template if needed
