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:29]
Ulrich Kleber
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.
Line 49: Line 49:
   * Open Daylight (Support along with Neutron)   * Open Daylight (Support along with Neutron)
   * Linux Kernel ( Supported Compute nodes)   * Linux Kernel ( Supported Compute nodes)
-  * OVS (DPDK/ODP ​note: ​ OVS is known to be too slow, so need to enhance and  provide alternate to  meet the SDN/DP latency & scale requirements +  * OVS (accelerated version using DPDK user space patches
-  * CEPH - block, data, image… ​(can start with Cinder and progress to Ceph as it evolves; some concerns, but use as start point and add alternate solutions later)+  * 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. The initial set is meant to be as small as possible, so the initial environment can be provided early.
Line 63: Line 63:
  
 ==== Testability:​ ==== ==== Testability:​ ====
-(optional, Project Categories: Integration & Testing) 
- 
-not applicable 
  
 +Octopus will provide the basic test and verification environment. Details will be specified later.
 ==== Documentation:​ ==== ==== 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. 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.
Line 76: Line 73:
 ==== Dependencies:​ ==== ==== Dependencies:​ ====
  
-None, except ​on upstream ​projects. ​+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.
  
-Octopus ​is the initial ​project ​others will depend ​on.+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:​ ==== ==== Committers and Contributors:​ ====
Line 84: Line 83:
 == Companies/​affiliations committed to the project and willing to provide substantial resources: == == 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)+  * Huawei, contacts: Uli Kleber (ulrich.kleber ad huawei.com),​ Prakash Ramchandran (prakash.ramchandran ad huawei.com)
   * Cisco, contact: Ian Wells (iawells ad cisco.com)   * Cisco, contact: Ian Wells (iawells ad cisco.com)
-  * RedHat+  * RedHat, contact: Dave Neary (dneary ad redhat.com 
 +  * HP, contact: Dave Lenrow (david.lenrow ad hp.com)
   * ..   * ..
  
Line 95: Line 95:
 ==== Planned deliverables:​ ==== ==== Planned deliverables:​ ====
  
-See project description +The first step will be to generate a build of all the upstream components. ​
 ==== Proposed Release Schedule: ==== ==== Proposed Release Schedule: ====
  
Line 107: Line 106:
 ==== Appendix: ==== ==== Appendix: ====
  
-The following information is preliminary and may be used during ​the project lifetime.+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 152: 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 ===
continuous_integration_ci.txt · Last modified: 2014/11/13 13:57 by Ulrich Kleber