[rancid] New device type

Dan Anderson dan.w.anderson at gmail.com
Wed Dec 16 15:07:29 UTC 2015


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.shrubbery.net/pipermail/rancid-discuss/attachments/20151216/8a1ffb1f/attachment.html>


More information about the Rancid-discuss mailing list