Expect integration test FAILURE on focal with daily images GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=98ee89bf96854aa45f7fcaa19b1bf185a2e1ea8e8b5f8c21f3c85a7b7aecf162,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='3409791724' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:39:52 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=focal PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:39:52 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:39:54 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d', 'cloudinit-1117-1739521zkm0ds7', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:40:20 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:40:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:23 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:24 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:24 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:26 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:26 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:27 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:27 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:28 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:28 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:40:29 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:40:29 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:40:57 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:40:58 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-1739521zkm0ds7) 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:40:58 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~20.04.1 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:40:58 INFO integration_testing:clouds.py:164 image serial: 20231011 -------------------------------- live log call --------------------------------- 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:40:58 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:41:00 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:41:03 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:03 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:04 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:04 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:05 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:05 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:41:06 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:41:06 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' FAILED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init collect-logs -u -t /var/tmp/cloud-init.tar.gz' 2023-11-17 11:41:10 INFO integration_testing:conftest.py:169 Writing logs to /tmp/cloud_init_test_logs/231117113951/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip 2023-11-17 11:41:10 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'cp /var/tmp/cloud-init.tar.gz /var/tmp/78891914-62dd-4f22-81ea-58b6f760a70c.tmp' 2023-11-17 11:41:10 INFO paramiko.transport.sftp:sftp.py:169 [chan 10] Opened sftp connection (server version 3) =================================== FAILURES =================================== ____________________________ test_ansible_pull_pip _____________________________ client = @pytest.mark.adhoc @pytest.mark.user_data( USER_DATA + INSTALL_METHOD.format(package="ansible-core", method="pip") ) def test_ansible_pull_pip(client): > _test_ansible_pull_from_local_server(client) tests/integration_tests/modules/test_ansible.py:288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration_tests/modules/test_ansible.py:269: in _test_ansible_pull_from_local_server verify_clean_log(log) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ log = "2023-11-17 17:41:01,100 - util.py[DEBUG]: Cloud-init v. 23.3.1-0ubuntu1~20.04.1 running 'init-local' at Fri, 17 Nov 2...3 seconds (3.80)\n2023-11-17 17:41:08,979 - handlers.py[DEBUG]: finish: modules-final: FAIL: running modules for final" ignore_deprecations = True def verify_clean_log(log: str, ignore_deprecations: bool = True): """Assert no unexpected tracebacks or warnings in logs""" if ignore_deprecations: is_deprecated = re.compile("deprecat", flags=re.IGNORECASE) log_lines = log.split("\n") log_lines = list( filter(lambda line: not is_deprecated.search(line), log_lines) ) log = "\n".join(log_lines) error_logs = re.findall("CRITICAL.*", log) + re.findall("ERROR.*", log) if error_logs: raise AssertionError( "Found unexpected errors: %s" % "\n".join(error_logs) ) warning_count = log.count("WARN") expected_warnings = 0 traceback_count = log.count("Traceback") expected_tracebacks = 0 warning_texts = [ # Consistently on all Azure launches: # azure.py[WARNING]: No lease found; using default endpoint "No lease found; using default endpoint", # Ubuntu lxd storage "thinpool by default on Ubuntu due to LP #1982780", "WARNING]: Could not match supplied host pattern, ignoring:", ] traceback_texts = [] if "install canonical-livepatch" in log: # Ubuntu Pro Client emits a warning in between installing livepatch # and enabling it warning_texts.append( "canonical-livepatch returned error when checking status" ) if "oracle" in log: # LP: #1842752 lease_exists_text = "Stderr: RTNETLINK answers: File exists" warning_texts.append(lease_exists_text) traceback_texts.append(lease_exists_text) # LP: #1833446 fetch_error_text = ( "UrlError: 404 Client Error: Not Found for url: " "http://169.254.169.254/latest/meta-data/" ) warning_texts.append(fetch_error_text) traceback_texts.append(fetch_error_text) # Oracle has a file in /etc/cloud/cloud.cfg.d that contains # users: # - default # - name: opc # ssh_redirect_user: true # This can trigger a warning about opc having no public key warning_texts.append( "Unable to disable SSH logins for opc given ssh_redirect_user" ) for warning_text in warning_texts: expected_warnings += log.count(warning_text) for traceback_text in traceback_texts: expected_tracebacks += log.count(traceback_text) assert warning_count == expected_warnings, ( > f"Unexpected warning count != {expected_warnings}. Found: " f"{re.findall('WARNING.*', log)}" ) E AssertionError: Unexpected warning count != 0. Found: ["WARNING]: Running module ansible () failed"] tests/integration_tests/util.py:106: AssertionError ---------------------------- Captured stdout setup ----------------------------- Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=focal PLATFORM=lxd_container RUN_UNSTABLE=False Launching instance with launch_kwargs: image_id=ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu Launched instance: LXDInstance(name=cloudinit-1117-1739521zkm0ds7) cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~20.04.1 image serial: 20231011 ------------------------------ Captured log setup ------------------------------ 2023-11-17 11:39:52 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=focal PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:39:52 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:39:54 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d', 'cloudinit-1117-1739521zkm0ds7', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:40:20 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:40:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:23 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:24 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:24 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:26 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:26 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:27 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:27 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:40:28 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:40:28 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:40:29 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:40:29 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:40:57 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:40:58 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-1739521zkm0ds7) 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:40:58 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~20.04.1 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:40:58 INFO integration_testing:clouds.py:164 image serial: 20231011 ----------------------------- Captured stdout call ----------------------------- Restarting instance and waiting for boot ------------------------------ Captured log call ------------------------------- 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:40:58 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:40:58 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:41:00 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:41:03 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:03 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:04 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:04 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:05 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:05 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:41:06 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:41:06 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' --------------------------- Captured stdout teardown --------------------------- Writing logs to /tmp/cloud_init_test_logs/231117113951/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip ---------------------------- Captured log teardown ----------------------------- 2023-11-17 11:41:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init collect-logs -u -t /var/tmp/cloud-init.tar.gz' 2023-11-17 11:41:10 INFO integration_testing:conftest.py:169 Writing logs to /tmp/cloud_init_test_logs/231117113951/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip 2023-11-17 11:41:10 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'cp /var/tmp/cloud-init.tar.gz /var/tmp/78891914-62dd-4f22-81ea-58b6f760a70c.tmp' 2023-11-17 11:41:10 INFO paramiko.transport.sftp:sftp.py:169 [chan 10] Opened sftp connection (server version 3) =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 66.79s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 11.28s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.72s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip =========================== short test summary info ============================ FAILED tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip =================== 1 failed, 3 warnings in 79.87s (0:01:19) =================== ERROR: InvocationError for command /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip (exited with code 1) ___________________________________ summary ____________________________________ ERROR: integration-tests: commands failed Expect integration test SUCCESS on focal with SRU version cloud-init 23.3.3 GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=496283fe58364b77667c49eb7e493a811e00488207becaa715d623bb189cf791,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='3603607085' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:41:22 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=ppa:cloud-init-dev/proposed COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=focal PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:41:22 INFO integration_testing:conftest.py:120 Setting up environment for lxd_container 2023-11-17 11:41:22 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d user_data=None username=ubuntu 2023-11-17 11:41:23 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:1ff1055f3820e9f25c3c49ad3a9dba2e6c585cb5de3440dfe83150ddfc4a643d', 'cloudinit-1117-174122dimnx9ds', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n'] 2023-11-17 11:41:24 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:41:28 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:28 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:29 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:29 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:30 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:30 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:41:32 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:41:32 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:41:32 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:41:32 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:41:32 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:41:33 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174122dimnx9ds) 2023-11-17 11:41:33 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:41:33 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~20.04.1 2023-11-17 11:41:33 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:41:33 INFO integration_testing:clouds.py:164 image serial: 20231011 2023-11-17 11:41:33 INFO integration_testing:instances.py:174 Installing PPA 2023-11-17 11:41:33 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'add-apt-repository ppa:cloud-init-dev/proposed -y' 2023-11-17 11:41:42 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get update -q' 2023-11-17 11:41:44 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get install -qy cloud-init' 2023-11-17 11:41:48 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init -v' 2023-11-17 11:41:49 INFO integration_testing:instances.py:148 Installed cloud-init version: 23.3.3-0ubuntu0~20.04.1 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:41:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:42:26 INFO integration_testing:instances.py:124 Created new image: local:cloudinit-1117-174122dimnx9ds-snapshot 2023-11-17 11:42:26 INFO integration_testing:conftest.py:126 Done with environment setup 2023-11-17 11:42:26 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=local:cloudinit-1117-174122dimnx9ds-snapshot user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:42:26 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'local:cloudinit-1117-174122dimnx9ds-snapshot', 'cloudinit-1117-17422634q3firp', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:42:33 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:42:36 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:42:36 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:42:36 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:42:36 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:43:18 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:43:18 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-17422634q3firp) 2023-11-17 11:43:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:43:18 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.3-0ubuntu0~20.04.1 2023-11-17 11:43:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:43:18 INFO integration_testing:clouds.py:164 image serial: 20231011 -------------------------------- live log call --------------------------------- 2023-11-17 11:43:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:43:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:43:19 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:43:19 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:43:21 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:43:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.2p1) 2023-11-17 11:43:23 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:43:24 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:43:24 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:43:34 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:43:34 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:43:34 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:43:34 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:43:35 INFO integration_testing:clouds.py:195 Deleting snapshot image created for this testrun: local:cloudinit-1117-174122dimnx9ds-snapshot =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 117.58s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 15.81s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.71s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ================== 1 passed, 3 warnings in 135.11s (0:02:15) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :) Expect integration test FAILURE on jammy with daily images GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=35d6a7f4a2ae4d38ace3f7d7e7169deb19f1a9e21aeefe06246a80623403f8bf,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='1669262219' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:43:47 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=jammy PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:43:47 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17 user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:43:48 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17', 'cloudinit-1117-174347xkrq4pu5', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:43:49 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:43:53 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:53 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:54 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:54 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:55 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:55 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:57 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:57 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:43:57 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:43:57 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:44:17 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:44:18 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174347xkrq4pu5) 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:44:18 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~22.04.1 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:44:18 INFO integration_testing:clouds.py:164 image serial: 20231027 -------------------------------- live log call --------------------------------- 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:44:18 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:44:20 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:44:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:23 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:24 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:24 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:25 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:25 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:44:26 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:44:26 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' FAILED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init collect-logs -u -t /var/tmp/cloud-init.tar.gz' 2023-11-17 11:44:28 INFO integration_testing:conftest.py:169 Writing logs to /tmp/cloud_init_test_logs/231117114346/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'cp /var/tmp/cloud-init.tar.gz /var/tmp/04263165-b552-4a08-908e-f5e4a576861c.tmp' 2023-11-17 11:44:28 INFO paramiko.transport.sftp:sftp.py:169 [chan 9] Opened sftp connection (server version 3) =================================== FAILURES =================================== ____________________________ test_ansible_pull_pip _____________________________ client = @pytest.mark.adhoc @pytest.mark.user_data( USER_DATA + INSTALL_METHOD.format(package="ansible-core", method="pip") ) def test_ansible_pull_pip(client): > _test_ansible_pull_from_local_server(client) tests/integration_tests/modules/test_ansible.py:288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration_tests/modules/test_ansible.py:269: in _test_ansible_pull_from_local_server verify_clean_log(log) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ log = "2023-11-17 17:44:20,926 - util.py[DEBUG]: Cloud-init v. 23.3.1-0ubuntu1~22.04.1 running 'init-local' at Fri, 17 Nov 2...4 seconds (3.13)\n2023-11-17 17:44:27,871 - handlers.py[DEBUG]: finish: modules-final: FAIL: running modules for final" ignore_deprecations = True def verify_clean_log(log: str, ignore_deprecations: bool = True): """Assert no unexpected tracebacks or warnings in logs""" if ignore_deprecations: is_deprecated = re.compile("deprecat", flags=re.IGNORECASE) log_lines = log.split("\n") log_lines = list( filter(lambda line: not is_deprecated.search(line), log_lines) ) log = "\n".join(log_lines) error_logs = re.findall("CRITICAL.*", log) + re.findall("ERROR.*", log) if error_logs: raise AssertionError( "Found unexpected errors: %s" % "\n".join(error_logs) ) warning_count = log.count("WARN") expected_warnings = 0 traceback_count = log.count("Traceback") expected_tracebacks = 0 warning_texts = [ # Consistently on all Azure launches: # azure.py[WARNING]: No lease found; using default endpoint "No lease found; using default endpoint", # Ubuntu lxd storage "thinpool by default on Ubuntu due to LP #1982780", "WARNING]: Could not match supplied host pattern, ignoring:", ] traceback_texts = [] if "install canonical-livepatch" in log: # Ubuntu Pro Client emits a warning in between installing livepatch # and enabling it warning_texts.append( "canonical-livepatch returned error when checking status" ) if "oracle" in log: # LP: #1842752 lease_exists_text = "Stderr: RTNETLINK answers: File exists" warning_texts.append(lease_exists_text) traceback_texts.append(lease_exists_text) # LP: #1833446 fetch_error_text = ( "UrlError: 404 Client Error: Not Found for url: " "http://169.254.169.254/latest/meta-data/" ) warning_texts.append(fetch_error_text) traceback_texts.append(fetch_error_text) # Oracle has a file in /etc/cloud/cloud.cfg.d that contains # users: # - default # - name: opc # ssh_redirect_user: true # This can trigger a warning about opc having no public key warning_texts.append( "Unable to disable SSH logins for opc given ssh_redirect_user" ) for warning_text in warning_texts: expected_warnings += log.count(warning_text) for traceback_text in traceback_texts: expected_tracebacks += log.count(traceback_text) assert warning_count == expected_warnings, ( > f"Unexpected warning count != {expected_warnings}. Found: " f"{re.findall('WARNING.*', log)}" ) E AssertionError: Unexpected warning count != 0. Found: ["WARNING]: Running module ansible () failed"] tests/integration_tests/util.py:106: AssertionError ---------------------------- Captured stdout setup ----------------------------- Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=jammy PLATFORM=lxd_container RUN_UNSTABLE=False Launching instance with launch_kwargs: image_id=ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17 user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu Launched instance: LXDInstance(name=cloudinit-1117-174347xkrq4pu5) cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~22.04.1 image serial: 20231027 ------------------------------ Captured log setup ------------------------------ 2023-11-17 11:43:47 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=jammy PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:43:47 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17 user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:43:48 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17', 'cloudinit-1117-174347xkrq4pu5', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:43:49 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:43:53 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:53 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:54 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:54 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:55 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:55 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:43:57 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:43:57 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:43:57 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:43:57 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:44:17 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:44:18 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174347xkrq4pu5) 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:44:18 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~22.04.1 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:44:18 INFO integration_testing:clouds.py:164 image serial: 20231027 ----------------------------- Captured stdout call ----------------------------- Restarting instance and waiting for boot ------------------------------ Captured log call ------------------------------- 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:44:18 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:44:18 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:44:20 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:44:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:23 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:24 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:24 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:25 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:25 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:44:26 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:44:26 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' --------------------------- Captured stdout teardown --------------------------- Writing logs to /tmp/cloud_init_test_logs/231117114346/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip ---------------------------- Captured log teardown ----------------------------- 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init collect-logs -u -t /var/tmp/cloud-init.tar.gz' 2023-11-17 11:44:28 INFO integration_testing:conftest.py:169 Writing logs to /tmp/cloud_init_test_logs/231117114346/tests/integration_tests/modules/test_ansible/test_ansible_pull_pip 2023-11-17 11:44:28 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'cp /var/tmp/cloud-init.tar.gz /var/tmp/04263165-b552-4a08-908e-f5e4a576861c.tmp' 2023-11-17 11:44:28 INFO paramiko.transport.sftp:sftp.py:169 [chan 9] Opened sftp connection (server version 3) =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 32.06s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 10.11s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.69s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip =========================== short test summary info ============================ FAILED tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ======================== 1 failed, 3 warnings in 43.94s ======================== ERROR: InvocationError for command /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip (exited with code 1) ___________________________________ summary ____________________________________ ERROR: integration-tests: commands failed Expect integration test SUCCESS on jammy with SRU version cloud-init 23.3.3 GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=4acadba83533b0160e52a3c10e8e8e2733f9dd7a5ab7ee07e8a623ec5810a13b,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='1684114888' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:44:41 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=ppa:cloud-init-dev/proposed COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=jammy PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:44:41 INFO integration_testing:conftest.py:120 Setting up environment for lxd_container 2023-11-17 11:44:41 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17 user_data=None username=ubuntu 2023-11-17 11:44:42 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:c200f342f21784d1730c665d9ef28e3a9eaa9847d47d1ff0a9f6cb4eb12b2f17', 'cloudinit-1117-174441d997n2wl', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n'] 2023-11-17 11:44:43 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:44:45 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:45 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:46 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:47 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:48 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:48 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:44:49 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:44:49 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:44:49 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:44:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:44:50 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:44:50 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174441d997n2wl) 2023-11-17 11:44:50 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:44:50 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~22.04.1 2023-11-17 11:44:50 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:44:50 INFO integration_testing:clouds.py:164 image serial: 20231027 2023-11-17 11:44:50 INFO integration_testing:instances.py:174 Installing PPA 2023-11-17 11:44:50 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'add-apt-repository ppa:cloud-init-dev/proposed -y' 2023-11-17 11:44:58 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get update -q' 2023-11-17 11:44:59 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get install -qy cloud-init' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init -v' 2023-11-17 11:45:04 INFO integration_testing:instances.py:148 Installed cloud-init version: 23.3.3-0ubuntu0~22.04.1 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:45:04 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:45:05 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:45:05 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:45:05 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:45:40 INFO integration_testing:instances.py:124 Created new image: local:cloudinit-1117-174441d997n2wl-snapshot 2023-11-17 11:45:40 INFO integration_testing:conftest.py:126 Done with environment setup 2023-11-17 11:45:40 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=local:cloudinit-1117-174441d997n2wl-snapshot user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:45:40 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'local:cloudinit-1117-174441d997n2wl-snapshot', 'cloudinit-1117-174540bo032803', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:45:47 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:45:50 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:45:50 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:45:50 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:45:50 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:46:14 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174540bo032803) 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:46:14 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.3-0ubuntu0~22.04.1 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:46:14 INFO integration_testing:clouds.py:164 image serial: 20231027 -------------------------------- live log call --------------------------------- 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:46:14 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:46:14 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:46:16 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:46:19 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_8.9p1) 2023-11-17 11:46:19 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:46:19 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:46:19 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:46:27 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:46:27 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:46:27 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:46:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:46:29 INFO integration_testing:clouds.py:195 Deleting snapshot image created for this testrun: local:cloudinit-1117-174441d997n2wl-snapshot =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 94.46s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 13.60s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.66s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ================== 1 passed, 3 warnings in 109.71s (0:01:49) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :) Expect integration test SUCCESS on lunar with daily images GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=895cf8dac9e2ed0e9b734241e24e09da39602a222f0a11b9e3d8b91d94eb5c0d,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='3991517051' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:46:40 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=lunar PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:46:40 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:5c305070ca331ed6ea1fc44d38e37496a8aa69344c466dac7e097f54effec753 user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:46:42 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:5c305070ca331ed6ea1fc44d38e37496a8aa69344c466dac7e097f54effec753', 'cloudinit-1117-174640vind0cx6', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:47:14 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:47:17 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:17 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:47:18 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:18 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:47:20 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:20 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:47:21 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:21 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:47:22 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:22 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:47:23 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:47:23 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:47:51 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:47:51 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174640vind0cx6) 2023-11-17 11:47:51 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:47:52 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~23.04.1 2023-11-17 11:47:52 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:47:52 INFO integration_testing:clouds.py:164 image serial: 20231113 -------------------------------- live log call --------------------------------- 2023-11-17 11:47:52 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:47:52 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:47:52 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:47:52 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:47:54 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:47:58 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:58 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:47:59 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:47:59 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:47:59 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:47:59 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:48:11 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:48:12 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:48:12 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:48:12 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 72.56s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 20.10s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.35s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip =================== 1 passed, 3 warnings in 94.02s (0:01:34) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :) Expect integration test SUCCESS on lunar with SRU version cloud-init 23.3.3 GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=7a1110205d254115cd7be2d3440c6735613707c4f660b2f589c80c62e2bec4c7,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='1230059565' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:48:24 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=ppa:cloud-init-dev/proposed COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=lunar PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:48:24 INFO integration_testing:conftest.py:120 Setting up environment for lxd_container 2023-11-17 11:48:24 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:5c305070ca331ed6ea1fc44d38e37496a8aa69344c466dac7e097f54effec753 user_data=None username=ubuntu 2023-11-17 11:48:26 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:5c305070ca331ed6ea1fc44d38e37496a8aa69344c466dac7e097f54effec753', 'cloudinit-1117-1748247kkmb4o4', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n'] 2023-11-17 11:48:26 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:48:30 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:48:30 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:48:31 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:48:31 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:48:32 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:48:33 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:48:34 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:48:34 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:48:34 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:48:34 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:48:34 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:48:35 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-1748247kkmb4o4) 2023-11-17 11:48:35 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:48:35 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu1~23.04.1 2023-11-17 11:48:35 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:48:35 INFO integration_testing:clouds.py:164 image serial: 20231113 2023-11-17 11:48:35 INFO integration_testing:instances.py:174 Installing PPA 2023-11-17 11:48:35 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'add-apt-repository ppa:cloud-init-dev/proposed -y' 2023-11-17 11:48:43 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get update -q' 2023-11-17 11:48:44 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get install -qy cloud-init' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init -v' 2023-11-17 11:48:49 INFO integration_testing:instances.py:148 Installed cloud-init version: 23.3.3-0ubuntu0~23.04.1 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:48:49 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:48:50 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:48:50 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:49:27 INFO integration_testing:instances.py:124 Created new image: local:cloudinit-1117-1748247kkmb4o4-snapshot 2023-11-17 11:49:28 INFO integration_testing:conftest.py:126 Done with environment setup 2023-11-17 11:49:28 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=local:cloudinit-1117-1748247kkmb4o4-snapshot user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:49:28 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'local:cloudinit-1117-1748247kkmb4o4-snapshot', 'cloudinit-1117-174928ukfc0xf4', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:49:35 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:49:38 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:49:38 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:49:38 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:49:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:50:08 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-174928ukfc0xf4) 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:50:08 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.3-0ubuntu0~23.04.1 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:50:08 INFO integration_testing:clouds.py:164 image serial: 20231113 -------------------------------- live log call --------------------------------- 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:50:08 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:50:08 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:50:10 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:50:13 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.0p1) 2023-11-17 11:50:13 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:50:13 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:50:13 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:50:21 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:50:21 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:50:21 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:50:21 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:50:23 INFO integration_testing:clouds.py:195 Deleting snapshot image created for this testrun: local:cloudinit-1117-1748247kkmb4o4-snapshot =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 105.05s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 13.45s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.72s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ================== 1 passed, 3 warnings in 120.22s (0:02:00) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :) Expect integration test SUCCESS on mantic with daily images GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=e9a810f88c077123c4742ba328058be070cfaf6c7850a846206ad560d36bc138,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='2919005891' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:50:34 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=NONE COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=mantic PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:50:34 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:ba963bf519bf67aa0a8d2131e47ba8b159e2c38db4df1670d7c97e2b9ba9b7cc user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:50:36 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:ba963bf519bf67aa0a8d2131e47ba8b159e2c38db4df1670d7c97e2b9ba9b7cc', 'cloudinit-1117-175034tlxmnbcv', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:51:10 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:51:12 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:12 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:13 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:13 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:15 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:15 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:16 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:16 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:17 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:17 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:19 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:19 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:20 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:20 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:21 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:21 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:51:22 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:51:22 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:51:47 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:51:48 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-175034tlxmnbcv) 2023-11-17 11:51:48 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:51:48 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu2 2023-11-17 11:51:48 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:51:48 INFO integration_testing:clouds.py:164 image serial: 20231014 -------------------------------- live log call --------------------------------- 2023-11-17 11:51:48 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:51:48 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:51:48 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:51:48 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:51:50 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:51:52 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:53 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:54 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:54 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:51:55 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:51:55 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:51:55 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:51:55 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:52:00 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:52:01 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:52:01 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:52:01 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 74.80s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 13.12s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.33s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip =================== 1 passed, 3 warnings in 89.25s (0:01:29) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :) Expect integration test SUCCESS on mantic with SRU version cloud-init 23.3.3 GLOB sdist-make: /home/james/c/cloud-init/setup.py integration-tests inst-nodeps: /home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3+140.g0b90fbf5.zip integration-tests installed: adal==1.2.7,appdirs==1.4.4,applicationinsights==0.11.10,argcomplete==3.1.2,attrs==23.1.0,autopage==0.5.2,azure-cli-core==2.50.0,azure-cli-telemetry==1.0.8,azure-common==1.1.28,azure-core==1.29.5,azure-identity==1.14.1,azure-mgmt-compute==30.3.0,azure-mgmt-core==1.4.0,azure-mgmt-network==25.1.0,azure-mgmt-resource==23.0.1,bcrypt==4.0.1,boto3==1.29.2,botocore==1.32.2,cachetools==5.3.2,certifi==2023.7.22,cffi==1.15.1,charset-normalizer==3.3.2,circuitbreaker==1.4.0,cliff==3.10.1,cloud-init @ file:///home/james/c/cloud-init/.tox/.tmp/package/87/cloud-init-23.3%2B140.g0b90fbf5.zip#sha256=f16a497029e2a38a0abb99cb03e67890f2d3c220fa44a37ddf4d669901a2f461,cmd2==2.4.3,configobj==5.0.8,cryptography==41.0.5,debtcollector==2.5.0,decorator==5.1.1,distro==1.8.0,dogpile.cache==1.2.2,exceptiongroup==1.1.3,google-api-core==2.14.0,google-api-python-client==2.108.0,google-auth==2.23.4,google-auth-httplib2==0.1.1,googleapis-common-protos==1.61.0,httplib2==0.22.0,humanfriendly==10.0,ibm-cloud-sdk-core==3.18.0,ibm-platform-services==0.47.0,ibm-vpc==0.20.0,idna==3.4,importlib-metadata==6.7.0,importlib-resources==5.12.0,iniconfig==2.0.0,iso8601==2.1.0,isodate==0.6.1,Jinja2==3.1.2,jmespath==1.0.1,jsonpatch==1.33,jsonpointer==2.4,jsonschema==4.17.3,keystoneauth1==5.1.2,knack==0.10.1,MarkupSafe==2.1.3,msal==1.22.0,msal-extensions==1.0.0,msgpack==1.0.5,msrest==0.7.1,msrestazure==0.6.4,netaddr==0.9.0,netifaces==0.11.0,oauthlib==3.2.2,oci==2.116.0,openstacksdk==1.4.0,os-service-types==1.7.0,osc-lib==2.9.0,oslo.config==8.8.1,oslo.i18n==5.1.0,oslo.serialization==4.3.0,oslo.utils==4.13.0,packaging==23.2,paramiko==3.3.1,passlib==1.7.4,pbr==6.0.0,pkginfo==1.9.6,pkgutil_resolve_name==1.3.10,pluggy==1.2.0,portalocker==2.7.0,prettytable==3.7.0,protobuf==3.19.6,psutil==5.9.6,pyasn1==0.5.0,pyasn1-modules==0.3.0,pycloudlib==1!5.10.1,pycparser==2.21,Pygments==2.16.1,PyJWT==2.8.0,PyNaCl==1.5.0,pyOpenSSL==23.3.0,pyparsing==2.4.7,pyperclip==1.8.2,pyrsistent==0.19.3,pyserial==3.5,PySocks==1.7.1,pytest==7.4.3,python-cinderclient==8.3.0,python-dateutil==2.8.2,python-keystoneclient==4.5.0,python-novaclient==17.7.0,python-openstackclient==5.8.1,pytz==2023.3.post1,PyYAML==6.0.1,qemu.qmp==0.0.3,requests==2.31.0,requests-oauthlib==1.3.1,requestsexceptions==1.4.0,rfc3986==2.0.0,rsa==4.9,s3transfer==0.7.0,simplejson==3.19.2,six==1.16.0,stevedore==3.5.2,tabulate==0.9.0,toml==0.10.0,tomli==2.0.1,typing_extensions==4.7.1,uritemplate==4.1.1,urllib3==1.26.18,wcwidth==0.2.10,wrapt==1.16.0,zipp==3.15.0 integration-tests run-test-pre: PYTHONHASHSEED='4210552933' integration-tests run-test: commands[0] | /home/james/c/cloud-init/.tox/integration-tests/bin/python -m pytest -vv --log-cli-level=INFO --durations 10 tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ============================= test session starts ============================== platform linux -- Python 3.7.16, pytest-7.4.3, pluggy-1.2.0 -- /home/james/c/cloud-init/.tox/integration-tests/bin/python cachedir: .tox/integration-tests/.pytest_cache rootdir: /home/james/c/cloud-init configfile: tox.ini collecting ... collected 1 item tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip -------------------------------- live log setup -------------------------------- 2023-11-17 11:52:13 INFO integration_testing:clouds.py:81 Settings: CLOUD_INIT_SOURCE=ppa:cloud-init-dev/proposed COLLECT_LOGS=ON_ERROR EXISTING_INSTANCE_ID=None INSTANCE_TYPE=None KEEP_IMAGE=False KEEP_INSTANCE=False LOCAL_LOG_PATH=/tmp/cloud_init_test_logs OPENSTACK_NETWORK=falcojr_admin_net OS_IMAGE=mantic PLATFORM=lxd_container RUN_UNSTABLE=False 2023-11-17 11:52:13 INFO integration_testing:conftest.py:120 Setting up environment for lxd_container 2023-11-17 11:52:13 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=ubuntu-daily:ba963bf519bf67aa0a8d2131e47ba8b159e2c38db4df1670d7c97e2b9ba9b7cc user_data=None username=ubuntu 2023-11-17 11:52:15 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'ubuntu-daily:ba963bf519bf67aa0a8d2131e47ba8b159e2c38db4df1670d7c97e2b9ba9b7cc', 'cloudinit-1117-175213hqvy87r3', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n'] 2023-11-17 11:52:16 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:52:19 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:19 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:20 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:21 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:22 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:22 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:23 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:23 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:24 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:25 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:26 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:26 INFO paramiko.transport:transport.py:1893 Auth banner: b'"System is booting up. Unprivileged users are not permitted to log in yet. Please come back later. For technical details, see pam_nologin(8)."\n' 2023-11-17 11:52:27 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:52:27 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:52:28 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-175213hqvy87r3) 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:52:28 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.1-0ubuntu2 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:52:28 INFO integration_testing:clouds.py:164 image serial: 20231014 2023-11-17 11:52:28 INFO integration_testing:instances.py:174 Installing PPA 2023-11-17 11:52:28 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'add-apt-repository ppa:cloud-init-dev/proposed -y' 2023-11-17 11:52:32 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get update -q' 2023-11-17 11:52:33 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'apt-get install -qy cloud-init' 2023-11-17 11:52:37 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init -v' 2023-11-17 11:52:37 INFO integration_testing:instances.py:148 Installed cloud-init version: 23.3.3-0ubuntu0~23.10.1 2023-11-17 11:52:37 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo cloud-init clean --logs' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo echo '"'"'uninitialized'"'"' > /etc/machine-id' 2023-11-17 11:52:38 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'sudo rm -rf /var/log/syslog' 2023-11-17 11:53:16 INFO integration_testing:instances.py:124 Created new image: local:cloudinit-1117-175213hqvy87r3-snapshot 2023-11-17 11:53:17 INFO integration_testing:conftest.py:126 Done with environment setup 2023-11-17 11:53:17 INFO integration_testing:clouds.py:146 Launching instance with launch_kwargs: image_id=local:cloudinit-1117-175213hqvy87r3-snapshot user_data=#cloud-config version: v1 package_update: true package_upgrade: true packages: - git - python3-pip write_files: - path: /etc/systemd/system/repo_server.service content: | [Unit] Description=Serve a local git repo Wants=repo_waiter.service After=cloud-init-local.service Before=cloud-config.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service [Service] WorkingDirectory=/root/playbooks/.git ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000 - path: /etc/systemd/system/repo_waiter.service content: | [Unit] Description=Block boot until repo is available After=repo_server.service Before=cloud-final.service [Install] WantedBy=cloud-init-local.service # clone into temp directory to test that server is running # sdnotify would be an alternative way to verify that the server is # running and continue once it is up, but this is simple and works [Service] Type=oneshot ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done" - path: /root/playbooks/ubuntu.yml content: | --- - hosts: 127.0.0.1 connection: local become: true vars: packages: - git - python3-pip roles: - apt - path: /root/playbooks/roles/apt/tasks/main.yml content: | --- - name: "install packages" apt: name: "*" update_cache: yes cache_valid_time: 3600 - name: "install packages" apt: name: - "{{ item }}" state: latest loop: "{{ packages }}" runcmd: - [systemctl, enable, repo_server.service] - [systemctl, enable, repo_waiter.service] ansible: ansible_config: /etc/ansible/ansible.cfg install_method: pip package_name: ansible-core galaxy: actions: - ["ansible-galaxy", "collection", "install", "community.grafana"] pull: url: "http://0.0.0.0:8000/" playbook_name: ubuntu.yml full: true username=ubuntu 2023-11-17 11:53:17 INFO pycloudlib.cloud.LXDContainer:cloud.py:252 ['lxc', 'init', 'local:cloudinit-1117-175213hqvy87r3-snapshot', 'cloudinit-1117-1753177h0fm26l', '--config', 'user.meta-data=public-keys: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVFCuncf2UzPNMH2qAupg0/8L3pIH6Y86lyfWa6nke/haXITT9xKsjLrau2aAGoyPBpgFah6TIqPIEaHCm8OjYzcpHQLRXbu3mCAK70E23ud8zubBiEZ3GSdvhedrNvxgo9p84UaEIPhDik30HzSiiv2oYrUmnnPFdacMXG8Q99khvSKnC15jylINFDAdzETKidDMV/p0xn5zVydwCxNzChJOb5nXzdTwXZ1YiB1vgRuGeOjZ77SwoTWkqFfDaUT4B7U88pTwOnAvQOIVd9LCQzcMUucAL4QdHK6XXtAciJUrG8I+h4xDt/JmpsQ4WbeYFukQt6pf1cpxSLWPigMhmFAygZZEft+gXkszELpMA6DBqy+VLjJ0/sNZzZvR7UwhG1n9o2OLdwxyw0Shxm0ZeFeFYNeNp6AaficHPEH+wGQuvgHuN35ZEgAw8MGLSoDdDPOxn5Py7gtz5fK4gSN+QtkaNFRIUZULoyBRDxr6SFVqnVvw8CxuCvkKfoygMXQk= james@cow\n', '--config', 'user.user-data=#cloud-config\nversion: v1\npackage_update: true\npackage_upgrade: true\npackages:\n - git\n - python3-pip\nwrite_files:\n - path: /etc/systemd/system/repo_server.service\n content: |\n [Unit]\n Description=Serve a local git repo\n Wants=repo_waiter.service\n After=cloud-init-local.service\n Before=cloud-config.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n [Service]\n WorkingDirectory=/root/playbooks/.git\n ExecStart=/usr/bin/env python3 -m http.server --bind 0.0.0.0 8000\n\n - path: /etc/systemd/system/repo_waiter.service\n content: |\n [Unit]\n Description=Block boot until repo is available\n After=repo_server.service\n Before=cloud-final.service\n\n [Install]\n WantedBy=cloud-init-local.service\n\n # clone into temp directory to test that server is running\n # sdnotify would be an alternative way to verify that the server is\n # running and continue once it is up, but this is simple and works\n [Service]\n Type=oneshot\n ExecStart=/bin/sh -c "while ! git clone http://0.0.0.0:8000/ $(mktemp -d); do sleep 0.1; done"\n\n - path: /root/playbooks/ubuntu.yml\n content: |\n ---\n - hosts: 127.0.0.1\n connection: local\n become: true\n vars:\n packages:\n - git\n - python3-pip\n roles:\n - apt\n - path: /root/playbooks/roles/apt/tasks/main.yml\n content: |\n ---\n - name: "install packages"\n apt:\n name: "*"\n update_cache: yes\n cache_valid_time: 3600\n - name: "install packages"\n apt:\n name:\n - "{{ item }}"\n state: latest\n loop: "{{ packages }}"\n\nruncmd:\n - [systemctl, enable, repo_server.service]\n - [systemctl, enable, repo_waiter.service]\n\nansible:\n ansible_config: /etc/ansible/ansible.cfg\n install_method: pip\n package_name: ansible-core\n galaxy:\n actions:\n - ["ansible-galaxy", "collection", "install", "community.grafana"]\n pull:\n url: "http://0.0.0.0:8000/"\n playbook_name: ubuntu.yml\n full: true\n'] 2023-11-17 11:53:24 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:53:28 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:53:28 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:53:28 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:53:28 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:53:55 INFO integration_testing:clouds.py:154 Launched instance: LXDInstance(name=cloudinit-1117-1753177h0fm26l) 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init --version' 2023-11-17 11:53:55 INFO integration_testing:clouds.py:160 cloud-init version: /usr/bin/cloud-init 23.3.3-0ubuntu0~23.10.1 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'grep serial /etc/cloud/build.info' 2023-11-17 11:53:55 INFO integration_testing:clouds.py:164 image serial: 20231014 -------------------------------- live log call --------------------------------- 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cd /root/playbooks &&git config --global user.name auto &&git config --global user.email autom@tic.io &&git config --global init.defaultBranch main &&git init /root/playbooks &&git add /root/playbooks/roles/apt/tasks/main.yml /root/playbooks/ubuntu.yml &&git commit -m auto &&(cd /root/playbooks/.git; git update-server-info)' 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cloud-init clean --logs' 2023-11-17 11:53:55 INFO integration_testing:instances.py:73 Restarting instance and waiting for boot 2023-11-17 11:53:55 INFO pycloudlib.instance:instance.py:270 executing: sh -c sync 2023-11-17 11:53:58 INFO pycloudlib.instance:instance.py:494 _wait_for_execute to complete 2023-11-17 11:54:00 INFO paramiko.transport:transport.py:1893 Connected (version 2.0, client OpenSSH_9.3p1) 2023-11-17 11:54:00 INFO paramiko.transport:transport.py:1893 Authentication (publickey) successful! 2023-11-17 11:54:00 INFO pycloudlib.instance:instance.py:515 _wait_for_cloudinit to complete 2023-11-17 11:54:00 INFO pycloudlib.instance:instance.py:270 executing: sh -c 'command -v systemctl' 2023-11-17 11:54:08 INFO pycloudlib.instance:instance.py:270 executing: cloud-init status --wait --long 2023-11-17 11:54:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init.log' 2023-11-17 11:54:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'cat /var/log/cloud-init-output.log' 2023-11-17 11:54:09 INFO pycloudlib.instance:instance.py:270 executing: sudo -- sh -c 'ls /root/.ansible/collections/ansible_collections/community/grafana' PASSED [100%] ------------------------------ live log teardown ------------------------------- 2023-11-17 11:54:10 INFO integration_testing:clouds.py:195 Deleting snapshot image created for this testrun: local:cloudinit-1117-175213hqvy87r3-snapshot =============================== warnings summary =============================== .tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/_pytest/config/__init__.py:1317: PytestRemovedIn8Warning: The --strict option is deprecated, use --strict-markers instead. _pytest.deprecated.STRICT_OPTION, stacklevel=2 .tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/auth/__init__.py:55: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) .tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40 /home/james/c/cloud-init/.tox/integration-tests/lib/python3.7/site-packages/google/oauth2/__init__.py:40: Python37DeprecationWarning: After January 1, 2024, new releases of this library will drop support for Python 3.7. More details about Python 3.7 support can be found at https://cloud.google.com/python/docs/python37-sunset/ warnings.warn(message, Python37DeprecationWarning) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 102.95s setup tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 13.76s call tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip 1.78s teardown tests/integration_tests/modules/test_ansible.py::test_ansible_pull_pip ================== 1 passed, 3 warnings in 118.50s (0:01:58) =================== ___________________________________ summary ____________________________________ integration-tests: commands succeeded congratulations :)