- Jun 16, 2023
-
-
Robert Franklin authored
BGP remote-as for a peer-group is now configured before adding peers (as this would otherwise generate an error and the neighbor not added)
-
Robert Franklin authored
this was the case for peers inside a VRF but not in the global routing table; this fix ensures that the remote-as is now configured before adding neighbors, in the same way
-
Robert Franklin authored
one file per protocol or command family as the single file was getting too long
-
- May 17, 2023
-
-
Robert Franklin authored
the unit tests depend on deepops>=1.8 to pass, so this updates that as a dependency also, the conversion debug messages have been tidied a little
-
Robert Franklin authored
version 1.8 changes what happens when identical data structures are compared, returning an empty object of the same type, rather than None this probably doesn't affect anything that actually uses asimtote but, without this, some of the unit tests fail and that's confusing!
-
- Apr 18, 2023
-
-
Robert Franklin authored
removed 'match' to make messages shorter rearranged trigger message to put match first and block name afterwards in square brackets (to make more consistent with other messages)
-
- Apr 17, 2023
-
-
Robert Franklin authored
this should have no effect on functionality tidies the names of lots of internal classes and makes the call of inherited context enter() methods better
-
Robert Franklin authored
better highlights abstract converters (_AbsCvt_xxx) and contexts
-
Robert Franklin authored
better use of split arguments (not assuming parent/context class argument lists) and calls
-
Robert Franklin authored
-
Robert Franklin authored
context converters are now called Context_xxx abstract command converters are now called _AbsCvt_xxx still some tiyding to do against route-maps
-
Robert Franklin authored
this includes the name of abstract context classes based on it, which will be tidied in a future commit
-
Robert Franklin authored
internal reorganisations that should have no effect on actual functionality but significant enough to warrant a version change converter methods now receive the context wildcard arguments as a single leading list, rather than being supplied discretely; this argument is usually just passed to an enter() method and avoids needing to specify them explicitly it also avoids the need to explicitly call split_args() (which has been, removed), if the boundary between the context and local arguments has adjusted or is otherwise dynamic (such as when a converter class is reused) - the split_args_offset attribute has been renamed context_offset get_sort_key() replaced by sort_key attribute some correcting of class names
-
- Apr 16, 2023
-
-
Robert Franklin authored
this was previously used by the split_args() method but that has been removed, in favour of it being done by get_args() and the context being supplied to all the converters by default, so the name was not particularly accurate
-
- Apr 14, 2023
-
-
Robert Franklin authored
merged into the get_args() method as there is no reason for converters to call split_args() themselves manually, now (as the context arguments are supplied as a separate parameter to them)
-
Robert Franklin authored
-
Robert Franklin authored
the call of methods like add(), update(), delete(), truncate() and remove(), as well as the filter() methods, now have an extra argument 'context_args' supplied, which is a list of all the wildcard arguments from the context portion the individual arguments from the command and extension portions are still supplied individually, if present this avoids the need to explicitly name the context arguments and (usually) supply them to the inherited enter() method individually, as the simple argument can just be passed through (typically by expanding it with *c) it also avoids the need the call split_args() explicitly in a method as this will be handled by the caller; split_args_offset is still respected in this split one downside is the need to receive a context argument even if it's empty (at the top level) there needs to be some tidying of comments and other neatening changes (various TODOs have been added) but this commit marks the state when the test suite runs successfully
-
Robert Franklin authored
these had 'Track_' at the beginning, erroneously
-
- Apr 13, 2023
-
-
Robert Franklin authored
there doesn't seem any need for this to be determined dynamically (requiring a function) renamed internal method _get_full_sort_key() method to _get_sort_key()
-
- Apr 11, 2023
-
-
Robert Franklin authored
added 'router bgp ...' converters and unit tests at the point where these were added, the live configuration on the network compared with the generated configuration results in no differences
-
Robert Franklin authored
renamed get_sorting_key() to get_sort_key() and made it only return the command + extension fields the actual sorting key is now retrieved using a new _get_full_sort_key() method, which prepends the context and replaces the None fields with the empty string this makes it easier to override the sorting key (avoiding the need to specify the full path)
-
- Mar 22, 2023
-
-
Robert Franklin authored
previously only 'update' and 'remove' were shown but now the test for 'add' and 'truncate' is run first and the message adjusted, if it's actually one of those, giving a clearer message
-
Robert Franklin authored
and added an 'all prefixes' rule test for each
-
- Mar 21, 2023
-
-
Robert Franklin authored
in command parsing and converter classes
-
Robert Franklin authored
no bugs or other corrections required for the converters so no need for a version bump
-
Robert Franklin authored
better explain the consequences of this handling
-
Robert Franklin authored
there aren't standard and extended ACLs for IPv6
-
- Mar 08, 2023
-
-
Robert Franklin authored
as with v0.16.2, this version fixes a lot of bugs and improves things discovered whilst writing unit tests for the converters, as well as adding some missing commands and internal functionality fix: 'router ospf[v3] / area ... nssa' option removal fix: 'route-map / set ip next-hop verify-availability' would crash if removed fix: 'route-map / set community' did not handle the 'additive' option fix: 'route-map / set community' did not correctly include the set of communities but the literal word 'communities' instead fix: 'route-map / match ...' converters now return changes in the order of the things in the list (e.g. if using tags, these will now be in numeric order) - this doesn't break anything but made the output indeterminate for writing tests fix: 'interface / ipv6 nd prefix ...' now re-added after an interface 'vrf forwarding' change fix: 'interface / standby ... ip ...' now correctly handles promoting a second address to the primary (the secondary must be removed first) or demoting the primary to a secondary (the primary must be removed first) fix: 'ip[v6] route ...' now correctly handle if either of the interface or router/gateway addresses are missing (these are now not included in the parsing configuration dictionary, instead of being present but None, which was inconsistent with other omitted options) add: tests for VLAN and subinterface creation removed: 'set ipv6 next-hop verify-availability [...]' - this command was handled but doesn't exist! improved update to 'set vrf' in route-map: the old VRF is no longer removed (unless changing to and from 'global')
-
Robert Franklin authored
these test all the conversions done in the Cisco IOS converters 'router' module
-
Robert Franklin authored
same fix as above for OSPF for IPv4 but for OSPFv3
-
Robert Franklin authored
if options like 'no-summary' were removed, this would not be handled but now the command is re-entered without them to do this
-
Robert Franklin authored
no longer clears the old VRF but just sets the new one (if shifting between 'set vrf' and 'set global', it still clears the old setting, though)
-
Robert Franklin authored
this command (and the tracking version of it) don't exist (at least in the versions of IOS we're using) so have removed them: the parsers, converters and parsing unit tests
-
Robert Franklin authored
previously the converter did not match the '...-track' areas of the configuration differences, causing changes to be ignored
-
Robert Franklin authored
previously set_debug() accepted positional arguments but this meant sometimes the wrong debugging option was enabled - this forces all arguments to be keyword-only so we can make sure the correct debugging option is enabled
-
Robert Franklin authored
when removing 'set ip next-hop verify-availability' option, incorrectly used 'new' state to determine sequence number rather than 'old' state
-
Robert Franklin authored
did not handle 'additive' option (although a TODO on handling adding and removing it from a list that's otherwise the same) also, the community list was not correctly fetched but the literal string of 'communities' used as the list
-
- Mar 07, 2023
-
-
Robert Franklin authored
these work from sets of community lists, access lists, prefix lists, etc. and so the order was indeterminate - the converters now sort the sets before working on them to give a consistent order (this didn't typically break conversion but does make unit test output more predictable)
-
Robert Franklin authored
expanded the unit test for VRF add/remove/update to confirm that this, along with other commands like HSRP configuration, are re-applied after the VRF change
-
Robert Franklin authored
unlike changing the 'ip address' on an interface, configuring the primary address for HSRP does not remove it as a secondary, if it is already configured there, but generates an error the same thing applies in reverse (you can't configure a secondary HSRP address if it's currently in use as the primary, although the ordering didn't tend to trigger that) this change makes sure that the old addresses are removed before the changes are made added unit tests to expose this issue (and confirm it's fixed)
-