Commit Graph

179 Commits (f60731e27e680d27c938da32836d7ad3a3815897)

Author SHA1 Message Date
Peter Sprygada 1825406e1e Junos fixes (#22423)
* Fixes for junos_config errors

* Check transport settings for core Junos

* Don't pop from the same list you iterate over

* use of persistent connections are now explicitly enabled in junos

* modules must now explicitly enable persistent connections
* adds rpc support to junos_command

fixes #22166
2017-03-11 10:26:42 -06:00
John R Barker 0775d39a87 Add extends_documentation_fragment back (#22293) 2017-03-05 08:37:01 +00:00
Peter Sprygada 911600acf9 update junos_command integration tests (#22213)
fixes integration test to check for full rpc-reply string when
converted from xml.  This is a change from 2.2 as the rpc-reply tag
is no longer stripped off
2017-03-02 16:46:23 -06:00
Peter Sprygada 7b2c013e5a returns xml as a display option to junos_command (#21833)
The display option xml as accidentially removed from the display
argument.  This patch adds xml back as an option.

fixes #21823
2017-03-02 16:05:20 -06:00
Nathaniel Case d9d2e6deb6 Junos provider readd (#21869)
* Restore `provider` to junos_*

Fixes #21824
Fixes #21824
Fixes #21827

* Fix `confirm_timeout` related errors
* Fix glaring issues with _junos_template
2017-03-01 12:39:44 -05:00
Peter Sprygada 02d2b753db refactors junos modules to support persistent socket connections (#21365)
* updates junos_netconf module
* updates junos_command module
* updates junos_config module
* updates _junos_template module
* adds junos_rpc module
* adds junos_user module
2017-02-16 10:53:03 -05:00
Matt Martz 7c00346714 Validate EXAMPLES as YAML 2017-02-15 13:01:43 -08:00
Dag Wieers f824b2ce8d Avoid having module documentation links to itself (#21329)
* Avoid having module documentation links to itself

A lot of modules use M(own_module) in their documentation causing a link
in the documentation to itself.

* Make note more clear now
2017-02-13 14:02:34 +00:00
Ganesh Nalawade 95a75e7c3a Fixes #20412 junos_config delete command fix (#20450)
If same config hierarchy is set and deleted in one playbook
for delete statement add support to check if the config is present
on device or in the playbook. If it is present add delete statement in
updated config list.
2017-02-04 09:16:16 -05:00
Ganesh Nalawade 511f2b7907 Fix update check issue (#20915)
Add one of condition in required_if
to ensure configuration statements are
present if update value in provided in
playbook.
2017-02-01 10:48:17 -05:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
Ganesh Nalawade a43534a4a8 Fix update check issue in junos_config (#20182)
* Fix update check issue in junos_config and required_if enhancement

* Add additional check to update argument which will ensure config
  statement is present.
* Add 'or' condition support in 'required_if'.

* Fix python 2.4 syntax issue

* revert requied_if changes
2017-01-25 14:44:16 +00:00
John R Barker 40ecc3188f Use M() to link to the replacement module. (#19976) 2017-01-06 16:21:39 +00:00
Nathaniel Case f7cf96e1a6 fix junos typo (#19648)
closes #19646
2016-12-22 14:56:12 -05:00
Ganesh Nalawade c3c4ae87dd Add 'update' parameter in junos_config module (#19038)
* Fix # #5839 Add 'update' parameter in junos_config module

Add update parameter in junos_config module which supports
configuration action like merge, replace and overwrite.

* Fix documentation issue

* Fix review comment to add replace argument

Make replace and update argument mutually
exclusive, to support replace for backward
compatibility.
2016-12-20 07:27:26 -05:00
ikelos c49eac5645 Fix the junos zeroize function (#19142)
Currently this function directs to the standard NetworkModule,
whose run_commands function takes no arguments (other than self).

This directs the call to the connection's cli method to run the command
directly on the device.
2016-12-15 16:23:04 -05:00
Ganesh Nalawade ee5d5c3e84 Fix #4103 Support json format in junos_command module (#19045) 2016-12-15 16:01:23 -05:00
James Cammarata 8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Kevin Kirsche 1fe0bd33f3 Remove set from junos_facts as it errors out (#5670)
Fix #5636 per @ganeshnalawade
2016-12-08 11:25:33 -05:00
Ganesh Nalawade d39ae36ab1 Fix 5646 junos_config issue if config format is text (#5658)
If 'src_format' is not mentioned in playbook
and config is in text format a list object is
passed to 'guess_format' function instead
of string, hence TypeError execption is seen.
Fix is to pass string object instead of list.
2016-12-08 11:25:32 -05:00
Peter Sprygada 2127459794 fixes bug introduced in 3670215 in junos_config (#5251)
The previous fix created a new bug that this PR resolves
2016-12-08 11:25:20 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Peter Sprygada 4dc09e19ea fixes bug with junos_config module not properly loading config (#5213)
This fixes two issues.  First, it fixes an issue with the junos_config
module not properly recognizing a file with set commands.  The second
bug would cause the diff_config() function to raise an exception due
to a blank line when splitting the config
2016-12-08 11:25:19 -05:00
Bill Nottingham 765269e547 Fix deprecation notices. (#5180) 2016-12-08 11:25:19 -05:00
John R Barker efca39d4d4 Remove reference to parents parameter which doesn't exist (#5143) 2016-12-08 11:25:18 -05:00
Peter Sprygada 9c664f424e adds exception handling for adding an invalid condition (#5125)
This change will now handle a problem adding a condition that raises
an AddConditionError and return a well formed error to the user.
2016-12-08 11:25:18 -05:00
Peter Sprygada d58462949f roll up of unicode fixes in junos modules (#5113)
* fixes junos_template (fixes #3962)
* fixes junos_config
2016-12-08 11:25:17 -05:00
Peter Sprygada 58a5ec6c51 fixes junos_command module paring of wait_for strings (#5083)
The junos_command module wasn't properly parsing strings to apply
conditionals due to the return value not being converted to json
before the results where handed to the runner.
2016-12-08 11:25:15 -05:00
Peter Sprygada 9ed01d0cfd fixes junos_template ignoring the action directive (#5080)
This updates the junos_template to properly process the action
directive when loading the configuration.
2016-12-08 11:25:15 -05:00
John R Barker 177dcadbc0 deprecated _template network modules: Rename in modules-core (#5072) 2016-12-08 11:25:14 -05:00
John R Barker f7b10720ac typo in module name (#5062) 2016-12-08 11:25:14 -05:00
Peter Sprygada 73cf85d677 catches exception if conditional cannot be parsed (#5067)
If the conditional cannot be parsed, the module will now catch the exception
and return a well formed failed message.

fixes #5060
2016-12-08 11:25:14 -05:00
Peter Sprygada da4c11241f fixes error when 'delete ...' config command is specified but doesn't exist (#5064)
The junos_config module will generate an exception if a 'delete ...' config
command is attempted to be loaded into a device configuration.  This change
will first check to see if the delete command is valid and filter it out
of the change set if it is not valid.

fixes #5040
2016-12-08 11:25:14 -05:00
Nathaniel Case aa82f48dc8 Network module code cleanup (#5061)
* Fix imports in junos_template

* Python 3 compatibility in eos_command

* Python 3 compatibility for ios_command

* Clean up issues with ios_facts

* Python 3 compatibility for ios_facts

* Import shuffle in ios_template

* Python 3 compatibility for iosxr_command

* Clean up iosxr_facts.py

* Python 3 compatibility for iosxr_facts

* Python 3 compatibility for junos_command

* Python 3 compatibility for ops_command

* Cleanup issues with ops_facts

* Python 3 compatibility for ops_facts

* Cleanup issues with ops_template

* Python 3 compatibility for vyos_command

* Cleanup issues with vyos_facts

* Python 3 compatibility for vyos_facts
2016-12-08 11:25:14 -05:00
Nathaniel Case 6ae0342a0a Fix imports in junos_template (#5059) 2016-12-08 11:25:14 -05:00
Peter Sprygada 0ef16b44ca fixes exception being raised when show configuration command issued (#5047)
The junos_command expects commands to be returned as xml by default but
`show configuration [options]` will return text not xml.  This fix
will set the output format for any command that starts with `show
configuration` to text

fixes #4628
2016-12-08 11:25:14 -05:00
Peter Sprygada a5b32fa0d1 fixes return passing output from command through jxmlease in junos_command (#5044)
The return string from the commands was not being passed through the
jxmlease library and therefore being returned as a string instead of a
json data structure.  This also adds back the missing xml key in the
return that includes the raw xml string.

fixes #5001
2016-12-08 11:25:14 -05:00
Peter Sprygada b06123e986 fixes junos_config to be idempotent when confirming a commit (#4946)
The junos_config module would always return true when confirming a commit
This changes the module to now check first making the feature idempontent
2016-12-08 11:25:12 -05:00
Peter Sprygada 868c298968 fixes import statements in junos_package module (#4929)
This fixes the import statement to import NetworkModule from network instead
of from junos
2016-12-08 11:25:11 -05:00
Peter Sprygada 3e577f6312 fix up junos_facts import statements (#4928)
This fixes the junos_facts import statements and removes importing
NetworkModule from the junos shared module.
2016-12-08 11:25:11 -05:00
Peter Sprygada b9cb9d6345 fix import in junos_command module (#4927)
This fixes the import statements in the junos_command module to be
consistent with all junos_* modules
2016-12-08 11:25:11 -05:00
Peter Sprygada 82cf70e0f3 roll up of bug fixes for junos_config module (#4925)
* fixed docstring referencing old arguments
* changed out lxml for xml library to avoid import errors
* fixed issue when trying to confirm a commit will end up a NOOP
* fixed issue for passing replace argument to load_config method
2016-12-08 11:25:11 -05:00
Peter Sprygada 0acab8bd19 bug fixes in junos_netconf module (#4924)
* fixes exception thrown when sending commands to device
* fixes exception thrown when retrieving current resource instance
* fixes issue where netconf would be configured in some instances when state
  was set to absent
* now returns the command string sent to the remote device
* fixes argument name to be netconf_port with alias to listens_on
2016-12-08 11:25:11 -05:00
Michael Scherer 90378e9168 Fix duplicate required key error
ansible-doc -vvvv -l show this warning:

   [WARNING]: While constructing a mapping from /home/misc/checkout/git/ansible/lib/ansible/modules/core/network/junos/junos_config.py,
   line 88, column 5, found a duplicate dict key (required). Using last defined value only.
2016-12-08 11:25:10 -05:00
John Barker 42d5d7b21b Docs improvements to _config 2016-12-08 11:25:05 -05:00
Peter Sprygada b6748443c7 roll up updates to junos_config module
* remove 'update' argument
* update doc strings
* reorder functions
2016-12-08 11:25:04 -05:00
Peter Sprygada 53bcf18eab minor updates to junos_package module for 2.2 (#4761)
* replaces get_module() with NetworkModule()
* removes old call to package_version()
2016-12-08 11:25:03 -05:00
Peter Sprygada 09b8e220ca update junos_facts module to remove get_module() factory function (#4760)
Replaces get_module() with NetworkModule instance
2016-12-08 11:25:03 -05:00
Peter Sprygada 7a234fc7cc update junos_netconf module
Updates the junos_netconf module with changes to load the
NetworkModule instead of the get_module factory method.  This
update is part of the 2.2 refactor of network modules
2016-12-08 11:25:01 -05:00
Peter Sprygada f5e62a0611 update junos_template module
This updates the junos_template module implementing the changes for
Ansible 2.2
2016-12-08 11:25:01 -05:00
Peter Sprygada 213c8e5a81 update junos_config module
* adds src argument to load configuration from disk
* adds src_format to set the source file format
* adds update argument with choices merge or replace
* deprecates the replace argument in favor of update=replace
2016-12-08 11:25:00 -05:00
Peter Sprygada 702efda508 add new functionality to junos_command module
* commands argument now accepts a dict arguments
* rpcs argument now accepts a dict argument
* waitfor has been renamed to wait_for with an alias to waitfor
* only show commands are allowd when check mode is specified
* config mode is no longer allowed in the command stack
* add argument match with valid values any, all
2016-12-08 11:24:58 -05:00
codyrat c4d5b13c8f re.match for numeric only for kwargs[key] = int(value) (#4495) 2016-12-08 11:24:52 -05:00
John Barker d4200b0389 junos: Docs update 2016-12-08 11:24:48 -05:00
Kevin Kirsche db03ebdfb9 Fix typo in "ssantaize" typo
ssantaize to santaize
2016-12-08 11:24:47 -05:00
Stian Vikan 714ced8e1c Fixed delete statement for juniper_config.py #4007 #3984 2016-12-08 11:24:40 -05:00
Peter Sprygada d8cb09a121 removes requirement for config argument to be specified in junos_facts
The config argument is optional and should not be required.  This
removes the required attribute from the config argument.

fixes #3878
2016-12-08 11:24:36 -05:00
Wolfgang Powisch 20d9c0c484 Update junos_facts.py (#3759) 2016-12-08 11:24:31 -05:00
Michael Scherer c0217e14a7 Convert the network subfolder to py3/py2.4 syntax (#3690) 2016-12-08 11:24:29 -05:00
Mike Bryant 0027158b74 junos_template: Simplify arguments. Fixes #3621
Simplify the arguments to junos_template, such that
merge/overwrite/replace can be selected easily.
2016-12-08 11:24:29 -05:00
Michael Scherer abfc8d36a8 Add a test on jnpr.junos.utils.sw presence (#3666) 2016-12-08 11:24:28 -05:00
Peter Sprygada bf200458d3 fixes docstring issue for junos_config arguments
The docstring was incorrectly merged with some old entries that will
cause the documentation not to build correclty.  It is now fixed.
2016-12-08 11:24:24 -05:00
Peter Sprygada 8729bcde3f adds new module junos_package
the new module allows playbook designers to manage packages on remote
devices running junos.
2016-12-08 11:24:22 -05:00
Peter Sprygada a9b664c796 add support for netconf to junos_config
The junos_config module now supports the netconf transport.
2016-12-08 11:24:21 -05:00
Peter Sprygada abb008dca7 fixes docstring format in junos_command 2016-12-08 11:24:21 -05:00
Peter Sprygada 89ebc8b066 adds config_format argument to the facts module
this change adds config_format argument with choices of xml, set or text to
specify the desired format of the config returned from the remote device.  The
default value is text
2016-12-08 11:24:21 -05:00
Peter Sprygada 9d521aa7e0 Merge pull request #9 from dgarros/junos_modules
Add support for xml, set and text format for config
2016-12-08 11:24:21 -05:00
Peter Sprygada 1985115e55 adds new module junos_netconf used for configuring netconf services
This module allows playbook operators to configure the netconf service in
junos for use with other juniper modules.
2016-12-08 11:24:20 -05:00
Peter Sprygada 2072922875 adds new junos_facts module
The junos_facts module will collect basic system inforamtion about remote
devices running the Junos operating system
2016-12-08 11:24:20 -05:00
Peter Sprygada 871e586ce3 add support for netconf to junos_template
This commit adds support for sending full syntanx junos configurations using
junos_template and netconf
2016-12-08 11:24:20 -05:00
Peter Sprygada 923974e3c0 add support to junos_command module for netconf transport
This adds support for using netconf to the junos_command option and removes
the use of cli as a transport
2016-12-08 11:24:20 -05:00
Sam Wilson 0bd95d0f2d Fixed BOOLEANS rendering in docsite 2016-12-08 11:24:10 -05:00
Peter Sprygada 0b49f956ce minor bugfixes for junos_config return values
The junos_config now properly returns updates and reponses
2016-12-08 11:24:07 -05:00
Peter Sprygada 4f4bc9ed5c update junos_command module return values
This minor update fixes the return values from the junos_command module
to be consistent with other network modules
2016-12-08 11:24:06 -05:00
Peter Sprygada c98ba21f45 add package init to junos/ 2016-12-08 11:24:05 -05:00
Peter Sprygada 0310363a22 initial add of junos_config module
This adds a new module, junos_config, useed to configure Juniper JUNOS based
devices.  The config module can be used to set an ordered set of set and
delete statements over a cli transport
2016-12-08 11:24:05 -05:00
Peter Sprygada ab210862f0 initial add of junos_template
This adds a new module, junos_template, that can read in a template
config and push the changes to the device.  It can also backup the
current config.  This module is implemented over cli
2016-12-08 11:24:05 -05:00
Peter Sprygada fb7d5e798c initial add of junos_command module
This adds a new module, junos_command that can be used for sending commands
to Juniper JUNOS based devices.   The junos_command module is implemented
over a cli transport
2016-12-08 11:24:05 -05:00