Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚠️ CONFLICT! Lineage pull request for: skeleton #9

Merged
merged 46 commits into from
Jun 25, 2024
Merged

Conversation

cisagovbot
Copy link

@cisagovbot cisagovbot commented Jun 2, 2024

Lineage Pull Request: CONFLICT

Lineage has created this pull request to incorporate new changes found in an
upstream repository:

Upstream repository: https://github.com/cisagov/skeleton-ansible-role.git
Remote branch: HEAD

Check the changes in this pull request to ensure they won't cause issues with
your project.

The lineage/skeleton branch has one or more unresolved merge conflicts
that you must resolve before merging this pull request!

How to resolve the conflicts

  1. Take ownership of this pull request by removing any other assignees.

  2. Clone the repository locally, and reapply the merge:

    git clone git@github.com:cisagov/ansible-role-systemd-resolved.git ansible-role-systemd-resolved
    cd ansible-role-systemd-resolved
    git remote add skeleton https://github.com/cisagov/skeleton-ansible-role.git
    git remote set-url --push skeleton no_push
    git switch develop
    git switch --create lineage/skeleton --track origin/develop
    git pull skeleton HEAD
    git status
  3. Review the changes displayed by the status command. Fix any conflicts and
    possibly incorrect auto-merges.

  4. After resolving each of the conflicts, add your changes to the
    branch, commit, and push your changes:

    git add .github/dependabot.yml .pre-commit-config.yaml meta/main.yml molecule/default/molecule.yml molecule/default/prepare.yml 
    git commit
    git push --force --set-upstream origin lineage/skeleton

    Note that you may append to the default merge commit message
    that git creates for you, but please do not delete the existing
    content
    . It provides useful information about the merge that is
    being performed.

  5. Wait for all the automated tests to pass.

  6. Confirm each item in the "Pre-approval checklist" below.

  7. Remove any of the checklist items that do not apply.

  8. Ensure every remaining checkbox has been checked.

  9. Mark this draft pull request "Ready for review".

✅ Pre-approval checklist

Remove any of the following that do not apply. If you're unsure about
any of these, don't hesitate to ask. We're here to help!

  • ✌️ The conflicts in this pull request have been resolved.
  • All future TODOs are captured in issues, which are referenced in code comments.
  • All relevant type-of-change labels have been added.
  • Tests have been added and/or modified to cover the changes in this PR.
  • All new and existing tests pass.

Note

You are seeing this because one of this repository's maintainers has
configured Lineage to open pull requests.

For more information:

🛠 Lineage configurations for this project are stored in .github/lineage.yml

📚 Read more about Lineage

mcdonnnj and others added 30 commits April 21, 2024 05:11
We removed the systemd_enabled scenario in
cisagov/skeleton-ansible-role#175 but we missed updating the `exclude`
directive for the `bandit` hook. Instead of just removing the unused
scenario the regex is instead updated to match the `tests`
subdirectory for any molecule scenario.
New versions of ansible-core (2.16.7 and 2.17.0) have been released
that do not suffer from the bug discussed in ansible/ansible#82702.
This bug broke any symlinked files in vars, tasks, etc. for any
Ansible role installed via ansible-galaxy.

All versions later than ansible-core 2.16.7 and 2.17.0 should function
as expected.

Co-authored-by: Nick <50747025+mcdonnnj@users.noreply.github.com>
The line is not only unnecessary, it was commented out to boot!
…lint

On its own ansible-lint does not pull in ansible, only ansible-core.
Therefore, if an Ansible module lives in ansible instead of
ansible-core, the linter will complain that the module is unknown.  In
these cases it is necessary to add the ansible package itself as an
additional dependency, with the same pinning as is done in
requirements-test.txt of cisagov/skeleton-ansible-role.
We explicitly add the `community.docker` collection with a minimum
version as a requirement to the molecule configuration. This will allow
us to ensure that a version of this collection that is compatible with
2.32.0 and newer of the Python requests library is installed.
…equirement

Add `community.docker` as a requirement for molecule testing
We can do this because new versions of ansible-core (2.16.7 and
2.17.0) have been released that do not suffer from the bug discussed
in ansible/ansible#82702.  This bug broke any symlinked files in vars,
tasks, etc. for any Ansible role installed via ansible-galaxy.

All versions later than ansible-core 2.16.7 and 2.17.0 should function
as expected.
With the updated ansible-core pin we can support ansible 9.

