- **Stop DFC**: http://<container_address>:8100/**stopDatafile** or https://<container_address>:8433/**stopDatafile**
+The latest documentation can be found here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/datafilecollector/index.html
+
+
+The comonent is part of the RAM PM use case, which is described here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/overview.html#overview
+
## License
}
String payloadStr = new String(decoder.decode(chunks[1]));
- JwtTokenBody token = gson.fromJson(payloadStr, JwtTokenBody.class);
+ JwtTokenBody token = gson.fromJson(payloadStr, JwtTokenBody.class);
return new OAuthBearerTokenJwt(token, tokenRaw);
}
"app.auth-token-file=src/test/resources/jwtToken.b64", //
"app.kafka.use-oath-token=false"})
@SuppressWarnings("squid:S3577") // Not containing any tests since it is a mock.
-class MockDatafile {
+class Integration {
private static final int LAST_EPOCH_MICROSEC = 151983;
private static final String SOURCE_NAME = "5GRAN_DU";
private static final String CHANGE_IDENTIFIER = "PM_MEAS_FILES";
private static final String CHANGE_TYPE = "FileReady";
- private static final Logger logger = LoggerFactory.getLogger(MockDatafile.class);
+ private static final Logger logger = LoggerFactory.getLogger(Integration.class);
private static Gson gson = new GsonBuilder() //
.disableHtmlEscaping() //
.create(); //
private static class KafkaReceiver {
public final String topic;
private DataFromTopic receivedKafkaOutput;
- private final Logger logger = LoggerFactory.getLogger(MockDatafile.class);
+ private final Logger logger = LoggerFactory.getLogger(Integration.class);
int count = 0;
-TODO
\ No newline at end of file
+# O-RAN-SC Non-RealTime RIC Influx Logger
+
+
+This product receives PM data and stores it in an influx datbase.
+
+The component is a springboot service and is configured as any springboot service through the file `config/application.yaml`. The component log can be retrieved and logging can be controled by means of REST call. See the API documentation (api/api.yaml).
+
+The latest documentation can be found here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/influxlogger/index.html
+
+
+The comonent is part of the RAM PM use case, which is described here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/overview.html#overview
+
+## License
+
+Copyright (C) 2023 Nordix Foundation. 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.
+For more information about license please see the [LICENSE](LICENSE.txt) file for details.
final String PM_REPORT_FILE_BIG = "./src/test/resources/A20000626.2315+0200-2330+0200_HTTPS-6-73.json";
final String PM_REPORT_FILE = "./src/test/resources/pm_report.json";
+ /**
+ * Generate a PM report
+ *
+ * @param sequenceValue used for generating counter values
+ * @param noOfObjects used for generating counter values
+ * @return
+ */
String pmReport(int sequenceValue, int noOfObjects) {
try {
String str = Files.readString(Path.of(PM_REPORT_FILE), Charset.defaultCharset());
}
+ // Store PM data for 24 hours in influx. The the data contains genenerated
+ // counter values
+ // that varies over time.
@Test
void testStoreReportsInflux() throws Exception {
final int NO_OF_OBJECTS = 24 * 4;
## PM Data Producer
+The latest documentation can be found here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/pm-file-converter/index.html
+
+
+The comonent is part of the RAM PM use case, which is described here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/overview.html#overview
+
### Manual build, tag and push to image repo
Build for docker or local kubernetes\
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.
\ No newline at end of file
+limitations under the License.
}
```
+The latest documentation can be found here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/pmproducer/index.html
+
+
+The comonent is part of the RAM PM use case, which is described here:
+https://docs.o-ran-sc.org/projects/o-ran-sc-nonrtric-plt-ranpm/en/latest/overview.html#overview
+
## License
}
String payloadStr = new String(decoder.decode(chunks[1]));
- JwtTokenBody token = gson.fromJson(payloadStr, JwtTokenBody.class);
+ JwtTokenBody token = gson.fromJson(payloadStr, JwtTokenBody.class);
return new OAuthBearerTokenJwt(token, tokenRaw);
}
"app.configuration-filepath=./src/test/resources/test_application_configuration.json", //
"app.ics-base-url=https://localhost:8434" //
})
+/**
+ * Tests that the interwork with ICS works.
+ * ICS must be running.
+ */
class IntegrationWithIcs {
private static final String JOB_ID = "JOB_ID";
"app.s3.bucket=pmproducertest", //
"app.auth-token-file=src/test/resources/jwtToken.b64", //
"app.kafka.use-oath-token=false"}) //
+/**
+ * Tests interwork with Kafka and Minio
+ * Requires that Kafka and ICS is started.
+ */
class IntegrationWithKafka {
final static String PM_TYPE_ID = "PmDataOverKafka";
@Test
void testHistoricalData() throws Exception {
- // test
+ // test that it works to get already fetched data
final String JOB_ID = "testHistoricalData";
DataStore fileStore = dataStore();