Skip to content

DLPX-96420 Troubleshoot cloud-init repo build failure#115

Merged
tperkins-perforce merged 2 commits into
developfrom
dlpx/pr/tperkins-perforce/7825fc47-c428-40b8-9d5f-0ff81ce9c523
Feb 5, 2026
Merged

DLPX-96420 Troubleshoot cloud-init repo build failure#115
tperkins-perforce merged 2 commits into
developfrom
dlpx/pr/tperkins-perforce/7825fc47-c428-40b8-9d5f-0ff81ce9c523

Conversation

@tperkins-perforce
Copy link
Copy Markdown
Contributor

Background

Cloud-init Build upstream was broken due to a few merge conflicts.

Problem

Merge conflict issues with upstream branch for cloud-init repo.

Solution

Resolve merge conflicts (automated) and manually fix lingering merge conflict issues resulting from upstream changes.

Testing Done

git-ab-pre-push: https://selfservice-jenkins.eng-tools-prd.aws.delphixcloud.com/job/linux-pkg/job/develop/job/build-package/job/cloud-init/job/pre-push/104/

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 3.0 (quilt)
Source: cloud-init
Binary: cloud-init
Architecture: all
Version: 25.2-0ubuntu1~24.04.1
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Homepage: https://cloud-init.io/
Standards-Version: 4.5.0
Vcs-Browser: https://github.com/canonical/cloud-init/tree/ubuntu/devel
Vcs-Git: https://github.com/canonical/cloud-init -b ubuntu/devel
Build-Depends: debhelper-compat (= 13), dh-python, iproute2, po-debconf, python3, python3-configobj, python3-debconf, python3-jinja2, python3-jsonpatch, python3-jsonschema, python3-mock, python3-oauthlib, python3-pytest, python3-pytest-mock, python3-requests, python3-serial, python3-setuptools, python3-yaml, python3-responses, python3-passlib
Package-List:
 cloud-init deb admin optional arch=all
Checksums-Sha1:
 cf3952ef3bc956dc154c72bac6972339f1b8799d 2039157 cloud-init_25.2.orig.tar.gz
 3759e93fb86f0d40d874a63800304241fc957d0f 96768 cloud-init_25.2-0ubuntu1~24.04.1.debian.tar.xz
Checksums-Sha256:
 c1e64581ecd1e57a009aeee78f34a014b1e1a1b1d8bdfba1baa0380b0eabffe8 2039157 cloud-init_25.2.orig.tar.gz
 22eb23fe1452289d1b02cc6ccf7796512f4a425eb138be2af393d3ce5255e385 96768 cloud-init_25.2-0ubuntu1~24.04.1.debian.tar.xz
Files:
 723cd38717755e5838bd7cd59117fb11 2039157 cloud-init_25.2.orig.tar.gz
 4b605b5a27607962e6f0202fe7e8e4c4 96768 cloud-init_25.2-0ubuntu1~24.04.1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQGzBAEBCgAdFiEEsyC5UhjFbFFc1+BoZ0j1UGIrpdQFAmicua0ACgkQZ0j1UGIr
pdRw8wv+MKPEfCTlVQHSy6fVc8AsRdeM4TRtsrf1H09R2/QJRSguyv0/ybhA8jt8
B12VSLsSyCC4D5u28s2+lJzGISWahsY4DKBXwhi050JaxBaDCulS7Dj6g+9lQoCV
RMxjfjYJQBcsURvneGmX6Uc8zqyFHgoLP3r/lS/9dUi9uuRPETYSZz95O40cxs2v
CZf413u2AYb6B/0IyW5FD2zXfkJGPfbk7w8wdhAVsxe1YoWRyEThfO2T615rbj4g
gi6mZl4QXcSXM+21f7xcBMzmyhk+H1JslRfTkDqI6RtQ0S7jHdd5Lda7MI7uPVXU
2SNSm92Ka//S2uU6CtIyyXhu5OyfcG+yCU3LigBiE7NfsndwLfaOOj1HMg/QlstG
9NMTFmyK+u5H+Bn3GLyIK71aCXW6xKj03zbh0KoQurWi3WBRFWwYr7y/sZnKWwbE
vEeVPGrXCMy0ZTAJQEABchOvrroGckuZMRhRwFT5Fcr5K4PCx/NP4X/uHBV6J6Qf
BbJLodW/
=vcgF
-----END PGP SIGNATURE-----
@tperkins-perforce tperkins-perforce force-pushed the dlpx/pr/tperkins-perforce/7825fc47-c428-40b8-9d5f-0ff81ce9c523 branch from 3fac02d to 4dafee4 Compare January 31, 2026 01:43
@tperkins-perforce tperkins-perforce changed the title Wrong check. DLPX-96420 Troubleshoot cloud-init repo build failure Jan 31, 2026
@tperkins-perforce tperkins-perforce marked this pull request as ready for review January 31, 2026 01:45
@sebroy
Copy link
Copy Markdown
Contributor

