User Tools

Site Tools


joid:ci_integration

This is an old revision of the document!


Propositions for Joid integration in CI

Prerequisites

Jenkins install

Jump host preparation

The jumphost must be a flavor of Ubuntu The following things must be set on the jumphost before starting any deploy:

  • applications must be installed
    • git
    • bridge-utils
    • vlan
  • The network must also be set to host 3 bridges (TO BE DISCUSSED)
    • brAdm
    • brData
    • brStorage

All those pre-requisits can be managed by Master MAAS.

Now you can launch jenkins

Jenkins parameters

Jenkins fixes those parameters:

Projects default

TO BE COMPLETED

Pod defaults

None today, but CEPH options may be set here.

Cleanup steps

The cleanup is done at each deploy in the script

HOW TO

Run CI deploy script without jenkins

# IP of the installer (Not used for Joid) export INSTALLER_IP=192.168.Y.Y

# Installer used for deploying OPNFV on this POD export INSTALLER_TYPE=joid

# Scenario to deploy and test # Based on scenario naming we can get joid options # naming convention: # os-<controller>-<nfvfeature>-<mode>[-<extrastuff>] # With parameters: # controller=(nosdn|odl_l3|odl_l2|onos|ocl) # No odl_l3 today # nfvfeature=(kvm|ovs|dpdk|nofeature) # '_' list separated. # mode=(ha|noha) # extrastuff=(none) # Optional field - Not used today export DEPLOY_SCENARIO=os-nosdn-nofeature-ha

# OpenStack release (kilo|liberty) export OS_RELEASE=liberty

# External network to create (name;type;first ip;last ip; gateway;network) export EXTERNAL_NETWORK=ext-net;flat;161.105.231.2;161.105.231.62;161.105.231.1;161.105.231.0/26

# Disks to use by ceph by default (space separated list) export CEPH_DISKS=/srv

# Disks to use by ceph by controllers (empty if same as CEPH_DISKS) export CEPH_DISKS_CONTROLLERS=/srv

# Local lab config and Openstack openrc location export LAB_CONFIG=$HOME/joid_config

# Format or not disk before using ceph [true/false] (must be done the first time) export CEPH_REFORMAT=false

# Reinstall MAAS and Bootstrap before deploy [true/false] export MAAS_REINSTALL=false

# Slave name on Jenkins export SLAVE_NAME=orange-fr-pod2 export NODE_NAME=$SLAVE_NAME

# Version of the installer to deploy export INSTALLER_VERSION=latest

# Git URL to use on this Jenkins Slave export GIT_BASE=https://gerrit.opnfv.org/gerrit/$PROJECT

Add my pod deployed by jenkins

TO BE CORRECTED

  1. Edit Releng jjb/joid/joid.yml to add your node to pod list in the project section
  2. Add your pod description in jjb/opnfv/pod-params.yml
  3. Setup (or not) your local config file, as described in "Set specific pod parameters". If no. check your NODE_NAME is formated like this: <POD_DATA_CENTER>-<POD_NAME> as set in joid/ci/maas subfolders
  4. Ask jenkins to deploy :)

Set specific pod parameters

The pod admin can set a few parameters

sudo -s jenkins
mkdir ~/joid_config
cat << EOF > ~/joid_config/config.sh

### Set Pod name
export POD_DC=orange
export POD_NUM=pod2
# This must be the same name as the one configured in joid deployment files
export POD_NAME=\$POD_DC\$POD_NUM

### Reinstall MAAS at each jenkins deploy
export MAAS_REINSTALL=true

### Set passwords
export MAAS_USER=ubuntu
export MAAS_PASSWORD=ubuntu
export OS_ADMIN_PASSWORD=openstack

### Set CEPH parameters
# disks to use by ceph (comma separated list)
export CEPH_DISKS=/dev/sdb,/dev/sdc
# format or not disk before using ceph (must be done the first time)
export CEPH_REFORMAT=false

EOF

Deploy or not MAAS at each time

Testing MAAS deploy is not the core of CI tests, so to gain time, MAAS reinstall can be disabled by setting local parameter MAAS_REINSTALL=false. Juju will be cleaned and all nodes managed will return in ready mode.

joid/ci_integration.1452781473.txt.gz · Last modified: 2016/01/14 14:24 by David Blaisonneau