Hello community,
here is the log from the commit of package python-cinderclient for
openSUSE:Factory checked in at 2013-09-16 16:28:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cinderclient (Old)
and /work/SRC/openSUSE:Factory/.python-cinderclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cinderclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cinderclient/python-cinderclient.changes
2013-09-16 12:44:27.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-cinderclient.new/python-cinderclient.changes
2013-09-16 16:28:46.000000000 +0200
@@ -1,0 +2,12 @@
+Sun Sep 15 23:49:02 UTC 2013 - [email protected]
+
+- Update to version 1.0.5.25:
+ + Implement ability to migrate volume
+
+-------------------------------------------------------------------
+Fri Sep 6 00:12:40 UTC 2013 - [email protected]
+
+- Update to version 1.0.5.24:
+ + Don't need to init testr explicitly
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cinderclient.spec ++++++
--- /var/tmp/diff_new_pack.zZTStd/_old 2013-09-16 16:28:46.000000000 +0200
+++ /var/tmp/diff_new_pack.zZTStd/_new 2013-09-16 16:28:46.000000000 +0200
@@ -19,7 +19,7 @@
%define component cinderclient
Name: python-%{component}
-Version: 1.0.5.23
+Version: 1.0.5.25
Release: 0
Summary: Openstack Block Storage (Cinder) API Client
License: Apache-2.0
@@ -84,7 +84,7 @@
This package contains testsuite files for %{name}.
%prep
-%setup -q -n python-cinderclient-1.0.5.23.g8ea9fa3
+%setup -q -n python-cinderclient-1.0.5.25.gd7796ef
%openstack_cleanup_prep
echo %{version} > cinderclient/versioninfo
++++++ python-cinderclient-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-cinderclient-1.0.5.23.g8ea9fa3/AUTHORS
new/python-cinderclient-1.0.5.25.gd7796ef/AUTHORS
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/AUTHORS 2013-09-01
15:36:35.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/AUTHORS 2013-09-15
11:21:24.000000000 +0200
@@ -28,6 +28,7 @@
Jakub Ruzicka <[email protected]>
John Griffith <[email protected]>
Josh Durgin <[email protected]>
+Kui Shi <[email protected]>
Liam Kelleher <[email protected]>
Mark McLoughlin <[email protected]>
Mathieu Gagné <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-cinderclient-1.0.5.23.g8ea9fa3/ChangeLog
new/python-cinderclient-1.0.5.25.gd7796ef/ChangeLog
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/ChangeLog 2013-09-01
15:36:35.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/ChangeLog 2013-09-15
11:21:24.000000000 +0200
@@ -1,3 +1,38 @@
+commit d7796ef737b0b9c70fabf1416b42ad42c2d27b4a
+Author: Avishay Traeger <[email protected]>
+Date: Thu Jul 18 16:17:21 2013 +0300
+
+ Implement ability to migrate volume
+
+ Implements ability to call migrate_volume and migrate_volume_completion
+ APIs. The former includes shell code while the latter is called by Nova
+ and should not be invoked via shell.
+
+ Change-Id: I6e81d7a6321f367a356f0a0dee385221363a4227
+
+commit b757c348b758fb5517cc0a08675b6c3ae8a7538e
+Author: Kui Shi <[email protected]>
+Date: Tue Sep 3 04:39:24 2013 +0800
+
+ Don't need to init testr explicitly
+
+ In run_tests.sh, function init_testr will initialize testr if the
+ directory .testrepository is not existed. Actually, testr will do
+ the check before run the test:
+
+ In Python package testrepository, setuptools_command.py:Testr.run
+
+ 68 def run(self):
+ 69 """Set up testr repo, then run testr"""
+ 70 if not os.path.isdir(".testrepository"):
+ 71 self._run_testr("init")
+
+ So, init_testr can be removed safely.
+
+ Fixes Bug #1220147
+
+ Change-Id: Ide99a836cd601453624c7a562b7256c86bd46811
+
commit 8ea9fa31e6c6cede0cd14e587611c7a77806c13b
Merge: 473ca25 109415c
Author: Jenkins <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-cinderclient-1.0.5.23.g8ea9fa3/PKG-INFO
new/python-cinderclient-1.0.5.25.gd7796ef/PKG-INFO
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/PKG-INFO 2013-09-01
15:36:35.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/PKG-INFO 2013-09-15
11:21:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-cinderclient
-Version: 1.0.5.23.g8ea9fa3
+Version: 1.0.5.25.gd7796ef
Summary: OpenStack Block Storage API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v1/fakes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v1/fakes.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v1/fakes.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v1/fakes.py
2013-09-15 11:21:00.000000000 +0200
@@ -308,6 +308,9 @@
assert 'status' in body[action]
elif action == 'os-extend':
assert body[action].keys() == ['new_size']
+ elif action == 'os-migrate_volume':
+ assert 'host' in body[action]
+ assert 'force_host_copy' in body[action]
else:
raise AssertionError("Unexpected action: %s" % action)
return (resp, {}, _body)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v1/test_volumes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v1/test_volumes.py
---
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v1/test_volumes.py
2013-09-01 15:34:46.000000000 +0200
+++
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v1/test_volumes.py
2013-09-15 11:21:00.000000000 +0200
@@ -91,3 +91,8 @@
def test_get_encryption_metadata(self):
cs.volumes.get_encryption_metadata('1234')
cs.assert_called('GET', '/volumes/1234/encryption')
+
+ def test_migrate(self):
+ v = cs.volumes.get('1234')
+ cs.volumes.migrate_volume(v, 'dest', False)
+ cs.assert_called('POST', '/volumes/1234/action')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v2/fakes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v2/fakes.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v2/fakes.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v2/fakes.py
2013-09-15 11:21:00.000000000 +0200
@@ -315,6 +315,9 @@
assert 'status' in body[action]
elif action == 'os-extend':
assert body[action].keys() == ['new_size']
+ elif action == 'os-migrate_volume':
+ assert 'host' in body[action]
+ assert 'force_host_copy' in body[action]
else:
raise AssertionError("Unexpected action: %s" % action)
return (resp, {}, _body)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v2/test_volumes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v2/test_volumes.py
---
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/tests/v2/test_volumes.py
2013-09-01 15:34:46.000000000 +0200
+++
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/tests/v2/test_volumes.py
2013-09-15 11:21:00.000000000 +0200
@@ -94,3 +94,8 @@
def test_get_encryption_metadata(self):
cs.volumes.get_encryption_metadata('1234')
cs.assert_called('GET', '/volumes/1234/encryption')
+
+ def test_migrate(self):
+ v = cs.volumes.get('1234')
+ cs.volumes.migrate_volume(v, 'dest', False)
+ cs.assert_called('POST', '/volumes/1234/action')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v1/shell.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/shell.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v1/shell.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/shell.py
2013-09-15 11:21:00.000000000 +0200
@@ -1046,3 +1046,17 @@
result = cs.volume_encryption_types.create(volume_type, body)
_print_volume_encryption_type_list([result])
+
+
[email protected]('volume', metavar='<volume>', help='ID of the volume to migrate')
[email protected]('host', metavar='<host>', help='Destination host')
[email protected]('--force-host-copy', metavar='<True|False>',
+ help='Optional flag to force the use of the generic '
+ 'host-based migration mechanism, bypassing driver '
+ 'optimizations (Default=False).',
+ default=False)
[email protected]_type('volume')
+def do_migrate(cs, args):
+ """Migrate the volume to the new host."""
+ volume = _find_volume(cs, args.volume)
+ volume.migrate_volume(args.host, args.force_host_copy)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v1/volumes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/volumes.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v1/volumes.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v1/volumes.py
2013-09-15 11:21:00.000000000 +0200
@@ -114,6 +114,15 @@
self.manager.extend(self, volume, new_size)
+ def migrate_volume(self, host, force_host_copy):
+ """Migrate the volume to a new host."""
+ self.manager.migrate_volume(self, host, force_host_copy)
+
+# def migrate_volume_completion(self, old_volume, new_volume, error):
+# """Complete the migration of the volume."""
+# self.manager.migrate_volume_completion(self, old_volume,
+# new_volume, error)
+
class VolumeManager(base.ManagerWithFind):
"""
@@ -361,3 +370,28 @@
:return: a dictionary of volume encryption metadata
"""
return self._get("/volumes/%s/encryption" % volume_id)._info
+
+ def migrate_volume(self, volume, host, force_host_copy):
+ """Migrate volume to new host.
+
+ :param volume: The :class:`Volume` to migrate
+ :param host: The destination host
+ :param force_host_copy: Skip driver optimizations
+ """
+
+ return self._action('os-migrate_volume',
+ volume,
+ {'host': host, 'force_host_copy': force_host_copy})
+
+ def migrate_volume_completion(self, old_volume, new_volume, error):
+ """Complete the migration from the old volume to the temp new one.
+
+ :param old_volume: The original :class:`Volume` in the migration
+ :param new_volume: The new temporary :class:`Volume` in the migration
+ :param error: Inform of an error to cause migration cleanup
+ """
+
+ new_volume_id = base.getid(new_volume)
+ return self._action('os-migrate_volume_completion',
+ old_volume,
+ {'new_volume': new_volume_id, 'error': error})[1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v2/shell.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/shell.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v2/shell.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/shell.py
2013-09-15 11:21:00.000000000 +0200
@@ -800,6 +800,20 @@
args.disk_format))
[email protected]('volume', metavar='<volume>', help='ID of the volume to migrate')
[email protected]('host', metavar='<host>', help='Destination host')
[email protected]('--force-host-copy', metavar='<True|False>',
+ help='Optional flag to force the use of the generic '
+ 'host-based migration mechanism, bypassing driver '
+ 'optimizations (Default=False).',
+ default=False)
[email protected]_type('volume')
+def do_migrate(cs, args):
+ """Migrate the volume to the new host."""
+ volume = _find_volume(cs, args.volume)
+ volume.migrate_volume(args.host, args.force_host_copy)
+
+
@utils.arg('volume', metavar='<volume>',
help='ID of the volume to backup.')
@utils.arg('--container', metavar='<container>',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v2/volumes.py
new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/volumes.py
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/cinderclient/v2/volumes.py
2013-09-01 15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/cinderclient/v2/volumes.py
2013-09-15 11:21:00.000000000 +0200
@@ -112,6 +112,15 @@
self.manager.extend(self, volume, new_size)
+ def migrate_volume(self, host, force_host_copy):
+ """Migrate the volume to a new host."""
+ self.manager.migrate_volume(self, host, force_host_copy)
+
+# def migrate_volume_completion(self, old_volume, new_volume, error):
+# """Complete the migration of the volume."""
+# self.manager.migrate_volume_completion(self, old_volume,
+# new_volume, error)
+
class VolumeManager(base.ManagerWithFind):
"""Manage :class:`Volume` resources."""
@@ -343,3 +352,28 @@
:return: a dictionary of volume encryption metadata
"""
return self._get("/volumes/%s/encryption" % volume_id)._info
+
+ def migrate_volume(self, volume, host, force_host_copy):
+ """Migrate volume to new host.
+
+ :param volume: The :class:`Volume` to migrate
+ :param host: The destination host
+ :param force_host_copy: Skip driver optimizations
+ """
+
+ return self._action('os-migrate_volume',
+ volume,
+ {'host': host, 'force_host_copy': force_host_copy})
+
+ def migrate_volume_completion(self, old_volume, new_volume, error):
+ """Complete the migration from the old volume to the temp new one.
+
+ :param old_volume: The original :class:`Volume` in the migration
+ :param new_volume: The new temporary :class:`Volume` in the migration
+ :param error: Inform of an error to cause migration cleanup
+ """
+
+ new_volume_id = base.getid(new_volume)
+ return self._action('os-migrate_volume_completion',
+ old_volume,
+ {'new_volume': new_volume_id, 'error': error})[1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-cinderclient-1.0.5.23.g8ea9fa3/python_cinderclient.egg-info/PKG-INFO
new/python-cinderclient-1.0.5.25.gd7796ef/python_cinderclient.egg-info/PKG-INFO
---
old/python-cinderclient-1.0.5.23.g8ea9fa3/python_cinderclient.egg-info/PKG-INFO
2013-09-01 15:36:35.000000000 +0200
+++
new/python-cinderclient-1.0.5.25.gd7796ef/python_cinderclient.egg-info/PKG-INFO
2013-09-15 11:21:24.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-cinderclient
-Version: 1.0.5.23.g8ea9fa3
+Version: 1.0.5.25.gd7796ef
Summary: OpenStack Block Storage API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-cinderclient-1.0.5.23.g8ea9fa3/run_tests.sh
new/python-cinderclient-1.0.5.25.gd7796ef/run_tests.sh
--- old/python-cinderclient-1.0.5.23.g8ea9fa3/run_tests.sh 2013-09-01
15:34:46.000000000 +0200
+++ new/python-cinderclient-1.0.5.25.gd7796ef/run_tests.sh 2013-09-15
11:21:00.000000000 +0200
@@ -102,11 +102,6 @@
installvenvopts="--no-site-packages"
fi
-function init_testr {
- if [ ! -d .testrepository ]; then
- ${wrapper} testr init
- fi
-}
function run_tests {
# Cleanup *pyc
@@ -223,7 +218,6 @@
rm -f tests.sqlite
fi
-init_testr
run_tests
# NOTE(sirp): we only want to run pep8 when we're running the full-test suite,
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]