# This file is part of cloud-init. See LICENSE file for license information. """Test the behavior of loading/discarding pickle data""" from pathlib import Path import pytest from tests.integration_tests.instances import IntegrationInstance from tests.integration_tests.util import ( ASSETS_DIR, verify_ordered_items_in_text, ) PICKLE_PATH = Path('/var/lib/cloud/instance/obj.pkl') TEST_PICKLE = ASSETS_DIR / 'trusty_with_mime.pkl' @pytest.mark.lxd_container def test_log_message_on_missing_version_file(client: IntegrationInstance): client.push_file(TEST_PICKLE, PICKLE_PATH) client.restart() assert client.execute('cloud-init status --wait').ok log = client.read_from_file('/var/log/cloud-init.log') verify_ordered_items_in_text([ "Unable to unpickle datasource: 'MIMEMultipart' object has no " "attribute 'policy'. Ignoring current cache.", 'no cache found', 'Searching for local data source', 'SUCCESS: found local data from DataSourceNoCloud' ], log)