Add logging configuration to spec 11/56411/1
authorMichael Hwang <mhwang@research.att.com>
Fri, 13 Jul 2018 18:43:39 +0000 (14:43 -0400)
committerMichael Hwang <mhwang@research.att.com>
Fri, 13 Jul 2018 18:51:10 +0000 (14:51 -0400)
k8s deployment requires additional details from developer
to setup for logging.

Change-Id: Ic23e3fa307771179c26ab97d9418fe779bafb01b
Issue-ID: DCAEGEN2-550
Signed-off-by: Michael Hwang <mhwang@research.att.com>
component-json-schemas/component-specification/dcae-cli-v1/component-spec-schema.json
component-json-schemas/tests/component-spec-logging.json [new file with mode: 0644]

index 27d0403..46c2a2a 100644 (file)
           "items": {
             "type": "string"
           }
+        },
+        "logging": {
+          "description": "Component specific details for logging",
+          "type": "object",
+          "properties": {
+            "log_directory": {
+              "description": "The path in the container where the component writes its logs. If the component is following the EELF requirements, this would be the directory where the four EELF files are being written. (Other logs can be placed in the directory--if their names in '.log', they'll also be sent into ELK.)",
+              "type": "string"
+            },
+            "alternate_fb_path": {
+              "description": "By default, the log volume is mounted at /var/log/onap/<component_type> in the sidecar container's file system. 'alternate_fb_path' allows overriding the default.  Will affect how the log data can be found in the ELK system.",
+              "type": "string"
+            }
+          },
+          "additionalProperties": false
         }
       },
       "required": [
diff --git a/component-json-schemas/tests/component-spec-logging.json b/component-json-schemas/tests/component-spec-logging.json
new file mode 100644 (file)
index 0000000..6b74050
--- /dev/null
@@ -0,0 +1,114 @@
+{
+  "self": {
+    "version": "0.5.0",
+    "name": "sandbox.platform.laika",
+    "description": "Web service used as a stand-alone test DCAE service component",
+    "component_type": "docker"
+  },
+  "streams": {
+    "subscribes": [],
+    "publishes": [
+      {
+        "format": "some.format",
+        "version": "1.0.0",
+        "config_key": "pub-foo",
+        "type": "message router"
+      },
+      {
+        "format": "some.format",
+        "version": "1.0.0",
+        "config_key": "pub-foo",
+        "type": "http"
+      }
+    ]
+  },
+  "services": {
+    "calls": [],
+    "provides": [
+      {
+        "route": "/rollcall",
+        "verb": "GET",
+        "request": {
+          "format": "sandbox.platform.any",
+          "version": "0.1.0"
+        },
+        "response": {
+          "format": "sandbox.platform.laika.rollcall.response",
+          "version": "0.1.0"
+        }
+      },
+      {
+        "route": "/identity",
+        "verb": "POST",
+        "request": {
+          "format": "sandbox.platform.laika.identity.request",
+          "version": "0.1.0"
+        },
+        "response": {
+          "format": "sandbox.platform.laika.identity.response",
+          "version": "0.1.0"
+        }
+      },
+      {
+        "route": "/health",
+        "verb": "GET",
+        "request": {
+          "format": "sandbox.platform.any",
+          "version": "0.1.0"
+        },
+        "response": {
+          "format": "sandbox.platform.laika.health",
+          "version": "0.1.0"
+        }
+      }
+    ]
+  },
+  "parameters": [
+    {
+      "name": "threshold",
+      "description": "Some fake threshold",
+      "type": "number",
+      "value": 2000
+    },
+    {
+      "name": "some-target-number",
+      "description": "Some fake target",
+      "type": "number",
+      "value": 10000,
+      "constraints": [
+          {
+            "greater_or_equal": 1
+          },
+          {
+            "less_than": 100000
+          }]
+    },
+    {
+      "name": "magic-word",
+      "description": "Some magic word",
+      "type": "string",
+      "value": "requirements",
+      "constraints": [
+          {
+            "valid_values": ["rally", "user story"]
+          }]
+    }
+  ],
+  "auxilary": {
+    "healthcheck": {
+      "type": "http",
+      "endpoint": "/foo"
+    },
+    "ports": ["8080:8080"],
+    "logging": {
+      "log_directory": "/tmp/yo",
+      "alternate_fb_path": "/tmp/path"
+    }
+  },
+  "artifacts": [
+    {
+      "uri": "some docker image path",
+      "type": "docker image"
+    }
+  ]
+}