Hello community,
here is the log from the commit of package python3-img-proof for
openSUSE:Factory checked in at 2020-03-11 18:51:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-img-proof (Old)
and /work/SRC/openSUSE:Factory/.python3-img-proof.new.3160 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-img-proof"
Wed Mar 11 18:51:11 2020 rev:7 rq:783549 version:4.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-img-proof/python3-img-proof.changes
2020-02-19 12:41:37.515749941 +0100
+++
/work/SRC/openSUSE:Factory/.python3-img-proof.new.3160/python3-img-proof.changes
2020-03-11 18:54:34.331654112 +0100
@@ -1,0 +2,18 @@
+Tue Mar 10 21:34:29 UTC 2020 - Sean Marlow <[email protected]>
+
+- Update to v4.8.1 (2020-03-10)
+ + Fix bug and check both CLI output versions for single and
+ double quote.
+
+-------------------------------------------------------------------
+Tue Mar 10 21:04:25 UTC 2020 - Sean Marlow <[email protected]>
+
+- Update to v4.8.0 (2020-03-10)
+ + Attempt to cleanup instance if error during launch.
+ + Add distro refresh option.
+ + Use systemctl to check guestregister status.
+ + Log only to base logger.
+ + Handle HPC on-demand repos.
+ + Add timestamp to file log handler.
+
+-------------------------------------------------------------------
Old:
----
img-proof-4.7.0.tar.gz
New:
----
img-proof-4.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-img-proof.spec ++++++
--- /var/tmp/diff_new_pack.VKbRil/_old 2020-03-11 18:54:34.675654266 +0100
+++ /var/tmp/diff_new_pack.VKbRil/_new 2020-03-11 18:54:34.679654268 +0100
@@ -18,7 +18,7 @@
%bcond_without test
Name: python3-img-proof
-Version: 4.7.0
+Version: 4.8.1
Release: 0
Summary: Command line and API for testing custom images
License: GPL-3.0-or-later
@@ -44,7 +44,7 @@
Requires: python3-pycryptodome
Requires: python3-pytest
Requires: python3-testinfra
-Obsoletes: python3-ipa < 4.6.0
+Obsoletes: python3-ipa < 4.8.1
BuildArch: noarch
%if %{with test}
BuildRequires: python3-PyYAML
@@ -74,7 +74,7 @@
Group: Development/Languages/Python
Requires: python3-susepubliccloudinfo
PreReq: python3-img-proof = %{version}
-Obsoletes: python3-ipa-tests < 4.6.0
+Obsoletes: python3-ipa-tests < 4.8.1
%description tests
Directory of infrastructure tests for testing images.
++++++ img-proof-4.7.0.tar.gz -> img-proof-4.8.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/CHANGES.md
new/img-proof-4.8.1/CHANGES.md
--- old/img-proof-4.7.0/CHANGES.md 2020-02-18 23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/CHANGES.md 2020-03-10 22:30:44.000000000 +0100
@@ -1,3 +1,25 @@
+v4.8.1 (2020-03-10)
+===================
+
+- Fix bug and check both CLI output versions for single
+ and double quote.
+
+v4.8.0 (2020-03-10)
+===================
+
+- Attempt to cleanup instance if error during launch.
+ [\#234](https://github.com/SUSE-Enceladus/ipa/pull/234)
+- Add distro refresh option.
+ [\#235](https://github.com/SUSE-Enceladus/ipa/pull/235)
+- Use systemctl to check guestregister status.
+ [\#236](https://github.com/SUSE-Enceladus/ipa/pull/236)
+- Log only to base logger.
+ [\#239](https://github.com/SUSE-Enceladus/ipa/pull/239)
+- Handle HPC on-demand repos.
+ [\#240](https://github.com/SUSE-Enceladus/ipa/pull/240)
+- Add timestamp to file log handler.
+ [\#241](https://github.com/SUSE-Enceladus/ipa/pull/241)
+
v4.7.0 (2020-02-18)
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/PKG-INFO new/img-proof-4.8.1/PKG-INFO
--- old/img-proof-4.7.0/PKG-INFO 2020-02-18 23:20:37.000000000 +0100
+++ new/img-proof-4.8.1/PKG-INFO 2020-03-10 22:31:42.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: img-proof
-Version: 4.7.0
+Version: 4.8.1
Summary: Package for automated testing of cloud images.
Home-page: https://github.com/SUSE-Enceladus/img-proof
Author: SUSE
@@ -151,6 +151,6 @@
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.4
Description-Content-Type: text/markdown
-Provides-Extra: test
Provides-Extra: dev
+Provides-Extra: test
Provides-Extra: tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/__init__.py
new/img-proof-4.8.1/img_proof/__init__.py
--- old/img-proof-4.7.0/img_proof/__init__.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/__init__.py 2020-03-10 22:30:44.000000000
+0100
@@ -22,4 +22,4 @@
__author__ = """SUSE"""
__email__ = '[email protected]'
-__version__ = '4.7.0'
+__version__ = '4.8.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_azure.py
new/img-proof-4.8.1/img_proof/ipa_azure.py
--- old/img-proof-4.7.0/img_proof/ipa_azure.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_azure.py 2020-03-10 22:30:44.000000000
+0100
@@ -48,7 +48,7 @@
image_id=None,
inject=None,
instance_type=None,
- log_level=30,
+ log_level=None,
no_default_test_dirs=False,
cloud_config=None,
region=None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_cloud.py
new/img-proof-4.8.1/img_proof/ipa_cloud.py
--- old/img-proof-4.7.0/img_proof/ipa_cloud.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_cloud.py 2020-03-10 22:30:44.000000000
+0100
@@ -83,7 +83,7 @@
image_id=None,
inject=None,
instance_type=None,
- log_level=30,
+ log_level=None,
no_default_test_dirs=False,
cloud_config=None,
region=None,
@@ -425,7 +425,9 @@
# Add log file handler
file_handler = logging.FileHandler(self.log_file)
file_handler.setLevel(logging.DEBUG)
- file_handler.setFormatter(logging.Formatter('\n%(message)s\n'))
+ file_handler.setFormatter(
+ logging.Formatter('\n%(asctime)s: %(message)s\n')
+ )
self.logger.addHandler(file_handler)
def _start_instance(self):
@@ -471,13 +473,12 @@
end = start + timeout
while time.time() < end:
- current_state = self._get_instance_state()
+ time.sleep(wait_period)
+ current_state = self._get_instance_state()
if state.lower() == current_state.lower():
return
- time.sleep(wait_period)
-
raise IpaCloudException(
'Instance has not arrived at the given state: {state}'.format(
state=state
@@ -668,9 +669,19 @@
try:
self._launch_instance()
except GCECloudRetryableError as error:
- raise IpaRetryableError(
- 'Unable to connect to instance: %s' % error
- )
+ with ipa_utils.ignored(Exception):
+ self._cleanup_instance(1)
+
+ msg = 'Unable to connect to instance: %s' % error
+ self.logger.error(msg)
+ raise IpaRetryableError(msg)
+ except Exception as error:
+ with ipa_utils.ignored(Exception):
+ self._cleanup_instance(1)
+
+ msg = 'Unable to connect to instance: %s' % error
+ self.logger.error(msg)
+ raise
if not self.instance_ip:
self._set_instance_ip()
@@ -797,6 +808,26 @@
)
status = status or result
+ elif item == 'test_refresh':
+ self.logger.info('Testing refresh')
+ start = time.time()
+ result = 1
+
+ try:
+ out = self.distro.repo_refresh(self._get_ssh_client())
+ result = 0
+ except Exception as error:
+ self.logger.error('Instance failed to refresh')
+ self.logger.debug(error)
+ else:
+ self._write_to_log(out)
+ finally:
+ duration = time.time() - start
+ self._process_test_results(
+ duration, 'test_refresh', result
+ )
+ status = status or result
+
elif isinstance(item, set):
self.logger.info('Running tests %s' % ' '.join(item))
with open(self.log_file, 'a') as log_file:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_constants.py
new/img-proof-4.8.1/img_proof/ipa_constants.py
--- old/img-proof-4.7.0/img_proof/ipa_constants.py 2020-02-18
23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/img_proof/ipa_constants.py 2020-03-10
22:30:44.000000000 +0100
@@ -50,7 +50,8 @@
SYNC_POINTS = (
'test_hard_reboot',
'test_soft_reboot',
- 'test_update'
+ 'test_update',
+ 'test_refresh'
)
TEST_PATHS = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_distro.py
new/img-proof-4.8.1/img_proof/ipa_distro.py
--- old/img-proof-4.7.0/img_proof/ipa_distro.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_distro.py 2020-03-10 22:30:44.000000000
+0100
@@ -170,3 +170,22 @@
'An error occurred updating instance: %s' % error
)
return out
+
+ def repo_refresh(self, client):
+ """Execute repo refresh command on instance."""
+ update_cmd = "{sudo} '{refresh}'".format(
+ sudo=self.get_sudo_exec_wrapper(),
+ refresh=self.get_refresh_repo_cmd()
+ )
+
+ out = ''
+ try:
+ out = ipa_utils.execute_ssh_command(
+ client,
+ update_cmd
+ )
+ except Exception as error:
+ raise IpaDistroException(
+ 'An error occurred refreshing repos on instance: %s' % error
+ )
+ return out
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_ec2.py
new/img-proof-4.8.1/img_proof/ipa_ec2.py
--- old/img-proof-4.7.0/img_proof/ipa_ec2.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_ec2.py 2020-03-10 22:30:44.000000000
+0100
@@ -52,7 +52,7 @@
image_id=None,
inject=None,
instance_type=None,
- log_level=30,
+ log_level=None,
no_default_test_dirs=False,
cloud_config=None,
region=None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_gce.py
new/img-proof-4.8.1/img_proof/ipa_gce.py
--- old/img-proof-4.7.0/img_proof/ipa_gce.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_gce.py 2020-03-10 22:30:44.000000000
+0100
@@ -55,7 +55,7 @@
image_id=None,
inject=None,
instance_type=None,
- log_level=30,
+ log_level=None,
no_default_test_dirs=False,
cloud_config=None,
region=None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof/ipa_oci.py
new/img-proof-4.8.1/img_proof/ipa_oci.py
--- old/img-proof-4.7.0/img_proof/ipa_oci.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/img_proof/ipa_oci.py 2020-03-10 22:30:44.000000000
+0100
@@ -45,7 +45,7 @@
image_id=None,
inject=None,
instance_type=None,
- log_level=30,
+ log_level=None,
no_default_test_dirs=False,
cloud_config=None,
region=None,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/img_proof.egg-info/PKG-INFO
new/img-proof-4.8.1/img_proof.egg-info/PKG-INFO
--- old/img-proof-4.7.0/img_proof.egg-info/PKG-INFO 2020-02-18
23:20:37.000000000 +0100
+++ new/img-proof-4.8.1/img_proof.egg-info/PKG-INFO 2020-03-10
22:31:42.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: img-proof
-Version: 4.7.0
+Version: 4.8.1
Summary: Package for automated testing of cloud images.
Home-page: https://github.com/SUSE-Enceladus/img-proof
Author: SUSE
@@ -151,6 +151,6 @@
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.4
Description-Content-Type: text/markdown
-Provides-Extra: test
Provides-Extra: dev
+Provides-Extra: test
Provides-Extra: tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/package/python3-img-proof.spec
new/img-proof-4.8.1/package/python3-img-proof.spec
--- old/img-proof-4.7.0/package/python3-img-proof.spec 2020-02-18
23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/package/python3-img-proof.spec 2020-03-10
22:30:44.000000000 +0100
@@ -18,7 +18,7 @@
%bcond_without test
Name: python3-img-proof
-Version: 4.7.0
+Version: 4.8.1
Release: 0
Summary: Command line and API for testing custom images
License: GPL-3.0-or-later
@@ -63,7 +63,7 @@
BuildRequires: python3-testinfra
BuildRequires: python3-oci-sdk
%endif
-Obsoletes: python3-ipa < 4.7.0
+Obsoletes: python3-ipa < 4.8.1
%description
img-proof provides a command line utility to test images in
@@ -74,7 +74,7 @@
Group: Development/Languages/Python
Requires: python3-susepubliccloudinfo
PreReq: python3-img-proof = %{version}
-Obsoletes: python3-ipa-tests < 4.7.0
+Obsoletes: python3-ipa-tests < 4.8.1
%description tests
Directory of infrastructure tests for testing images.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/setup.cfg
new/img-proof-4.8.1/setup.cfg
--- old/img-proof-4.7.0/setup.cfg 2020-02-18 23:20:37.000000000 +0100
+++ new/img-proof-4.8.1/setup.cfg 2020-03-10 22:31:42.000000000 +0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 4.7.0
+current_version = 4.8.1
commit = True
tag = False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/setup.py new/img-proof-4.8.1/setup.py
--- old/img-proof-4.7.0/setup.py 2020-02-18 23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/setup.py 2020-03-10 22:30:44.000000000 +0100
@@ -43,7 +43,7 @@
setup(
name='img-proof',
- version='4.7.0',
+ version='4.8.1',
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/img-proof-4.7.0/tests/test_ipa_cli.py
new/img-proof-4.8.1/tests/test_ipa_cli.py
--- old/img-proof-4.7.0/tests/test_ipa_cli.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/tests/test_ipa_cli.py 2020-03-10 22:30:44.000000000
+0100
@@ -78,7 +78,8 @@
runner = CliRunner()
result = runner.invoke(main, ['test', '-d', 'Distro'])
assert result.exit_code != 0
- assert 'Error: Invalid value for "-d" / "--distro"' in result.output
+ assert "Error: Invalid value for '-d' / '--distro'" \
+ or 'Error: Invalid value for "-d" / "--distro"' in result.output
def test_cli_test_image_exception():
@@ -172,7 +173,8 @@
main,
['results', '--history-log', 'tests/.history', 'list']
)
- assert 'Path "tests/.history" does not exist.' in result.output
+ assert "Path 'test/.history' does not exist." \
+ or 'Path "test/.history" does not exist.' in result.output
def test_cli_archive_item():
@@ -354,7 +356,8 @@
main,
['results', '--history-log', 'test/.history', 'list']
)
- assert 'Path "test/.history" does not exist.' in result.output
+ assert "Path 'test/.history' does not exist." \
+ or 'Path "test/.history" does not exist.' in result.output
def test_cli_delete_history_item():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/tests/test_ipa_cloud.py
new/img-proof-4.8.1/tests/test_ipa_cloud.py
--- old/img-proof-4.7.0/tests/test_ipa_cloud.py 2020-02-18 23:19:49.000000000
+0100
+++ new/img-proof-4.8.1/tests/test_ipa_cloud.py 2020-03-10 22:30:44.000000000
+0100
@@ -564,6 +564,44 @@
@patch.object(IpaCloud, '_set_image_id')
@patch.object(IpaCloud, '_start_instance_if_stopped')
@patch.object(IpaCloud, '_get_ssh_client')
+ @patch.object(IpaCloud, '_terminate_instance')
+ @patch('img_proof.ipa_utils.get_host_key_fingerprint')
+ @patch.object(Distro, 'repo_refresh')
+ def test_cloud_distro_refresh(
+ self,
+ mock_distro_refresh,
+ mock_get_host_key,
+ mock_terminate_instance,
+ mock_get_ssh_client,
+ mock_start_instance,
+ mock_set_image_id,
+ mock_set_instance_ip
+ ):
+ """Test exception raised when invalid test item provided."""
+ mock_distro_refresh.return_value = 'Refreshed!'
+ mock_get_host_key.return_value = b'04820482'
+ mock_terminate_instance.return_value = None
+ mock_get_ssh_client.return_value = None
+ mock_start_instance.return_value = None
+ mock_set_image_id.return_value = None
+ mock_set_instance_ip.return_value = None
+ self.kwargs['running_instance_id'] = 'fakeinstance'
+ self.kwargs['test_files'] = ['test_refresh']
+ self.kwargs['cleanup'] = True
+
+ cloud = IpaCloud(*args, **self.kwargs)
+ cloud.ssh_private_key_file = 'tests/data/ida_test'
+ cloud.ssh_user = 'root'
+
+ status, results = cloud.test_image()
+ assert status == 0
+ assert mock_distro_refresh.call_count == 1
+ self.kwargs['cleanup'] = None
+
+ @patch.object(IpaCloud, '_set_instance_ip')
+ @patch.object(IpaCloud, '_set_image_id')
+ @patch.object(IpaCloud, '_start_instance_if_stopped')
+ @patch.object(IpaCloud, '_get_ssh_client')
@patch('img_proof.ipa_utils.get_host_key_fingerprint')
@patch.object(IpaCloud, '_run_tests')
def test_cloud_break_if_test_failure(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/img-proof-4.7.0/tests/test_ipa_sles_distro.py
new/img-proof-4.8.1/tests/test_ipa_sles_distro.py
--- old/img-proof-4.7.0/tests/test_ipa_sles_distro.py 2020-02-18
23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/tests/test_ipa_sles_distro.py 2020-03-10
22:30:44.000000000 +0100
@@ -126,3 +126,38 @@
"sudo sh -c 'zypper -n refresh;zypper -n up "
"--auto-agree-with-licenses --force-resolution --replacefiles'"
)
+
+
+def test_sles_refresh():
+ """Test refresh method for SLES distro."""
+ client = MagicMock()
+ sles = SLES()
+
+ with patch('img_proof.ipa_utils.execute_ssh_command',
+ MagicMock(return_value='Refresh finished!')) as mocked:
+ output = sles.repo_refresh(client)
+
+ mocked.assert_called_once_with(
+ client,
+ "sudo sh -c 'zypper -n refresh'"
+ )
+ assert output == 'Refresh finished!'
+
+
+def test_sles_refresh_exception():
+ """Test refresh method exception for SLES distro."""
+ client = MagicMock()
+ sles = SLES()
+
+ with patch('img_proof.ipa_utils.execute_ssh_command', MagicMock(
+ side_effect=Exception('ERROR!'))) as mocked:
+ pytest.raises(
+ IpaDistroException,
+ sles.repo_refresh,
+ client
+ )
+
+ mocked.assert_called_once_with(
+ client,
+ "sudo sh -c 'zypper -n refresh'"
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/conftest.py
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/conftest.py
--- old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/conftest.py
2020-02-18 23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/conftest.py
2020-03-10 22:30:44.000000000 +0100
@@ -336,6 +336,40 @@
'SLE-Product-SLES_SAP15-SP1-Updates'
]
+SLE_15_SP1_HPC = [
+ 'SLE-Product-HPC-15-SP1-Pool',
+ 'SLE-Product-HPC-15-SP1-Updates',
+ 'SLE-Product-HPC15-SP1-Debuginfo-Pool',
+ 'SLE-Product-HPC15-SP1-Debuginfo-Updates',
+ 'SLE-Product-HPC15-SP1-Source-Pool',
+ 'SLE-Module-Containers15-SP1-Debuginfo-Pool',
+ 'SLE-Module-Containers15-SP1-Debuginfo-Updates',
+ 'SLE-Module-Containers15-SP1-Pool',
+ 'SLE-Module-Containers15-SP1-Updates',
+ 'SLE-Module-Desktop-Applications15-SP1-Debuginfo-Pool',
+ 'SLE-Module-Desktop-Applications15-SP1-Debuginfo-Updates',
+ 'SLE-Module-Desktop-Applications15-SP1-Pool',
+ 'SLE-Module-Desktop-Applications15-SP1-Updates',
+ 'SLE-Module-DevTools15-SP1-Debuginfo-Pool',
+ 'SLE-Module-DevTools15-SP1-Debuginfo-Updates',
+ 'SLE-Module-DevTools15-SP1-Pool',
+ 'SLE-Module-DevTools15-SP1-Updates',
+ 'SLE-Module-Public-Cloud15-SP1-Debuginfo-Pool',
+ 'SLE-Module-Public-Cloud15-SP1-Debuginfo-Updates',
+ 'SLE-Module-Public-Cloud15-SP1-Pool',
+ 'SLE-Module-Public-Cloud15-SP1-Updates',
+ 'SLE-Module-Python2-15-SP1-Pool',
+ 'SLE-Module-Python2-15-SP1-Updates',
+ 'SLE-Module-Server-Applications15-SP1-Debuginfo-Pool',
+ 'SLE-Module-Server-Applications15-SP1-Debuginfo-Updates',
+ 'SLE-Module-Server-Applications15-SP1-Pool',
+ 'SLE-Module-Server-Applications15-SP1-Updates',
+ 'SLE-Module-Web-Scripting15-SP1-Debuginfo-Pool',
+ 'SLE-Module-Web-Scripting15-SP1-Debuginfo-Updates',
+ 'SLE-Module-Web-Scripting15-SP1-Pool',
+ 'SLE-Module-Web-Scripting15-SP1-Updates'
+]
+
SLE_15_SP2_BASE = [
'SLE-Module-Basesystem15-SP2-Debuginfo-Pool',
'SLE-Module-Basesystem15-SP2-Debuginfo-Updates',
@@ -403,32 +437,74 @@
'SLE-Product-SLES_SAP15-SP2-Updates'
]
+SLE_15_SP2_HPC = [
+ 'SLE-Product-HPC-15-SP2-Pool',
+ 'SLE-Product-HPC-15-SP2-Updates',
+ 'SLE-Product-HPC15-SP2-Debuginfo-Pool',
+ 'SLE-Product-HPC15-SP2-Debuginfo-Updates',
+ 'SLE-Product-HPC15-SP2-Source-Pool',
+ 'SLE-Module-Containers15-SP2-Debuginfo-Pool',
+ 'SLE-Module-Containers15-SP2-Debuginfo-Updates',
+ 'SLE-Module-Containers15-SP2-Pool',
+ 'SLE-Module-Containers15-SP2-Updates',
+ 'SLE-Module-Desktop-Applications15-SP2-Debuginfo-Pool',
+ 'SLE-Module-Desktop-Applications15-SP2-Debuginfo-Updates',
+ 'SLE-Module-Desktop-Applications15-SP2-Pool',
+ 'SLE-Module-Desktop-Applications15-SP2-Updates',
+ 'SLE-Module-DevTools15-SP2-Debuginfo-Pool',
+ 'SLE-Module-DevTools15-SP2-Debuginfo-Updates',
+ 'SLE-Module-DevTools15-SP2-Pool',
+ 'SLE-Module-DevTools15-SP2-Updates',
+ 'SLE-Module-Public-Cloud15-SP2-Debuginfo-Pool',
+ 'SLE-Module-Public-Cloud15-SP2-Debuginfo-Updates',
+ 'SLE-Module-Public-Cloud15-SP2-Pool',
+ 'SLE-Module-Public-Cloud15-SP2-Updates',
+ 'SLE-Module-Python2-15-SP2-Pool',
+ 'SLE-Module-Python2-15-SP2-Updates',
+ 'SLE-Module-Server-Applications15-SP2-Debuginfo-Pool',
+ 'SLE-Module-Server-Applications15-SP2-Debuginfo-Updates',
+ 'SLE-Module-Server-Applications15-SP2-Pool',
+ 'SLE-Module-Server-Applications15-SP2-Updates',
+ 'SLE-Module-Web-Scripting15-SP2-Debuginfo-Pool',
+ 'SLE-Module-Web-Scripting15-SP2-Debuginfo-Updates',
+ 'SLE-Module-Web-Scripting15-SP2-Pool',
+ 'SLE-Module-Web-Scripting15-SP2-Updates'
+]
+
BASE_15 = SLE_15_BASE + SLE_15_MODULES + SLE_15_PRODUCTS
BASE_15_SAP = SLE_15_SAP + SLE_15_BASE + SLE_15_MODULES
BASE_15_SP1 = SLE_15_SP1_BASE + SLE_15_SP1_MODULES + SLE_15_SP1_PRODUCTS
BASE_15_SP1_SAP = SLE_15_SP1_SAP + SLE_15_SP1_BASE + SLE_15_SP1_MODULES
+BASE_15_SP1_HPC = SLE_15_SP1_BASE + SLE_15_SP1_HPC
BASE_15_SP2 = SLE_15_SP2_BASE + SLE_15_SP2_MODULES + SLE_15_SP2_PRODUCTS
BASE_15_SP2_SAP = SLE_15_SP2_SAP + SLE_15_SP2_BASE + SLE_15_SP2_MODULES
+BASE_15_SP2_HPC = SLE_15_SP2_BASE + SLE_15_SP2_HPC
SLES_REPOS = {
'11.4-X86_64': SLE_11_SP4_BASE + SLE_11_SP4_MODULES,
'12-X86_64': SLE_12_BASE + SLE_12_MODULES,
'12-X86_64-SAP': SLE_12_SAP + SLE_12_BASE + SLE_12_MODULES,
+ '12-X86_64-HPC': SLE_12_BASE + SLE_12_MODULES,
'12-SP1-X86_64': SLE_12_SP1_BASE + SLE_12_SP1_MODULES,
'12-SP1-X86_64-SAP':
SLE_12_SP1_SAP + SLE_12_SP1_BASE + SLE_12_SP1_MODULES,
+ '12-SP1-X86_64-HPC': SLE_12_SP1_BASE + SLE_12_SP1_MODULES,
'12-SP2-X86_64': SLE_12_SP2_BASE + SLE_12_SP2_MODULES,
'12-SP2-X86_64-SAP':
SLE_12_SP2_SAP + SLE_12_SP2_BASE + SLE_12_SP2_MODULES,
+ '12-SP2-X86_64-HPC': SLE_12_SP2_BASE + SLE_12_SP2_MODULES,
'12-SP3-X86_64': SLE_12_SP3_BASE + SLE_12_SP3_MODULES,
'12-SP3-X86_64-SAP':
SLE_12_SP3_SAP + SLE_12_SP3_BASE + SLE_12_SP3_MODULES,
+ '12-SP3-X86_64-HPC': SLE_12_SP3_BASE + SLE_12_SP3_MODULES,
'12-SP4-X86_64': SLE_12_SP4_BASE + SLE_12_SP4_MODULES,
'12-SP4-X86_64-SAP':
SLE_12_SP4_SAP + SLE_12_SP4_BASE + SLE_12_SP4_MODULES,
+ '12-SP4-X86_64-HPC': SLE_12_SP4_BASE + SLE_12_SP4_MODULES,
'12-SP5-X86_64': SLE_12_SP5_BASE + SLE_12_SP5_MODULES,
'12-SP5-X86_64-SAP':
SLE_12_SP5_SAP + SLE_12_SP5_BASE + SLE_12_SP5_MODULES,
+ '12-SP5-X86_64-HPC': SLE_12_SP5_BASE + SLE_12_SP5_MODULES,
'15-AARCH64': BASE_15,
'15-AARCH64-SAP': BASE_15_SAP,
'15-X86_64': BASE_15 + SLE_15_X86_64_MODULES,
@@ -437,10 +513,12 @@
'15-SP1-AARCH64-SAP': BASE_15_SP1_SAP,
'15-SP1-X86_64': BASE_15_SP1 + SLE_15_SP1_X86_64_MODULES,
'15-SP1-X86_64-SAP': BASE_15_SP1_SAP + SLE_15_SP1_X86_64_MODULES,
+ '15-SP1-X86_64-HPC': BASE_15_SP1_HPC,
'15-SP2-AARCH64': BASE_15_SP2,
'15-SP2-AARCH64-SAP': BASE_15_SP2_SAP,
'15-SP2-X86_64': BASE_15_SP2 + SLE_15_SP2_X86_64_MODULES,
'15-SP2-X86_64-SAP': BASE_15_SP2_SAP + SLE_15_SP2_X86_64_MODULES,
+ '15-SP2-X86_64-HPC': BASE_15_SP2_HPC,
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_on_demand.yaml
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_on_demand.yaml
---
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_on_demand.yaml
2020-02-18 23:19:49.000000000 +0100
+++
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_on_demand.yaml
2020-03-10 22:30:44.000000000 +0100
@@ -1,6 +1,6 @@
tests:
- test_sles_wait_on_registration
- - test_update
+ - test_refresh
- test_sles_repos
- test_sles_smt_reg
- test_sles_guestregister
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_repos.py
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_repos.py
--- old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_repos.py
2020-02-18 23:19:49.000000000 +0100
+++ new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_repos.py
2020-03-10 22:30:44.000000000 +0100
@@ -5,14 +5,16 @@
get_instance_repos,
get_release_value,
get_sles_repos,
- is_sles_sap,
+ get_baseproduct,
determine_architecture
):
version = [get_release_value('VERSION'), determine_architecture()]
- sap = is_sles_sap()
- if sap:
+ product = get_baseproduct()
+ if 'sap' in product.lower():
version.append('SAP')
+ if 'hpc' in product.lower():
+ version.append('HPC')
version = '-'.join(version)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_wait_on_registration.py
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_wait_on_registration.py
---
old/img-proof-4.7.0/usr/share/lib/img_proof/tests/SLES/test_sles_wait_on_registration.py
2020-02-18 23:19:49.000000000 +0100
+++
new/img-proof-4.8.1/usr/share/lib/img_proof/tests/SLES/test_sles_wait_on_registration.py
2020-03-10 22:30:44.000000000 +0100
@@ -7,9 +7,9 @@
end = start + 600
while time.time() < end:
- result = host.run('pgrep registercloud')
+ result = host.run('systemctl is-active guestregister.service')
- if not result.stdout.strip():
+ if result.stdout.strip() == 'inactive':
break
else:
time.sleep(10)