sebroy commented Feb 4, 2026

A couple of observations:

  1. If we're not making any effort to make sure unit tests pass, then why are we putting effort into maintaining our set of diffs in the unit test code (the code that's mostly responsible for these merge conflicts)?
  2. There's a merge conflict in DataSourceOracle.py where we accepted our changes. What was the nature of our change in that file, and is keeping our change as-is the right way to resolve the conflict?

@prakashsurya
Copy link
Copy Markdown
Contributor

If we're not making any effort to make sure unit tests pass, then why are we putting effort into maintaining our set of diffs in the unit test code (the code that's mostly responsible for these merge conflicts)?

The unit tests that are run as part of the package building process, do pass; if those fail, the package build will fail.

E.g. https://selfservice-jenkins.eng-tools-prd.aws.delphixcloud.com/job/linux-pkg/job/develop/job/build-package/job/cloud-init/job/pre-push/105/consoleFull

...
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_unknown_package_manager PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_non_default_package_manager PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_non_default_package_manager_fail PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_default_and_specific_package_manager PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_specific_package_manager_fail_doesnt_retry PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_no_attempt_if_no_package_manager PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_failed[debian_no_apt] PASSED [ 61%]
17:48:39  tests/unittests/distros/test_init.py::TestInstall::test_failed[debian_with_apt] PASSED [ 61%]
...

I think the github action tests might have never passed, and I don't think we've ever looked into getting those to pass. Off the top of my head, I don't know what the actions map to (e.g. not sure if it's running the same tests we run as part of the package build process, or something else).

There's a merge conflict in DataSourceOracle.py where we accepted our changes. What was the nature of our change in that file, and is keeping our change as-is the right way to resolve the conflict?

It's difficult to tell from the conflict, but the block of change that we modified, has been removed upstream.. so we're opting to remove that entire block as well..

The conflict was due to how we changed match to match on name, rather than mac_address.. but that entire block has been removed, so we don't have any differences than upstream anymore.

I can zoom with you, it'd be easier to explain that way, if you'd like to. Also, using the non-default diff3 as the conflict style, makes this more clear (IMO).

@sebroy
Copy link
Copy Markdown
Contributor

sebroy commented Feb 4, 2026

The conflict was due to how we changed match to match on name, rather than mac_address.. but that entire block has been removed, so we don't have any differences than upstream anymore.

Ok, was this #23? Indeed, it doesn't feel like the code changes from that PR are relevant anymore given that we create our own netplan yaml with our own matching rules at first boot, and cloud-init is only needed to setup network access during that first boot.

@prakashsurya
Copy link
Copy Markdown
Contributor

Ok, was this #23?

I believe so, yes.. those changes continually cause us conflicts.

…develop' into develop

Conflicts:
	cloudinit/sources/DataSourceOracle.py
	systemd/cloud-init.service.tmpl
	tests/unittests/config/test_schema.py
	tests/unittests/sources/test_oracle.py
	tests/unittests/sources/test_vmware.py
@prakashsurya prakashsurya force-pushed the dlpx/pr/tperkins-perforce/7825fc47-c428-40b8-9d5f-0ff81ce9c523 branch from 4dafee4 to c0f019e Compare February 5, 2026 23:04
@tperkins-perforce tperkins-perforce merged commit 141d3b4 into develop Feb 5, 2026
7 of 21 checks passed
@tperkins-perforce tperkins-perforce deleted the dlpx/pr/tperkins-perforce/7825fc47-c428-40b8-9d5f-0ff81ce9c523 branch February 5, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants