Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • N noc
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 467
    • Issues 467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 28
    • Merge requests 28
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • External wiki
    • External wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • noc
  • noc
  • Issues
  • #1529

Настройки "Capsов" для генерации карточек и дашбордов

Предлагаю добавить/доработать настройку в Caps'ax для того что бы можно было задавать карточки или дашборды под определнный тип устройств.

К примеру устройство для приема мультикаста имеет caps Network | DVBC
В настройках капса есть поле "Шаблон карточки", которое на текущий момент не работает.
image

Предлагаю заменить str настройку на bool и добавить 2 параметра:
card: yes/no ddash: yes/no

При включении данной настройки и обращаясь например к карточке, будет проверятся капс с наличием данной настройки, далее будет конвертироваться название капса в имя карточки network_dvbc.html, далее проверять наличие такового и уже потом отображать информацию для этого типа капса.
Если такового файла нет, рисовать дефолтную карточку. Если есть 2 и более капса с такими настройками, то обогащать данные по всем настройкам. В коде самой карточки noc/services/card/cards/managedobject.py добавить дополнительную переменную caps_meta, куда можно складывать в формате json:

{
caps_name1: {
        "xxx": "yyy",
        "aaa": "bbb"
        },
caps_name1: {
        "xxx2": "yyy2",
        "aaa2": "bbb2"
        }
}

(возможно изменение формата) Это позволит доставать дополнительные параметры по капсу и добавлять в карточку. в noc/services/card/cards/ добавится файл caps.py в котором будет созданы функции по названию капса def network_dvbc(xxx): при запросе к которой будет добавляться информация в саму карточку.

Немного другая схема нужна для работы и отображения дашбордов, так как сейчас нет никакой настройки для выбора динамического дашборда для того или иного типа устройств. Приходится добавлять всю информацию в один общий шадборд, что в целом не удобно.

Для чего это нужно. Есть устройства, которые в целом не подходят под стандартный шаблон карточек и дашбордов. Плюс настройка есть только в managedobject_profile, про подразумевает под собой шаблон для всех устройств в этом профиле, а если устройства разные в профиле.

  • РРЛ
  • Контроллеры
  • ТВ приставки или мультикаст железки
  • Wifi устройства где используется еще информация по радио каналу.

На текущий момент используется костыль, в который зашиты некоторые капсы для отображения графиков и карточек. Нужно от этого уйти.

Edited Feb 24, 2021 by MaksimSmile13
Assignee
Assign to
Time tracking