Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 1 | /* voltha-scale-measurements pipeline */ |
| 2 | pipeline { |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 3 | /* no label, executor is determined by JJB */ |
| 4 | agent { |
| 5 | label "${params.buildNode}" |
| 6 | } |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 7 | environment { |
Shrey Baid | b001c71 | 2020-02-11 11:12:46 -0800 | [diff] [blame] | 8 | SSHPASS="karaf" |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 9 | } |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 10 | stages { |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 11 | stage('Set build description') { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 12 | steps { |
| 13 | script { |
Shrey Baid | 943e207 | 2020-03-04 10:31:32 -0800 | [diff] [blame] | 14 | currentBuild.description = "$BUILD_TIMESTAMP" |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 15 | } |
| 16 | } |
| 17 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 18 | stage('Cleanup') { |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 19 | steps { |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 20 | sh ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 21 | rm -rf *.txt |
Matteo Scandolo | dd5bbe9 | 2020-03-27 11:43:08 -0700 | [diff] [blame] | 22 | for hchart in \$(helm list -q | grep -E -v 'docker-registry|kafkacat|etcd-operator'); |
Matteo Scandolo | 151e35c | 2020-02-28 15:45:15 -0800 | [diff] [blame] | 23 | do |
| 24 | echo "Purging chart: \${hchart}" |
| 25 | helm delete --purge "\${hchart}" |
| 26 | done |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 27 | bash /home/cord/voltha-scale/wait_for_pods.sh |
| 28 | bash /home/cord/voltha-scale/stop_port_forward.sh |
| 29 | ''' |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 30 | } |
| 31 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 32 | stage('Start') { |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 33 | steps { |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 34 | sh ''' |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 35 | #!/usr/bin/env bash |
| 36 | set -euo pipefail |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 37 | ''' |
| 38 | } |
| 39 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 40 | stage('Deploy voltha') { |
Matteo Scandolo | 2fc1dac | 2020-03-09 08:39:53 -0700 | [diff] [blame] | 41 | options { |
| 42 | timeout(time:10) |
| 43 | } |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 44 | steps { |
| 45 | sh ''' |
Matteo Scandolo | a3470b7 | 2020-03-17 12:26:47 -0700 | [diff] [blame] | 46 | helm repo update |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 47 | helm install -n cord-kafka incubator/kafka -f /home/cord/voltha-scale/voltha-values.yaml --version 0.13.3 --set replicas=${numOfKafka} --set persistence.enabled=false --set zookeeper.replicaCount=${numOfKafka} --set zookeeper.persistence.enabled=false |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 48 | helm install -n nem-monitoring cord/nem-monitoring --set kpi_exporter.enabled=false,dashboards.xos=false,dashboards.onos=false,dashboards.aaa=false,dashboards.voltha=false |
Shrey Baid | b06b55a | 2020-03-12 15:04:58 -0700 | [diff] [blame] | 49 | |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 50 | helm install -n radius onf/freeradius ${extraHelmFlags} |
| 51 | |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 52 | # Multi BBSim sadis server (to be migrated in ONF and included in the helm-chart) |
| 53 | # kubectl create -f https://raw.githubusercontent.com/ciena/bbsim-sadis-server/master/bbsim-sadis-server.yaml |
| 54 | |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 55 | # NOTE wait for the infrastructure to be running before installing VOLTHA |
| 56 | bash /home/cord/voltha-scale/wait_for_pods.sh |
| 57 | |
Matteo Scandolo | e69614f | 2020-03-10 11:35:35 -0700 | [diff] [blame] | 58 | IFS=: read -r onosRepo onosTag <<< ${onosImg} |
| 59 | helm install -n onos onf/onos --set images.onos.repository=${onosRepo} --set images.onos.tag=${onosTag} ${extraHelmFlags} |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 60 | |
Matteo Scandolo | a2928e7 | 2020-03-02 16:38:22 -0800 | [diff] [blame] | 61 | IFS=: read -r volthaRepo volthaTag <<< ${volthaImg} |
Matteo Scandolo | e69614f | 2020-03-10 11:35:35 -0700 | [diff] [blame] | 62 | IFS=: read -r ofAgentRepo ofAgentTag <<< ${ofAgentImg} |
Matteo Scandolo | fddcb00 | 2020-03-24 09:14:57 -0700 | [diff] [blame] | 63 | helm install -n voltha ${volthaChart} -f /home/cord/voltha-scale/voltha-values.yaml --set defaults.log_level=${logLevel},images.rw_core.repository=${volthaRepo},images.rw_core.tag=${volthaTag},images.ofagent_go.repository=${ofAgentRepo},images.ofagent_go.tag=${ofAgentTag} ${extraHelmFlags} |
Matteo Scandolo | a2928e7 | 2020-03-02 16:38:22 -0800 | [diff] [blame] | 64 | |
| 65 | IFS=: read -r openoltAdapterRepo openoltAdapterTag <<< ${openoltAdapterImg} |
Matteo Scandolo | 330f752 | 2020-03-17 17:15:53 -0700 | [diff] [blame] | 66 | helm install -n openolt ${openoltAdapterChart} -f /home/cord/voltha-scale/voltha-values.yaml --set defaults.log_level=${logLevel},images.adapter_open_olt.repository=${openoltAdapterRepo},images.adapter_open_olt.tag=${openoltAdapterTag} ${extraHelmFlags} |
Matteo Scandolo | a2928e7 | 2020-03-02 16:38:22 -0800 | [diff] [blame] | 67 | |
| 68 | IFS=: read -r openonuAdapterRepo openonuAdapterTag <<< ${openonuAdapterImg} |
Matteo Scandolo | 330f752 | 2020-03-17 17:15:53 -0700 | [diff] [blame] | 69 | helm install -n openonu ${openonuAdapterChart} -f /home/cord/voltha-scale/voltha-values.yaml --set defaults.log_level=${logLevel},images.adapter_open_onu.repository=${openonuAdapterRepo},images.adapter_open_onu.tag=${openonuAdapterTag} ${extraHelmFlags} |
Matteo Scandolo | a2928e7 | 2020-03-02 16:38:22 -0800 | [diff] [blame] | 70 | |
| 71 | IFS=: read -r bbsimRepo bbsimTag <<< ${bbsimImg} |
Matteo Scandolo | 7059b08 | 2020-03-17 09:05:03 -0700 | [diff] [blame] | 72 | |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 73 | for i in $(seq 1 $((${numOfBbsim}))); do |
| 74 | helm install -n bbsim-$i ${bbsimChart} --set olt_id=$i,enablePerf=true,pon=${ponPorts},onu=${onuPerPon},auth=${bbsimAuth},dhcp=${bbsimDhcp},delay=${BBSIMdelay},images.bbsim.repository=${bbsimRepo},images.bbsim.tag=${bbsimTag} ${extraHelmFlags} |
| 75 | done |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 76 | |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 77 | bash /home/cord/voltha-scale/wait_for_pods.sh |
| 78 | bash /home/cord/voltha-scale/start_port_forward.sh |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 79 | ''' |
| 80 | } |
| 81 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 82 | stage('Wait for Adapters to be registered in VOLTHA') { |
Matteo Scandolo | 2fc1dac | 2020-03-09 08:39:53 -0700 | [diff] [blame] | 83 | options { |
| 84 | timeout(time:5) |
| 85 | } |
Matteo Scandolo | a711ddf | 2020-03-06 16:41:34 -0800 | [diff] [blame] | 86 | steps{ |
| 87 | waitUntil { |
| 88 | script { |
| 89 | openolt_res = sh returnStdout: true, script: """ |
| 90 | voltctl adapter list | grep openolt | wc -l |
| 91 | """ |
| 92 | |
| 93 | openonu_res = sh returnStdout: true, script: """ |
| 94 | voltctl adapter list | grep brcm_openomci_onu | wc -l |
| 95 | """ |
| 96 | |
Matteo Scandolo | 89f1cea | 2020-04-10 10:20:20 -0700 | [diff] [blame] | 97 | return openolt_res.toInteger() >= 1 && openonu_res.toInteger() >= 1 |
Matteo Scandolo | a711ddf | 2020-03-06 16:41:34 -0800 | [diff] [blame] | 98 | } |
| 99 | } |
| 100 | } |
| 101 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 102 | stage('Push MIB template to ETCD') { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 103 | steps { |
| 104 | sh ''' |
| 105 | if [ ${withMibTemplate} = true ] ; then |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 106 | rm -f BBSM-12345123451234512345-00000000000001-v1.json |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 107 | wget https://raw.githubusercontent.com/opencord/voltha-openonu-adapter/master/templates/BBSM-12345123451234512345-00000000000001-v1.json |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 108 | cat BBSM-12345123451234512345-00000000000001-v1.json | kubectl exec -it $(kubectl get pods | grep etcd-cluster | awk 'NR==1{print $1}') etcdctl put service/voltha/omci_mibs/templates/BBSM/12345123451234512345/00000000000001 |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 109 | fi |
| 110 | ''' |
Shrey Baid | 0d4e31d | 2020-02-11 13:28:47 -0800 | [diff] [blame] | 111 | } |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 112 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 113 | stage('Configure ONOS and VOLTHA') { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 114 | steps { |
| 115 | sh ''' |
Matteo Scandolo | 330f752 | 2020-03-17 17:15:53 -0700 | [diff] [blame] | 116 | #Setting LOG level to ${logLevel} |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 117 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 log:set ${logLevel} |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 118 | kubectl exec $(kubectl get pods | grep bbsim | awk 'NR==1{print $1}') bbsimctl log warn false |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 119 | |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 120 | #Setting link discovery |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 121 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.lldp.impl.LldpLinkProvider enabled ${setLinkDiscovery} |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 122 | |
Matteo Scandolo | 7b3fde9 | 2020-02-26 16:17:16 -0800 | [diff] [blame] | 123 | # extending voltctl timeout |
Shrey Baid | b044718 | 2020-02-27 16:39:35 -0800 | [diff] [blame] | 124 | sed -i 's/timeout: 10s/timeout: 5m/g' /home/cord/.volt/config |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 125 | |
| 126 | #Setting the flow and ports stats collection interval |
| 127 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.of.flow.impl.OpenFlowRuleProvider flowPollFrequency ${flowStatInterval} |
| 128 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 cfg set org.onosproject.provider.of.device.impl.OpenFlowDeviceProvider portStatsPollFrequency ${portsStatInterval} |
| 129 | |
| 130 | #Check withOnosApps and disable apps accordingly |
| 131 | if [ ${withOnosApps} = false ] ; then |
| 132 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.olt |
| 133 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.aaa |
| 134 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 app deactivate org.opencord.dhcpl2relay |
| 135 | else |
| 136 | curl --fail -sSL --user karaf:karaf -X POST -H Content-Type:application/json "http://127.0.0.1:30120/onos/v1/network/configuration/apps/org.opencord.sadis" --data '{ |
| 137 | "sadis": { |
| 138 | "integration": { |
| 139 | "url": "http://bbsim-sadis-server.default.svc:58080/subscribers/%s", |
| 140 | "cache": { |
| 141 | "enabled": true, |
| 142 | "maxsize": 50, |
| 143 | "ttl": "PT1m" |
| 144 | } |
| 145 | } |
| 146 | }, |
| 147 | "bandwidthprofile": { |
| 148 | "integration": { |
| 149 | "url": "http://bbsim-sadis-server.default.svc:58080/profiles/%s", |
| 150 | "cache": { |
| 151 | "enabled": true, |
| 152 | "maxsize": 50, |
| 153 | "ttl": "PT1m" |
| 154 | } |
| 155 | } |
| 156 | } |
| 157 | }' |
| 158 | fi |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 159 | ''' |
| 160 | } |
| 161 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 162 | stage('Set timeout at 10 minutes') { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 163 | options { |
| 164 | timeout(time:10) |
| 165 | } |
| 166 | stages { |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 167 | stage('Activate OLTs') { |
| 168 | steps { |
| 169 | sh ''' |
| 170 | for i in $(seq 1 $((${numOfBbsim}))); do |
| 171 | voltctl device create -t openolt -H bbsim-$i:50060 -m 0f:f1:ce:c$i:ff:ee |
| 172 | done |
| 173 | voltctl device list --filter Type~openolt -q | xargs voltctl device enable |
| 174 | ''' |
| 175 | } |
| 176 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 177 | stage('Wait for ONUs to be enabled') { |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 178 | steps { |
| 179 | sh ''' |
| 180 | if [ -z ${expectedOnus} ] |
| 181 | then |
| 182 | echo -e "You need to set the target ONU number\n" |
| 183 | exit 1 |
| 184 | fi |
Shrey Baid | 00ff5c4 | 2020-02-07 15:14:08 -0800 | [diff] [blame] | 185 | |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 186 | # check ONUs reached Active State in VOLTHA |
| 187 | i=$(voltctl device list | grep -v OLT | grep ACTIVE | wc -l) |
| 188 | until [ $i -eq ${expectedOnus} ] |
| 189 | do |
| 190 | echo "$i ONUs ACTIVE of ${expectedOnus} expected (time: $SECONDS)" |
| 191 | sleep ${pollInterval} |
| 192 | i=$(voltctl device list | grep -v OLT | grep ACTIVE | wc -l) |
| 193 | done |
| 194 | echo "${expectedOnus} ONUs Activated in $SECONDS seconds (time: $SECONDS)" |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 195 | |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 196 | echo $SECONDS > voltha-devices-time-num.txt |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 197 | |
| 198 | echo "VOLTHA Duration(s)" > voltha-devices-time.txt |
| 199 | cat voltha-devices-time-num.txt >> voltha-devices-time.txt |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 200 | ''' |
| 201 | } |
| 202 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 203 | stage('Wait for ports to be discovered in ONOS') { |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 204 | steps { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 205 | sh ''' |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 206 | # Check ports showed up in ONOS |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 207 | z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l) |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 208 | until [ $z -eq ${expectedOnus} ] |
| 209 | do |
| 210 | echo "${z} enabled ports of ${expectedOnus} expected (time: $SECONDS)" |
| 211 | sleep ${pollInterval} |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 212 | z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l) |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 213 | done |
| 214 | echo "${expectedOnus} ports enabled in $SECONDS seconds (time: $SECONDS)" |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 215 | |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 216 | echo $SECONDS > temp.txt |
| 217 | paste voltha-devices-time-num.txt temp.txt | awk '{print ($1 + $2)}' > onos-ports-time-num.txt |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 218 | |
| 219 | echo "PORTs Duration(s)" > onos-ports-time.txt |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 220 | cat onos-ports-time-num.txt >> onos-ports-time.txt |
Shrey Baid | a3b8aa6 | 2020-02-13 11:22:51 -0800 | [diff] [blame] | 221 | ''' |
| 222 | } |
| 223 | } |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 224 | stage('Wait for flows to be programmed') { |
| 225 | steps { |
| 226 | sh ''' |
| 227 | if [ ${withOnosApps} = false ] ; then |
| 228 | echo "ONOS Apps are not enabled, nothing to check" |
| 229 | else |
| 230 | # wait until all flows are in added state |
| 231 | z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 flows -s | grep PENDING | wc -l) |
| 232 | until [ $z -eq 0 ] |
| 233 | do |
| 234 | echo "${z} flows in PENDING state (time: $SECONDS)" |
| 235 | sleep ${pollInterval} |
| 236 | z=$(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 flows -s | grep PENDING | wc -l) |
| 237 | done |
| 238 | echo "All flows correctly programmed (time: $SECONDS)" |
| 239 | |
| 240 | echo $SECONDS > temp.txt |
| 241 | paste onos-ports-time-num.txt temp.txt | awk '{print ($1 + $2)}' > onos-flows-time-num.txt |
| 242 | |
| 243 | echo "FLOWs Duration(s)" > onos-flows-time.txt |
| 244 | cat onos-flows-time-num.txt >> onos-flows-time.txt |
| 245 | fi |
| 246 | ''' |
| 247 | } |
| 248 | } |
Shrey Baid | b001c71 | 2020-02-11 11:12:46 -0800 | [diff] [blame] | 249 | } |
| 250 | } |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 251 | } |
| 252 | post { |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 253 | success { |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 254 | plot([ |
| 255 | csvFileName: 'plot-onu-activation.csv', |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 256 | csvSeries: [ |
| 257 | [displayTableFlag: false, exclusionValues: '', file: 'voltha-devices-time.txt', inclusionFlag: 'OFF', url: ''], |
| 258 | [displayTableFlag: false, exclusionValues: '', file: 'onos-ports-time.txt', inclusionFlag: 'OFF', url: ''], |
| 259 | [displayTableFlag: false, exclusionValues: '', file: 'onos-flows-time.txt', inclusionFlag: 'OFF', url: ''] |
| 260 | ], |
| 261 | group: 'Voltha-Scale-Numbers', numBuilds: '20', style: 'line', title: "Time (${BBSIMdelay}s Delay)", yaxis: 'Time (s)', useDescr: true |
Shrey Baid | e7614d0 | 2020-02-25 10:26:42 -0800 | [diff] [blame] | 262 | ]) |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 263 | } |
| 264 | always { |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 265 | // count how many ONUs have been activated |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 266 | sh ''' |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 267 | echo "#-of-ONUs" > voltha-devices-count.txt |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 268 | echo $(voltctl device list | grep -v OLT | grep ACTIVE | wc -l) >> voltha-devices-count.txt |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 269 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 270 | // count how many ports have been discovered |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 271 | sh ''' |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 272 | echo "#-of-ports" > onos-ports-count.txt |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 273 | echo $(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports -e | grep BBSM | wc -l) >> onos-ports-count.txt |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 274 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 275 | // count how many flows have been provisioned |
| 276 | sh ''' |
| 277 | echo "#-of-flows" > onos-flows-count.txt |
| 278 | echo $(sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 flows -s | grep ADDED | wc -l) >> onos-flows-count.txt |
| 279 | ''' |
| 280 | // check which containers were used in this build |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 281 | sh ''' |
Matteo Scandolo | 24044fc | 2020-04-14 10:07:14 -0700 | [diff] [blame] | 282 | kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.image}{'\\n'}" | sort | uniq |
| 283 | kubectl get pods --all-namespaces -o jsonpath="{range .items[*].status.containerStatuses[*]}{.imageID}{'\\n'}" | sort | uniq |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 284 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 285 | // dump all the VOLTHA devices informations |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 286 | sh ''' |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 287 | voltctl device list -o json > device-list.json |
Shrey Baid | 49bf8f6 | 2020-03-09 17:52:01 -0700 | [diff] [blame] | 288 | python -m json.tool device-list.json > voltha-devices-list.json |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 289 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 290 | // get ports and flows from ONOS |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 291 | sh ''' |
Matteo Scandolo | f87e1da | 2020-04-16 16:13:31 -0700 | [diff] [blame] | 292 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 ports > onos-ports-list.txt |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 293 | sshpass -e ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p 30115 karaf@127.0.0.1 flows -s > onos-flows-list.txt |
| 294 | ''' |
| 295 | // collect the CPU usage |
| 296 | sh ''' |
Shrey Baid | ce9ed55 | 2020-03-13 13:40:13 -0700 | [diff] [blame] | 297 | curl -s -X GET -G http://127.0.0.1:31301/api/v1/query --data-urlencode 'query=avg(rate(container_cpu_usage_seconds_total[10m])*100) by (pod_name)' | jq . > cpu-usage.json |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 298 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 299 | // get all the logs from kubernetes PODs |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 300 | sh ''' |
Matteo Scandolo | 3d31ebc | 2020-04-16 14:39:40 -0700 | [diff] [blame] | 301 | kubectl get pods -o wide |
Matteo Scandolo | 89f1cea | 2020-04-10 10:20:20 -0700 | [diff] [blame] | 302 | kubectl logs -l app=adapter-open-olt > open-olt-logs.txt |
| 303 | kubectl logs -l app=adapter-open-onu > open-onu-logs.txt |
| 304 | kubectl logs -l app=rw-core > voltha-rw-core-logs.txt |
| 305 | kubectl logs -l app=ofagent > voltha-ofagent-logs.txt |
| 306 | kubectl logs -l app=bbsim > bbsim-logs.txt |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 307 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 308 | // cleanup of things we don't want to archive |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 309 | sh ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 310 | rm -rf BBSM-12345123451234512345-00000000000001-v1.json device-list.json temp.txt |
Matteo Scandolo | e1c200f | 2020-03-24 10:33:58 -0700 | [diff] [blame] | 311 | ''' |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 312 | // compile a plot of the activate informations |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 313 | plot([ |
| 314 | csvFileName: 'plot-numbers.csv', |
Matteo Scandolo | d1a1508 | 2020-04-22 10:57:49 -0700 | [diff] [blame] | 315 | csvSeries: [ |
| 316 | [displayTableFlag: false, exclusionValues: '', file: 'voltha-devices-count.txt', inclusionFlag: 'OFF', url: ''], |
| 317 | [displayTableFlag: false, exclusionValues: '', file: 'onos-ports-count.txt', inclusionFlag: 'OFF', url: ''] |
| 318 | ], |
Shrey Baid | 4da57a6 | 2020-03-05 15:49:50 -0800 | [diff] [blame] | 319 | group: 'Voltha-Scale-Numbers', numBuilds: '100', style: 'line', title: "Activated ONUs and Recognized Ports", yaxis: 'Number of Ports/ONUs', useDescr: true |
| 320 | ]) |
| 321 | |
| 322 | archiveArtifacts artifacts: '*.log,*.json,*txt' |
| 323 | |
Matteo Scandolo | 51b7630 | 2020-02-05 12:07:23 -0800 | [diff] [blame] | 324 | } |
| 325 | } |
Matteo Scandolo | e69614f | 2020-03-10 11:35:35 -0700 | [diff] [blame] | 326 | } |