Corda OS - NMS Root URL returns 404 while NMS seems up and running
See original GitHub issueDescribe the bug When I try to access the Nework Map Service in the R3 Corda OS setup, the root url gives a 404. This is despite the fact that the actual NMS seems to be up and running, as the braid URLs and the swagger URLs are active. So in our case:
curl -kv https://networkmap.cloud.mobifi.io/
leads to:
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< content-length: 0
< x-envoy-upstream-service-time: 1
< date: Fri, 11 Feb 2022 05:15:27 GMT
< server: envoy
while, for example the Swagger UI is served at https://networkmap.cloud.mobifi.io/swagger/ and also the braid API is up and running. It seems like the NMS is just doing fine. The problem is that the Ansible playpook (in step Check that network services uri are reachable) for deploy-network.yaml
relies on the NMS root to not return a 401 or 200, not 404. I tried changing the URL that is tested here, but that gives problems in other places because there the root of NMS is concatenated with other URLs. So giving https://networkmap.cloud.mobifi.io/swagger/
as NMS url is not an option.
For now I commented out the Check that network services uri are reachable and then just run the playbook twice. But that’s not ideal.
The startup logs of the NMS:
2022-02-08 17:31:15,282 WARN c.a.d.c.n.service.CertificateManager - failed to find doorman certificate for this NMS. generating a new cert
2022-02-08 17:31:15,849 ERROR c.a.d.c.n.service.ServiceStorages - failed to get current signed network parameters
io.vertx.core.impl.NoStackTraceThrowable: could not find key current-parameters
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: RS256 not available
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: RS384 not available
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: RS512 not available
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: ES256 not available
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: ES384 not available
Feb 08, 2022 5:31:16 PM io.vertx.ext.jwt.JWT
INFO: ES512 not available
Mounting braid services...
2022-02-08 17:31:16,824 INFO i.b.braid.corda.CordaSockJSHandler - root API mount for braid: /braid/api/
2022-02-08 17:31:16,825 INFO i.b.braid.corda.CordaSockJSHandler - mounting braid service network to https://localhost:8080/braid/api/network/braid/*
2022-02-08 17:31:16,825 INFO i.b.braid.corda.CordaSockJSHandler - mounting braid service flows to https://localhost:8080/braid/api/flows/braid/*
2022-02-08 17:31:16,825 INFO i.b.braid.corda.CordaSockJSHandler - mounting braid service admin to https://localhost:8080/braid/api/admin/braid/*
2022-02-08 17:31:16,833 INFO i.b.braid.corda.rest.RestMounter - swagger json bound to https://localhost:8080/swagger/swagger.json
2022-02-08 17:31:16,834 INFO i.b.braid.corda.rest.RestMounter - Swagger UI bound to https://localhost:8080/swagger
2022-02-08 17:31:16,983 INFO i.b.braid.corda.rest.RestMounter - REST end point bound to https://localhost:8080/
2022-02-08 17:31:17,130 INFO BasicInfo - Braid server started on : https://localhost:8080/braid/api/
To Reproduce Steps to reproduce the behavior: Deploy a Corda OS network. Curl the NMS root url.
Expected behavior NMS root returns 200 or 401, but not 404.
Screenshots
NMS runs:
Root gives 404:
Environment (please complete the following information):
- EKS 1.19
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (4 by maintainers)
@sownak right, it’s this image I’m using: index.docker.io/hyperledgerlabs/networkmap-linuxkit:latest My compliments on the whole bevel code-base. It’s really a cool project that’s very useful to setup a complete DevOps pipeline for Corda out-of-the-box. It’s also well documented, so thanks to you and your colleagues for that 👍 !
As you may have noticed, the Google API keys are missing. Once you have a Key, you can rebuild the image using your local Github Workflow and use the image to view the NetworkMap completely.