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

Prepare version 1.0.0 #394

Merged
merged 41 commits into from
Jan 29, 2021
Merged

Prepare version 1.0.0 #394

merged 41 commits into from
Jan 29, 2021

Conversation

tobiasge
Copy link
Member

@tobiasge tobiasge commented Jan 18, 2021

Related Issue:-

New Behavior

  • Serving Netbox with Ngin Unit

Contrast to Current Behavior

  • Gunicorn and extra nginx were used

Discussion: Benefits and Drawbacks

Changes to the Wiki

Proposed Release Note Entry

# Noteworthy Changes

This release re-works how we serve HTTP content and introduced more initializers.

## Migrate from _Nginx & Gunicorn_ to _Nginx Unit_ #361

We've changed how we serve Netbox's HTTP traffic fundamentally. Instead of an `nginx` and a `netbox` container, it's now just a `netbox` container. And instead of relying on `nginx` to server static content and `gunicorn` to serve dynamic content, the Nginx `unit` application server does it all.

This makes the whole setup less brittle and adds a few benefits like faster startup time and simpler deployments.

Big thanks to @tobiasge for the work on this!

### 🚨 Upgrading from Earlier Versions? Read this! ⚠️

The `nginx` container was removed entirely. If you reference it in your `docker-compose.override.yml`, make sure to change `nginx` to `netbox`:

\```patch
  version: '3.4'
  services:
-   nginx:
+   netbox:
      ports:
      - '8080:8080'
\```

Also, if you build a container based on Netbox Docker, please be aware that we now rely on a virtual env to install our Python packages. 

## More Initializers #384 

@ryanmerolle contributed a whole bunch of new initializers:

- Circuit Types
- Circuits
- Cluster Groups
- Clusters
- Power Feeds
- Power Panels
- Providers
- Route Targets
- Secret Roles
- Services
- Tags

Thank you @ryanmerolle a lot!

## Fix Assignment of Primary IPs in Initializers #393

@MajesticFalcon discovered that it is sometimes not possible to assign a primary ip and provided a fix for this.

There was an issue that `LOGIN_TIMEOUT` could not be defined.

## Introducing our Github Community #370

Github recently made the Discussions feature available in Beta. [We've opted to try this feature](https://github.com/netbox-community/netbox-docker/discussions) in order to lower the barrier for getting help. For now, the NetworkToCode Slack will remain available and active.

# Compatibility

This version of Netbox Docker is only compatible with Netbox v2.10.x. For older versions use [a previous release of Netbox Docker](https://github.com/netbox-community/netbox-docker/releases/).

# Known Issues

There are no confirmed issues at the time of writing this. [See the issues labelled _bug_ in our issues section](https://github.com/netbox-community/netbox-docker/issues?q=is%3Aissue+is%3Aopen+label%3Abug).

# Sponsoring

Consider buying the maintainers of this project a beer or drink:

- [Sponsor @cimnine](https://github.com/sponsors/cimnine)
- [Sponser @tobiasge](https://github.com/sponsors/tobiasge)

Double Check

  • I have read the comments and followed the PR template.
  • I have explained my PR according to the information in the comments.
  • My PR targets the develop branch.

ryanmerolle and others added 25 commits December 29, 2020 16:24
This commit adds links to the _New Issue_ section of Github.
The intention is to provide more hints where to get help and
further reduce the amount of Github issues that can not be
acted upon.
We now serve Netbox with an nginx-unit instance instead of Gunicorn.
This allows us to get rid of the extra Nginx container because Unit is
also serving the static files. The static files are now collected at container
buildtime instead of every startup.
Use Nginx Unit to serve the application
fix issue where user has no virtual machines defined, but startup script still tries to iterate over empty file.
@tobiasge tobiasge requested a review from cimnine January 18, 2021 08:54
Expand Initialization Support
@cimnine cimnine added the maintenance The issue describes a maintenance task, such as upgrading a dependency to a certain version. label Jan 19, 2021
@cimnine cimnine added this to the 0.28.0 milestone Jan 19, 2021
Ah, of course.. I would agree. :)

Co-authored-by: Christian Mäder <[email protected]>
@cimnine
Copy link
Collaborator

cimnine commented Jan 20, 2021

I would like to also have #391 in here as well, so I have not approved yet. But this will become another kick-ass release 💪 :)

cimnine and others added 5 commits January 20, 2021 09:50
Alpine is releases a new version once a year. Therefore our workflow
runs don't need to be marked as failed when run on alpine:edge
…itTests

Skip Startup Scripts in Unit Tests
Prevent "alpine:edge" from failling the workflow
@cimnine
Copy link
Collaborator

cimnine commented Jan 27, 2021

I was just thinking whether this should become a 1.0.0 instead of 0.28.0? What do you think?

@cimnine
Copy link
Collaborator

cimnine commented Jan 27, 2021

I've took the liberty to update your description with a draft for the release notes.

@tobiasge
Copy link
Member Author

tobiasge commented Jan 28, 2021

I was just thinking whether this should become a 1.0.0 instead of 0.28.0? What do you think?

This is a big change and the new image won't be compatible with old compose and configuration files. I like the idea of a 1.0 release.

@tobiasge tobiasge changed the title Prepare version 0.28.0 Prepare version 1.0.0 Jan 28, 2021
Copy link
Collaborator

@cimnine cimnine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we ready for this? 😇

@tobiasge
Copy link
Member Author

Are we ready for this? 😇

I think so.

@cimnine cimnine merged commit ed62561 into release Jan 29, 2021
@danpoltawski
Copy link

danpoltawski commented Feb 10, 2021

Just to note that it's not clear from the documentation that you can't use this docker-compose configuration with older versions of netbox (I was trying to create a local environment matching our production env (v2.9.x) and this change caught me out)

@cimnine
Copy link
Collaborator

cimnine commented Feb 10, 2021

Just to note that it's not clear from the documentation that you can't use this docker-compose configuration with older versions of netbox

I disagree. Our release notes clearly state which release of Netbox Docker works with which release of Netbox, e.g. today's version 1.0.2:

Compatibility

This version of Netbox Docker is only compatible with Netbox v2.10.x. For older versions, use a previous release of Netbox Docker.

Also, since a few hours ago, this exists with an improved wording: https://github.com/netbox-community/netbox-docker/wiki/Version

@danpoltawski
Copy link

Ok, let me rephrase. It's possible (and I decided to comment here because I spent some time trying to work it out myself) to get to the front page of the project/ read the docker hub page and see the note about vX.Y.Z: These are release builds, automatically built from the corresponding releases of NetBox. and not realise that older versions need a quite different configuration. As it's my first experience of using the project I did not think to check the release notes, as it was my first experience (I did note the version numbs but because they aren't aligned to netbox versions I didn't realise what was compatible with what).

Thanks for your work on this project :-)

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.

6 participants