Co-authored-by: Nick <50747025+mcdonnnj@users.noreply.github.com>
In SystemD-enabled Docker images sources from geerlingguy he has made
the decision to remove the indicator for an externally managed Python
environment if the host is configured with one. This impacts Debian
Bookworm and Trixie, as well as Ubuntu 24.04 (Noble Numbat), and as far
as we know any future versions of these distributions. This will help
ensure that our Ansible role testing is done against images that
reflect how a host will be configured when used to create AMIs.
Remove the hard-coded values used in to restore the externally managed
Python environment file. Instead check that Python 3 is installed and
derive the major.minor version of the Python 3 package that is on the
host.

Co-authored-by: dav3r <david.redmin@gwe.cisa.dhs.gov>
Co-authored-by: Shane Frasier <jeremy.frasier@gwe.cisa.dhs.gov>
In the playbook that restores the externally managed Python environment
file we can just check for supported distributions instead of checking
for Debian-based and then excluding distributions (like Kali).
Co-authored-by: dav3r <david.redmin@trio.dhs.gov>
Improve the comment that explains the backslash usage in a YAML
multiline string used to define a regex pattern.

Co-authored-by: dav3r <david.redmin@trio.dhs.gov>
Remove support for Fedora 38 as it is now EOL.
Update version pin on `ansible-core` Python package
…anage_python_file

Restore externally managed Python environment indicator if necessary
…tu_2404

Add support for Ubuntu 24.04 (Noble Numbat)
Change the license so that it is an SPDX string
…ion_to_remove_scenario

Update the `bandit` hook configuration for pre-commit
This idea was stolen from felddy/reusable-workflows.
Co-authored-by: dav3r <david.redmin@trio.dhs.gov>
Co-authored-by: Nick <50747025+mcdonnnj@users.noreply.github.com>
This helps keep the job name in line with the molecule configuration.

Co-authored-by: Nick <50747025+mcdonnnj@users.noreply.github.com>
Adjust the script to pull down platform specific images instead of just
the image of the running system's platform. This will ensure that all
images needed by the molecule configuration are retrieved regardless of
the system platform.
Adds commented out ignore statements for the following new Action
dependencies added to the `test` job:
- docker/setup-buildx-action
- docker/setup-qemu-action

Once uncommented in downstream repositories this will ensure that these
dependencies are managed in a centralized place.
jsf9k added 2 commits June 4, 2024 11:11
This updates it to support arm64 inline with the changes to the default
scenario as well as the necessary files to fix the externally managed
Python configuration on certain Debian versions.
These platforms do not provide systemd-resolved so we do not test on
them.
@jsf9k
Copy link
Member

jsf9k commented Jun 4, 2024

I think systemd/systemd#21511 and related are hurting us here. This may harpoon our attempts to test anything that actually uses systemd under qemu.

Note from cisagov/ansible-role-chrony-aws#41 that this only necessarily applies to systemd-specific services; other services can still behave as expected despite the systemd failures under qemu.

mcdonnnj and others added 9 commits June 6, 2024 13:55
This is done automatically with the `pre-commit autoupdate` command.
The pre-commit/mirrors-prettier was manually held back because the
latest tags are for alpha releases of the next major version.
Use the latest v3 release available from NPM.
The pin now agrees with what is in cisagov/skeleton-ansible-role.

Co-authored-by: Nick <50747025+mcdonnnj@users.noreply.github.com>
Lineage pull request for: skeleton
We require ansible when running the ansible-lint linter because this
role uses an Ansible module that is included as part of ansible, not
ansible-core.
@jsf9k
Copy link
Member

jsf9k commented Jun 12, 2024

I created this table by running each ARM64 Docker image and checking what version of systemctl was available:

Platform Version
Amazon Linux 2023 252
Debian 12 252
Debian 13 256
Fedora 39 254
Fedora 40 255
Ubuntu 24.04 255

Clearly something changed in systemd 253 or 254 that now breaks when emulated under QEMU.

TODO: Starting with systemd version 253 or 254 (I'm not sure which) it
is no longer possible to start systemd-resolved.service under QEMU
emulation.  We support this case, but we cannot test it until we have
native ARM64 runners.

See issue #10 for more details.
@jsf9k jsf9k requested a review from a team June 18, 2024 16:42
@jsf9k jsf9k marked this pull request as ready for review June 18, 2024 16:42
@jsf9k jsf9k enabled auto-merge June 18, 2024 16:42
@jsf9k jsf9k mentioned this pull request Jun 24, 2024
7 tasks
@jsf9k jsf9k merged commit 00700d3 into develop Jun 25, 2024
63 checks passed
@jsf9k jsf9k deleted the lineage/skeleton branch June 25, 2024 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file upstream update This issue or pull request pulls in upstream updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants