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

maintenance: update & fix CI, bump python >=3.8, bump postgresql >= 12 #71

Merged
merged 6 commits into from
Apr 19, 2024

Conversation

dmsimard
Copy link
Contributor

@dmsimard dmsimard commented Feb 6, 2024

  • Bump Fedora 36 to 39
  • Use cloud images for centos stream 8 and 9

- Bump Fedora 36 to 39
- Use cloud images for centos stream 8 and 9
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/cf64f34bdc7242b1ad1feb7edb2b526e

ara-role-api-distributed-sqlite FAILURE in 9m 56s
ara-role-api-mysql FAILURE in 9m 40s
ara-role-api-postgresql FAILURE in 6m 00s
ara-role-api-gunicorn-nginx FAILURE in 8m 43s
ara-role-api-gunicorn-nginx-client-cert FAILURE in 8m 47s
✔️ ara-role-api-fedora-packages SUCCESS in 5m 38s (non-voting)

@dmsimard
Copy link
Contributor Author

dmsimard commented Feb 7, 2024

recheck

Copy link

Zuul encountered a syntax error while parsing its configuration in the
repo ansible-community/ara-collection on branch master. The error
was:

Nodeset ara-fedora-39 already defined in project ansible-community/ara

The error appears in the following nodeset stanza:

nodeset:
name: ara-fedora-39
nodes:
- name: fedora-39
label: cloud-fedora-39
groups:
- name: ara-api-server
nodes:
- fedora-39

in "ansible-community/ara-collection/.zuul.d/nodesets.yaml@master", line 50, column 3

It's already defined in ansible-community/ara
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/5f4614b599cf4a9585cb70041fe68c7a

ara-role-api-distributed-sqlite FAILURE in 10m 40s
ara-role-api-mysql FAILURE in 9m 29s
ara-role-api-postgresql FAILURE in 6m 09s
ara-role-api-gunicorn-nginx FAILURE in 8m 40s
ara-role-api-gunicorn-nginx-client-cert FAILURE in 8m 46s
✔️ ara-role-api-fedora-packages SUCCESS in 6m 07s (non-voting)

@dmsimard
Copy link
Contributor Author

There's now a failure about the python version of centos stream 8:
image

This should be addressed by this PR from @Thulium-Drake: #70

I will cherry-pick it here in the interest of trying to fix every job before merging this one PR.

Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/76984443bb9c4604a20a2182538d33d7

✔️ ara-role-api-distributed-sqlite SUCCESS in 11m 20s
ara-role-api-mysql FAILURE in 7m 15s
ara-role-api-postgresql FAILURE in 7m 39s
✔️ ara-role-api-gunicorn-nginx SUCCESS in 7m 48s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 7m 23s
✔️ ara-role-api-fedora-packages SUCCESS in 6m 26s (non-voting)

@dmsimard
Copy link
Contributor Author

We're missing python39-devel for centos stream 8:
Screenshot from 2024-02-10 20-22-34

and our version of postgresql is now not high enough:
Screenshot from 2024-02-10 20-22-43

@dmsimard
Copy link
Contributor Author

re: postgresql, this is as a result of bumping django up to the latest LTS (4.2) in ara 1.7.0: https://docs.djangoproject.com/en/5.0/releases/4.2/#dropped-support-for-postgresql-11
image

@dmsimard dmsimard mentioned this pull request Feb 11, 2024
Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/f22af21956c847fb868d6b2c24ee6231

✔️ ara-role-api-distributed-sqlite SUCCESS in 9m 40s
✔️ ara-role-api-mysql SUCCESS in 8m 50s
ara-role-api-postgresql FAILURE in 9m 08s
✔️ ara-role-api-gunicorn-nginx SUCCESS in 6m 59s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 7m 05s
✔️ ara-role-api-fedora-packages SUCCESS in 5m 52s (non-voting)

Copy link

Build succeeded.
https://ansible.softwarefactory-project.io/zuul/buildset/8a9b303d444e435bb8b54ff37ed2ac91

✔️ ara-role-api-distributed-sqlite SUCCESS in 8m 52s
✔️ ara-role-api-mysql SUCCESS in 9m 54s
✔️ ara-role-api-postgresql SUCCESS in 9m 17s
✔️ ara-role-api-gunicorn-nginx SUCCESS in 6m 58s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 8m 03s
✔️ ara-role-api-fedora-packages SUCCESS in 6m 43s (non-voting)

Thulium-Drake and others added 3 commits February 10, 2024 22:18
We need the development dependencies to install database backend packages
with pip.
django 4.2 requires postgresql 12 and above.
@dmsimard
Copy link
Contributor Author

It works!

I've squashed/cleaned up commits and I'll merge this soon.

@Thulium-Drake @hille721: FYI if you would like to look.

