Presentation is loading. Please wait.

Presentation is loading. Please wait.

OPEN-O CSIT Infrastructure

Similar presentations


Presentation on theme: "OPEN-O CSIT Infrastructure"— Presentation transcript:

1 OPEN-O CSIT Infrastructure
Gary Wu

2 Continuous System and Integration Testing
Continuously run System and Integration Tests against any code changes Maintain quality and detect regressions Detect and prevent breaking code changes

3 OPEN-O CSIT Infrastructure
Test Suites written using Robot Framework OPEN-O Microservices run via docker Mock southbound services run via docker e.g. mock VIMs or SDN controllers Robot test suites executed via Jenkins Each test suite runs on a fresh Jenkins slave VM Docker containers run within single VM Robot process runs on VM directly Supports parallel test runs Jenkins Master Jenkins slave VM Robot process OPEN-O Microservice 1 OPEN-O Microservice 2 Docker containers OPEN-O Microservice 3 Mock Services / Components

4 OPEN-O CSIT Design Goals
Maximize Developer Productivity Each microservice deployed as a Docker container to ensure consistent environment Script allows developers to run CSIT test suites on local environments Ease of reproducing errors on dev environments Reduced cycle time Test suite components can be refactored and shared across different CSIT test suites e.g. shared scripts and test suites for initializing Microservice Bus

5 Verify vs. Merge Jobs Proposed changes in Gerrit verified using “Verify Jobs” Only Verified changes may be merged Same Verify process applies to Code, Dockerfile, and Robot test suite changes Prevent bad changes from being merged Change Proposed (Gerrit) Verify Job (Jenkins) Pass? Change Merged (Gerrit) Merge Job (Jenkins) Yes No

6 Robot test suite change merged
OPEN-O CSIT Flow Code change merged Docker change merged Robot test suite change merged Gerrit Change Merged (after Verify cycle) Code Merge Job Docker Merge Job CSIT Test Job 1 Jenkins Jobs CSIT Test Job 2, …, etc. Pull code from Gerrit Push Java artifact to Nexus Pull dockerfile from Gerrit Pull Java artifact from Nexus Push docker image to Docker Hub Pull test suites from Gerrit Pull docker images from Docker Hub

7 Jenkins Job Dependencies
Code Merge Builds deployment archive for Java/Python code Deploys deployment archive to Nexus Triggers Docker Merge job Docker Merge Builds docker image using deployment archive in Nexus Deploys docker image to Docker Hub (docker.io) Triggers affected downstream CSIT Test jobs CSIT Test Runs CSIT Robot test suites using latest docker images from Docker Hub


Download ppt "OPEN-O CSIT Infrastructure"

Similar presentations


Ads by Google