summaryrefslogtreecommitdiff
path: root/tests/integration_tests/test_upgrade.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration_tests/test_upgrade.py')
-rw-r--r--tests/integration_tests/test_upgrade.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/tests/integration_tests/test_upgrade.py b/tests/integration_tests/test_upgrade.py
index 376fcc96..e90a5f9d 100644
--- a/tests/integration_tests/test_upgrade.py
+++ b/tests/integration_tests/test_upgrade.py
@@ -5,6 +5,7 @@ import pytest
from tests.integration_tests.clouds import ImageSpecification, IntegrationCloud
from tests.integration_tests.conftest import get_validated_source
+from tests.integration_tests.util import verify_clean_log
LOG = logging.getLogger('integration_testing.test_upgrade')
@@ -73,11 +74,15 @@ def test_clean_boot_of_upgraded_package(session_cloud: IntegrationCloud):
pre_cloud_blame = instance.execute('cloud-init analyze blame')
# Ensure no issues pre-upgrade
+ log = instance.read_from_file('/var/log/cloud-init.log')
assert not json.loads(pre_result)['v1']['errors']
- log = instance.read_from_file('/var/log/cloud-init.log')
- assert 'Traceback' not in log
- assert 'WARN' not in log
+ try:
+ verify_clean_log(log)
+ except AssertionError:
+ LOG.warning(
+ 'There were errors/warnings/tracebacks pre-upgrade. '
+ 'Any failures may be due to pre-upgrade problem')
# Upgrade and reboot
instance.install_new_cloud_init(source, take_snapshot=False)
@@ -105,13 +110,21 @@ def test_clean_boot_of_upgraded_package(session_cloud: IntegrationCloud):
assert not json.loads(pre_result)['v1']['errors']
log = instance.read_from_file('/var/log/cloud-init.log')
- assert 'Traceback' not in log
- assert 'WARN' not in log
+ verify_clean_log(log)
# Ensure important things stayed the same
assert pre_hostname == post_hostname
assert pre_cloud_id == post_cloud_id
- assert pre_result == post_result
+ try:
+ assert pre_result == post_result
+ except AssertionError:
+ if instance.settings.PLATFORM == 'azure':
+ pre_json = json.loads(pre_result)
+ post_json = json.loads(post_result)
+ assert pre_json['v1']['datasource'].startswith(
+ 'DataSourceAzure')
+ assert post_json['v1']['datasource'].startswith(
+ 'DataSourceAzure')
assert pre_network == post_network
# Calculate and log all the boot numbers