1
0
-1

I installed the Beijing release using Heat Templates and while running the 40 robot tests I got 1 failed:

------------------------------------------------------------------------------

Basic DCAE Health Check                                               | FAIL |

404 != 200

------------------------------------------------------------------------------

I checked the Consul to see what's wrong and seemingly I have a problem with the « service_change_handler », its logs show this:

Exception in thread "main" clojure.lang.ExceptionInfo: clj-http: status 404 {:request-time 74, :repeatable? false, :protocol-version {:name "HTTP", :major 1, :minor 1}, :streaming? false, :chunked? false, :reason-phrase "Not Found", :headers {"X-Consul-Index" "1", "X-Consul-Knownleader" "true", "X-Consul-Lastcontact" "0", "Date" "Tue, 05 Jun 2018 10:23:38 GMT", "Content-Length" "0", "Content-Type" "text/plain; charset=utf-8", "Connection" "close"}, :orig-content-encoding nil, :status 404, :length 0, :body "", :trace-redirects ["http://consul:8500/v1/kv/service-change-handler?raw=true"]}

        at slingshot.support$stack_trace.invoke(support.clj:201)

        at clj_http.client$wrap_exceptions$fn__11840.invoke(client.clj:226)

        at clj_http.client$wrap_accept$fn__12046.invoke(client.clj:596)

        at clj_http.client$wrap_accept_encoding$fn__12052.invoke(client.clj:610)

        at clj_http.client$wrap_content_type$fn__12041.invoke(client.clj:586)

        at clj_http.client$wrap_form_params$fn__12135.invoke(client.clj:766)

        at clj_http.client$wrap_nested_params$fn__12152.invoke(client.clj:791)

        at clj_http.client$wrap_method$fn__12095.invoke(client.clj:708)

        at clj_http.cookies$wrap_cookies$fn__10361.invoke(cookies.clj:124)

        at clj_http.links$wrap_links$fn__11651.invoke(links.clj:51)

        at clj_http.client$wrap_unknown_host$fn__12161.invoke(client.clj:811)

        at clj_http.client$get.invokeStatic(client.clj:914)

        at clj_http.client$get.doInvoke(client.clj:910)

        at clojure.lang.RestFn.invoke(RestFn.java:410)

        at sch.util$read_config_http_json.invokeStatic(util.clj:31)

        at sch.util$read_config_http_json.invoke(util.clj:29)

        at sch.util$read_config.invokeStatic(util.clj:44)

        at sch.util$read_config.invoke(util.clj:36)

        at sch.core$_main.invokeStatic(core.clj:187)

        at sch.core$_main.doInvoke(core.clj:185)

        at clojure.lang.RestFn.applyTo(RestFn.java:137)

        at sch.core.main(Unknown Source)

I the problem is that the URL http://consul:8500/v1/kv7/service-change-handler is not found:

root@onap-dcae:/opt# curl -vvv  -k http://consul:8500/v1/kv7/service-change-handler > /tmp/nnnn

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 10.1.0.6...

* Connected to consul (10.1.0.6) port 8500 (#0)

> GET /v1/kv7/service-change-handler HTTP/1.1

> Host: consul:8500

> User-Agent: curl/7.47.0

> Accept: */*

< HTTP/1.1 404 Not Found

< Date: Tue, 12 Jun 2018 09:19:53 GMT

< Content-Length: 0

< Content-Type: text/plain; charset=utf-8

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

* Connection #0 to host consul left intact


Also, the service 'dcae-health' check in consul shows :

 

HTTP GET http://10.1.0.6:8000/healthcheck: 404 Not Found Output: <html>

<head><title>404 Not Found</title></head>

<body bgcolor="white">

<center><h1>404 Not Found</h1></center>

<hr><center>nginx/1.13.12</center>

</body>

</html>


I am stuck with this, any ideas??



    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      Abir,  DCAE's healthcheck is a composite, which will be 200 if all expected components are healthy.  Otherwise it will return a 404.  So that is expected since the service-change-handler appears to have problem.

      As for service-change-handler, could you check if you can see in KV store (from consul GUI there is a KV tab) the key service-change-handler exists?  

      1. Abir ELATTAR

        Hi, well I switched the deployement profil from R2 to R2MVP and I don't have a probleme with the service-change-handler, however the test still shows failed for dcae and in Consul I see that the dcae-health is failing and it shows this:

        HTTP GET http://10.1.0.6:8000/healthcheck: 404 Not Found Output: <html>
        <head><title>404 Not Found</title></head>
        <body bgcolor="white">
        <center><h1>404 Not Found</h1></center>
        <hr><center>nginx/1.13.12</center>
        </body>
        </html>

        seemingly the http://10.1.0.6:8000/healthcheck is not found.

        I checked the KV store in consul GUI there is nothnig in there. Is it normal?

        Thanks


      2. Lusheng Ji

        No that is not normal.  There should be stuff in KV store.  On the DCAE VM, please check /tmp/dcae2_install.log file, it should have more info.

      3. Abir ELATTAR

        >>>>>> not enough services satisfying R2MIN service deployment

        >>>>>> not enough services satisfying R2 platform or R2PLUS service deployment

        parse error: Invalid numeric literal at line 1, column 10

        parse error: Invalid numeric literal at line 1, column 10

        Wed Jun 13 14:58:14 UTC 2018: running healthy services:

        Knowing that I put R2MVP in the DCAE deployment profil

      4. Lusheng Ji

        Some service did not come up healthy in your environment.  The question is which one and why.  You need to look from the beginning of the log file, not the end.  The end is just a loop for checking with Consul if there are enough services healthy, really no useful info there....

      5. Arvind Prabhakar

        Hi Abir ELATTAR i am facing the same problem. were you able to fix this issue ? i am seeing nothing on the KV store of consul. 


        Service 'dcae-health' check service:ec6de3921fe3:dcae-health:80critical

        NOTES

        OUTPUT
        HTTP GET http://99.99.99.4:8000/healthcheck: 404 Not Found Output: <html>
        <head><title>404 Not Found</title></head>
        <body bgcolor="white">
        <center><h1>404 Not Found</h1></center>
        <hr><center>nginx/1.15.0</center>
        </body>
        </html>



      CommentAdd your comment...