1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/docs/dev/modules/ixf.py.md
Matt Griswold 677f94f550 Support 202111 (#1101)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* Add sales email and phone contact to ix object #949

* Increase timeout timer for IX-F JSON importer to 30s #962

* IX-F manually triggered import bugs #1054

* remove survey notifications

* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807

* performance fix for net view

* api documentation generate broken #956

* fix poc set missing from net view

* Auto focus cursor on search field on main website #695

* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748

* Delete childless org objects #838

* linting

* poetry lock

* re-add mistakingly dropped translation to email template

* fix template variables

* regen docs

* regen api docs

* add u2f api

* fix merge cruft

* fido u2f webauthn first steps

* dont need this

* typo

* first ux steps for security key management, u2f views

* u2f auth

* linting

* Cascade delete when performed by superuser in django-admin #735

* security key passwordless login

* reset webauthn migrations

* security key 2fa

* linting

* ux cleanup

* cleanup

* Add IXP to AS record / dropdown limited #469

* ignore orgs that have pre-dated or finished sponsorships attached

* split out to django_security_keys

* default to 90 days

* make URL required for new objects #374

* move CONN_MAX_AGE to proper location and expose as env var (#1060)

* Error message for invalid password on email change

* Registering a new facility or exchange organization is broken #1062

* Creating a facility that matches the name of a soft-deleted facility will cause the entry to bypass the verification queue #901

* irr source validator doesn't allow for hyphens in source #921

* split out javascript

* split out js

* Clicking "Add" to add a user api-key without providing a name for the key raises Internal Error #1033

* remove security key admin views

* global stats don't show up at login screen #284

* Possible for "pending" exchange to have "deleted" ixlan (#1077)

* webauthn finalizations

* oidc support for oauth provider #1070

* Revert "Merge branch 'gh_1070' into 'support_202111'"

* remove unused dev mounts

* linting

* add django-security-key and relock poetry

* re-add imports removed through linting

* docs regen

* oauth toolkit pinned to 1.6.1
django-security-keys pinned to 1.0.1

* remove debug message

* linting

* linting

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-01-11 08:56:47 -06:00

2.0 KiB

Generated from ixf.py on 2022-01-11 07:58:24.072700

peeringdb_server.ixf

IX-F importer implementation.

Handles import of ix-f feeds, creation of suggestions for networks and exchanges to follow.

Handles notifications of networks and exchanges as part of that process.

A substantial part of the import logic is handled through models.py::IXFMemberData

Classes


MultipleVlansInPrefix

MultipleVlansInPrefix(builtins.ValueError)

This error is raised when an ix-f export contains multiple vlan ids for the prefixes defined in the processed ixlan.

Since peeringdb treats each vlan as it's own exchange this currently is not a compatible setup for import (see #889).

Methods

_init_

def __init__(self, importer, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.


PostMortem

PostMortem(builtins.object)

Generate postmortem report for ix-f import.

Methods

_process_log_entry

def _process_log_entry(self, log, entry)

Process a single IX-F import log entry.

Argument(s):

- log <IXLanIXFMemberImportLog>
- entry <IXLanIXFMemberImportLogEntry>

_process_logs

def _process_logs(self, limit=100)

Process IX-F import logs.

KeywordArgument(s):

 - limit <int=100>: limit amount of import logs to process
  max limit is defined by server config `IXF_POSTMORTEM_LIMIT`

generate

def generate(self, asn, **kwargs)

Generate and return a new postmortem report.

Argument(s):

- asn <int>: asn of the network to run postmortem
  report for

Keyword Argument(s):

- limit <int=100>: limit amount of import logs to process
  max limit is defined by server config `IXF_POSTMORTEM_LIMIT`

Returns:

- dict: postmortem report

reset

def reset(self, asn, **kwargs)

Reset for a fresh run.

Argument(s):

- asn <int>: asn of the network to run postormem
  report for

Keyword Argument(s):

- limit <int=100>: limit amount of import logs to process
  max limit is defined by server config `IXF_POSTMORTEM_LIMIT`