Hello Patrick,
Thanks once more for your answer, very interesting.
I have set my IP as you said.
Now I can access the RDF description, only if I set the IP address in the URL without namespaces, like "http://192.168.1.12:8092/sepa/org.streampipes.tutorial.geofencing"
Now I can access the RDF description, only if I set the IP address in the URL without namespaces, like "http://192.168.1.12:8092/sepa/org.streampipes.tutorial.geofencing"
But still doesn't import the processor
Funny thing I can access the RDF page also with the docker IP
Reading the logs I also found an warning, only when accessing the RDF page:
AM org.glassfish.jersey.server.wadl.WadlFeature configure
WARNING: JAXBContext implementation could not be found. WADL feature is disabled.
As you said "manage endpoints" is not connecting to Consul(inside docker), while RDF description page is(outside docker).
One question; It is possible to create an external Consul service(in the cloud) and import from there? That would be the easier/faster way ?
Best regards,
Robert
30.08.2021, 03:27, "Patrick Wiener" <[email protected]>:
Hi Robert,good to hear that we got it to register.The second problem seems to be due to the fact that the service health check on the processor is failing given that you set the url to localhost:8092 for SP_HOST.Thats also why you see the red dot in the overview.The reason for this basically is due to the hybrid dev environment with parts of your setup running in the IDE (the processor) and the other parts inside Docker (here Consul forservice discovery and service health check). While connections from your Docker Host (your Debian machine) work on Consul over localhost:8500 (outside -> inside Docker) theissue occurs when services like Consul try to communicate to other services running outside Docker, here on your Debian host, especially via „localhost“. The reason for this isthat Docker containers run isolated in their own namespace and are not aware of each other. While docker to docker connections work due to some convenient help from Dockerusing service DNS names (for containers within the same network), it fails for development purposes (with some exceptions). Hence, when using „localhost“ Consul thinks the serviceis also running within the same container as Consul is, which is false, as it is running on your machine in your IDE without Docker.So given your setup on a linux machine, what I would recommend for development is to not use „localhost“ but the actual IP of your linux machine (see ifconfig). Docker containerscan communicate to the NIC's (e.g. eth0) IP address. However, this only works on linux as Docker runs natively. Yet it is worthy to note that if you regularly change your network environmentswhich may lead to different IP addresses assigned to this NIC, the service health check would start failing again, as the service was originally registered with another IP.We currently work on improving the whole service discovery/service management part to hopefully resolve all these issues within the current dev branch which is part of the next release(0.69.0).As of now, see if it helps using the machine’s IP address (e.g., 192.168.x.x) instead of localhost.BestPatrickAm 29.08.2021 um 17:26 schrieb Robert Edward Herding <[email protected]>:Hello Patrick,Thank you very much, your explanation helped a lot.I was running the compose docker file, not the cli enviroment.So I created a pipeline element template with cli, and it worked perfectly, pretty straightforward.Now I have a registered service at Consul.After that I tried to import the processor in Install Pipeline Elements, with the url given at http://localhost:8092/ (I had to change the port).The Install Pipeline Elements shows no elements (it keeps searching) but I can see "geofence tutorial" in Pipeline Element Configuration with a red dot, for sure it is not working but it can see the container.Can you please give me a north on this?Yours sincerely,Robert28.08.2021, 10:37, "Patrick Wiener" <[email protected]>:Hi Robert,first of all I’d like to welcome you to the list.I assume you already started the developer environment such that Consul Docker container is running?You can use the StreamPipes CLI to easily configure a development environment. You can find relevant parts from here [1].A little bit of background: we leverage Consul for service discovery such that all extending services, e.g. processors etcfirst register at Consul from where the StreamPipes core picks up service endpoints of respective extensions.Hence, currently also for development purposes it is necessary to set of a minimal development environment using the CLI anda corresponding environment template.Can you also provide an excerpt of „docker ps -a“?CheersPatrick[1] https://streampipes.apache.org/docs/docs/extend-setup.htmlAm 27.08.2021 um 23:19 schrieb Robert Edward Herding <[email protected]>:Hello folks,I am a developer located in South Africa.I have been testing StreamPipes for a few weeks now and I have decided to build, a processor entity for testing and developing for a future industrial use.Said that I start following the tutorial https://streampipes.apache.org/docs/docs/extend-tutorial-data-processors.html.The project is building perfectly, but when it gets to the point of registering items in Consul it just loops with the message.22:41:53.553 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Trying to connect to Consul to register config items22:41:53.554 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Retrying in 1 second22:41:54.554 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Trying to connect to Consul to register config items22:41:54.555 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Retrying in 1 second20:41:55.555 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Trying to connect to Consul to register config items20:41:55.556 SP [main] INFO o.a.s.config.consul.ConsulSpConfig - Retrying in 1 secondI am really not used to work with Consul, so have been really hard to understand why it can't find it.I tried to change the SP_HOST in the run configuration.localhost0.0.0.0127.0.0.1192.168.1.1192.168.1.12host.docker.internalBelow the docker IP and docker network.udp 0 0 192.168.1.12:bootpc host.docker.inte:bootps ESTABLISHED
unix 3 [ ] STREAM CONNECTED 701942 /run/snap.docker/containerd/containerd.sock
unix 3 [ ] STREAM CONNECTED 692953 /run/snap.docker/containerd/containerd.sock
unix 3 [ ] STREAM CONNECTED 703571 /run/snap.docker/containerd/containerd.sockNETWORK ID NAME DRIVER SCOPE
305ea4177bdb bridge bridge local
8c6df02eeef9 host host local
ead9e6d74aa1 none null localAs you can see I am running linux Debian.Any help would be greatly appreciated.Yours sincerely,Robert
