Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.21.0 #226

Merged
merged 62 commits into from
Jan 23, 2020
Merged

Release 0.21.0 #226

merged 62 commits into from
Jan 23, 2020

Conversation

cimnine
Copy link
Collaborator

@cimnine cimnine commented Jan 20, 2020

This PR prepares the release 0.21.0 of this project.

Closes #224.

Preliminary Release Notes

This release contains the following notable changes:

Compatibility with Netbox 2.7 #209

This project has been updated to work with Netbox 2.7.

Updates to our configuration.py file were necessary. This should not impact you if you upgrade from an earlier version of our project. But you will have the possibility to use separate Redis instances for caching and for the rqworker (i.e. webhooks delivery). The current Redis variables are used for the rqworker (i.e. REDIS_HOST, REDIS_PORT, etc.) and there are new variables for the cache (i.e. REDIS_CACHE_HOST, REDIS_CACHE_PORT, etc.). If the variables REDIS_CACHE_* are not defined the configuration file will fall back to the REDIS_* counterparts.

Please note that it is no longer possible to run Netbox without Redis. The variable WEBHOOKS_ENABLED was removed upstream.

Updates to the default startup scripts were necessary. If you have files in the initializers directory, be aware of the following breaking changes:

  • initializers/custom_fields.yml: (see c001626)
    • the selection type was changed to select
     select_field:
    -   type: selection
    +   type: select
       label: Choose between items
       required: false
       filter_logic: exact
       weight: 30
       on_objects:
       - dcim.models.Device
       choices:
       - value: First Item
         weight: 10
       - value: Second Item
         weight: 20
  • initializers/racks.yml (see 7b914d3)
    • Rack types must match one of the 5 rack types given, e.g. '4-post-cabinet'.
    • Rack width must match one of the 2 rack widths given, i.e. '19' or '23'.
     - site: AMS 2
       name: rack-02
       role: Role 2
    -   type: 4-post cabinet
    +   type: 4-post-cabinet
    -   width: 19 inches
    +   width: 19
       u_height: 47
       custom_fields:
         text_field: Description
  • initializers/devices.yml (see 4a58676)
    • Make sure the rack face is spelled in all-lowercase characters.
     - name: server01
       device_role: server
       device_type: Other
       site: AMS 1
       rack: rack-01
    -   face: Front
    +   face: front
       position: 1
       custom_fields:
         text_field: Description
  • initializers/vlans.yml (see 8d8b9a1)
    • Make sure the status is spelled in all-lowercase characters.
     - name: vlan1
       site: AMS 1
    -   status: Active
    +   status: active
       vid: 5
       role: Main Management
       description: VLAN 5 for MGMT
  • initializers/prefixes.yml (see f3403cd)
    • Make sure the status is spelled in all-lowercase characters.
     - description: prefix1
       prefix: 10.1.1.0/24
       site: AMS 1
    -   status: Active
    +   status: active
       tenant: tenant1
       vlan: vlan1
  • initializers/virtual_machines.yml (see f3403cd)
    • Make sure the status is spelled in all-lowercase characters.
     - cluster: cluster1
       comments: VM1
       disk: 200
       memory: 4096
       name: virtual machine 1
       platform: Platform 2
    -   status: Active
    +   status: active
       tenant: tenant1
       vcpus: 8
     - cluster: cluster1
       comments: VM2
       disk: 100
       memory: 2048
       name: virtual machine 2
       platform: Platform 2
  • initializers/dcim_interfaces.yml
    • Make sure the type is a value out of the possible choices and is spelled in all-lowercase characters.
    • All possible choices are found in Netbox's dcim/choices.py
     - device: server01
       enabled: true
    -   type: Virtual
    +   type: virtual
       name: to-server02
  • initializers/ip_addresses.yml
    • Make sure the status is spelled in all-lowercase characters.
     - address: 10.1.1.1/24
       device: server01
       interface: to-server02
    -   status: Active
    +   status: active
       vrf: vrf1

New Build System #214 #222

We've changed our build system once more. It is based on Github Actions now. This provides us more flexibility and hopefully more reliable feedback on pull requests.

Our users should benefit as well by having more reliable releases when a new version of Netbox is out.

The last benefit is that all build-related configurations are now in this repository. This means we can track changes and retrieve pull-requests on them. Additionally, forks get the same build-configuration as well.

Default branch is release

We have switched to a new branching model in the previous version of this project.
Thereby we changed the default branch to be the develop branch. This has led to some confusion. We are now changing the default branch back to the stable branch, i.e. release.

This is also due to the new build system (see above).

Compatibility

This version is compatible with Netbox 2.7.x (and hopefully later versions as well).

⚠️ This version is not compatible with Netbox 2.6.x or lower!

Known Issues

There are no known issues.

sdktr and others added 30 commits November 6, 2019 10:26
Defaulting to SSLMODE=prefer, optional override using environment variable: DB_SSLMODE
Adds a link to the Getting Started wiki section to the README
Add SSLMODE to database connection settings
Fixes #192

Signed-off-by: Jeroen Simonetti <jeroen@simonetti.nl>
Remove use of GNU date extensions when labeling images
Massive speedup in executing startup_scripts
cimnine and others added 22 commits January 17, 2020 17:44
The custom field database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your custom_fields.yml file as
follows:

- type must be lowercase
  - the `selection` type was changed to `select`
- the filter_logic must be lower case

This is to achieve compatibility with the naming schema that
Netbox uses internally. It allows us to become forward compatible
in case Netbox ever introduces a new type for custom fields.

See the diff of this commit for further information how this is meant.
The rack database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your racks.yml file as follows:

- Rack types must match one of the 5 rack types given, e.g.
  '4-post-cabinet'.
- Rack width must match one of the 2 rack widths given, i.e. '19' or
  '23'.

See the diff of this commit for further information how this is meant.
The device database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your devices.yml file as
follows:

- Make sure the rack face is spelled lowercase.

See the diff of this commit for further information how this is meant.
The VLAN database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your vlans.yml file as follows:

- Make sure the status is spelled lowercase.

See the diff of this commit for further information how this is meant.
The vm database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your virtual_machines.yml
file as follows:

- Make sure the status is spelled lowercase.

See the diff of this commit for further information how this is meant.
The interface database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your dcim_interfaces.yml
file as follows:

- Make sure the type is a value out of the possible choices.

See the diff of this commit for further information how this is meant.
The ip address database model has changed in Netbox 2.7.
Therefore the initializer code, that was used before, broke.
As a user, you will need to update your ip_addresses.yml
file as follows:

- Make sure the status is written in lower case.

See the diff of this commit for further information how this is meant.
This is an update to the PR template.
It mostly adds text and some checks related to how good the template
is filled in and whether the `develop` branch was selected as base.
…plate

Check that `develop` is the base branch in new PRs
This is to allow automatic merging on Github from develop->release
@cimnine cimnine added this to the 0.21.0 milestone Jan 20, 2020
@cimnine cimnine added the maintenance The issue describes a maintenance task, such as upgrading a dependency to a certain version. label Jan 20, 2020
@cimnine cimnine marked this pull request as ready for review January 21, 2020 07:01
@cimnine cimnine changed the title Develop Release 0.21.0 Jan 21, 2020
@cimnine cimnine merged commit d058b7b into release Jan 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance The issue describes a maintenance task, such as upgrading a dependency to a certain version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Startup Scripts Crash with Netbox 2.7
4 participants