Skip to content

PeeringDB OAuth, rfc1997 pass-through, framework upgrade

Compare
Choose a tag to compare
@barryo barryo released this 30 Sep 13:18
· 1173 commits to master since this release

This release adds a bunch of new features and tidies up a number of bugs / regressions in the milestone v5.0 and the v5.1 releases. All IX's running < v5.2.0 are advised to upgrade. Additionally, any IX's that are still allowing v5 to bed in can now safely upgrade as it has been in production at a number of exchanges for quite a while now.

Summary:

git --no-pager diff --shortstat --no-merges  v5.1.0 v5.2.0
 342 files changed, 17141 insertions(+), 18211 deletions(-)

Upgrade Instructions

Please follow the official upgrade documentation without skipping any steps. Then read through the release notes below for any additional tasks.

PeeringDB OAuth

PeeringDB OAuth

We are very pleased to announce that we have added the ability to login to IXP Manager via a member's PeeringDB account.

This is a particularly beneficial feature for members who are members of many IXPs which use IXP Manager - of which there are over 80 now - as it means they only need their PeeringDB account to access their portal at each of those IXPs. It also removes the hurdle for account creation via the IX operations team or having to find a user within a member's own organisation with administrative permissions.

The management and operations team at INEX have worked with the team from PeeringDB on this functionality - with the initial conversations dating back to early 2017 where we each agreed to develop our respective parts. The general peering community benefits greatly from this as PeeringDB now has a publicly available OAuth service and, through our own work, we have added PeeringDB OAuth client functionally to one of the more popular OAuth programming libraries.

IXP Manager interacts in a number of ways with PeeringDB (see here) and specific instructions for enabling PeeringDB OAuth with IXP Manager can be found here.

The scope of work for this PeeringDB OAuth support includes:

  • OAuth support
  • Information for admins about how a user was created
  • Per-member opt-outs for PeeringDB OAuth
  • Configurable OAuth-created user type

Support for rfc1997 pass-through on route servers

RFC1997 defines some well-known communities including NO_EXPORT (0xFFFFFF01 / 65535:65281) and NO_ADVERTISE and states that they have global significance and their operations shall be implemented in any community-attribute-aware BGP speaker.

According to rfc7947, it is a matter of local policy whether these well-known communities are interpreted or passed through on route servers. Historically, some IXP route servers interpret them and some pass them through. As such the behaviour of these well-known communities is not well-understood when it comes to route servers and this topic has been the subject of a good deal of debate in the IXP community over the years.

In 2017, INEX and LONAP published draft-hilliard-grow-no-export-via-rs-00 to try and create some consensus on this. While the draft was not accepted as a standard, the discussion drew a conclusion that these well-known communities should not be interpreted by the route server but passed through.

This commit adds support to enable pass through. As enabling this on Bird resets BGP sessions, this is being added with default as off for now so as to ensure it is not a breaking / service affected change. The recommended setting is on however. We will change the default in a later version when IX's have had a chance to update their route servers in a maintenance window.

More information in the documentation here.

Framework Upgrades

Laravel 6 was released on September 3rd. Despite the version bump from v5.8, the changes were moderately minor (the version change marks the beginning of semantic versioning rather than a massive framework change).

IXP Manager now runs on Laravel v6 and all related libraries updated.

Member vs Customer

IXP Manager is mostly deployed in member-owned IX's. The language used within IXP Manager to date has tended to be a mis-match of customer and member. We did a review of the templates and have standardised these to member. If in your case you prefer customer then add the following to your .env file:

IXP_FE_FRONTEND_CUSTOMER_ONE=customer
IXP_FE_FRONTEND_CUSTOMER_MANY=customers
IXP_FE_FRONTEND_CUSTOMER_OWNER="customer's"
IXP_FE_FRONTEND_CUSTOMER_OWNERS="customers'"

Small Features and Improvements

  • Data tables now remember pagination, rows per page and search settings #496
  • Grapher backend information (such as location of MRTG log files) is now available to administrators

Bug Fixes