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