We'll be able to close #70 and start looking at the other PRs which we'll need to rebase on top of latest master so they have those fixes.

Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/f13c77c374be4f2b8debc07007b43890

ara-role-api-distributed-sqlite FAILURE in 26m 51s
✔️ ara-role-api-mysql SUCCESS in 10m 55s
✔️ ara-role-api-postgresql SUCCESS in 9m 22s
ara-role-api-gunicorn-nginx FAILURE in 8m 20s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 7m 23s
✔️ ara-role-api-fedora-packages SUCCESS in 6m 24s (non-voting)

@dmsimard
Copy link
Contributor Author

It looks like the jobs may be race-y due to the nature of running multiple nodes, let me try that again.

@dmsimard
Copy link
Contributor Author

recheck

Copy link

Build failed.
https://ansible.softwarefactory-project.io/zuul/buildset/a8f6d4e55aac41f08f03735df1e191e4

ara-role-api-distributed-sqlite FAILURE in 9m 04s
✔️ ara-role-api-mysql SUCCESS in 8m 34s
✔️ ara-role-api-postgresql SUCCESS in 9m 15s
✔️ ara-role-api-gunicorn-nginx SUCCESS in 6m 33s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 7m 25s
✔️ ara-role-api-fedora-packages SUCCESS in 5m 38s (non-voting)

@dmsimard
Copy link
Contributor Author

dmsimard commented Feb 11, 2024

It looks like the jobs may be race-y due to the nature of running multiple nodes, let me try that again.

There are some assumptions in ara's integration tests (like this one) that assume the test playbook is only ran once from localhost but here we have multiple nodes running concurrently (centos stream 8, 9 and fedora 39) in order to parallelize the test coverage across multiple distros.

That's where we would add the debian/ubuntu nodes if we had them.

We could fix the assumptions in the tests but I expect it is possible to continue running into "interesting" concurrency issues.

I need some time to think about the best approach that would be reliable and allow for the inclusion of debian and ubuntu.

@dmsimard dmsimard changed the title zuul: Update images maintenance: update & fix CI, bump python >=3.8, bump postgresql >= 12 Feb 11, 2024
@Thulium-Drake
Copy link
Contributor

Would it be a start, at least for now, to drop the parallel testing of multiple ARA instances? I really can't think of a scenario where that's used, unless I'm missing something. Do you?

Also, how much I like (and run!) Debian, I think that's easier to add later and test when CI is alive again :-)

@dmsimard
Copy link
Contributor Author

Would it be a start, at least for now, to drop the parallel testing of multiple ARA instances? I really can't think of a scenario where that's used, unless I'm missing something. Do you?

Once upon a time, the idea was to test multiple distros inside a single job (instead of one job per distro) but we can do it the other way around, too. We've migrated around different Zuul instances over the years and now we have a more constrained set of images to work with: https://ansible.softwarefactory-project.io/zuul/labels

Also, how much I like (and run!) Debian, I think that's easier to add later and test when CI is alive again :-)

Yes, I want to be able to test the distros that the collection pretends supporting :p

@dmsimard
Copy link
Contributor Author

recheck

Copy link

Merge Failed.

This change or one of its cross-repo dependencies was unable to be automatically merged with the current state of its repository. Please rebase the change and upload a new patchset.

ara bumped the version of django to 4.2 allowing us to unpin psycopg2.
@dmsimard
Copy link
Contributor Author

Not sure why that Zuul failure occurred, the repo has not moved. Amended last commit to trgger a new run.

Copy link

Build succeeded.
https://ansible.softwarefactory-project.io/zuul/buildset/9ac88125d4054a6f9ff92488307321ff

✔️ ara-role-api-distributed-sqlite SUCCESS in 9m 34s
✔️ ara-role-api-mysql SUCCESS in 9m 28s
✔️ ara-role-api-postgresql SUCCESS in 9m 43s
✔️ ara-role-api-gunicorn-nginx SUCCESS in 8m 07s
✔️ ara-role-api-gunicorn-nginx-client-cert SUCCESS in 8m 16s
✔️ ara-role-api-fedora-packages SUCCESS in 6m 59s (non-voting)

@Thulium-Drake
Copy link
Contributor

🚀 Zuul's happy! Can we merge this? I'm starting to run into some issues for which there's already some PRs out :-) I'll happily integrate them when this is merged

@dmsimard
Copy link
Contributor Author

🚀 Zuul's happy! Can we merge this? I'm starting to run into some issues for which there's already some PRs out :-) I'll happily integrate them when this is merged

Yes, this has been dragging on for too long. We can address the Zuul flappiness later.

Let's do it.

@dmsimard dmsimard merged commit 7dc61fe into ansible-community:master Apr 19, 2024
1 check passed
@Thulium-Drake Thulium-Drake mentioned this pull request Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants