The SNMP poll asks each device's sysName in the same GET and keeps it (snmp_003_sys_name). A syslog source told apart by name finds its own address from the SNMP device (reported or given name) or host of that name, so its lines reach the SNMP device's and host's pages again; the edit page gains Device address, which always wins (syslog_004). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
811 B
Python
28 lines
811 B
Python
"""SNMP devices keep the name each reports (sysName)
|
|
|
|
A device whose syslog lines arrive through Docker's address is placed by the
|
|
name its lines carry; the name the device reports over SNMP is how that name
|
|
finds the device (#6096).
|
|
|
|
Revision ID: snmp_003_sys_name
|
|
Revises: snmp_002_table_rows
|
|
Create Date: 2026-10-19
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
revision: str = "snmp_003_sys_name"
|
|
down_revision: Union[str, None] = "snmp_002_table_rows"
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
op.add_column("snmp_devices", sa.Column("sys_name", sa.String(255), nullable=False, server_default=""))
|
|
|
|
|
|
def downgrade() -> None:
|
|
op.drop_column("snmp_devices", "sys_name")
|