Hello community, here is the log from the commit of package python3-ipa for openSUSE:Factory checked in at 2019-02-04 14:25:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python3-ipa (Old) and /work/SRC/openSUSE:Factory/.python3-ipa.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-ipa" Mon Feb 4 14:25:20 2019 rev:12 rq:670903 version:2.6.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python3-ipa/python3-ipa.changes 2018-12-13 19:48:53.900665722 +0100 +++ /work/SRC/openSUSE:Factory/.python3-ipa.new.28833/python3-ipa.changes 2019-02-04 14:25:22.749054697 +0100 @@ -1,0 +2,9 @@ +Fri Jan 4 16:27:48 UTC 2019 - Sean Marlow <[email protected]> + +- Update to v2.6.0 (2019-01-04) + + Remove duplication when logging. + + Allow azure instance to start in existing subnet. + + Treat uuid always lowercase. + + Use base provider waiter method. + +------------------------------------------------------------------- Old: ---- python3-ipa-2.5.0.tar.gz New: ---- python3-ipa-2.6.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python3-ipa.spec ++++++ --- /var/tmp/diff_new_pack.xgHxJA/_old 2019-02-04 14:25:23.465054358 +0100 +++ /var/tmp/diff_new_pack.xgHxJA/_new 2019-02-04 14:25:23.469054356 +0100 @@ -1,7 +1,7 @@ # # spec file for package python3-ipa # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %bcond_without test Name: python3-ipa -Version: 2.5.0 +Version: 2.6.0 Release: 0 Summary: Command line and API for testing custom images License: GPL-3.0-or-later ++++++ python3-ipa-2.5.0.tar.gz -> python3-ipa-2.6.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/CHANGES.md new/python3-ipa-2.6.0/CHANGES.md --- old/python3-ipa-2.5.0/CHANGES.md 2018-12-12 02:51:13.000000000 +0100 +++ new/python3-ipa-2.6.0/CHANGES.md 2019-01-04 17:15:48.000000000 +0100 @@ -1,3 +1,15 @@ +v2.6.0 (2019-01-04) +=================== + +- Remove duplication when logging. + [\#156](https://github.com/SUSE-Enceladus/ipa/pull/156) +- Allow azure instance to start in existing subnet. + [\#158](https://github.com/SUSE-Enceladus/ipa/pull/158) +- Treat uuid always lowercase. + [\#159](https://github.com/SUSE-Enceladus/ipa/pull/159) +- Use base provider waiter method. + [\#160](https://github.com/SUSE-Enceladus/ipa/pull/160) + v2.5.0 (2018-12-11) =================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/PKG-INFO new/python3-ipa-2.6.0/PKG-INFO --- old/python3-ipa-2.5.0/PKG-INFO 2018-12-12 02:52:08.000000000 +0100 +++ new/python3-ipa-2.6.0/PKG-INFO 2019-01-04 17:16:46.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: python3-ipa -Version: 2.5.0 +Version: 2.6.0 Summary: Package for automated testing of cloud images. Home-page: https://github.com/SUSE-Enceladus/ipa Author: SUSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/ipa/__init__.py new/python3-ipa-2.6.0/ipa/__init__.py --- old/python3-ipa-2.5.0/ipa/__init__.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/ipa/__init__.py 2019-01-04 17:15:48.000000000 +0100 @@ -22,4 +22,4 @@ __author__ = """SUSE""" __email__ = '[email protected]' -__version__ = '2.5.0' +__version__ = '2.6.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/ipa/ipa_azure.py new/python3-ipa-2.6.0/ipa/ipa_azure.py --- old/python3-ipa-2.5.0/ipa/ipa_azure.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/ipa/ipa_azure.py 2019-01-04 17:15:48.000000000 +0100 @@ -91,10 +91,11 @@ timeout, collect_vm_info) - if subnet_id and not (vnet_name and vnet_resource_group): + subnet_args = [subnet_id, vnet_name, vnet_resource_group] + if any(subnet_args) and not all(subnet_args): raise AzureProviderException( - 'If subnet_id is provided vnet_resource_group and vnet_name' - ' are also required.' + 'subnet_id, vnet_resource_group and vnet_name' + ' are all required to use an existing subnet.' ) self.service_account_file = ( @@ -250,7 +251,7 @@ return storage_profile - def _create_subnet(self, resource_group_name, subnet_name, vnet_name): + def _create_subnet(self, resource_group_name, subnet_id, vnet_name): """ Create a subnet in the provided vnet and resource group. """ @@ -258,7 +259,7 @@ try: subnet_setup = self.network.subnets.create_or_update( - resource_group_name, vnet_name, subnet_name, subnet_config + resource_group_name, vnet_name, subnet_id, subnet_config ) except Exception as error: raise AzureProviderException( @@ -441,12 +442,17 @@ self.vnet_resource_group, self.vnet_name, self.subnet_id ) else: - # Create new vnet/subnet. + self.subnet_id = ''.join([self.running_instance_id, '-subnet']) + self.vnet_name = ''.join([self.running_instance_id, '-vnet']) + + # Create new vnet self._create_virtual_network( self.region, self.running_instance_id, self.vnet_name ) + + # Create new subnet in new vnet subnet = self._create_subnet( - self.running_instance_id, self.subnet_name, self.vnet_name + self.running_instance_id, self.subnet_id, self.vnet_name ) # Setup interface and public ip in resource group. @@ -498,8 +504,6 @@ self.running_instance_id, '-ip-config' ]) self.nic_name = ''.join([self.running_instance_id, '-nic']) - self.subnet_name = ''.join([self.running_instance_id, '-subnet']) - self.vnet_name = ''.join([self.running_instance_id, '-vnet']) self.public_ip_name = ''.join([self.running_instance_id, '-public-ip']) def _set_image_id(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/ipa/ipa_ec2.py new/python3-ipa-2.6.0/ipa/ipa_ec2.py --- old/python3-ipa-2.5.0/ipa/ipa_ec2.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/ipa/ipa_ec2.py 2019-01-04 17:15:48.000000000 +0100 @@ -278,8 +278,8 @@ 'Unable to create instance: {0}.'.format(error) ) - instances[0].wait_until_running() self.running_instance_id = instances[0].instance_id + self._wait_on_instance('running', self.timeout) def _set_image_id(self): """If existing image used get image id.""" @@ -312,13 +312,13 @@ """Start the instance.""" instance = self._get_instance() instance.start() - instance.wait_until_running() + self._wait_on_instance('running', self.timeout) def _stop_instance(self): """Stop the instance.""" instance = self._get_instance() instance.stop() - instance.wait_until_stopped() + self._wait_on_instance('stopped', self.timeout) def _terminate_instance(self): """Terminate the instance.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/ipa/ipa_provider.py new/python3-ipa-2.6.0/ipa/ipa_provider.py --- old/python3-ipa-2.5.0/ipa/ipa_provider.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/ipa/ipa_provider.py 2019-01-04 17:15:48.000000000 +0100 @@ -237,13 +237,18 @@ 'results_file': self.results_file } - with open(self.log_file, 'a') as log_file: - log_file.write( - '\n'.join( - '%s: %s' % (key, val) for key, val - in self.results['info'].items() - ) + self._write_to_log( + '\n'.join( + '%s: %s' % (key, val) for key, val + in self.results['info'].items() ) + ) + + def _write_to_log(self, output): + """Write the output string to the log file.""" + with open(self.log_file, 'a') as log_file: + log_file.write('\n') + log_file.write(output) log_file.write('\n') def _merge_results(self, results): @@ -442,10 +447,7 @@ client = self._get_ssh_client() out = self.distro.get_vm_info(client) - - with open(self.log_file, 'a') as log_file: - log_file.write('\n') - log_file.write(out) + self._write_to_log(out) def _update_history(self): """Save the current test information to history json.""" @@ -486,9 +488,7 @@ ) ) else: - with open(self.log_file, 'a') as log_file: - log_file.write('\n') - log_file.write(out) + self._write_to_log(out) def extract_archive(self, client, archive_path, extract_path=None): """Extract the archive files using the client in the current path.""" @@ -502,9 +502,7 @@ ) else: - with open(self.log_file, 'a') as log_file: - log_file.write('\n') - log_file.write(out) + self._write_to_log(out) def hard_reboot_instance(self): """Stop then start the instance.""" @@ -527,9 +525,7 @@ ) ) else: - with open(self.log_file, 'a') as log_file: - log_file.write('\n') - log_file.write(out) + self._write_to_log(out) def process_injection_file(self, client): """ @@ -751,8 +747,7 @@ self.logger.error('Instance failed to update') self.logger.debug(error) else: - with open(self.log_file, 'a') as log_file: - log_file.write(out) + self._write_to_log(out) finally: duration = time.time() - start self._process_test_results( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/package/python3-ipa.spec new/python3-ipa-2.6.0/package/python3-ipa.spec --- old/python3-ipa-2.5.0/package/python3-ipa.spec 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/package/python3-ipa.spec 2019-01-04 17:15:48.000000000 +0100 @@ -18,7 +18,7 @@ %bcond_without test Name: python3-ipa -Version: 2.5.0 +Version: 2.6.0 Release: 0 Summary: Command line and API for testing custom images License: GPL-3.0-or-later diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/python3_ipa.egg-info/PKG-INFO new/python3-ipa-2.6.0/python3_ipa.egg-info/PKG-INFO --- old/python3-ipa-2.5.0/python3_ipa.egg-info/PKG-INFO 2018-12-12 02:52:08.000000000 +0100 +++ new/python3-ipa-2.6.0/python3_ipa.egg-info/PKG-INFO 2019-01-04 17:16:46.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: python3-ipa -Version: 2.5.0 +Version: 2.6.0 Summary: Package for automated testing of cloud images. Home-page: https://github.com/SUSE-Enceladus/ipa Author: SUSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/setup.cfg new/python3-ipa-2.6.0/setup.cfg --- old/python3-ipa-2.5.0/setup.cfg 2018-12-12 02:52:08.000000000 +0100 +++ new/python3-ipa-2.6.0/setup.cfg 2019-01-04 17:16:46.000000000 +0100 @@ -1,5 +1,5 @@ [bumpversion] -current_version = 2.5.0 +current_version = 2.6.0 commit = True tag = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/setup.py new/python3-ipa-2.6.0/setup.py --- old/python3-ipa-2.5.0/setup.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/setup.py 2019-01-04 17:15:48.000000000 +0100 @@ -43,7 +43,7 @@ setup( name='python3-ipa', - version='2.5.0', + version='2.6.0', description="Package for automated testing of cloud images.", long_description=readme, long_description_content_type="text/markdown", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/tests/test_ipa_azure.py new/python3-ipa-2.6.0/tests/test_ipa_azure.py --- old/python3-ipa-2.5.0/tests/test_ipa_azure.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/tests/test_ipa_azure.py 2019-01-04 17:15:48.000000000 +0100 @@ -203,8 +203,6 @@ assert provider.ip_config_name == 'fakeinstance-ip-config' assert provider.nic_name == 'fakeinstance-nic' - assert provider.subnet_name == 'fakeinstance-subnet' - assert provider.vnet_name == 'fakeinstance-vnet' assert provider.public_ip_name == 'fakeinstance-public-ip' @patch.object(AzureProvider, '_get_instance') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/tests/test_ipa_ec2.py new/python3-ipa-2.6.0/tests/test_ipa_ec2.py --- old/python3-ipa-2.5.0/tests/test_ipa_ec2.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/tests/test_ipa_ec2.py 2019-01-04 17:15:48.000000000 +0100 @@ -163,8 +163,9 @@ assert result == '#!/bin/bash\n' \ 'echo testkey12345 >> /home/ec2-user/.ssh/authorized_keys\n' + @patch.object(EC2Provider, '_wait_on_instance') @patch.object(EC2Provider, '_connect') - def test_ec2_launch_instance(self, mock_connect): + def test_ec2_launch_instance(self, mock_connect, mock_wait_on_instance): """Test ec2 provider launch instance method.""" instance = MagicMock() instance.instance_id = 'i-123456789' @@ -180,6 +181,7 @@ provider.security_group_id = 'sg-123456789' provider._launch_instance() + mock_wait_on_instance.assert_called_once_with('running', 600) assert instance.instance_id == provider.running_instance_id assert resource.create_instances.call_count == 1 @@ -237,8 +239,11 @@ assert provider.instance_ip == '127.0.0.3' assert mock_get_instance.call_count == 1 + @patch.object(EC2Provider, '_wait_on_instance') @patch.object(EC2Provider, '_get_instance') - def test_ec2_start_instance(self, mock_get_instance): + def test_ec2_start_instance( + self, mock_get_instance, mock_wait_on_instance + ): """Test ec2 start instance method.""" instance = MagicMock() instance.start.return_value = None @@ -247,10 +252,15 @@ provider = EC2Provider(**self.kwargs) provider._start_instance() + + mock_wait_on_instance.assert_called_once_with('running', 600) assert mock_get_instance.call_count == 1 + @patch.object(EC2Provider, '_wait_on_instance') @patch.object(EC2Provider, '_get_instance') - def test_ec2_stop_instance(self, mock_get_instance): + def test_ec2_stop_instance( + self, mock_get_instance, mock_wait_on_instance + ): """Test ec2 stop instance method.""" instance = MagicMock() instance.stop.return_value = None @@ -259,6 +269,8 @@ provider = EC2Provider(**self.kwargs) provider._stop_instance() + + mock_wait_on_instance.assert_called_once_with('stopped', 600) assert mock_get_instance.call_count == 1 @patch.object(EC2Provider, '_get_instance') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python3-ipa-2.5.0/usr/share/lib/ipa/tests/SLES/EC2/test_sles_ec2_uuid.py new/python3-ipa-2.6.0/usr/share/lib/ipa/tests/SLES/EC2/test_sles_ec2_uuid.py --- old/python3-ipa-2.5.0/usr/share/lib/ipa/tests/SLES/EC2/test_sles_ec2_uuid.py 2018-12-12 02:51:14.000000000 +0100 +++ new/python3-ipa-2.6.0/usr/share/lib/ipa/tests/SLES/EC2/test_sles_ec2_uuid.py 2019-01-04 17:15:48.000000000 +0100 @@ -2,4 +2,4 @@ def test_sles_ec2_uuid(host): result = host.run('sudo cat /sys/devices/virtual/dmi/id/product_uuid') - assert result.stdout.startswith('EC2') + assert result.stdout[:3].lower() == 'ec2'
