Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-16708

[fiware-stackoverflow] FIWARE QuantumLeap Sanity Check failed: QuantumLeap can't get changed data from Orion

    Details

      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":

      { "streetAddress": "IJzerlaan", "postOfficeBoxNumber": "18", "addressLocality": "Antwerpen", "addressCountry": "BE" }

      ,
      "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":

      { "value": 100, "type": "Number" }

      }'

      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

        Hide
        backlogmanager Backlog Manager added a comment -

        2020-05-03 18:05|CREATED monitor | # answers= 0, accepted answer= False

        Show
        backlogmanager Backlog Manager added a comment - 2020-05-03 18:05|CREATED monitor | # answers= 0, accepted answer= False
        Hide
        backlogmanager Backlog Manager added a comment -

        2020-05-05 15:05|UPDATED status: transition Answer| # answers= 1, accepted answer= True

        Show
        backlogmanager Backlog Manager added a comment - 2020-05-05 15:05|UPDATED status: transition Answer| # answers= 1, accepted answer= True
        Hide
        backlogmanager Backlog Manager added a comment -

        2020-05-05 18:06|UPDATED status: transition Finish| # answers= 1, accepted answer= True

        Show
        backlogmanager Backlog Manager added a comment - 2020-05-05 18:06|UPDATED status: transition Finish| # answers= 1, accepted answer= True

          People

          • Assignee:
            smartsdk_martel MARTEL
            Reporter:
            backlogmanager Backlog Manager
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: