blob: d29b66494bf5b5eb1bec38a56fc81fb72e8a8d9c [file] [log] [blame]
David Bainbridgef81cd642019-11-20 00:14:47 +00001# Copyright 2019-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
David Bainbridgef81cd642019-11-20 00:14:47 +000014# voltha common functions
15
16*** Settings ***
17Documentation Library for various utilities
18Library SSHLibrary
David Bainbridgef81cd642019-11-20 00:14:47 +000019Library String
20Library DateTime
21Library Process
22Library Collections
23Library RequestsLibrary
24Library OperatingSystem
25
26*** Keywords ***
27Lookup Pod That Owns Device
28 [Arguments] ${device_id}
29 [Documentation] Uses a utility script to lookup which RW Core has current ownership of an OLT
30 ${rc} ${pod}= Run and Return Rc and Output
31 ... ../scripts/which_pod_owns_device.sh ${device_id}
32 Should Be Equal as Integers ${rc} 0
33 [Return] ${pod}
34
35Lookup Deployment That Owns Device
36 [Arguments] ${device_id}
37 [Documentation] Uses a utility script to lookup which RW Core has current ownership of an OLT
38 ${rc} ${deploy}= Run and Return Rc and Output
39 ... which_deployment_owns_device.sh ${device_id}
40 Should Be Equal as Integers ${rc} 0
41 [Return] ${deploy}
42
David Bainbridge07321ff2020-06-12 13:55:42 -070043Restart VOLTHA Port Forward
David Bainbridgef81cd642019-11-20 00:14:47 +000044 [Arguments] ${name}
45 [Documentation] Uses a script to restart a kubectl port-forward
David Bainbridge3d6d5d32019-12-17 19:05:35 +000046 ${cmd} Catenate
47 ... ps e -ww -A |
David Bainbridge821e7e82020-06-17 14:18:56 -070048 ... grep -E "_TAG=([a-z_-]+-)?${name}" |
David Bainbridge3d6d5d32019-12-17 19:05:35 +000049 ... grep -v grep |
50 ... awk '{printf(\"%s %s\\n\",$1,$5)}' |
51 ... grep -v bash | awk '{print $1}'
Andrea Campanellae8376f32021-11-17 11:22:57 -080052 ${rc} ${port-forward} Run And Return Rc And Output ps -ef | grep port-forward
53 Log ${port-forward}
David Bainbridge3d6d5d32019-12-17 19:05:35 +000054 ${rc} ${pid} Run And Return Rc And Output ${cmd}
David Bainbridgef81cd642019-11-20 00:14:47 +000055 Should Be Equal as Integers ${rc} 0
56 Run Keyword If '${pid}' != '' Run And Return Rc kill -9 ${pid}
57 Should Be Equal as Integers ${rc} 0
Andrea Campanellae8376f32021-11-17 11:22:57 -080058 ${rc} ${port-forward} Run And Return Rc And Output ps -ef | grep port-forward
59 Log ${port-forward}
TorstenThieme3385cdc2021-02-04 13:50:50 +000060
61Get Kv Store Prefix
62 [Documentation] This keyword delivers the KV Store Prefix read from environment variable KVSTOREPREFIX if present.
Andrea Campanella388cd872022-02-10 09:11:39 +010063 [Arguments] ${defaultkvstoreprefix}=voltha/voltha_voltha
TorstenThieme3385cdc2021-02-04 13:50:50 +000064 ${kv_store_prefix}= Get Environment Variable KVSTOREPREFIX default=${defaultkvstoreprefix}
65 # while Get Environment Variable does not work correctly, a manual correction follows
66 ${kv_store_prefix}= Set Variable If "${kv_store_prefix}"=="${EMPTY}" ${defaultkvstoreprefix} ${kv_store_prefix}
67 [Return] ${kv_store_prefix}
68