We are currently looking for a developer who will be able to undertake a word-first project for a leading IT website.
Following are the requirements:
&#8226; Creation of 4 &#8216;expect&#8217; type telnet scripts that will accept variables (from configuration files) in order to reset our lab equipment (Cisco devices). The scripts will wait for specific 'input' from the device and then execute the commands provided by us. The scripts built, will need to work in a logical manner so that depending on the input, the correct set of command(s) will be used.
Following are the functions the scripts will have to support to make the reset procedure possible:
- Expect: <string>. The system expects to match this string from the lab device. When this condition is met, the script will proceed to the next script line and execute the command (if any).
- Expect: <*string*>. The system expects to see and match part of this string from the device. E.g *assword (will match &#8216;password&#8217;), confi* * (will match &#8216;configure terminal&#8217;) When this condition is met, the script will proceed to the next script line and execute the command (if any).
- Send: <string>. The system sends this string to the device and proceeds to the next script line.
- Carriage Return. The system sends a carriage return (enter) to the device and proceeds to the next script line.
- Support &#8216;if &#8230;.else&#8217; logical statements. For example, &#8216;if prompt= router#, then execute &#8216;xxx&#8217;, else execute &#8216;yyy&#8217;.
- Ability to send &#8216;CTRL-BREAK&#8217; signals. Once sent, it proceeds to the next script line.
- Ability to send &#8216;CTRL-Z&#8217; signals. Once sent, it proceeds to the next script line.
- Wait Seconds : <value>.The system waits &#8216;x&#8217; amount of seconds before proceeding to the next script line. Must support from 1 to 300 second.
- Exit. Nothing is executed here, the telnet session is simply closed. The telnet session must be closed properly, otherwise the device will be inaccessible.
&#8226; One script involves executing at the beginning and end of a Lab session and therefore requires to be controlled via Cron jobs; Session length is stored within a Mysql Database.
&#8226; One SNMP script to be used in conjunction with above scripts to control a ACP 7921 Power Distribution Switch board & perform power cycle (power off/on) of the lab devices during the reset procedure. This script will also be available via URL links which will allow the users to perform a power cycle of the equipment their lab uses.
The developer must research the required MIBS to perform the above (available freely from APC's site).
&#8226; Ability for administrator to add multiple scripts for new devices. Ability to group scripts, so that specific scripts are executed for each lab
A detailed analysis is available and will be provided to the developer who will undertake this project. Root access to our server is not possible, which means any steps requiring such access will have to be performed by us. Full FTP access will be provided along with any additional information needed.
Lastly, the developer must ensure all scripts will work as required and described in our detailed analysis.
Futher information on the project's requirements will be made available upon request.