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

fix: Serialize playbooks manually on Python 3.12+ #4120

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

m-horky
Copy link
Contributor

@m-horky m-horky commented Jun 12, 2024

  • Card ID: CCT-538

All Pull Requests:

Check all that apply:

  • Have you followed the guidelines in our Contributing document, including the instructions about commit messages?
  • Is this PR to correct an issue?
  • Is this PR an enhancement?

Complete Description of Additions/Changes:

The playbook verification relies signatures created from hashes of serialized snippets/playbooks. Python 3.12 changed the way it serializes OrderedDict objects into strings, making the verification fail, resulting in valid playbooks being rejected.

This patch mimics the old serialization logic in a tested and easy-to-debug way.

@m-horky
Copy link
Contributor Author

m-horky commented Jun 12, 2024

The failure in Python 2.7 run is caused by a race condition and it a long-running issue. It should be mitigated by #4121.

@xiangce xiangce added the client app Apps embedded in the client label Jun 13, 2024
* Card ID: CCT-538

The playbook verification relies signatures created from hashes of
serialized snippets/playbooks. Python 3.12 changed the way it serializes
OrderedDict objects into strings, making the verification fail,
resulting in valid playbooks being rejected.

This patch mimics the old serialization logic in a tested and
easy-to-debug way.

Signed-off-by: mhorky <mhorky@redhat.com>
@m-horky m-horky force-pushed the cct-538/playbook-serialization-312 branch from dcae282 to 77381bb Compare June 19, 2024 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client app Apps embedded in the client
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants