canonical / cloud-init

Official upstream for the cloud-init: cloud instance initialization

Home Page:https://cloud-init.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

integration tests: azure test_azure_eject unable to install deb package in VM

blackboxsw opened this issue · comments

Bug report

Jenkins logs showing inability the daily noble PPA deb on Azure instances in the integration test. The integration test is getting a non-zero exit code trying to dpkg -i /var/tmp/cloud-init*deb. Local testing in a noble LXC instance doesn't result in an error.

Error message from integration tests is due to Ubuntu Noble Minimal not containing dhcpcd-base which is a strict depends of cloud-init's Noble packaging as defined in debian/control:

(Pdb) ret.stderr
'dpkg: dependency problems prevent configuration of cloud-init:\n cloud-init depends on dhcpcd-base; however:\n  Package dhcpcd-base is not installed.\n\ndpkg: error processing package cloud-init (--install):\n dependency problems - leaving unconfigured\nErrors were encountered while processing:\n cloud-init'

context

Jenkins test run failure:
https://jenkins.canonical.com/server-team/view/cloud-init/job/cloud-init-integration-noble-azure/51/console

Steps to reproduce the problem

pull-ppa-debs --no-conf --ppa=ppa:cloud-init-dev/daily cloud-init noble
CLOUD_INIT_CLOUD_INIT_SOURCE=cloud-init*deb CLOUD_INIT_PLATFORM=azure tox -e integration-tests -- tests/integration-tests/datasources/test_azure.py

Environment details

  • Cloud-init version: daill 24.1~
  • Operating System Distribution: ubuntu
  • Cloud provider, platform or installer type: Azure

jenkins test runner logs

Jenkins Console Output

10:16:54  
10:16:54      @retry(tries=30, delay=1)
10:16:54      def install_deb(self):
10:16:54          log.info("Installing deb package")
10:16:54          deb_path = integration_settings.CLOUD_INIT_SOURCE
10:16:54          deb_name = os.path.basename(deb_path)
10:16:54          remote_path = "/var/tmp/{}".format(deb_name)
10:16:54          self.push_file(
10:16:54              local_path=integration_settings.CLOUD_INIT_SOURCE,
10:16:54              remote_path=remote_path,
10:16:54          )
10:16:54  >       assert self.execute("dpkg -i {path}".format(path=remote_path)).ok
10:16:54  E       AssertionError
10:16:54  
10:16:54  deb_name   = 'cloud-init.deb'
10:16:54  deb_path   = '/jenkins/servers/serverteam/workspace/cloud-init-integration-noble-azure/cloud-init.deb'
10:16:54  remote_path = '/var/tmp/cloud-init.deb'
10:16:54  self       = <tests.integration_tests.instances.IntegrationInstance object at 0x7f00b712e1d0>
10:16:54  
10:16:54  tests/integration_tests/instances.py:219: AssertionError
10:16:54  ---------------------------- Captured stdout setup -----------------------------
10:16:54  Settings:
10:16:54  CLOUD_INIT_SOURCE=/jenkins/servers/serverteam/workspace/cloud-init-integration-noble-azure/cloud-init.deb
10:16:54  COLLECT_LOGS=ALWAYS
10:16:54  EXISTING_INSTANCE_ID=None
10:16:54  INCLUDE_COVERAGE=False
10:16:54  INSTANCE_TYPE=None
10:16:54  KEEP_IMAGE=False
10:16:54  KEEP_INSTANCE=False
10:16:54  LOCAL_LOG_PATH=/jenkins/servers/serverteam/workspace/cloud-init-integration-noble-azure/cloud_init_test_logs
10:16:54  OS_IMAGE=noble
10:16:54  PLATFORM=azure