Sign inSign up

scality/ci-cosbench

By scality

Updated over 4 years ago

cosbench image for integration

Image
1

100K+

scality/ci-cosbench repository overview

Integration

Circle CI

Integration is aiming to provide a complete solution for the end-to-end testing of Scality projects. It is composed of two components:

Ultron

It is a small REST service geared towards GitHub push notifications, sending build requests to circleCI. It is written in nodeJS.

Configuration

ultron looks for a config.json in its root folder, containing the following fields:

{
    "username": "your_robot_github_username",
    "hubtoken": "your_robot_github_token",
    "citoken": "your_circle_ci_token"
}
Install

Just go into the bot directory and do npm install as you would with any node service.

Usage

npm start will do the trick. You will need to ensure that github issue comments are forwarded to ultron via a webhook in the interface of your project.

You can trigger ultron from 2 different ways:

    1. referencing ironman-machine on a github PR's comment.

You will be able to start a new build by invoking @username (as defined in the config file) in a PR comment. You can add on separate lines every environment variable you may want to have in the build using the following format:

ENV_VAR=whateveryouneed
    1. calling it through a curl call:
curl -X POST --header "Content-Type: application/json" -d '{
  "build_parameters": {
    "SCALITY_REPO_BRANCH": "_x_",
  }
}' https://ci.ironmann.io/api/v1/project/scality/Integration/tree/wip%2Fultron?circle-token=_circlecitoken_ -k
Noteworthy env vars

SCALITY_*_BRANCH will select a specific branch for the build of the given project. Projects currently supported are:

  • S3
  • VAULT
  • METADATA
  • UTAPI
  • FEDERATION
  • INTEGRATION
  • VAULTCLIENT
  • BUCKETCLIENT
  • SPROXYDCLIENT
  • ARSENAL
  • WERELOGS
  • GUIDELINES

SVC_BASE_FORCE_BUILD will enforce building the svc-base image for the common base layer of all of our containerized services available in Federation. Setting this environment variable has for effect to automatically enfore the nodesvc-base image rebuild too, as it is relying on this one. NODESVC_BASE_FORCE_BUILD will enforce building the nodesvc-base image for the base layer of all or our containerized Node.JS-based services available in Federation. CI_COSBENCH_FORCE_BUILD will enforce re-building the cosbench image used by the CI tests available in Integration. CI_AGGRESSOR_FORCE_BUILD will enforce re-building the aggressor image used as the "test launcher" container in the CI tests, available in Integration

Nimrod

It is a python integration wrapper, meant to be used in circleCI's environment or locally. All projects are able to be tested in an end-to-end scenario thanks to this.

Install

The usual python setup.py install will do the trick.

Usage

nimrod-build deploys the whole setup using Federation. nimrod does all the above by itself.

Add new tests

Tests are automatically picked-up in any path of the repository, as long as they provide the mandatory master.yml describing the aggressor configuration. Adding test is then just a matter of adding this file and whatever you may need to interact with the fully deployed system.

Tag summary

Content type

Image

Digest

Size

205.9 MB

Last updated

over 4 years ago

docker pull scality/ci-cosbench:stabilization_7.10.3