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 505760aa8d Support 202203 (#1144)
* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-12 15:39:19 -05:00

108 lines
2.0 KiB
Markdown

Generated from ixf.py on 2022-04-12 16:41:02.631987
# 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`
---