Files
Stefan Pratter 2e8788b595 Support 202210 (#1286)
* Allow REALPEER to overwrite GHOSTPEER netixlan entry, if asn and IPv6/v4 addresses matches the IX-F Members Export information #983

* Lightweight user notification mechanism #758

* do not allow affiliation with a deleted organisation #953

* Improve readability when users have special permissions #659

* fix advanced search export when api-cache exist and no filters were supplied #1153

* Ops: Throttle strings with "Response size" should be renamed "Repeated request" #1168

* allow ixlan prefix to be changed / deleted regardless of existence of netixlans in the address space #924

* linting

* poetry relock

* remove debug code

* linting

* fixed Reset IX-F suggestions link non-functional #1253

* solved UI shows own email when viewing affiliation requests for an organization #1250

* Adjust "Add Facility" menu to include newly defined fields #1091

* Footer "Global System Statistics" should be cached within django instance, not updated with every page load #1283

* linting

* django-handleref to 1.1.0 and relock poetry

* GLOBAL_STATS_CACHE_DURATION default to 900 seconds

* remove vscode and idea

* remove Ctl/dev/docker-compose.debug.yml

* remove unsused variable

* rename STATS to __STATS

* linting

* regen docs
2022-11-08 11:25:32 -06:00

2.0 KiB

Generated from ixf.py on 2022-11-08 14:31:50.933987

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`