Issue #5764 has been updated by James Turnbull. Status changed from Needs Decision to Duplicate
---------------------------------------- Feature #5764: POC implementation of a Cisco switch/router type/provider https://projects.puppetlabs.com/issues/5764 Author: Paul Berry Status: Duplicate Priority: Normal Assignee: Nigel Kersten Category: Target version: Affected Puppet version: Keywords: Branch: https://github.com/masterzen/puppet/tree/feature/puppet-device This ticket is to track a patch set submitted by Brice Figureau on 1/3/2011 under the subject line "POC implementation of a Cisco switch/router type/provider". >From the summary e-mail: This is my Christmas Gift for the community :) That's something that was haunting me for a long time: a way to manage switch/routers directly from puppet. Unfortunately most of the switches/routers don't run ruby natively and as such can't run puppet. Based on an open-space discussion that happened at PuppetCamp EU in May 2010, I finally managed to find the time to implement a solution to this problem. This is currently a Proof Of Concept of a puppet type/provider connecting to remote cisco switch/routers running ios to manage: * interfaces (including ip address, trunking, etc...) * vlans This has been tested successfully on some cisco hardware I happened to have available (a couple of switch and low-end routers). The puppet provider can connect to remote switch/routers through ssh and/or telnet. To manage an interface: <pre> interface { "FastEthernet 0/1": device_url => "ssh://user:[email protected]/", mode => trunk, encapsulation => dot1q, trunk_allowed_vlans => "1-99,200,253", description => "to back bone router" } </pre> or <pre> interface { "Vlan 1": device_url => "ssh://user:[email protected]/", description => "internal net", ipaddress => [ "192.168.0.1/24", "fe08::/128 link-local"] } </pre> And to manage vlans: <pre> vlan { "99": description => "management", device_url => "ssh://user:[email protected]/", } </pre> I didn't solve the uniqueness of the name of an interface yet (currently it isn't possible to have 2 switches with the same interface name, which is an issue). One possibility would be to use as interface name, the device_url. If anyone has a better idea, let me know. If this patch proves to be a success, we can add more providers (ie hp procurve, juniper routers, etc..) and more types (routers, access lists, routing table entries, routing protocols, etc...). -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
