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

Spike on updating Ansible to latest version #963

Closed
dacook opened this issue Nov 19, 2024 · 8 comments
Closed

Spike on updating Ansible to latest version #963

dacook opened this issue Nov 19, 2024 · 8 comments
Assignees
Labels

Comments

@dacook
Copy link
Member

dacook commented Nov 19, 2024

First, we will do a spike on upgrading ansible/python directly to latest version (1-2hrs). (Probably Maikel).
The result of the spike is that we will be able to decide on the exact upgrade path (eg upgrade minor increments or all in one go), and provide an estimate.

Our plan then would be to schedule in the update, so that we can be prepared to upgrade the next round of servers.

Upgrade guides:

@dacook dacook added the spike label Nov 19, 2024
@dacook dacook moved this to Dev ready 👋 in OFN Delivery board Nov 19, 2024
@mkllnk mkllnk self-assigned this Nov 19, 2024
@mkllnk mkllnk moved this from Dev ready 👋 to In Progress ⚙ in OFN Delivery board Dec 3, 2024
@dacook
Copy link
Member Author

dacook commented Jan 2, 2025

@mkllnk I forget sorry, did you have a go at this?

@mkllnk
Copy link
Member

mkllnk commented Jan 2, 2025

No, I didn't. It keep slipping my mind. But it could be a good task for tomorrow.

@mkllnk
Copy link
Member

mkllnk commented Jan 3, 2025

I'm not sure how to proceed. I've invested over two hours now. Initially I didn't get far in two hours. One problem is the actual time it takes to install dependencies and so many random failures. It's not smooth. But once you get into it, it becomes easier. There's just a learning curve about inter-dependencies and version management.

Now I'm in a flow and get results. I reckon I should keep going a little bit until I hit a roadblock.

@mkllnk
Copy link
Member

mkllnk commented Jan 3, 2025

I think that I can conclude my spike here.

I opened a pull request with one little step:

And I explored more updates that update ansible-core:

  • Ansible 4.0
  • Ansible 5.0

Both updates were quite smooth. I tested CI and deploy to staging. In both versions deprecation warnings came up. They were easy to solve but I think it's worth testing each version individually to not break anything.

Python is on a currently supported version. It's old enough for our current Ansible version but also new enough to allow us all Ansible update. So we shouldn't need to worry about updating Python in this project.

I would still estimate 2 hours per major version of Ansible, just because it takes so long to test. And you need to test to check for deprecations and make sure it works, of course. There are 8 more major versions. That's a total of 16 hours. It's possible to multi-task though while playbooks are running. I definitely think that we should continue this.

@mkllnk mkllnk moved this from In Progress ⚙ to Code review 🔎 in OFN Delivery board Jan 3, 2025
@dacook
Copy link
Member Author

dacook commented Jan 5, 2025

Great work, this gives us a clearer path forward!

I note that there are generally two releases a year (three in 2021)(ref), so I was wondering if it might be a reasonable compromise to upgrade two versions at once. What do you think?

@mkllnk
Copy link
Member

mkllnk commented Jan 6, 2025

Ah, that's a great reference. I think that's a good idea. The more updates we do the more confident we could become as well. I would look at the number of commits. If on upgrade needs a lot of fixes then I wouldn't jump another version. But if there's not much work needed then I can go to the next version or even include a third one.

@dacook
Copy link
Member Author

dacook commented Jan 6, 2025

Yes, that's a good plan 👍

@dacook
Copy link
Member Author

dacook commented Jan 7, 2025

Spike done, and Maikel has found that it's relatively easy to proceed, so he is testing out new versions on the side of other work.

@dacook dacook closed this as completed Jan 7, 2025
@github-project-automation github-project-automation bot moved this from Code review 🔎 to Done in OFN Delivery board Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

2 participants