[rancid] New device type
Rod Hendricks
rod.hendricks at graduate.uwa.edu.au
Thu Dec 17 06:01:40 UTC 2015
I'm getting closer.
rancid.types.conf now looks like this:-
hirschmann;script;rancid -t hirschmann
hirschmann;login;hmlogin
hirschmann;module;hirschmann
hirschmann;inloop;hirschmann::inloop
hirschmann;command;hirschmann::ShowConfig;show running-config
Output now looks like this:-
-bash-4.2$ rancid -d -thirschmann 192.168.254.103
loadtype: device type hirschmann
loadtype: found device type hirschmann in /etc/rancid/rancid.types.conf
executing hmlogin -t 90 -c"show running-config" 192.168.254.103
PROMPT MATCH:
HIT COMMAND:(Hirschmann Railswitch) #show running-config
HIT COMMAND:(Hirschmann Railswitch) #show running-config
In ShowConfig: (Hirschmann Railswitch) #show running-config
Exiting ShowConfig:
192.168.254.103: End of run not found
192.168.254.103: End of run not found
!--WLC End Config Data--!
-bash-4.2$
.raw file still looks correct.
.new file looks like:-
!RANCID-CONTENT-TYPE: hirschmann
!
!--WLC Begin Config Data--!
!--WLC End Config Data--!
Ideas?
Cheers,
Rod.
On Wed, Dec 16, 2015 at 11:57 PM, Dan Anderson <dan.w.anderson at gmail.com>
wrote:
> That field is basically a call to a subroutine within the module so if you
> copied ciscowlc.pm, you'd need to use ShowConfig as WriteTerm doesn't
> exist in that module.
>
> On Wed, Dec 16, 2015 at 10:26 AM, Rod Hendricks <
> rod.hendricks at graduate.uwa.edu.au> wrote:
>
>> I don't fully understand the purpose of WriteTerm. But from what you are
>> saying above, is my rancid.types.conf in my original post wrong? Should
>>
>> hirschmann;command;hirschmann::WriteTerm;show running-config
>>
>> in fact look like
>>
>> hirschmann;command;hirschmann::ShowConfig;show running-config
>>
>> ?
>> If so, I guess I've messed that up by not understanding the significance
>> of that keyword. Rancid server is on my work dev box - will try this out
>> in 12hrs when i get back to the office.
>>
>> Thanks again.
>>
>> Cheers,
>> Rod.
>>
>> On Wed, Dec 16, 2015 at 11:07 PM, Dan Anderson <dan.w.anderson at gmail.com>
>> wrote:
>>
>>> ShowConfig in ciscowlc.pm uses the line counting method.
>>>
>>> while (<$INPUT>) {
>>> <---SNIP--->
>>>
>>> $linecnt++;
>>> <---SNIP--->
>>>
>>> # WLC lacks a definitive "end of config" marker.
>>> if ($linecnt > 5) {
>>> $found_end = 1;
>>> return(1);
>>> }
>>> return(0);
>>>
>>>
>>> WriteTerm in ios.pm looks for the "end" keyword.
>>>
>>> On Wed, Dec 16, 2015 at 9:50 AM, Rod Hendricks <
>>> rod.hendricks at graduate.uwa.edu.au> wrote:
>>>
>>>> Thanks Dan.
>>>>
>>>> Your explanation makes sense. Which script normally defines this
>>>> delimiter? I would be happy to settle for the moment in just
>>>> short-circuiting this delimiter check so I can I can get the job running.
>>>> Have included device config below. Don't worry about the passwords - its a
>>>> test unit with factory default config.
>>>>
>>>> Escape character is '^]'.
>>>>
>>>>
>>>>
>>>> Copyright (c) 2004-2015 Hirschmann Automation and Control GmbH
>>>>
>>>> All rights reserved
>>>>
>>>> Railswitch Release L2E-08.0.09
>>>>
>>>> (Build date 2015-04-06 21:32)
>>>>
>>>>
>>>>
>>>> System Name: RS-F602F7
>>>> Mgmt-IP : 192.168.254.103
>>>> Base-MAC : 00:80:63:F6:02:F7
>>>> System Time: 2015-01-02 10:11:52
>>>>
>>>>
>>>>
>>>> (Hirschmann Railswitch)
>>>> User:admin
>>>> Password:*******
>>>>
>>>> NOTE: Enter '?' for Command Help. Command help displays all options
>>>> that are valid for the 'normal' command forms of that particular
>>>> mode.
>>>> For a list of valid 'no' command forms for that mode, enter the
>>>> help
>>>> command 'no ?'. For the syntax of a particular command form,
>>>> please
>>>> consult the documentation.
>>>>
>>>>
>>>> (Hirschmann Railswitch) >enable
>>>>
>>>> (Hirschmann Railswitch) #
>>>> (Hirschmann Railswitch) #show running-config
>>>>
>>>> !Current Configuration:
>>>> !
>>>> !Parameter string escape handling \, 1
>>>> !Characters to be preceded with escape char (\): \, !, ", ', ?
>>>>
>>>> !System Description "Hirschmann Railswitch"
>>>> !System Version L2E-08.0.09 Build: 2015-04-06 21:32
>>>>
>>>> vlan database
>>>> exit
>>>>
>>>>
>>>> configure
>>>>
>>>> !
>>>>
>>>>
>>>> interface 1/1
>>>> no auto-negotiate
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/2
>>>> no auto-negotiate
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/3
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/4
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/5
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/6
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/7
>>>>
>>>> exit
>>>>
>>>>
>>>> interface 1/8
>>>>
>>>> exit
>>>>
>>>>
>>>> !Address Conflict Detection
>>>>
>>>> !Bridge Address Learning
>>>>
>>>> !Bridge Fast Link Detection
>>>>
>>>> !Maximum size of frame (packet size)
>>>>
>>>> !Bridge Address Relearn Detection
>>>>
>>>> !Bridge Address Relearn Threshold
>>>>
>>>> !Bridge Duplex Mismatch Detection
>>>>
>>>> !Bridge Hash Optimizing
>>>>
>>>> !Service Mode
>>>>
>>>> !VLAN Learning
>>>>
>>>>
>>>> !Hirschmann DHCP Relay
>>>>
>>>> !Hirschmann Device Status
>>>>
>>>>
>>>> !DIP Switch Admin State
>>>>
>>>>
>>>> !Ethernet/IP
>>>>
>>>> !Power over Ethernet (IEEE 802.3af)
>>>> !Selftest
>>>>
>>>> !Skip ACA on boot
>>>>
>>>>
>>>> !Hirschmann HIPER Ring
>>>> ! configuration determined by DIP switch
>>>> hiper-ring mode ring-switch
>>>> hiper-ring port primary 1/1
>>>> hiper-ring port secondary 1/2
>>>>
>>>> !LLDP (IEEE802.1AB Link Layer Discovery Protocol)
>>>>
>>>> !Media Redundancy Protocol (IEC 62439-2/Ed1.0, MRP)
>>>> !No MRP domains exist.
>>>>
>>>> !MAC/IP Based Port Security
>>>>
>>>>
>>>> !ProfinetIO
>>>>
>>>>
>>>> !Hirschmann Precision Time Protocol (PTP, IEEE 1588)
>>>>
>>>> !Hirschmann Ring Coupling
>>>> !Note: master/slave (also for single) part of configuration determined
>>>> by
>>>> ! DIP switch (cannot be overridden by management)
>>>> ring-coupling operation on
>>>>
>>>> !Hirschmann Signal Contacts
>>>>
>>>>
>>>> !Hirschmann SNMP Access Control
>>>>
>>>>
>>>> !SNTP
>>>>
>>>>
>>>> !Hirschmann Broadcast Limiter
>>>>
>>>>
>>>> !Hirschmann Temperature Limit Settings
>>>>
>>>> users passwd admin
>>>> :v1:81449548fb49a99be2d6411bdb9a10ea7e9c92c9510eb373a26176b48b934890:
>>>> users snmpv3 authentication admin md5
>>>> users passwd user
>>>> :v1:81439e52f35ecca73b21339156609d20cf630a65d0e92261cb29e58647ae54f4:
>>>> users snmpv3 authentication user md5
>>>>
>>>> lineconfig
>>>> exit
>>>>
>>>> no spanning-tree
>>>>
>>>> !IGMP Snooping
>>>> exit
>>>>
>>>>
>>>> (Hirschmann Railswitch) #logoutConnection closed by foreign host.
>>>> -bash-4.2$
>>>>
>>>> Cheers,
>>>> Rod.
>>>>
>>>> On Wed, Dec 16, 2015 at 10:21 PM, Dan Anderson <
>>>> dan.w.anderson at gmail.com> wrote:
>>>>
>>>>> It sounds like it's not finding an end-of-configuration delimiter. I'm
>>>>> not familiar with the device type, but for Cisco devices, it usually looks
>>>>> for the keyword "end" by itself at the end of "show run" to determine
>>>>> whether or not it has successfully pulled the configuration. Other device
>>>>> types sometimes look for more than 5 lines of config, etc. Without knowing
>>>>> more about the configuration file format, I can't say which method (if
>>>>> either) would work for your situation.
>>>>>
>>>>> On Wed, Dec 16, 2015 at 5:49 AM, Rod Hendricks <
>>>>> rod.hendricks at graduate.uwa.edu.au> wrote:
>>>>>
>>>>>> Hi.
>>>>>>
>>>>>> I am really struggling with getting a new device type up and running.
>>>>>>
>>>>>>
>>>>>> Rancid v3.2, installed into Centos 7 with yum from EPEL repo. I have
>>>>>> an installation that is currently working against a test Cisco router, so I
>>>>>> know the base install is all good.
>>>>>>
>>>>>> I have created a login script hmlogin (based off complogin, with
>>>>>> session paginate commented out)
>>>>>> I have created a perl script hirschmann.pm (based on ciscowlc.om).
>>>>>>
>>>>>> rancid.types.conf:
>>>>>> hirschmann;script;rancid -t hirschmann
>>>>>> hirschmann;login;hmlogin
>>>>>> hirschmann;module;hirschmann
>>>>>> hirschmann;inloop;hirschmann::inloop
>>>>>> hirschmann;command;hirschmann::WriteTerm;show running-config
>>>>>>
>>>>>> I can run it directly with hmlogin -c"show running-config"
>>>>>> 192.168.254.103
>>>>>> I get no errors running this, and I get the output expected.
>>>>>>
>>>>>> However, when I run the following: rancid -d -thirschmann
>>>>>> 192.168.254.103
>>>>>> I get:
>>>>>> loadtype: device type hirschmann
>>>>>> loadtype: found device type hirschmann in
>>>>>> /etc/rancid/rancid.types.conf
>>>>>> executing hmlogin -t 90 -c"show running-config" 192.168.254.103
>>>>>> PROMPT MATCH:
>>>>>> HIT COMMAND:(Hirschmann Railswitch) #show running-config
>>>>>> HIT COMMAND:(Hirschmann Railswitch) #show running-config
>>>>>> 192.168.254.103: missed cmd(s): all commands
>>>>>> 192.168.254.103: End of run not found
>>>>>> 192.168.254.103: End of run not found
>>>>>> !
>>>>>> -bash-4.2$
>>>>>>
>>>>>> The .raw file has the full correct output of the show running-config.
>>>>>> The .new file only has:
>>>>>> !RANCID-CONTENT-TYPE: hirschmann
>>>>>> !
>>>>>>
>>>>>> I feel oh so close to getting this running! Appreciate any help that
>>>>>> can be offered.
>>>>>>
>>>>>> Cheers,
>>>>>> Rod.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Rancid-discuss mailing list
>>>>>> Rancid-discuss at shrubbery.net
>>>>>> http://www.shrubbery.net/mailman/listinfo/rancid-discuss
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dan
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Rancid-discuss mailing list
>>>> Rancid-discuss at shrubbery.net
>>>> http://www.shrubbery.net/mailman/listinfo/rancid-discuss
>>>>
>>>
>>>
>>>
>>> --
>>> Dan
>>>
>>
>>
>> _______________________________________________
>> Rancid-discuss mailing list
>> Rancid-discuss at shrubbery.net
>> http://www.shrubbery.net/mailman/listinfo/rancid-discuss
>>
>
>
>
> --
> Dan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.shrubbery.net/pipermail/rancid-discuss/attachments/20151217/d5fdc68d/attachment.html>
More information about the Rancid-discuss
mailing list