From 6f245c88ffd51a1aaf1175ffd9989402599c22aa Mon Sep 17 00:00:00 2001 From: dongxiaoyan Date: Thu, 4 Jun 2020 18:09:44 +0800 Subject: [PATCH] =?UTF-8?q?OAM=E6=8E=A5=E5=8F=A3=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 01-TestCase/tsg_oam/OamApi.robot | 315 +++++++++++++++++++++++++++++++ 1 file changed, 315 insertions(+) create mode 100644 01-TestCase/tsg_oam/OamApi.robot diff --git a/01-TestCase/tsg_oam/OamApi.robot b/01-TestCase/tsg_oam/OamApi.robot new file mode 100644 index 0000000..cbf8b38 --- /dev/null +++ b/01-TestCase/tsg_oam/OamApi.robot @@ -0,0 +1,315 @@ +*** Settings *** +Force Tags tsg_oam tsg_device +Library REST +Resource ../../03-Variable/BifangApiVariable.txt +Library OperatingSystem +Library Selenium2Library +Library RequestsLibrary +Library Collections +Library REST http://${oamHost}:${oamPort}/ +*** Variables *** +${url} chassis-daji-00001 +${profileId} ${EMPTY} +*** Keywords *** +OamGetRequest + [Arguments] ${requestUri} ${data} + ${headers} set variable {"Content-Type":"application/json"} + create session api http://${oamHost}:${oamPort}/ ${headers} + ${response} Get Request api ${requestUri} data=${data} + log return data =${response} + Should Be Equal As Strings ${response.status_code} 200 + ${response} to json ${response.content} + ${rescode} Set Variable ${response}[code] + Should Be Equal As Strings ${rescode} 200 + [Return] ${response} +OamPostRequest + [Arguments] ${requestUri} ${data} + ${headers} set variable {"Content-Type":"application/json"} + create session api http://${oamHost}:${oamPort}/ ${headers} + ${response}= Post Request api ${requestUri} data=${data} + log return data =${response} + Should Be Equal As Strings ${response.status_code} 200 + ${response} to json ${response.content} + ${rescode} Set Variable ${response}[code] + Should Be Equal As Strings ${rescode} 200 + [Return] ${response} +OamDeleteRequest + [Arguments] ${requestUri} ${data} + ${headers} set variable {"Content-Type":"application/json"} + create session api http://${oamHost}:${oamPort}/ ${headers} + ${response}= Delete Request api ${requestUri} data=${data} + log return data =${response} + Should Be Equal As Strings ${response.status_code} 200 + ${response} to json ${response.content} + ${rescode} Set Variable ${response}[code] + Should Be Equal As Strings ${rescode} 200 + ${datalist} Get From Dictionary ${response}[data] list + ${len} Get Length ${datalist} + FOR ${var} IN RANGE ${len} + Should Contain ${datalist}[${var}][result] success + END + [Return] ${response} +*** Test Cases *** +writestarttime + ${starttime} Get Time + Append To File ${path}/OamApi_file.txt ${starttime}---------------------------------------------- + +chassis-danji-00165 + #获取单个板卡的信息 + #${caseName} set variable chassis-danji-00001 + Comment chassis-danji-00165 + ${response} OamGetRequest /tsgoam/cm/chassis/192.168.40.165 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + +chassis-danji-00170 + ${response} OamGetRequest /tsgoam/cm/chassis/192.168.40.170 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} +chassis-danji-00175 + ${response} OamGetRequest /tsgoam/cm/chassis/192.168.40.175 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} +chassis-danji-0025 + ${response} OamGetRequest /tsgoam/cm/chassis/192.168.40.25 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} +fru-sled-00001-165 + #获取单个板卡的FRU信息 获取单个板卡的FRU信息 + #${caseName} set variable chassis-danji-00001 + Comment fru-sled-00001 + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.165/0 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.165/1 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.165/2 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.165/3 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.165/100 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} +fru-sled-00002-170 + #获取单个板卡的FRU信息 获取单个板卡的FRU信息 + #${caseName} set variable chassis-danji-00001 + Comment fru-sled-00002 + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.170/100 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.170/0 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.170/1 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.170/2 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.170/3 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + +fru-sled-00003-175 + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.175/100 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.175/0 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.175/1 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.175/2 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.175/3 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 175:${response} + +fru-sled-00003-25 + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.25/100 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.25/0 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.25/1 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.25/2 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + ${response} OamGetRequest /tsgoam/cm/FRU/192.168.40.25/3 ${EMPTY} + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + +hostname-sled-00001可以在170xxg-adc03-mxn + Comment ntpsrv-sled-00001更新hostname更新板卡CentOS的hostname,需要用户手动重启network service或reboot后才能生效 + ${response} OamPostRequest /tsgoam/cm/hostname/ [{"chassis_ip":"192.168.40.170","sled_id":0,"hostname":"hy-adc03-mxn"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + + ${response} OamPostRequest /tsgoam/cm/hostname/ [{"chassis_ip":"192.168.40.170","sled_id":0,"hostname":"xxg-adc03-mxn"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + +ntpsrv-sled-00001 + Comment ntpsrv-sled-00001更新ntp server设置设置ntp server,注意调用此方法会同时更新TSG上所有板卡的ntp配置,即将计算板的ntp server指向交换板,将交换板的ntp server指向目标机器。 + ${response} OamPostRequest /tsgoam/cm/ntpsrv/ [{"chassis_ip":"192.168.40.170","ntpsrv_ip":"192.168.40.1"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} +softwarereboot-sled-00001 + Comment softwarereboot-sled-00001 重启板卡软件 + #${response} OamPostRequest /tsgoam/cm/softwarereboot/ [{"chassis_ip":"192.168.40.170","sled_id":0},{"chassis_ip":"192.168.40.170","sled_id":1},{"chassis_ip":"192.168.40.170","sled_id":2},{"chassis_ip":"192.168.40.170","sled_id":3},,{"chassis_ip":"192.168.40.170","sled_id":100}] + #${response} OamPostRequest /tsgoam/cm/softreboot/ [{"chassis_ip":"192.168.40.170","sled_id":0},{"chassis_ip":"192.168.40.170","sled_id":1},{"chassis_ip":"192.168.40.170","sled_id":2},{"chassis_ip":"192.168.40.170","sled_id":3},{"chassis_ip":"192.168.40.170","sled_id":100}] + ${response} OamPostRequest /tsgoam/cm/softreboot/ [{"chassis_ip":"192.168.40.165","sled_id":3}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} +###################################################################### +alarm-chassis-00001 + Comment alarm-chassis-00001 获取一个或多个设备的告警列表 + ${response} OamPostRequest /tsgoam/fm/alarms/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001","where":"component = 'syslog'"},{"chassis_ip":"192.168.40.170","chassis_sn":"CBT2201925000003","where":"component = 'syslog'"},{"chassis_ip":"192.168.40.175","chassis_sn":"CBT2201925000004","where":"component = 'syslog'"},{"chassis_ip":"192.168.40.25","chassis_sn":"CBT2201925000200","where":"component = 'syslog'"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + +del-alarm-chassis-00001 + Comment del-alarm-chassis-00001 清除指定告警 + #${response} OamDeleteRequest /tsgoam/fm/alarms/ [{"alarm_id":"CBT22019250000030000000000255100","chassis_ip":"192.168.40.170","operator":"dongxiaoyan","notes":"auto"}] + ${response} OamDeleteRequest /tsgoam/fm/alarms/ [{"alarm_id":"CBT22019250000010000000003422719","chassis_ip":"192.168.40.165","operator":"dongxiaoyan","notes":"auto"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + +status-chassis-00001 + Comment status-chassis-00001 获取板卡的状态 根据chassis或者sled的alarm数量,计算板卡状态:green, yellow, red。返回改chassis下所有sled的状态和chassis的状态 + ${response} OamPostRequest /tsgoam/fm/status/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001"},{"chassis_ip":"192.168.40.170","chassis_sn":"CBT2201925000003"},{"chassis_ip":"192.168.40.175","chassis_sn":"CBT2201925000004"},{"chassis_ip":"192.168.40.25","chassis_sn":"CBT2201925000200"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 4:${response} + ${response} OamPostRequest /tsgoam/fm/status/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001"},{"chassis_ip":"192.168.40.170","chassis_sn":"CBT2201925000003"},{"chassis_ip":"192.168.40.175","chassis_sn":"CBT2201925000004"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 3:${response} + ${response} OamPostRequest /tsgoam/fm/status/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001"},{"chassis_ip":"192.168.40.170","chassis_sn":"CBT2201925000003"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 2:${response} + ${response} OamPostRequest /tsgoam/fm/status/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 1:${response} + +threshold-chassis-00001 + Comment threshold-chassis-00001获取设备counter的threshold值 + ${response} OamPostRequest /tsgoam/fm/threshold/ [{"chassis_ip":"192.168.40.165"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 165:${response} + ${response} OamPostRequest /tsgoam/fm/threshold/ [{"chassis_ip":"192.168.40.170"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 170:${response} + ${response} OamPostRequest /tsgoam/fm/threshold/ [{"chassis_ip":"192.168.40.25"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 25:${response} + + ${response} OamPostRequest /tsgoam/fm/threshold/ [{"chassis_ip":"192.168.40.165"},{"chassis_ip":"192.168.40.170"},{"chassis_ip":"192.168.40.175"},{"chassis_ip":"192.168.40.25"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log 4:${response} +thresholds-chassis-00165 + Comment thresholds-chassis-00001 设置设备counter的threshold值,覆盖更新传入的值 + ${response} OamPostRequest /tsgoam/fm/thresholds/ [{"chassis_ip":"192.168.40.165","Temp_XL710_82599@CBT2201925000001_mcn2_hardware":[ {"critical+":90.5,"critical-":-10.5}, { "major+":80.5,"major-":-5.5}, { "minor+":70.5, "minor-":0.5} ] }] + ${responseString} Convert To String ${response} + ${response} OamPostRequest /tsgoam/fm/threshold/ [{"chassis_ip":"192.168.40.165"}] + ${responseString} Convert To String ${response} + ${response} OamPostRequest /tsgoam/fm/thresholds/ [{"chassis_ip":"192.168.40.165","Temp_XL710_82599@CBT2201925000001_mcn2_hardware":[ {"critical+":90.0,"critical-":-10.0}, { "major+":80.0,"major-":-5.0}, { "minor+":70.0, "minor-":0.0} ] }] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} +syn-chassis-00170 + Comment syn-chassis-00001告警强制同步接口 + ${response} OamPostRequest /tsgoam/fm/syn/ [{"chassis_ip":"192.168.40.165","chassis_sn":"CBT2201925000001"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} +###################################################################### +oamcore-chassis-00165 + Comment oamcore-chassis-00001 设置oam_core的运行参数 + #${response} OamPostRequest /tsgoam/settings/oam_core/ [{"chassis_ip":"192.168.40.165","oam.cluster.server.ip":"192.168.40.2110","datasource.second.username":"root1","datasource.second.password":"1111110","oam.writer.scheduler.interval":"600001","oam.writer.scheduler.ipmi.interval":"1800001","logging.level.com.tsg.oam":"DEBUG"}] + #${responseString} Convert To String ${response} + #Append To File ${path}/OamApi_file.txt ${responseString} + ${response} OamPostRequest /tsgoam/settings/oam_core/ [{"chassis_ip":"192.168.40.165","oam.cluster.server.ip":"192.168.40.210","datasource.second.username":"root","datasource.second.password":"111111","oam.writer.scheduler.interval":"60000","oam.writer.scheduler.ipmi.interval":"180000","logging.level.com.tsg.oam":"ERROR"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} + +oamsnmp-chassis-00165 + Comment oamsnmp-chassis-00001设置oam_snmp的运行参数 + ${response} OamPostRequest /tsgoam/settings/oam_snmp/ [{"chassis_ip":"192.168.40.165","oam.influx.recentminutes":6,"logging.level.com.oam.snmp":"DEBUG"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + + ${response} OamPostRequest /tsgoam/settings/oam_snmp/ [{"chassis_ip":"192.168.40.165","oam.influx.recentminutes":5,"logging.level.com.oam.snmp":"ERROR"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} + +oamcliagent-chassis-00170 + Comment oamcliagent-chassis-00001设置cli_agent的运行参 + ${response} OamPostRequest /tsgoam/settings/cli_agent/ [{"chassis_ip":"192.168.40.165","logging.level.com.oam.agent":"DEBUG"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + + ${response} OamPostRequest /tsgoam/settings/cli_agent/ [{"chassis_ip":"192.168.40.165","logging.level.com.oam.agent":"ERROR"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} + +oamcli-chassis-00001 + Comment oamcli-chassis-00001设置cli的运行参数 + ${response} OamPostRequest /tsgoam/settings/cli/ [{"chassis_ip":"192.168.40.165","cli.rest.root":"http://192.168.40.4:80821/v1","logging.level.com.cs.oam.cli":"DEBUG"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + ${response} OamPostRequest /tsgoam/settings/cli/ [{"chassis_ip":"192.168.40.165","cli.rest.root":"http://192.168.40.4:8082/v1","logging.level.com.cs.oam.cli":"ERROR"}] + ${responseString} Convert To String ${response} + Append To File ${path}/OamApi_file.txt ${responseString} + Log ${response} + +writestarttime + ${endtime} Get Time + Append To File ${path}/OamApi_file.txt ${endtime}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! \ No newline at end of file