openshift/openshift-restclient-python

Downstream/ansible preparations for 0.9

mmazur opened this issue · 6 comments

There's a few possible incompatibilities between code that works with 0.8 and code that would work with 0.9 as well. The easiest to spot is that from openshift import watch is no longer something that works with 0.9.

However that code is present in ansible 2.8 (to be released in 6 weeks) in two places: k8s's module_utils and kubevirt's as well. And that's just that one particular incompatibility.

I'd like to discuss the way 0.9 is going to get released (and maybe when?). Once ansible 2.8 is out if 0.9 gets pushed to pip, then people's modules will just stop working on any fresh ansible installation (as pip install openshift will fetch 0.9 by default).

What I guess might happen is something like this:

  1. 0.9 is scheduled to be released.
  2. Compatibility fixes are pushed into latest ansible (be it 2.8.x or 2.9).`
  3. Said ansible gets released.
  4. Only then is 0.9 pushed out.

But that's just off the top of my head. Something else is in the works maybe?

@mmazur I'd rather not push a release that breaks existing Ansible work, before the release goes out I was going to run the Ansible CI and attempt to fix any breakages. Long term we want to incorporate this into our CI (see #233), but for now it's done manually. Thanks for raising this issue though, I'll see if I can patch this to avoid breakages

So if you want to make sure k8s code in ansible 2.8 is compatible with both 0.8 and 0.9 (to be free to release 0.9 in the next few months), that means we (kubevirt*) need to do the same as well asap, right?

Yes, though I think most of the fixes should be in this repo, I'm going to try and avoid code change in Ansible as much as possible

Just FYI, we've upstreamed our changes in time, so kubevirt modules are lib–agnostic right now and don't depend on old watch calls.

Just verified k8s_apply branch tests all pass with 0.9.0rc0

Issue can be closed.