Details
-
Type:
Monitor
-
Status: Closed
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: 2021
-
Component/s: FIWARE-TECH-HELP
-
Labels:
Description
Created question in FIWARE Q/A platform on 03-05-2020 at 15:05
Please, ANSWER this question AT https://stackoverflow.com/questions/61575239/fiware-quantumleap-sanity-check-failed-quantumleap-cant-get-changed-data-from
Question:
FIWARE QuantumLeap Sanity Check failed: QuantumLeap can't get changed data from Orion
Description:
I checked quantumLeap Sanity Check in both virtualMachine(virtualBox with Ubuntu) and production server(CentOS). With the same docker-compose.yml, the sanity check is sucessfully on virtualManchine, but failed on Production server, it's really strange, could anyone can help me? Thank you very much.@Jason Fox
The steps of sanity check is followed as https://quantumleap.readthedocs.io/en/latest/admin/check/, I pasted below.
The difference of results is only at step 7. On virtualMachine, I can get the updated data from quantumLeap:
{
"attrName": "precipitation",
"entityId": "air_quality_observer_be_001",
"index": [
"2020-05-03T11:18:14.000",
"2020-05-03T11:18:55.000"
],
"values": [
0.0,
100.0
]
}
But on production server, the result is:
{
"description": "No records were found for such query.",
"error": "Not Found"
}
Note:
These commands in the sanity check steps are copied to terminal, so there will be no typos.
the difference of result is only at step 7. I deleted the old images on both virtualMachine and production server to let the latested images are pulled.
There was a fiware-base system(orion,mongoDB,IoTAgents,quantumLeap,CrateDB,Grafana) runing on production server and everything was fine. But one week ago, the hard disk on the server was full and exhausted, and all containers are down. I cleaned some huge log files and free some space, then I bring up the fiware-base system and found that there is no data shown on Grafana. After checked, I found the reason is QuantumLeap did not store data into crateDB, but I'm not sure the root cause is orion or quantumLeap. So I decide to do the sanity check as the quantumLeap documents suggested. That's the story.
BTW, the subscription of quantumLeap can be get from orion, but I can't get the changed data from quantumLeap. Why the newest changed data is not synchronized to quantumLeap?
Sanity check steps:
1.Check Orion version
curl -X GET http://0.0.0.0:1026/version -H 'Accept: application/json'
2.Check QuantumLeap version
curl -X GET http://0.0.0.0:8668/version -H 'Accept: application/json'
3.Create an Orion Subscription for "QuantumLeap"
curl -X POST \
'http://0.0.0.0:8668/v2/subscribe?orionUrl=http://orion:1026/v2&quantumleapUrl=http://quantumleap:8668/v2&entityType=AirQualityObserved' \
-H 'Accept: application/json'
4.Check you cat get such subscription from Orion
curl -X GET http://0.0.0.0:1026/v2/subscriptions \
-H 'Accept: application/json'
5.Insert an entity of AirQualityObserved into Orion
curl -X POST \
'http://0.0.0.0:1026/v2/entities?options=keyValues' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"id": "air_quality_observer_be_001",
"type": "AirQualityObserved",
"address":
,
"dateObserved": "2017-11-03T12:37:23.734827",
"source": "http://testing.data.from.smartsdk",
"precipitation": 0,
"relativeHumidity": 0.54,
"temperature": 12.2,
"windDirection": 186,
"windSpeed": 0.64,
"airQualityLevel": "moderate",
"airQualityIndex": 65,
"reliability": 0.7,
"CO": 500,
"NO": 45,
"NO2": 69,
"NOx": 139,
"SO2": 11,
"CO_Level": "moderate",
"refPointOfInterest": "null"
}'
6.Update the precipitation value of the same entity in Orion.
curl -X PATCH \
http://0.0.0.0:1026/v2/entities/air_quality_observer_be_001/attrs \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"precipitation":
}'
7.Query the changed record of precipitation from quantumLeap for the same entity.
curl -X GET \
'http://0.0.0.0:8668/v2/entities/air_quality_observer_be_001/attrs/precipitation?type=AirQualityObserved' \
-H 'Accept: application/json'
Parts of docker-compose.yml:
orion:
image: fiware/orion
hostname: orion
container_name: fiware-orion
depends_on:
- mongo-db
expose: - "1026"
ports: - "1026:1026"
networks: - default
command: -dbhost mongo-db -logLevel ERROR -corsOrigin __ALL
mongo-db:
image: mongo:3.6
hostname: mongo-db
container_name: db-mongo
expose: - "27017"
ports: - "27017:27017"
networks: - default
command: --bind_ip_all --smallfiles
volumes: - mongo-db:/data
cratedb:
image: crate:3.1.2
hostname: cratedb
container_name: db-crate
expose: - "4200"
- "4300"
- "5432"
ports: - "4200:4200"
- "4300:4300"
- "5432:5432"
networks: - default
command: -Ccluster.name=democluster -Chttp.cors.enabled=true -Chttp.cors.allow-origin="*"
volumes: - crate-db:/data
quantumleap:
image: smartsdk/quantumleap
hostname: quantumleap
container_name: fiware-quantumleap
expose: - "8668"
ports: - "8668:8668"
depends_on: - cratedb
environment: - CRATE_HOST=cratedb # host name of CrateDB
Activity
Field | Original Value | New Value |
---|---|---|
Component/s | FIWARE-TECH-HELP [ 10278 ] |
Assignee | MARTEL [ smartsdk_martel ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Resolution | Done [ 10000 ] | |
Status | In Progress [ 3 ] | Closed [ 6 ] |
Fix Version/s | 2021 [ 12600 ] |