User Tools

Site Tools


joid:ci_integration

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
joid:ci_integration [2015/12/18 15:11]
David Blaisonneau [Details of jenkins job]
joid:ci_integration [2016/01/26 14:21] (current)
David Blaisonneau [Jenkins defaults]
Line 2: Line 2:
  
 ==== Prerequisites ==== ==== Prerequisites ====
 +
 +=== Jenkins install ===
 +
 +Please follow HOW TO here: https://​wiki.opnfv.org/​wiki/​jenkins#​how_to_connect_servers_from_labs_to_opnfv_jenkins
  
 === Jump host preparation === === Jump host preparation ===
Line 9: Line 13:
  
   * applications must be installed   * applications must be installed
-    * ''​libvirt-bin''​ 
     * ''​git''​     * ''​git''​
-    * ''​iptables-persistent''​ 
     * ''​bridge-utils''​     * ''​bridge-utils''​
     * ''​vlan''​     * ''​vlan''​
Line 18: Line 20:
     * ''​brData''​     * ''​brData''​
     * ''​brStorage''​     * ''​brStorage''​
 +
 +All those pre-requisits can be managed by Master MAAS.
  
 Now you can launch jenkins Now you can launch jenkins
  
 +===== Jenkins parameters =====
  
 +Jenkins fixes those parameters:
  
 +====Jenkins defaults====
 +<​code>​
 +# Slave name on Jenkins
 +export SLAVE_NAME=orange-fr-pod2
 +export NODE_NAME=$SLAVE_NAME
  
-===== Jenkins ​parameters =====+# Git URL to use on this Jenkins ​Slave 
 +export GIT_BASE=https://​gerrit.opnfv.org/​gerrit/​$PROJECT 
 + 
 +# Project Name 
 +export PROJECT=joid 
 + 
 +# Place of jenkins workspace 
 +export WORKSPACE=$HOME/​workspace/​joid-deploy-<​scenario>/​ 
 +# in case of local script testing 
 +export WORKSPACE=$HOME/​joid/​ 
 + 
 +</​code>​
  
-Jenkins fixes those parameters: 
  
 ====Projects default==== ====Projects default====
 +
 +The file containing installer defaults is **releng/​jjb/​opnfv/​installer-params.yml**
 <​code>​ <​code>​
-SDN_CONTROLLER=nosdn +# IP of the installer (Not used for Joid) 
-HA_MODE=ha +export INSTALLER_IP=192.168.Y.Y 
-OS_RELEASE=liberty + 
-OPNFV_FEATURE=none+# 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=none 
 + 
 +# 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;​192.168.0.2;​192.168.0.253;​192.168.0.1;​192.168.0.0/​24"​ 
 + 
 +# 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=""​ 
 + 
 +# 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 
 +</​code>​ 
 + 
 +==== Pod defaults==== 
 +The file containing pod default is **releng/​jjb/​opnfv/​slave-params.yml** 
 + 
 +<​code>​ 
 +# Version of the installer to deploy 
 +export INSTALLER_VERSION=latest  
 +</​code>​ 
 + 
 +Those parameters shall be present in the pod default. 
 +<​code>​ 
 +# 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
 </​code>​ </​code>​
  
Line 41: Line 117:
  
 ===== HOW TO ===== ===== HOW TO =====
 +
 +==== Run CI deploy script without jenkins ====
 +
 +  * Copy all jenkins parameters (see list '​Jenkins parameters'​ section) in a file (~/​deploy_params.sh) and set them according to your platform (**don'​t forget to set DEPLOY_SCENARIO value !**)
 +  * Load this file
 +<​code>​source ~/​deploy_params.sh</​code>​
 +  * Get the script
 +<​code>​wget https://​git.opnfv.org/​cgit/​releng/​plain/​jjb/​joid/​joid-deploy.sh
 +chmod +x joid-deploy.sh</​code>​
 +  * Run the script
 +<​code>​./​joid-deploy.sh</​code>​
  
 ==== Add my pod deployed by jenkins ==== ==== Add my pod deployed by jenkins ====
  
-Edit Releng jjb/​joid/​joid.yml to add your node to pod list in the project section +  - Edit Releng ​**jjb/​joid/​joid-ci-jobs.yml** 
-Add your pod description in jjb/opnfv/pod-params.yml +     ​- ​to add your node to pod list in the project section 
-* 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 +     - to add your trigger macro at the end of the file 
-* Ask jenkins to deploy+  - Add your pod description in **jjb/opnfv/slave-params.yml*
 +  - Setup (or not) your local config file, as described in "Set specific pod parameters"​. 
 +  - If your $POD_NAME ​is not formated like this: <​POD_DATA_CENTER>​-<​POD_ID> as set in joid/​ci/​maas/<​POD_DATA_CENTER>/<​POD_ID> ​subfolders, please modify section "Set Joid pod config name" in **releng/​jjb/​joid/​joid-deploy.sh** 
 +  - Ask jenkins to deploy ​:)
  
-===Set specific pod parameters===+==== Set specific pod parameters ​====
  
-The pod admin must also set a few parameters+The pod admin can set a few parameters
  
 <​code>​ <​code>​
Line 57: Line 147:
 mkdir ~/​joid_config mkdir ~/​joid_config
 cat << EOF > ~/​joid_config/​config.sh 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 ### Set passwords
 export MAAS_USER=ubuntu export MAAS_USER=ubuntu
 export MAAS_PASSWORD=ubuntu export MAAS_PASSWORD=ubuntu
 export OS_ADMIN_PASSWORD=openstack 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 EOF
 </​code>​ </​code>​
joid/ci_integration.1450451479.txt.gz · Last modified: 2015/12/18 15:11 by David Blaisonneau