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

community.okd depends on kubernetes.core, which is NOT part of Ansible-2.10 #57

Closed
felixfontein opened this issue Jan 27, 2021 · 16 comments
Labels
bug Something isn't working

Comments

@felixfontein
Copy link
Contributor

This was introduced in openshift/community.okd#58. This has been there at least since its version 1.0.1, which is the first version we included in Ansible 2.10 (added in #39).

Apparently we didn't notice that it depends on a collection not included in Ansible.

@felixfontein
Copy link
Contributor Author

CC @abadger @gundalow

@gundalow
Copy link
Collaborator

@felixfontein Thank you for spotting this

kubernetes.core doesn't currently have any plugins in
https://github.com/ansible-collections/kubernetes.core

This repo will be the future home of all kubernetes.core development. This Ansible Content Collection began as community.kubernetes and, as of the release of 1.1.0, is in the process of being transitioned to this new name. See kubernetes.community issue #221 for more.

So there are a few things here

  1. CI to detect this from happening again (even if it's at build time)
  2. Can we include kubernetes.core even if there are no plugins
  3. Should we include this in 2.10 and 3.0.0 as is?

@gundalow gundalow added the bug Something isn't working label Jan 27, 2021
@felixfontein
Copy link
Contributor Author

@gundalow AFAIK kubernetes.core is essentially community.kubernetes repackaged, so it has plugins. You need to extract the tarball to see them though (or look at the build scripts which produce it). I think that script is https://github.com/ansible-collections/community.kubernetes/blob/main/utils/downstream.sh

@felixfontein
Copy link
Contributor Author

I would really like to include kubernetes.core into Ansible 3.0.0, but we first need to know how the community.kubernetes → kubernetes.core migration will work. And AFAIK that is still open.

CC @geerlingguy

@tima
Copy link

tima commented Jan 27, 2021

Don't bother @geerlingguy with this. It's all here and elsewhere really:

https://github.com/ansible-collections/community.kubernetes/issues/221

@felixfontein
Copy link
Contributor Author

@tima to me it is not clear from that issue whether https://github.com/ansible-collections/community.kubernetes/issues/221#issuecomment-700766276 is a proposal for a plan, or the actual plan that kubernetes.core is following. Also having more concrete information on when this is supposed to be done would be helpful - we have all kind of deadlines coming up (Ansible 3.0.0 feature freeze next week, ansible-core 2.11 feature freeze, ...) for which it would be best if the kubernetes.core migration would be completed.

@tima
Copy link

tima commented Jan 27, 2021

There is no way we could have this ready for 3.0.0. I don't think you should be including community.okd at this time.

We are working out when we'll be able to complete the migration along with all of the refactoring and removals we have planned. So ansible-collections/community.kubernetes#221 is essentially a proposal since we haven't started it to not listen to feedback to the proposal. The rename and repo migration has to happen though. It's something we know we have to do. We also know it's going to be involved and could get messy if we rush or aren't careful. Right now we are focused on getting some fixes and modest enhancements in a few weeks in a 1.2.0 release. Not including community.okd is the only realistic option at this time.

@abadger
Copy link
Contributor

abadger commented Jan 27, 2021

Doing research:
communiuty.okd 1.0.0 did not have this dependency. It was added in community.okd 1.0.1

@abadger
Copy link
Contributor

abadger commented Jan 27, 2021

I'm downloading irc logs to see if there's anymore information. At the moment, I think we need to revert back to community.okd 1.0.0 and pin that version until community.kubernetes is added to ansible. I'm unsure what to do with ansible-2.10... it feels like we should downgrade it there as well but there isn't another ansible-2.10.x release scheduled before EOL.

What is the breakage at the moment? Does absolutely nothing in community.okd work because of the missing dep? Do some things work but not others? Do users get an informative error message that they can do something about or do they an uninformative message? What do we lose out on by reverting back to community.okd-1.0.0? Has the migrated content been removed or deprecated in the released community.general already?

@abadger
Copy link
Contributor

abadger commented Jan 27, 2021

From a brief search of the irc logs, it looks like geerlinguy was urging us to include community.okd so that it would unblock further work. However, final sign off didn't come from geerlinguy but from gundalow noticing that community.okd now satisfied all the requirements for inclusion of a "moved content" collection. I don't see any objections to community.okd being in the ansible package after ansible-2.10.4 was released (with the community.okd inclusion being featured in the meeting logs of that time:

[2020-12-02 11:04:05] #info Ansible 2.10.4 has been released yesterday
[2020-12-02 11:04:09] #info Ansible 2.10 contains new collections since last meeting: community.okd and community.hrobot (see ansible-collections/overview#128 for overview)

Announcements section: https://meetbot.fedoraproject.org/ansible-community/2020-12-02/ansible_community_meeting.2020-12-02-19.01.html

@felixfontein
Copy link
Contributor Author

We cannot drop community.okd since we moved content there - see https://github.com/ansible-collections/community.general/blob/main/meta/runtime.yml#L34

@abadger judging from the changes between 1.0.0 and 1.0.1 (openshift/community.okd@1.0.0...1.0.1), I think fixing 1.0.0 is the only thing we can do.

Also, I really don't think switching dependencies (openshift/community.okd@87cd174#diff-1ade2795a7b410581d689fb0faa358b769c2d189b2d549e8f530b706f09b2fb7) should be done in patch release. This should have gone at least into a new minor release, or even a major one.

@felixfontein
Copy link
Contributor Author

(Fixing 1.0.0 for both Ansible-2.10 and Ansible-3.)

@abadger
Copy link
Contributor

abadger commented Jan 28, 2021

I'm going to submit a PR to do that now. I still don't know if we should release another 2.10.x release to pull that in or not.

@abadger
Copy link
Contributor

abadger commented Jan 28, 2021

Information: The following modules will fail with an error message saying that kubernetes.core is needed:

  • openshift_route.py
  • openshift_process.py
  • k8s.py

The following plugins will fail with a traceback:

  • inventory/openshift.py
  • connection/oc.py

Talking with jillr about whether pinning community.okd to 1.0.0 or trying to quickly review and approve kubernetes.core is the better way to get this in.

@felixfontein
Copy link
Contributor Author

kubernetes.core is included in Ansible 3 (#59), and I've created a PR for restricting community.okd to 1.0.0 in Ansible 2.10 (#61).

@abadger
Copy link
Contributor

abadger commented Feb 17, 2021

#64 has been merged and the lower version of community.okd is in ansible-2.10.7 so I think this is now ready to close.

@abadger abadger closed this as completed Mar 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants