RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
...
Launch system-config-services from a console and enable the zookeeper service from the services list.
draw.io Diagram | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Gliffy Diagram | ||||||||
|
...
If pre-built RPM packages are already installed as explained in previous section & we want to use the same, Skip to configuration section
...
Code Block | ||
---|---|---|
| ||
--- ######################################## # Labeling/Tracing via HTTP Headers Configuration ######################################## # The unique fully-qualified-domain-name of the server. It is provided to # the X-Talaria-Server header for showing what server fulfilled the request # sent. # (Optional) fqdn: <Fully Qualified Domain Name / IP> server: "xxx.xxx.xxx.xxx" env: test scheme: http # Provides this build number to the X-Tr1d1um-Build header for # showing machine version information. The build number SHOULD # match the scheme `version-build` but there is not a strict requirement. # (Optional) build: "0.1.3-1" # Provides the region information to the X-Tr1d1um-Region header # for showing what region this machine is located in. The region # is arbitrary and optional. # (Optional) region: "east" # Provides the flavor information to the X-Tr1d1um-Flavor header # for showing what flavor this machine is associated with. The flavor # is arbitrary and optional. # (Optional) flavor: "mint" primary: address: ":8080" health: address: ":8180" pprof: address: ":8280" control: address: ":8203" metric: address: ":8380" metricsOptions: namespace: "xmidt" subsystem: "talaria" ######################################## # Service Discovery Configuration ######################################## # service defines the parameters needed to interact with the consul cluster # for service discovery. Presently only consul is supported. This is # presently only used by Prometheus to discover machines to monitor, but # in the not-too-distant future talaria will use this interaction to load # balance across all caduceus machines instead of using DNS. # (Optional) service: # consul configures the consul library in caduceus to use the local # service discovery agent consul: # client defines how to connect to the local consul agent (on the same # VM/container) client: # address is the address of the local consul agent address: "127.0.0.1:8500" # scheme is how the consul library should interact with the local # consul agent scheme: "http" # waitTime is TBD waitTime: "30s" # disableGenerateID is TBD disableGenerateID: true # registrations defines what services caduceus should register with # consul # # id - the VM/container instance name registered with consul # name - the name of service being registered # tags - a list of tags to associate with this registration # address - the mechanism to reach the service (generally unique fqdn) # port - the port to reach the service at # checks - the list of checks to perform to determine if the service # is available/healthy # checkID - TBD # ttl - how long the check is valid for # deregisterCriticalServiceAfter - the duration to wait before the # service is removed due to check # failures registrations: - id: "example_talaria.xmidt.net" name: "talaria" tags: - "prod" - "mint" - "stage=prod" - "flavor=mint" address: "54.148.37.189"<WEBPA_SERVER_IP> port: 6001 checks: - checkID: "example_talaria.xmidt.net:ttl" ttl: "30s" deregisterCriticalServiceAfter: "70s" log: file: "/var/log/talaria/talaria.log" level: "DEBUG" json: false device: manager: upgrader: handshakeTimeout: "10s" initialCapacity: 100000 maxDevices: 100 deviceMessageQueueSize: 100 pingPeriod: "45s" idlePeriod: "135s" requestTimeout: "15s" outbound: method: "POST" eventEndpoints: default: http://127.0.0.1:6300/api/v3/notify requestTimeout: "125s" defaultScheme: "http" allowedSchemes: - "http" - "https" outboundQueueSize: 1000 workerPoolSize: 100 transport: maxIdleConns: 0 maxIdleConnsPerHost: 100 idleConnTimeout: "120s" clientTimeout: "160s" authKey: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> inbound: authKey: <xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> eventMap: default: http://127.0.0.1:6300/api/v3/notify service: defaultScheme: http fixed: - http://127.0.0.1:8080 |
...
"authHeader" : Auth token Use the auth token which was generated in previous section
"file" : Under "log" section, change the value from "stdout" to a file name if we need to redirect debug messages to a separate log file.
...
"authHeader" : Auth token Use the auth token which was generated in previous section.
"aws" : Add fake values as described previously.
Code Block | ||
---|---|---|
| ||
--- ######################################## # Labeling/Tracing via HTTP Headers Configuration ######################################## # The unique fully-qualified-domain-name of the server. It is provided to # the X-Tr1d1um-Server header for showing what server fulfilled the request # sent. # (Optional) server: "xxx.xxx.xxx.xxx" # Provides this build number to the X-Tr1d1um-Build header for # showing machine version information. The build number SHOULD # match the scheme `version-build` but there is not a strict requirement. # (Optional) build: "0.1.2-1" # Provides the region information to the X-Tr1d1um-Region header # for showing what region this machine is located in. The region # is arbitrary and optional. # (Optional) region: "east" # Provides the flavor information to the X-Tr1d1um-Flavor header # for showing what flavor this machine is associated with. The flavor # is arbitrary and optional. # (Optional) flavor: "mint" ############################################################################## # WebPA Service configuration ############################################################################## # For a complete view of the service config structure, # checkout https://godoc.org/github.com/Comcast/webpa-common/server#WebPA ######################################## # Primary Endpoint Configuration ######################################## # primary provides the configuration for the main server for this application primary: address: ":9003" ######################################## # Health Endpoint Configuration ######################################## # health defines the details needed for the health check endpoint. The # health check endpoint is generally used by services (like AWS Route53 # or consul) to determine if this particular machine is healthy or not. health: address: ":9004" ######################################## # Debugging/Pprof Configuration ######################################## # pprof defines the details needed for the pprof debug endpoint. # (Optional) pprof: address: ":9005" ######################################## # Metrics Configuration ######################################## # metric defines the details needed for the prometheus metrics endpoint # (Optional) metric: address: ":9082" metricsOptions: # namespace is the namespace of the metrics provided # (Optional) namespace: "webpa" # subsystem is the subsystem of the metrics provided # (Optional) subsystem: "tr1d1um" ######################################## # Logging Related Configuration ######################################## # log configures the logging subsystem details log: # file is the name of the most recent log file. If set to "stdout" this # will log to os.Stdout. # (Optional) defaults to os.TempDir() file: "/var/log/tr1d1um/tr1d1um.log" # level is the logging level to use - INFO, DEBUG, WARN, ERROR # (Optional) defaults to ERROR level: "DEBUG" # maxsize is the maximum log file size in MB # (Optional) defaults to max 100MB maxsize: 50 # maxage is the maximum number of days to retain old log files # (Optional) defaults to ignore age limit (0) maxage: 30 # maxbackups is the maximum number of old log files to retain # (Optional) defaults to retain all (0) maxbackups: 10 # json is a flag indicating whether JSON logging output should be used. # (Optional) defaults to false json: true ############################################################################## # Webhooks Related configuration ############################################################################## # webhooksEnabled indicates whether or not the webhooks server should be started # It is disabled for local testing webhooksEnabled: false # The unique fully-qualified-domain-name of the server. The webhooks library uses it # to know which host to use to confirm this service is ready to receive events # (Optional if not running webhooks) fqdn: "tr1d1um-local-instance-123.example.com" # start contains configuration for the logic by which Tr1d1um can # fetch the current WebPA webhooks without having to wait for SNS # It does so by pinging the rest of the cluter at the specified apiPath # More detaisl at https://godoc.org/github.com/Comcast/webpa-common/webhook#StartConfig start: # duration is the max amount of time allowed to wait for webhooks data to be retrieved duration: "20s" # path used to query the existing webhooks apiPath: http://localhost:6100/hooks ######################################## # Webhooks DNS readiness Configuration ######################################## # WaitForDns is the duration the webhooks library will wait for this server's DNS record to be # propagated. This waiting logic is important so AWS SNS webhook confirmations are not missed waitForDns: "30s" #soa stands for Start of Authority and it's a type of record in a DNS soa: # provider is the SOA provider used to verify DNS record readiness of this service provider: "example-123.awsdns-00.com:17" ######################################## # Webhooks AWS SNS Configuration ######################################## # aws provides the AWS SNS configurations the webhooks library needs aws: #AWS access key accessKey: "fake-accessKey" #AWS secret key secretKey: "fake-secretKey" env: local-dev sns: # awsEndpoint is the AWS endpoint # this must be left out in produ awsEndpoint: http://goaws:4100 #region is the AWS SNS region region: "us-east-1" # topicArn describes the SNS topic this server needs to subscribe to topicArn: arn:aws:sns:us-east-1:000000000000:xmidt-local-caduceus #urlPath is the URL path SNS will use to confirm a subscription with this server urlPath: "/api/v2/aws/sns" ############################################################################## # Testing Authorization Credentials ############################################################################## # authHeader is a list of Basic Auth credentials intended to be used for local testing purposes # WARNING! Be sure to remove this from your production config authHeader: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ############################################################################## # WRP and XMiDT Cloud configurations ############################################################################## # targetURL is the base URL of the XMiDT cluster targetURL: http://localhost:7000 # WRPSource is used as 'source' field for all outgoing WRP Messages WRPSource: "dns:tr1d1um.xmidt.comcast.net" # supportedServices is a list of endpoints we support for the WRP producing endpoints # we will soon drop this configuration supportedServices: - "config" ############################################################################## # HTTP Transaction Configurations ############################################################################## # clientTimeout is the timeout for the HTTP clients used to contact the XMiDT cloud clientTimeout: "135s" # respWaitTimeout is the max time Tr1d1um will wait for responses from the XMiDT cloud respWaitTimeout: "129s" # netDialerTimeout is the timeout used for the net dialer used within HTTP clients netDialerTimeout: "5s" # requestRetryInterval is the time between HTTP request retries against XMiDT requestRetryInterval: "2s" # requestMaxRetries is the max number of times an HTTP request is retried against XMiDT in # case of ephemeral errors requestMaxRetries: 2 |
...
Code Block | ||||
---|---|---|---|---|
| ||||
$ curl -H ''Authorization:Basic <AUTH_TOKEN>' -i http://<WEBPA-URL>/api/v2/device/mac:<DEVICE_MAC>/config?names=<PARAMETER> e.g. $ curl -H 'Authorization:Basic d2VicGFAMTIzNDU2Nzg5MA==' -i http://54.166.121.187:9003<WEBPA_SERVER_IP:PORT>/api/v2/device/mac:84e058575831/config?names=Device.DeviceInfo.ModelName |
...