Skip to content

Latest commit

 

History

History
851 lines (619 loc) · 41.4 KB

CHANGELOG.rst

File metadata and controls

851 lines (619 loc) · 41.4 KB

NetBox.NetBox Release Notes

  • netbox.netbox.netbox_fhrp_group_assignment - Creates, updates or removes FHRP group assignments from NetBox
  • netbox.netbox.netbox_lsvpn_termination - Creates, updates or removes L2VPNs terminations from NetBox
  • netbox.netbox.netbox_asn - Create, update or delete ASN in NetBox
  • netbox.netbox.netbox_fhrp_group - Create, update or delete FHRP groups in NetBox
  • netbox.netbox.netbox_journal_entry - Create journal entries in NetBox
  • netbox.netbox.netbox_inventory_item_role - Create, update or delete inventory item roles in NetBox
  • netbox.netbox.netbox_module_type - Create, update or delete module types in NetBox
  • netbox.netbox.netbox_service_template - Create, update or delete service templates in NetBox
  • netbox.netbox.netbox_l2vpn - Create, update or delete L2VPN objects in NetBox
  • nb_inventory - Ensure inventory works on NetBox versions without the site group model [#781](netbox-community#781)
  • nb_inventory - Fix netbox_inventory site_group group_by @ryanmerolle in [#780](netbox-community#780)
  • netbox.netbox.netbox_custom_field - Create, update or delete Custom fields in NetBox
  • netbox.netbox.netbox_custom_link - Create, update or delete Custom links in NetBox
  • netbox.netbox.netbox_export_template - Create, update or delete Export templates in NetBox
  • netbox.netbox.netbox_webhook - Create, update or delete Webhooks in NetBox

First release with some NetBox 3.1 modules, and new wireless endpoint support. Remember to update your pynetbox to utilise the wireless endpoint support.

  • netbox.netbox.netbox_contact - Create, update or delete Contact objects in NetBox
  • netbox.netbox.netbox_contact_group - Create, update or delete Contact Group objects in NetBox
  • netbox.netbox.netbox_wireless_lan - Create, update or delete Wireless LAN objects in NetBox
  • netbox.netbox.netbox_wireless_lan_group - Create, update or delete Wireless LAN Group objects in NetBox
  • netbox.netbox.netbox_wireless_link - Create, update or delete Wireless Link objects in NetBox
  • netbox.netbox.netbox_provider_network - Create, update or delete Provider Network in NetBox
  • netbox.netbox.netbox_config_context - Create, update or delete Config Context in NetBox
  • netbox.netbox.netbox_location - Create, update or delete Location in NetBox
  • netbox.netbox.netbox_site_group - Create, update or delete Site Group in NetBox

This release focuses on ansible-core 2.11 compatibility, general CI fixes for NetBox 2.10-2.11, and doc updates. This release works with NetBox 3.0, but needs further investigation with regards to idopmentcy (nothing really major) & some CI. The next release will idenify and resolve any issues with NetBox 3.0.

This release should fix obvious broken changes between collection and NetBox 2.11, but there is most likely more. Please report as they're encountered. packages is now a required Python package and is already included in Ansible 2.10, but anyone using Ansible 2.9 or below must manually pip install the library.

  • packages is now a required Python package and gets installed via Ansible 2.10+.
  • netbox_device_interface - Add label option.
  • netbox_device_interface - Add mark_connected option.
  • netbox_power_panel - Add location option.
  • netbox_rack - Add location option.
  • netbox_vlan_group - Add custom_fields option.
  • netbox_vlan_group - Add description option.
  • netbox_vlan_group - Add scope option.
  • netbox_vlan_group - Add scope_type option.
  • Allow virtual_chassis to be found via name [#402](netbox-community#402)
  • Fix mapping between power_outlet_template and power_port_template.
  • inventory - Fix rack-group -> location for NetBox 2.11 changes.
  • inventory - Properly handle interface tags.
  • netbox_tenant - Fix example to match argspec.
  • Remove ansible.netcommon and community.general dependencies from collection
  • Inventory - Added ansible_host_dns_name to set ansible_host to dns_name
  • netbox_device_role - Added description option
  • netbox_platform - Added description option
  • netbox_ip_address - Added assigned_object to ALLOWED_QUERY_PARAMS
  • Added import_targets and export_targets options to netbox_vrf
  • netbox_site - Changed latitude/longitude type from float to str [#418](netbox-community#418)
  • netbox_utils - If query_dict is None, fail and provide meaningful error [#419](netbox-community#419)
  • netbox_utils - Remove manual manipulation for building query params for netbox_ip_address and assigned object [#421](netbox-community#421)
  • netbox.netbox.netbox_route_target - Creates or removes route targets from NetBox
  • nb_inventory - Add dns_name option that adds dns_name to the host when True and device has a primary IP address. (#394)
  • nb_inventory - Add status as a group_by option. (398)
  • nb_inventory - Move around extracted_primary_ip to allow for config_context or custom_field to overwite. (#377)
  • nb_inventory - Services are now a list of integers due to NetBox 2.10 changes. (#396)
  • nb_lookup - Allow ID to be passed in and use .get instead of .filter. (#376)
  • nb_lookup - Allow api_endpoint and token to be found via env. (#391)
  • nb_inventory - Added status as host_var. (359)
  • nb_inventory - Added documentation for using keyed_groups. (#361)
  • nb_inventory - Allow to use virtual chassis name instead of device name. (#383)
  • nb_lookup - Allow lookup of plugin endpoints. (#360)
  • nb_lookup - Documentation update to show Fully Qualified Collection Name (FQCN). (#355)
  • netbox_service - Add ports option for NetBox 2.10+ and convert port to ports if NetBox 2.9 or lower. (#396)
  • netbox_virtual_machine - Added comments option. (#380)
  • netbox_virtual_machine - Added local_context_data option. (#357)
  • Version checks were failing due to converting "2.10" to a float made it an integer of 2.1 which broke version related logic. (#396)
  • netbox_device_interface - Fixed copy pasta in documentation. (#371)
  • netbox_ip_address - Updated documentation to show that family option has been deprecated. (#388)
  • netbox_utils - Fixed typo for circuits.circuittermination searches. (#367)
  • netbox_utils - Skip all modifications to query_params when user_query_params is defined. (#389)
  • netbox_vlan - Fixed uniqueness for vlan searches to add group. (#386)
  • netbox.netbox.netbox_tag - Creates or removes tags from NetBox
  • Add virtual_machine_role=slug to QUERY_TYPES to properly search for Virtual Machine roles and not use the default q search (netbox-community#327)
  • Remove device being required and implemented required_one_of to allow either device or virtual_machine to be specified for netbox_service (netbox-community#326)
  • When tags specified, it prevents other data from being updated on the object. (netbox-community#325)
  • Inventory - Add group_by option rack_role and rack_group
  • Inventory - Add group_by option services (netbox-community#286)
  • Fix query_dict for device_bay/interface_template to use devicetype_id (netbox-community#282)
  • This expands the fix to all _template modules to use devicetype_id for the query_dict when attempting to resolve the search (netbox-community#300)
  • To pass in integers via Ansible Jinja filters for a key in data that requires querying an endpoint is now done by making it a dictionary with an id key. The previous behavior was to just pass in an integer and it was converted when normalizing the data, but some people may have names that are all integers and those were being converted erroneously so we made the decision to change the method to convert to an integer for the NetBox API.

    tasks:
      - name: Create device within NetBox with only required information
        netbox_device:
          netbox_url: http://netbox-demo.org:32768
          netbox_token: 0123456789abcdef0123456789abcdef01234567
          data:
            name: Test66
            device_type:
              id: "{{ some_jinja_variable }}"
            device_role: Core Switch
            site: Test Site
            status: Staged
          state: present
    
  • pynetbox changed to using requests.Session() to manage the HTTP session which broke passing in ssl_verify when building the NetBox API client. This PR makes pynetbox 5.0.4+ the new required version of pynetbox for the Ansible modules and lookup plugin. (netbox-community#269)

  • netbox.netbox.netbox_cable - Create, update or delete cables within NetBox
  • netbox.netbox.netbox_device_bay_template - Create, update or delete device bay templates within NetBox
  • netbox.netbox.netbox_device_interface_template - Creates or removes interfaces on devices from NetBox
  • netbox.netbox.netbox_virtual_chassis - Create, update or delete virtual chassis within NetBox
  • Fixes bug in netbox_prefix failing when using check_mode (netbox-community#228)
  • Fixes bug in inventory plugin that fails if there are either no virtual machines, but devices defined in NetBox or vice versa from failing when fetch_all is set to False (netbox-community#214)
  • Normalize any string values that are passed in via Jinja into an integer within the _normalize_data method (netbox-community#231)
  • netbox.netbox.netbox_console_port - Create, update or delete console ports within NetBox
  • netbox.netbox.netbox_console_port_template - Create, update or delete console port templates within NetBox
  • netbox.netbox.netbox_console_server_port - Create, update or delete console server ports within NetBox
  • netbox.netbox.netbox_console_server_port_template - Create, update or delete console server port templates within NetBox
  • netbox.netbox.netbox_front_port - Create, update or delete front ports within NetBox
  • netbox.netbox.netbox_front_port_template - Create, update or delete front port templates within NetBox
  • netbox.netbox.netbox_power_feed - Create, update or delete power feeds within NetBox
  • netbox.netbox.netbox_power_outlet - Create, update or delete power outlets within NetBox
  • netbox.netbox.netbox_power_outlet_template - Create, update or delete power outlet templates within NetBox
  • netbox.netbox.netbox_power_panel - Create, update or delete power panels within NetBox
  • netbox.netbox.netbox_power_port - Create, update or delete power ports within NetBox
  • netbox.netbox.netbox_power_port_template - Create, update or delete power port templates within NetBox
  • netbox.netbox.netbox_rear_port - Create, update or delete rear ports within NetBox
  • netbox.netbox.netbox_rear_port_template - Create, update or delete rear port templates within NetBox
  • Added type to netbox_device_interface and deprecation notice for form_factor (netbox-community#193)
  • Fixes inventory performance issues, properly shows virtual chassis masters. (netbox-community#202)
  • Add custom_fields to netbox_virtual_machine (netbox-community#170)
  • Add device_query_filters and vm_query_filters to allow users to specify query filters for the specific type (netbox-community#140)
  • Added group_names_raw option to the netbox inventory to allow users have the group names be the slug rather than prepending the group name with the type (netbox-community#138)
  • Added raw_output option to netbox lookup plugin to return the exact output from the API with no doctoring (netbox-community#136)
  • Added services option to the netbox inventory to allow users to toggle whether services are included or not (netbox-community#143)
  • Added update_vc_child option to netbox_device_interface to allow child interfaces to be updated if device specified is the master device within the virtual chassis (netbox-community#105)
  • Remove token from being required for nb_inventory as some NetBox setups don't require authorization for GET functions (netbox-community#177)
  • Remove token from being required for nb_lookup as some NetBox setups don't require authorization for GET functions (netbox-community#183)
  • Allow integers to be passed in via Jinja string to properly convert back to integer (netbox-community#45)
  • Allow services to be created with a different protocol (netbox-community#174)
  • Properly find LAG if defined just as a string rather than dictionary with the relevant data (netbox-community#166)
  • Removed choices within argument_spec for mode in netbox_device_interface and netbox_vm_interface. This allows the API to return any error if an invalid choice is selected for mode (netbox-community#151)
  • Updated rack width choices for latest NetBox version (netbox-community#167)
  • Updated inventory plugin name from netbox.netbox.netbox to netbox.netbox.nb_inventory (netbox-community#129)
  • This version has a few breaking changes due to new namespace and collection name. I felt it necessary to change the name of the lookup plugin and inventory plugin just not to have a non descriptive namespace call to use them. Below is an example: netbox.netbox.netbox would be used for both inventory plugin and lookup plugin, but in different contexts so no collision will arise, but confusion will. I renamed the lookup plugin to nb_lookup so it will be used with the FQCN netbox.netbox.nb_lookup. The inventory plugin will now be called within an inventory file by netbox.netbox.nb_inventory
  • Update netbox_tenant and netbox_tenant_group to use slugs for searching (available since NetBox 2.6). Added slug options to netbox_site, netbox_tenant, netbox_tenant_group (netbox-community#120)
  • Added fetching services for devices in NetBox Inventory Plugin (netbox-community#58)
  • Added option for interfaces and IP addresses of interfaces to be fetched via inventory plugin (netbox-community#60)
  • Change lookups to property for subclassing of inventory plugin (netbox-community#62)
  • Assigning to parent log now finds LAG interface type dynamically rather than set statically in code (netbox-community#106)
  • Create device with empty string to assign the device a UUID (netbox-community#107)
  • If query_filters supplied are not allowed for either device or VM lookups, or no valid query filters, it will not attempt to fetch from devices or VMs. This should prevent devices or VMs from being fetched that do not meet the query_filters specified. (netbox-community#63)
  • Properly create interface on correct device when in a VC (netbox-community#105)
  • Updated _to_slug to follow same constructs NetBox uses (netbox-community#95)
  • Fixed vlan searching with vlan_group for netbox_prefix (netbox-community#85)
  • Removed static choices from netbox_utils and now pulls the choices for each endpoint from the NetBox API at call time (netbox-community#67)
  • Add argument specs for every module to validate data passed in. Fixes some idempotency issues. POSSIBLE BREAKING CHANGE (netbox-community#68)
  • Allow name updates to manufacturers (netbox-community#76)
  • Builds slug for netbox_device_type from model which is now required and slug is optional. Model will be slugified if slug is not provided BREAKING CHANGE (netbox-community#77)
  • Fail module with proper exception when connection to NetBox API cannot be established (netbox-community#80)
  • netbox_device_interface Lag no longer has to be a dictionary and the value of the key can be the name of the LAG (netbox-community#81)
  • netbox_ip_address If no address has no CIDR notation, it will convert it into a /32 and pass to NetBox. Fixes idempotency cidr notation is not provided (netbox-community#78)
  • netbox.netbox.netbox_service - Creates or removes service from NetBox
  • Allow endpoint choices to be an integer of the choice rather than attempting to dynamically determine the choice ID (netbox-community#47)
  • Fixed issue with netbox_vm_interface where it would fail if different virtual machine had the same interface name (netbox-community#40)
  • Updated netbox_ip_address to find interfaces on virtual machines correctly (netbox-community#40)
  • netbox.netbox.netbox_aggregate - Creates or removes aggregates from NetBox
  • netbox.netbox.netbox_circuit - Create, update or delete circuits within NetBox
  • netbox.netbox.netbox_circuit_termination - Create, update or delete circuit terminations within NetBox
  • netbox.netbox.netbox_circuit_type - Create, update or delete circuit types within NetBox
  • netbox.netbox.netbox_cluster - Create, update or delete clusters within NetBox
  • netbox.netbox.netbox_cluster_group - Create, update or delete cluster groups within NetBox
  • netbox.netbox.netbox_cluster_type - Create, update or delete cluster types within NetBox
  • netbox.netbox.netbox_device_bay - Create, update or delete device bays within NetBox
  • netbox.netbox.netbox_device_role - Create, update or delete devices roles within NetBox
  • netbox.netbox.netbox_device_type - Create, update or delete device types within NetBox
  • netbox.netbox.netbox_inventory_item - Creates or removes inventory items from NetBox
  • netbox.netbox.netbox_ipam_role - Creates or removes ipam roles from NetBox
  • netbox.netbox.netbox_manufacturer - Create or delete manufacturers within NetBox
  • netbox.netbox.netbox_platform - Create or delete platforms within NetBox
  • netbox.netbox.netbox_provider - Create, update or delete providers within NetBox
  • netbox.netbox.netbox_rack - Create, update or delete racks within NetBox
  • netbox.netbox.netbox_rack_group - Create, update or delete racks groups within NetBox
  • netbox.netbox.netbox_rack_role - Create, update or delete racks roles within NetBox
  • netbox.netbox.netbox_region - Creates or removes regions from NetBox
  • netbox.netbox.netbox_rir - Create, update or delete RIRs within NetBox
  • netbox.netbox.netbox_tenant - Creates or removes tenants from NetBox
  • netbox.netbox.netbox_tenant_group - Creates or removes tenant groups from NetBox
  • netbox.netbox.netbox_virtual_machine - Create, update or delete virtual_machines within NetBox
  • netbox.netbox.netbox_vlan - Create, update or delete vlans within NetBox
  • netbox.netbox.netbox_vlan_group - Create, update or delete vlans groups within NetBox
  • netbox.netbox.netbox_vm_interface - Creates or removes interfaces from virtual machines in NetBox
  • netbox.netbox.netbox_vrf - Create, update or delete vrfs within NetBox