Hello Alec.

No it's clear and I agree with you.

I would simply add that there is no real requirements management in OPNFV
which has been a key issue in the current release model.
https://wiki.opnfv.org/display/functest/Requirements+management

Only Functest and few Features are synchronized with OpenStack.
But even in that case, Functest container builds pull the last OPNFV master
commit id instead of a real Package.
In OpenStack master gating, only the services (Neutron, Nova, etc.) are
selecting by id.

Cédric

2018-08-08 21:25 GMT+02:00 Alec via Lists.Opnfv.Org <
ahothan=cisco....@lists.opnfv.org>:

> Thanks for starting this discussion Trevor.
>
>
>
> There are several purposes of test projects in OPNFV (with some test
> projects serving multiple purposes)
>
>    - Gate an OPNFV releases (meaning they are used to validate OPNFV
>    releases of installers and features), example: Functest
>    - Test an external/commercial NFVi distribution – e.g. Dovetail for
>    OVP (which itself relies on Functest for example) or NFVbench for external
>    distributions
>    - Test an OPNFV release but no gating – e.g. Bottleneck
>    - Test and measure an NFVi component – e.g. VSPERF for vswitches
>
>
>
> The TSC has decided recently that it would be good for OPNFV test projects
> to be reused in the industry independently of OPNFV releases, to test
> external NFVi systems and be used by non OPNFV audience.
>
> This has already started to happen for a few test components. Functest or
> NFVbench for example are already being used by vendors or SP (deployers) to
> validate their openstack solution – completely independently of the OPNFV
> release and of OVP.
>
>
>
> The common point about all test projects today is that they all follow the
> OPNFV release model and cadence – regardless of whether they gate the OPNFV
> release or not.
>
> There are certainly some benefits in doing so (such as standardizing on
> the documentation format, release cadence, release management…) but I think
> this becomes very cumbersome for projects that start to have more users
> outside of OPNFV releases:
>
>    - Follow milestones for no real reason (since the project is not even
>    gating any OPNFV release)
>    - Not able to create releases outside of the OPNFV release cadence
>    - Create unnecessary branches and labels
>
>
>
> Furthermore, this model also:
>
>    - Adds a lot of burden for the OPNFV release team because they have to
>    track the milestones for a lot of projects, even for those that do not gate
>    OPNFV releases!
>    - Discourages new projects to be hosted in OPNFV due to the high
>    overhead imposed on every project
>
>
>
> I think that is not sustainable.
>
> What I would suggest is to get back to basics and use a model that is
> proven and widely used by most open source projects:
>
>    - Let every project version independently based on the project’s own
>    roadmap/feature/bug fixing cadence – we can suggest to use semver 2.0
>    - Gating for the project should be controlled by the project owners
>    using its own CD pipeline
>    - If  project contributes to a release (OPNFV release or any other non
>    OPNFV project release), it is up to the release manager and project PTL to
>    agree to pick the proper project version
>    - Project documentation can keep the same integration with OPNFV doc
>    or go its own path (for example publish to a separate per-project space in
>    opnfv doc web site)
>
>
>
> Examples of application of this model:
>
>
>
> VSPERF (test components of NFVi – does not gate any OPNFV release):
>
>    - Could have its own semver version to track changes in the vsperf
>    code (eg bug fixing in the Trex traffic generator driver)
>    - Can have its own branches (if desired)
>    - Has and controls its own gating process (e.g run and pass a set of
>    tests on pod12)
>    - Benchmark results can be versioned after the VSPERF version (e.g
>    benchmark for OVS-DPDK version X tested with VSPERF version 2.0.3)
>    - Can be used by external users with a well known version that is
>    independent of an OPNFV release version
>    - Could publish its doc to  separate space under the OPNFV doc web
>    site (indexed by the VSPERF own version)
>
>
>
> STORPERF/BOTTLENECK…(test full stack - mostly control plane):
>
>    - Could have its own semver version to track changes
>    - Can have its own branches (if desired)
>    - Can be used by external users with a well known version that is
>    independent of an OPNFV release version
>    - Controls its own gating by for example running STORPERF on a set of
>    well known openstack distros (e.g APEX Fraser noha-nosdn) using the new CD
>    pipeline
>    - Can publish its own public stable versions at its own pace
>    - Can publish its own artifacts at its own pace (e.g. containers under
>    dockerhub/opnfv/storperf/)
>
>
>
> FUNCTEST (tests full stack and gates multiple projects):
>
>    - Same as above
>    - Each Functest version controls what version of integrated dependent
>    tools it wants to include (e.g. if Functest integrates storperf, it is up
>    to the Functest/Storperf PTLs to decide which version of that tool to
>    include in each Functest release)
>    - Provide to each user release a stable version to use for their own
>    gating: version X for OPNFV release, version Y for OVP, version Z for SP1
>    etc…
>    - Because each end user has its own release schedule, it would be
>    futile/impossible to sync the Functest version for every possible end user
>    at any moment.
>
>
>
> Etc…
>
>
>
> The interest from the test community in the above model is to see whether
> OPNFV releng can help in the CD pipeline for the test projects.
>
> This starts with a dedicated testbed that runs a small set of well defined
> and stable openstack distros against which the gating of these projects (of
> variable quality) can be done. As you might notice this is very different
> and actually the opposite from the current OPNFV release CI/CD pipeline
> where tools used to gate must be stable and the SUT (installer+features)
> can be variable in quality. This contrast also shows why you can’t mix the
> 2.
>
> Most tests projects would content with a virtual deployment because all
> they need is a working control plane. But data plane projects like
> VSPERF/Yardtstick and NFVbench will need a bare metal deployment. Combined
> testing (such as running storperf + nfvbench concurrently) will also
> require bare metal deployment.
>
> The typical CD gate job would do this:
>
>    - Secure exclusive use of the test pod
>    - Prepare setup (right distro installed and working – this is supposed
>    to be the stable working stuff that you do not want to debug)
>    - Install/deploy on the testbed the version of test code that is to be
>    tested (this can be variable quality)
>    - Run the test
>    - Report results
>
>
>
> This can be used for gating commits (a bit expensive) or for gating new
> releases for each test project.
>
>
>
> I was hoping that the Intel Pharos lab 19 could be used as bare metal
> testbed for this CD pipelline. Ideally we would need 1 testbed for bare
> metal and 1 for virtual deployments for CD gating.
>
>
>
> Sorry for the long post and I hope I did not cause more confusion…
>
>
>
> Thanks
>
>
>
>    Alec
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> *From: *<opnfv-tech-discuss@lists.opnfv.org> on behalf of "Yang (Gabriel)
> Yu" <gabriel.yuy...@huawei.com>
> *Date: *Wednesday, August 8, 2018 at 4:14 AM
> *To: *Trevor Bramwell <tbramw...@linuxfoundation.org>, "
> opnfv-tech-discuss@lists.opnfv.org" <opnfv-tech-discuss@lists.opnfv.org>,
> "'Beierl, Mark'" <mark.bei...@dell.com>, "Limingjiang (Rex)" <
> limingji...@huawei.com>
> *Subject: *Re: [opnfv-tech-discuss] Continuously Releasing Test Projects
>
>
>
> Hi Trevor,
>
>
>
> It's great that we can continue discussing CD releases for testing
> projects.
>
> In my mind, there are mainly two kinds of deliverables for a specific
> testing project: 1) test framework; 2) test cases.
>
> As to the continuous delivery of testing project, I tent to include both
> of the deliverables.
>
>
>
> Validation of a test framework consists of validations of the abilities to
> do unit test (and maybe style check), to adapt to different community
> installers/scenarios, to be compatible to at least 2 OPNFV releases, etc.
>
> Validation of test cases requires validating its integrity, successfully
> running on latest releases, clear and concrete testing scopes/purpose, etc.
>
>
>
> So, I guess we could have 2 delivery gates for the testing project: 1)
> test framework ready; 2) test cases ready.
>
> Just some preliminary thoughts, please comments.
>
>
>
> As a side notes, Yardstick and Bottlenecks are working on transforming
> themselves into services on cloud native CD pipeline in Clover project.
>
> Maybe we could discuss more towards that direction.
>
>
>
>
>
> Best,
>
> Gabriel
>
>
>
>
>
> -----Original Message-----
> From: opnfv-tech-discuss@lists.opnfv.org [mailto:opnfv-tech-discuss@
> lists.opnfv.org] On Behalf Of Trevor Bramwell
> Sent: Wednesday, August 08, 2018 7:13 AM
> To: opnfv-tech-discuss@lists.opnfv.org
> Subject: [opnfv-tech-discuss] Continuously Releasing Test Projects
>
>
>
> Hi all,
>
>
>
> Today me and Mark Beirel started a discussion during the release call[1]
> that I wanted to continue here regarding what the process could look like
> for releasing testing projects or testing tools in a continuous manner.
> (NFVBench, StorPerf, Yardstick, Functest, Bottlenecks, Dovetail,
>
> etc)
>
>
>
> This could also be seen as a continuation of the discussion we started at
> the Plugfest in France regarding gating in the CD process[2], but aimed
> specifically at the testing tools.
>
>
>
> The question I'm hoping we can collectively come to answer is:
>
>
>
>   What does a continuous release process look like for OPNFV test tools?
>
>
>
> As I don't work on a testing project myself, obviously I'm not the best
> one to answer this question, so instead of imposing my views on a process,
> I'd rather hear the thoughts from our community.
>
>
>
> I think by laying out some of the issues projects have with the current
> release process, and listing what a successful release process might look
> like to you will definitely help move this discussion in the right
> direction.
>
>
>
> Regards,
>
> Trevor Bramwell
>
>
>
> [1] http://meetbot.opnfv.org/meetings/opnfv-release/2018/
> opnfv-release.2018-08-07-14.01.log.html
>
> [2] https://etherpad.opnfv.org/p/minum_test_sets_gating_cd
>
>
>
>
>
> 
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#21747): 
https://lists.opnfv.org/g/opnfv-tech-discuss/message/21747
Mute This Topic: https://lists.opnfv.org/mt/24225095/21656
Group Owner: opnfv-tech-discuss+ow...@lists.opnfv.org
Unsubscribe: https://lists.opnfv.org/g/opnfv-tech-discuss/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to