User Tools

Site Tools


continuous_integration_ci

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
continuous_integration_ci [2014/10/29 14:23]
Ulrich Kleber [Project description:]
continuous_integration_ci [2014/11/13 13:57]
Ulrich Kleber [Appendix:]
Line 21: Line 21:
 The CI project provides the starting point for all OPNFV development activities. It starts by integrating stable versions of basic upstream projects, and from there creates a full development environment for OPNFV including automatic builds and basic verification. This is a very complex task and therefore needs a step by step approach. At the same time it is urgent to have a basic environment in place very soon.  The CI project provides the starting point for all OPNFV development activities. It starts by integrating stable versions of basic upstream projects, and from there creates a full development environment for OPNFV including automatic builds and basic verification. This is a very complex task and therefore needs a step by step approach. At the same time it is urgent to have a basic environment in place very soon. 
  
-The following list shows all necessary tasks for creation of the final environment and gives some idea how the work will be approached. More details need to be worked out during the project lifetime, but the appendix provides some information ​that is already available.+The following list shows all necessary tasks for creation of the final environment and gives some idea how the work will be approached. More details need to be worked out during the project lifetimethe appendix provides some more details ​that are already available.
  
-  * Select a basic set of upstream projects to be integrated in the first step \\ we will start with the list from the F2F (see below) and adjust if necessary +  ​* **Select a basic set of upstream projects to be integrated in the first step** \\ //we will start with the list from the F2F (see below) and adjust if necessary// 
-  * Select a basic hardware definition for the build servers and for the basic verification \\ Linux Foundation provides the starting point +  ​* **Select a basic hardware definition for the build servers and for the basic verification** \\ //Linux Foundation provides the initial environment//​ 
-  * Select the tools for code repository, build processes and automation \\ Linux Foundation provides the starting point +  ​* **Select the tools for code repository, build processes and automation** \\ //Linux Foundation provides the initial tool environment//​ 
-  * Define the image formats for code deployment in the test environment \\ Start with a quick solution and later decide for a format allowing easy deployment for developers and automated verification. +  ​* **Define the image formats for code deployment in the test environment** \\ //Start with a quick solution and later decide for a format allowing easy deployment for developers and automated verification// 
-  * Define the branching rules for the code repositories \\ this will be defined by TSC in the development process and used here. +  ​* **Define the branching rules for the code repositories** \\ //this will be defined by TSC in the development process and used here// 
-  * Provide the code repositories \\ part of Linux Foundation support. +  ​* **Provide the code repositories** \\ //part of Linux Foundation support// 
-  * Integrate the basic set of upstream projects \\ Main part of the first step of the project +  ​* **Integrate the basic set of upstream projects** \\ //Main part of the first step of the project// 
-  * Provide necessary OPNFV glue code to integrate different upstream project codes\\ necessary in main part of the project. +  ​* **Provide necessary OPNFV glue code to integrate different upstream project codes** \\ //necessary in main part of the project// 
-  * Implement build process for developers \\ start off with basic build tools and adjust step by step. If necessary, a separate project for build environment can be established. +  ​* **Implement build process for developers** \\ //start off with basic build tools and adjust step by step. If necessary, a separate project for build environment can be established// 
-  * Implement automatic build process on central servers \\ as before, start with basic tools and adjust step by step or via separate project +  ​* **Implement automatic build process on central servers** \\ //as before, start with basic tools and adjust step by step or via separate project// 
-  * Provide or implement basic test objects (VNFs and VNFM, NFVO) \\ will be done in project "VNF deployment test cases"​ +  ​* **Provide or implement basic test objects** (VNFs and VNFM, NFVO) \\ //will be done in project "VNF deployment test cases"// 
-  * Implement automatic process for basic verification of the build images on central servers \\ as above, start with basic tools and adjust step by step or via separate project +  ​* **Implement automatic process for basic verification of the build images on central servers** \\ //as above, start with basic tools and adjust step by step or via separate project// 
-  * Implement the process for continuous upgrade to newer versions of upstream projects \\ cover by project “Simultaneous Release” and development process +  ​* **Implement the process for continuous upgrade to newer versions of upstream projects** \\ //cover by project “Simultaneous Release” and development process// 
-  * Implement the process for adding more upstream projects to the automated build and verification \\ part of later stages of the project +  ​* **Implement the process for adding more upstream projects to the automated build and verification** \\ //part of later stages of the project// 
-  * Execute the continuous automated builds and basic verification \\ part of later stages of the project+  ​* **Execute the continuous automated builds and basic verification** \\ //part of later stages of the project//
  
 The above topics interlink to each other very closely. The above topics interlink to each other very closely.
 +
 +=== Basic set of upstream projects ===
 +
 +The initial set was already identified during face-to-face on October 2, 2014:
 +
 +  * Open Stack - subprojects to be selected ​
 +  * KVM / QEMU / libvirt (Support under Nova)
 +  * Open Daylight (Support along with Neutron)
 +  * Linux Kernel ( Supported Compute nodes)
 +  * OVS (accelerated version using DPDK user space patches)
 +  * CEPH - block, data, image… \\ //can start with Cinder and progress to Ceph as it evolves//
 +
 +The initial set is meant to be as small as possible, so the initial environment can be provided early.
 +
 +Of course together with any of those projects, also all dependencies,​ e.g. MySQL (or some other SQL DBs) as the database, RabbitMQ (or some other MQs) as the message bus, etc.. must be included. ​
 +
 +==== Scope: ====
 +
 +Octopus will create the complete basic development and build environment for OPNFV and start the periodic execution of the automatic build and basic verification. It will provide the processes for development,​ for upgrade to newer versions of upstream projects and for adding more components or upstream projects. ​
 +
 +Octopus will not decide when and which upstream project to be added to OPNFV.
 +
 +==== Testability:​ ====
 +
 +Octopus will provide the basic test and verification environment. Details will be specified later.
 +==== Documentation:​ ====
 +
 +The whole environment as created by Octopus will be well documented with user guides for all developers. For any specifics in the upstream projects, it will refer to the documentation in the upstream project.
 +
 +Require Management API for OPNFV Platform and Tools for OPNFV CLI/GUI.
 +
 +==== Dependencies:​ ====
 +
 +The first step of integration has no dependency on other OPNFV projects. However it depends on decisions that will be made outside the project, like for example the selection of Linux distributions,​ which may need TSC approval.
 +
 +Test and verification in later project stages is dependent on the test objects provided by VNF deployment test cases project.
 +
 +Continuous integration in later project stages is dependent on the Simultaneous Release project.
 +
 +==== Committers and Contributors:​ ====
 +
 +== Companies/​affiliations committed to the project and willing to provide substantial resources: ==
 +
 +  * Huawei, contacts: Uli Kleber (ulrich.kleber ad huawei.com),​ Prakash Ramchandran (prakash.ramchandran ad huawei.com)
 +  * Cisco, contact: Ian Wells (iawells ad cisco.com)
 +  * RedHat, contact: Dave Neary (dneary ad redhat.com
 +  * HP, contact: Dave Lenrow (david.lenrow ad hp.com)
 +  * ..
 +
 +== Maintainers:​ ==
 +
 +== Committers: ==
 +
 +==== Planned deliverables:​ ====
 +
 +The first step will be to generate a build of all the upstream components. ​
 +==== Proposed Release Schedule: ====
 +
 +  * 1st Alfa release 6 months from start date 
 +  * to be dependent on start version like Juno on Openstack in Nov 1st week as one to launch.
 +
 +
 +
 +
 +==== Appendix: ====
 +
 +This project will be executed using Agile Development methodology. This Appendix provides exemplary tasks and some other details at project execution for informational purpose. Those exemplary tasks and details are living content, and subject to further evolution during project lifetime. Jira tool will be used to further develop the details.
  
 === Basic set of upstream projects === === Basic set of upstream projects ===
Line 84: Line 151:
  
   * Central build servers for the automatic builds   * Central build servers for the automatic builds
-  * Recommendations for developers+  * Recommendations for developers ​how to build their hardware and software environment
  
 === Tools for Code Repository, Build Processes and Automation === === Tools for Code Repository, Build Processes and Automation ===
Line 170: Line 237:
  
 Octopus covers both the initial creation of the development and build environment,​ as well as maintaining the environment and executing the automated builds and tests. Octopus covers both the initial creation of the development and build environment,​ as well as maintaining the environment and executing the automated builds and tests.
- 
-==== Scope: ==== 
- 
-Octopus will create the complete basic development and build environment for OPNFV and start the periodic execution of the automatic build and basic verification. It will provide the processes for development,​ for upgrade to newer versions of upstream projects and for adding more components or upstream projects. ​ 
- 
-Octopus will not decide when and which upstream project to be added to OPNFV. 
- 
-==== Testability:​ ==== 
-(optional, Project Categories: Integration & Testing) 
- 
-not applicable 
- 
-==== Documentation:​ ==== 
-(optional, Project Categories: Documention) 
- 
-The whole environment as created by Octopus will be well documented with user guides for all developers. For any specifics in the upstream projects, it will refer to the documentation in the upstream project. 
- 
-Require Management API for OPNFV Platform and Tools for OPNFV CLI/GUI. 
- 
-==== Dependencies:​ ==== 
- 
-None, except on upstream projects. ​ 
- 
-Octopus is the initial project others will depend on. 
- 
-==== Committers and Contributors:​ ==== 
-== Companies/​affiliations committed to the project and willing to provide substantial resources: == 
-  * Huawei (10), contacts: Uli Kleber (ulrich.kleber ad huawei.com),​ Prakash Ramchandran (p.ramchandran ad huawei.com) 
-  * Cisco, contact: Ian Wells (iawells ad cisco.com) 
-  * RedHat 
-  * .. 
- 
-== Maintainers:​ == 
- 
-== Committers: == 
- 
-==== Planned deliverables:​ ==== 
- 
-See project description 
- 
-==== Proposed Release Schedule: ==== 
- 
-  * 1st Alfa release 6 months from start date  
-  * to be dependent on start version like Juno on Openstack in Nov 1st week as one to launch. 
- 
  
  
continuous_integration_ci.txt · Last modified: 2014/11/13 13:57 by Ulrich Kleber