aravinth0510 | 67b409b | 2022-07-13 10:41:26 +0000 | [diff] [blame] | 1 | *** Settings *** |
| 2 | Documentation Schneider Power Distribution Unit (PDU) library |
| 3 | |
| 4 | Library Telnet |
| 5 | Library SSHLibrary |
| 6 | Resource ../../lib/pdu/pdu.robot |
| 7 | |
| 8 | *** Keywords *** |
| 9 | Login To Schneider PDU Via SSH |
| 10 | [Documentation] Open PDU connection and login via SSH. |
| 11 | |
| 12 | Validate Prereq |
| 13 | SSHLibrary.Open Connection ${PDU_IP} prompt=apc> |
| 14 | ${connection_status}= Run Keyword And Return Status |
| 15 | ... SSHLibrary.Login ${PDU_USERNAME} ${PDU_PASSWORD} |
| 16 | Return From Keyword ${connection_status} |
| 17 | |
| 18 | |
| 19 | Login To Schneider PDU Via Telnet |
| 20 | [Documentation] Open PDU connection and login via telnet. |
| 21 | |
| 22 | Validate Prereq |
| 23 | Telnet.Open Connection ${PDU_IP} |
| 24 | |
| 25 | Telnet.Write \n |
| 26 | Telnet.Read Until User Name : |
| 27 | Telnet.Write ${PDU_USERNAME} |
| 28 | |
| 29 | Telnet.Read Until Password${SPACE}${SPACE}: |
| 30 | Telnet.Write ${PDU_PASSWORD} |
| 31 | |
| 32 | Set Prompt apc> |
| 33 | Telnet.Read Until Prompt |
| 34 | Telnet.Write ? |
| 35 | Telnet.Read Until Prompt |
| 36 | |
| 37 | |
| 38 | Power Cycle |
| 39 | [Documentation] Perform PDU power cycle. |
| 40 | |
| 41 | # Sample output from schneider PDU console |
| 42 | |
| 43 | # Schneider Electric Network Management Card AOS v6.9.6 |
| 44 | # (c) Copyright 2020 All Rights Reserved RPDU 2g APP v6.9.6 |
| 45 | # ------------------------------------------------------------------------------- |
| 46 | # Name : apc566BF4 Date : 07/07/2022 |
| 47 | # Contact : Unknown Time : 01:18:18 |
| 48 | # Location : Unknown User : Super User |
| 49 | # Up Time : 0 Days 12 Hours 17 Minutes Stat : P+ N4+ N6+ A+ |
| 50 | # ------------------------------------------------------------------------------- |
| 51 | # IPv4 : Enabled IPv6 : Enabled |
| 52 | # Ping Response : Enabled |
| 53 | # ------------------------------------------------------------------------------- |
| 54 | # HTTP : Disabled HTTPS : Enabled |
| 55 | # FTP : Disabled Telnet : Disabled |
| 56 | # SSH/SCP : Enabled SNMPv1 : Disabled |
| 57 | # SNMPv3 : Disabled |
| 58 | # ------------------------------------------------------------------------------- |
| 59 | # Super User : Enabled RADIUS : Disabled |
| 60 | # Administrator : Disabled Device User : Disabled |
| 61 | # Read-Only User : Disabled Network-Only User : Disabled |
| 62 | |
| 63 | |
| 64 | # Type ? for command listing |
| 65 | # Use tcpip command for IP address(-i), subnet(-s), and gateway(-g) |
| 66 | |
| 67 | # apc>? |
| 68 | # System Commands: |
| 69 | # --------------------------------------------------------------------------- |
| 70 | # For command help: command ? |
| 71 | |
| 72 | # ? about alarmcount boot bye cd |
| 73 | # cipher clrrst console date delete dir |
| 74 | # dns eapol email eventlog exit firewall |
| 75 | # format ftp help lang lastrst ledblink |
| 76 | # logzip netstat ntp ping portspeed prompt |
| 77 | # pwd quit radius reboot resetToDef session |
| 78 | # smtp snmp snmptrap snmpv3 system tcpip |
| 79 | # tcpip6 user userdflt web whoami xferINI |
| 80 | # xferStatus |
| 81 | |
| 82 | # Device Commands: |
| 83 | # --------------------------------------------------------------------------- |
| 84 | # alarmList bkLowLoad bkNearOver bkOverLoad bkReading bkPeakCurr |
| 85 | # bkRestrictn devStartDly energyWise olAssignUsr olCancelCmd olDlyOff |
| 86 | # olDlyOn olDlyReboot olGroups olName olOff olOffDelay |
| 87 | # olOn olOnDelay olRbootTime olReboot olStatus olUnasgnUsr |
| 88 | # phLowLoad phNearOver phOverLoad phReading phPeakCurr phRestrictn |
| 89 | # prodInfo userAdd userDelete userList userPasswd |
| 90 | |
| 91 | # apc>olReboot 3,4,5,6,7,8 |
| 92 | # E000: Success |
| 93 | |
| 94 | # Enter command olOn <Outlet number> & verify success. |
| 95 | |
| 96 | ${connection_status}= Login To Schneider PDU Via SSH |
| 97 | |
| 98 | IF '${connection_status}' == '${False}' |
| 99 | Set Suite Variable ${lib_name} Telnet |
| 100 | Login To Schneider PDU Via Telnet |
| 101 | ELSE |
| 102 | Set Suite Variable ${lib_name} SSHLibrary |
| 103 | END |
| 104 | |
| 105 | @{outlets}= Split String ${PDU_SLOT_NO} separator=, |
| 106 | FOR ${outlet} IN @{outlets} |
| 107 | Run Keyword ${lib_name}.Write olReboot ${outlet} |
| 108 | ${output}= Run Keyword ${lib_name}.Read Until Prompt |
| 109 | Should Contain ${output} Success msg=Device Command Failed |
| 110 | END |