azet / ldpush Goto Github PK
View Code? Open in Web Editor NEWFork: A network configuration push tool
Home Page: https://code.google.com/p/ldpush/
License: Apache License 2.0
Fork: A network configuration push tool
Home Page: https://code.google.com/p/ldpush/
License: Apache License 2.0
What steps will reproduce the problem?
1. select a config file to be sent to routers
2. push the config
3. check output of success!
What is the expected output? What do you see instead?
Something readable...
Please use labels and text to provide additional information.
example run with odd output....
$ ./push.py --vendor junos -u me --use_ssh_agent --threads=10
--devices_from_filenames /tmp/det/*
Ready to push per-device configurations to ['/tmp/det/ex2200-1.example.com',
'/tmp/det/ex2200-2.example.com', '/tmp/det/ex3200-1.example.com',
'/tmp/det/ex3200-2.example.com', '/tmp/det/ex3300-1.example.com',
'/tmp/det/ex3300-2.example.com', '/tmp/det/ex3300-3.example.com',
'/tmp/det/ex4550-1.example.com', '/tmp/det/ex4550-2.example.com']
Pushing... 100% |||||||||||||||||||||||||||||||||||||| Time: 00:00:00 6.42 K/s
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### LOADING CONFIGURATION
### <base_device.SetConfigResult object at 0xb021222c>
### <base_device.SetConfigResult object at 0xb02123ac>
### <base_device.SetConfigResult object at 0xb02129ac>
### <base_device.SetConfigResult object at 0xb021c18c>
### <base_device.SetConfigResult object at 0xb020f70c>
### <base_device.SetConfigResult object at 0xb021612c>
### <base_device.SetConfigResult object at 0xb021ac0c>
### <base_device.SetConfigResult object at 0xb0212a4c>
### <base_device.SetConfigResult object at 0xb021c7ec>
It looks like the result should have been something more useful :)
Original issue reported on code.google.com by [email protected]
on 15 Jul 2014 at 6:05
What steps will reproduce the problem?
1. ./push.py --targets r1 --vendor ios --command "show start"
2.
3.
What is the expected output? What do you see instead?
Should prompt for enable password or accept as arg to push.py then display
startup config of r1
Error:
Ready to push show start to ['r1']
Password:
Pushing... 100%
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||| Time: 00:00:00 14.67 K/s
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "./push.py", line 138, in run
response = device.Cmd(command=command_or_config)
File "/home/jbutler/bin/ldpush/base_device.py", line 320, in Cmd
return self._Cmd(command, mode=mode)
File "/home/jbutler/bin/ldpush/ios.py", line 147, in _Cmd
raise exceptions.CmdError('Command failed: %s' % result)
CmdError: Command failed: ^
% Invalid input detected at '^' marker.
What version of the product are you using? On what operating system?
July 14
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 21 Jul 2014 at 8:25
What steps will reproduce the problem?
1. run push.py, connect to 2 devices which connect-timeout
2. review output
3. be confused
What is the expected output? What do you see instead?
I see this near the end of the output:
Failed to connect to:
ex3300-2.example.com,ex3300-1.example.com
I'd like to see:
Failed to connect to:
ex3300-2.example.com, ex3300-1.example.com
note ', ' not ','.
Please use labels and text to provide additional information.
Original issue reported on code.google.com by [email protected]
on 14 Jul 2014 at 8:57
What steps will reproduce the problem?
1. git clone today
2. running python 2.7.6
3. tested IOS, show version works great
4. tested IOS-XR, show version fails
What is the expected output? What do you see instead?
I see this:
cbyrne@ubi ~/ldpush $ ./push.py --targets brcfri01 --vendor ciscoxr --command
'show version' --user cbyrne
Traceback (most recent call last):
File "./push.py", line 319, in <module>
main(sys.argv)
File "./push.py", line 225, in main
pusher = CheckFlags(files, class_path)
File "./push.py", line 209, in CheckFlags
pusher = eval(class_path)
File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'CiscoxrDevice'
cbyrne@ubi ~/ldpush $
What version of the product are you using? On what operating system?
cloned today
Please provide any additional information below.
IOS works, so this issue seems specific to IOS-XR
Original issue reported on code.google.com by [email protected]
on 30 Aug 2014 at 2:00
Current ldpush (with -V ios) does not recognise the Cisco ASA prompt properly,
would be very nice to see caprica + ldpush work on ASA environments.
Original issue reported on code.google.com by [email protected]
on 30 Jul 2014 at 12:52
What steps will reproduce the problem?
1. ../../../../ldpush/push.py -T ex3300-1.example.com,ex3300-2.example.com -t 2
--vendor=junos -u myuserid --use_ssh_agent switch-Manage.cfg
What is the expected output? What do you see instead?
successful configuration push.
The configuration is actually committed, there's this error as the process
attempts to delete the configuration file:
Pushing... 100% |||||||||||||||||||||||||||||||||||||| Time: 00:00:00 7.46 K/s
WARNING:root:Both STDOUT and STDERR empty after 'file delete tmpH8j6IL' on
ex3300-2.example.com(ex3300-2.example.com)
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "../../../../ldpush/push.py", line 153, in run
self._output_queue.put((target, response.transcript))
UnboundLocalError: local variable 'response' referenced before assignment
WARNING:root:Both STDOUT and STDERR empty after 'file delete tmpKD43j5' on
ex3300-1.example.com(ex3300-1.example.com)
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "../../../../ldpush/push.py", line 153, in run
self._output_queue.put((target, response.transcript))
UnboundLocalError: local variable 'response' referenced before assignment
Setting config failed:
ex3300-2.example.com,ex3300-1.example.com
What version of the product are you using? On what operating system?
currently using the published/current version (commit: f4f35921773c)
Original issue reported on code.google.com by [email protected]
on 31 Jul 2014 at 2:57
Branch name: Issue_1
Purpose of code changes on this branch:
To add the possible use of an ssh-agent managed credential.
When reviewing my code changes, please focus on:
making this work in the right manner.
After the review, I'll merge this branch into:
/trunk
Here's some sample output of a successful agent authentication:
$ ./push.py --use_ssh_agent -C 'show version' -T
ex4550-1.example.com,ex4550-2.example.com -u myself --vendor=junos
Ready to push show version to ['ex4550-1.example.com', 'ex4550-2.example.com']
Pushing... 100% |||||||||||||||||||||||||||||||||||||| Time: 0:00:00 577.85 B/s
#!# ex4550-2.example.com:show version #!#
fpc0:
--------------------------------------------------------------------------
Hostname: EX4550-2
Model: ex4550-32f
JUNOS Base OS boot [12.3R6.6]
JUNOS Base OS Software Suite [12.3R6.6]
JUNOS Kernel Software Suite [12.3R6.6]
JUNOS Crypto Software Suite [12.3R6.6]
JUNOS Online Documentation [12.3R6.6]
JUNOS Enterprise Software Suite [12.3R6.6]
JUNOS Packet Forwarding Engine Enterprise Software Suite [12.3R6.6]
JUNOS Routing Software Suite [12.3R6.6]
JUNOS Web Management [12.3R6.6]
JUNOS FIPS mode utilities [12.3R6.6]
#!# ex4550-1.example.com:show version #!#
fpc0:
--------------------------------------------------------------------------
Hostname: EX4550-1
Model: ex4550-32f
JUNOS Base OS boot [12.3R6.6]
JUNOS Base OS Software Suite [12.3R6.6]
JUNOS Kernel Software Suite [12.3R6.6]
JUNOS Crypto Software Suite [12.3R6.6]
JUNOS Online Documentation [12.3R6.6]
JUNOS Enterprise Software Suite [12.3R6.6]
JUNOS Packet Forwarding Engine Enterprise Software Suite [12.3R6.6]
JUNOS Routing Software Suite [12.3R6.6]
JUNOS Web Management [12.3R6.6]
JUNOS FIPS mode utilities [12.3R6.6]
Original issue reported on code.google.com by [email protected]
on 14 Jul 2014 at 3:42
Branch name:
Issue-2
Purpose of code changes on this branch:
To address Issue-2.
This actually just exits the thread instead of barfing out a thread uncaught
exception in the case of an error during SetConfig. The 'no output' error /
warning messages were not fatal, and simply (oddly) just informational. I've
left those alone and fixed (I hope) the actual 'thread died' problem which
should be (imho) avoided if possible.
Original issue reported on code.google.com by [email protected]
on 31 Jul 2014 at 4:21
What steps will reproduce the problem?
1. Running python 2.6.8
./push.py --targets brcfri01 --vendor ios --user cbyrne
File "./push.py", line 140
except exceptions.ConnectError as e:
^
SyntaxError: invalid syntax
[cbyrne@tipsnq01 ldpush]$
What is the expected output? What do you see instead?
connection to router or password, the README did not say how passwords are
handled or give an example, but i see gflags is supposed to pickup --password
What version of the product are you using? On what operating system?
Cloned today, 2.6.32-100.26.2.el5, python 2.6.8
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 29 Aug 2014 at 7:26
What steps will reproduce the problem?
1. Set up routers to use keys rather than passwords
2. Try to spray a config to a set of devices
3. Fail when main requires a password to be set
I expect to be able to log into devices with key auth, however paramiko does
this.
Original issue reported on code.google.com by [email protected]
on 11 Jul 2014 at 5:13
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.