X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fvesmgr%2Fvespaconf.go;fp=cmd%2Fvesmgr%2Fvespaconf.go;h=0000000000000000000000000000000000000000;hb=2bfaef02e6141e5870ee0fca20b428223d00d8e9;hp=bbff8d27a9b0cc3893fbdcab0109983e88899419;hpb=355364a9e9c9872a7f9a678c97a93edaff42872c;p=ric-plt%2Fvespamgr.git diff --git a/cmd/vesmgr/vespaconf.go b/cmd/vesmgr/vespaconf.go deleted file mode 100644 index bbff8d2..0000000 --- a/cmd/vesmgr/vespaconf.go +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2019 AT&T Intellectual Property. - * Copyright (c) 2018-2019 Nokia. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * This source code is part of the near-RT RIC (RAN Intelligent Controller) - * platform project (RICP). - * - */ - -package main - -import ( - "time" -) - -// Structs are copied from https://github.com/nokia/ONAP-VESPA/tree/master/ves-agent/config -// and from https://github.com/nokia/ONAP-VESPA/blob/master/govel/config.go -// Using tag v0.3.0 - -// HeartbeatConfiguration parameters -type HeartbeatConfiguration struct { - DefaultInterval time.Duration `yaml:"defaultInterval"` -} - -// Label represents a VES field by it's name, with an expression -// for getting its value -type Label struct { - Name string `yaml:"name"` - Expr string `yaml:"expr"` -} - -// MetricRule defines how to retrieve metrics and map them -// into a list of evel.EventMeasurement struct -type MetricRule struct { - Target string `yaml:"target"` // Target VES event field - Expr string `yaml:"expr"` // Prometheus query expression - VMIDLabel string `yaml:"vmId"` // Metric label holding the VNF ID - Labels []Label `yaml:"labels"` // Set of VES fields to map to values of given label - ObjectName string `yaml:"object_name"` // JSON Object Name - ObjectInstance string `yaml:"object_instance"` // JSON Object instance - ObjectKeys []Label `yaml:"object_keys"` // JSON Object keys -} - -// MetricRules defines a list of rules, and defaults values for them -type MetricRules struct { - DefaultValues *MetricRule `yaml:"defaults"` // Default rules to apply (except for expr), labels are merged - Metrics []MetricRule `yaml:"metrics"` // List of query and mapping of rules -} - -// PrometheusConfig parameters -type PrometheusConfig struct { - Address string `yaml:"address"` // Base URL to prometheus API - Timeout time.Duration `yaml:"timeout"` // API request timeout - KeepAlive time.Duration `yaml:"keepalive"` // HTTP Keep-Alive - Rules MetricRules `yaml:"rules"` // Querying rules -} - -// MeasurementConfiguration parameters -type MeasurementConfiguration struct { - DomainAbbreviation string `yaml:"domainAbbreviation"` // "Measurement" or "Mfvs" - DefaultInterval time.Duration `yaml:"defaultInterval"` // Default measurement interval - MaxBufferingDuration time.Duration `yaml:"maxBufferingDuration"` // Maximum timeframe size of buffering - Prometheus PrometheusConfig `yaml:"prometheus"` // Prometheus configuration -} - -// CollectorConfiguration parameters -type CollectorConfiguration struct { - ServerRoot string `yaml:"serverRoot"` - FQDN string `yaml:"fqdn"` - Port int `yaml:"port"` - Secure bool `yaml:"secure"` - Topic string `yaml:"topic"` - User string `yaml:"user"` - Password string `yaml:"password"` - PassPhrase string `yaml:"passphrase,omitempty"` // passPhrase used to encrypt collector password in file -} - -//NfcNamingCode mapping bettween NfcNamingCode (oam or etl) and Vnfcs -type NfcNamingCode struct { - Type string `yaml:"type"` - Vnfcs []string `yaml:"vnfcs"` -} - -// EventConfiguration parameters -type EventConfiguration struct { - VNFName string `yaml:"vnfName"` // Name of this VNF, eg: dpa2bhsxp5001v - ReportingEntityName string `yaml:"reportingEntityName"` // Value of reporting entity field. Usually local VM (VNFC) name - ReportingEntityID string `yaml:"reportingEntityID"` // Value of reporting entity UUID. Usually local VM (VNFC) UUID - MaxSize int `yaml:"maxSize"` - NfNamingCode string `yaml:"nfNamingCode,omitempty"` // "hspx" - NfcNamingCodes []NfcNamingCode `yaml:"nfcNamingCodes,omitempty"` - RetryInterval time.Duration `yaml:"retryInterval,omitempty"` - MaxMissed int `yaml:"maxMissed,omitempty"` -} - -// VESAgentConfiguration parameters -type VESAgentConfiguration struct { - PrimaryCollector CollectorConfiguration `yaml:"primaryCollector"` - Heartbeat HeartbeatConfiguration `yaml:"heartbeat,omitempty"` - Measurement MeasurementConfiguration `yaml:"measurement,omitempty"` - Event EventConfiguration `yaml:"event,omitempty"` - Debug bool `yaml:"debug,omitempty"` - CaCert string `yaml:"caCert,omitempty"` // Root certificate content - DataDir string `yaml:"datadir"` // Path to directory containing data -}