osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nova][qa][cinder] CI job changes


On 2/5/2019 11:09 PM, Ghanshyam Mann wrote:
>   > 3. Drop the integrated-gate (py2) template jobs (from nova)
>   >
>   > Nova currently runs with both the integrated-gate and
>   > integrated-gate-py3 templates, which adds a set of tempest-full and
>   > grenade jobs each to the check and gate pipelines. I don't think we need
>   > to be gating on both py2 and py3 at this point when it comes to
>   > tempest/grenade changes. Tempest changes are still gating on both so we
>   > have coverage there against breaking changes, but I think anything
>   > that's py2 specific would be caught in unit and functional tests (which
>   > we're running on both py27 and py3*).
>   >
> 
> IMO, we should keep running integrated-gate py2 templates on the project gate also
> along with Tempest. Jobs in integrated-gate-* templates cover a large amount of code so
> running that for both versions make sure we keep our code running on py2 also. Rest other
> job like tempest-slow, nova-next etc are good to run only py3 on project side (Tempest gate
> keep running py2 version also).
> 
> I am not sure if unit/functional jobs cover all code coverage and it is safe to ignore the py version
> consideration from integration CI. As per TC resolution, python2 can be dropped during begning of
> U cycle [1].
> 
> You have good point of having the integrated-gate py2 coverage on Tempest gate only is enough
> but it has risk of merging the py2 breaking code on project side which will block the Tempest gate.
> I agree that such chances are rare but still it can happen.
> 
> Other point is that we need integrated-gate template running when Stein and Train become
> stable branch (means on stable/stein and stable/train gate). Otherwise there are chance when
> py2 broken code from U  (because we will test only py3 in U) is backported to stable/Train or
> stable/stein.
> 
> My opinion on this proposal is to wait till we officially drop py2 which is starting of U.
> 
> [1]https://governance.openstack.org/tc/resolutions/20180529-python2-deprecation-timeline.html
> 
> -gmann

We talked about this during the nova meeting today [1]. My main concern 
right now is efficiency and avoid running redundant test coverage when 
there is otherwise not much of a difference in the configured 
environment, which is what we have between the py2 and py3 
integrated-gate templates. This is also driving my push to drop the 
nova-multiattach job and fold those tests into the integrated gate and 
slim down the number of tests we run in the nova-next job.

I understand the concern of dropping the integrated-gate template from 
nova is a risk to break something in those jobs unknowingly. However, I 
assume that most py2-specific issues in nova will be caught in unit and 
functional test jobs which we continue to run. Also, nova is also 
running a few integration jobs that run on py27 
(devstack-plugin-ceph-tempest and neutron-grenade-multinode), so we 
still have py2 test coverage. We're not dropping py27 support and we're 
still testing it, but it's a lower priority with everything moving to 
python3 and I think our test coverage should reflect that.

I think we should try this [2] and if it does become a major issue we 
can revisit adding the integrated-gate py2 template jobs in nova until 
the U release.

[1] 
http://eavesdrop.openstack.org/meetings/nova/2019/nova.2019-02-07-14.00.log.html#l-113
[2] https://review.openstack.org/#/c/634949/

-- 

Thanks,

Matt