Akka docker remote cluster setup - docker

I am having issues while connecting to remote docker cluster. I did provide bind.port and bind.hostname. Still, I am having the following error on server side.
[ERROR] [08/04/2017 12:36:34.623] [SereverApplication-akka.remote.default-remote-dispatcher-6] [akka://SereverApplication/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClientApplication%4010.0.75.1%3A2553-0/endpointWriter] dropping message [class akka.actor.ActorSelectionMessage] for non-local recipient [Actor[akka.tcp://SereverApplication#127.0.0.1:2552/]] arriving at [akka.tcp://SereverApplication#127.0.0.1:2552] inbound addresses are [akka.tcp://SereverApplication#172.17.0.2:2552]
From the error I could see the messages are being sent to server actor from client. However the server child actor is unable to respond to client. Any help will be highly appreciated. I have the code at the following github location.
https://github.com/thedatatechie/akka_remote_actor
The Dockerfile is also placed at root folder. Please use it for any help in setting up the docker cluster with single node.
Many thanks in advance

I have the same error. Maybe can help you.
In the config, remote.netty.tcp.hostname="localhost". However, I use the url: akka.tcp://HelloRemoteSystem#127.0.0.1:5150/user/RemoteActor to connect the remote server. After correct it, error is dismiss.

Related

Sending email from inside of a docker container fails with error in name resolution

I am trying to send an email from an ubuntu-based docker container. Ultimately, I want to send emails inside of a Flask application, using the following code snippet:
import smtplib
def send_email(from_addr="senderaddress#companyname.com", to_addrs="receiveraddress#companyname.com",
msg="\ntest Email"):
mailserver = smtplib.SMTP('mail.companyname.com', 25)
mailserver.ehlo()
mailserver.starttls()
mailserver.sendmail(from_addr, to_addrs, msg)
mailserver.quit()
send_email()
When I run it, I get the following Python error on creation of the smptlib.SMTP server object:
email socket.gaierror: [Errno -3] Temporary failure in name resolution
Sending the email using the same script outside of the docker container works (Windows host system). What may be a good way to fix this (note that the SMTP server intended for use is not running on localhost)?
Thank you for any suggestions!
If you are using a published email, it means inside the docker it cannot resolve the domain IP address. There are several reasons for this problem to solve, Firewalls, IP tables, docker network, and so on.
For first try, you can add you dns, to the docker-compose file to see if it can resolve the domain.
If it did not resolve the domain, means there is a problem between your docker and dns server.

WSO2 MI Infinite loop on invalid request line

I run a very simple micro integrator service that only has 1 proxy service and a single sequence. In this sequence the incoming XML message is transferred to amazon SQS service.
If I run this in the Integration Studio on the instance that comes built in I have no problems. However, when I package the file into a CAR and feed it to the docker instance it will boot up and instantly gets bombarded with requests? That is to say, the following logs take over and the container can no longer be manually stopped:
[2020-04-15 12:45:44,585] INFO
{org.apache.synapse.transport.passthru.SourceHandler} - Writer null
when calling informWriterError ^[[?62;c^[[?62;c[2020-04-15
12:45:46,589] ERROR
{org.apache.synapse.transport.passthru.SourceHandler} - HttpException
occurred org.apache.http.ProtocolException: Invalid request line:
ÇÃ^ú§ß¡ðO©%åË*29xÙVÀ$À(=À&À*kjÀ at
org.apache.http.impl.nio.codecs.AbstractMessageParser.parse(AbstractMessageParser.java:208)
at
org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection$LoggingNHttpMessageParser.parse(LoggingNHttpServerConnection.java:407)
at
org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection$LoggingNHttpMessageParser.parse(LoggingNHttpServerConnection.java:381)
at
org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:265)
at
org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.consumeInput(LoggingNHttpServerConnection.java:114)
at
org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java:82)
at
org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java:39)
at
org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:113)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at
org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at
org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at
org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:748) Caused by:
org.apache.http.ParseException: Invalid request line:
ÇÃ^þvHÅFmÉ
(#ë¸'º¯æ¦V
I made sure there were no outside connections possible and I also found the older threads of someone describing this problem, but their solution (changing something in the keystore) did not work.
Also, I made sure to include the SQS certificate in the container as well.
I have no connections setup to connect to the container so that will be out of the equation as well.
What am I missing here?
I have no idea why, but I have identified the culprit to be none other than Portainer. When I shutdown Portainer the stream of requests stops.
According to Wireshark, the requests are all made towards
GET
http://172.17.0.1:9000/api/endpoints/< containerID >/docker/< someId >/logs
It seems that because the WSO2 container I'm trying to run is an ESB that uses endpoints and returns 400 status codes on non-existing endpoints portainer will retry until it succeeds. This is just my observation, so I could be wrong.
I have confirmed my findings by uploading my container to AWS where the problem did not exist.

Getting Neo4J running on OpenShift

I am trying to get the Bitnami Neo4j image running on OpenShift (testing on my local Minishift), but I am unable to connect. I am following the steps outlined in this issue (now closed), however, now I cannot access the external IP for the load balancer.
Here are the steps I have taken:
Deploy Image (bitnami/neo4j)
Create service for the load balancer,
using the YAML supplied in the issue mentioned
Get the external IP
address for the LB (oc get services) The command in step 3 lists 2
of the same IP addresses, and when I attempt to go to this IP in my
browser it times out.
I can create a route that points to port 7374 on the IP of the LB, but
then I get the same error as reported in the aforementioned issue.
(ServiceUnavailable: WebSocket connection failure. Due to security
constraints in your web browser, the reason for the failure is not
available to this Neo4j Driver. Please use your browsers development
console to determine the root cause of the failure. Common)
Configure neo4j to accept non-local connections. E.g.:
dbms.connector.bolt.address=0.0.0.0:7687
Source: https://neo4j.com/developer/kb/explanation-of-error-websocket-connection-failure/

Delphi - Firebird - Vista access to socket denied

I am facing problem with my delphi application connecting to firebird database on Port 45000:
If I try to connect as Localhost/45000:C:\DBNAME.fdb its giving below error
Can't format message 13:98 -- message file C:\firebird.msg not found. Unable to complete network request to host "localhost". Failed to establish a connection. An attempt was made to access a socket in a way forbidden by its access permissions.
I don't understand what is this error tried changing port cheked free ports using netstat command no use.
Any help will be highly appreciated
Thanks in Advance
I think I had the same problem in the past.
Re-installing Firebird helped.
Issue Sorted out.
Thanks to those who gave some suggestions.
It was Windows One Care firewall service which was blocking all the ports in the vista system.
I could not find it because it was visible only in the services and not anywhere else.
Read the entire Configuring Firebird. Create an alias of your database.
Also take a look on the Installing Notes. Add exception to the windows firewall. If still encountering problems take a look on the http://www.gradiencesupport.com/entries/20932048-Gradience-Pro-Enterprise-Unable-to-connect-to-your-Interbase-Firebird-Server

"getaddrinfo: Temporary failure in name resolution" in RoR application

I'm trying to retrieve emails from gmail using pop3 to my rails applicaiton. I get the error - "getaddrinfo: Temporary failure in name resolution" when i try to retrieve the email.
the weird thing is, it works when i try it at home but not at my university. i'm guessing it has something to do with the internet connection.
please help!
I had the same problem just started getting this error out of the blue in a RoR application that connects to an API using a RestClient running on a local virtual machine using Vagrant that I have as a development environment.
The only thing that fixed the issue was simply restarting my virtual machine. Just done a vagrant down & up command, then rackup and back in the game.
This generally means you aren't getting a response from DNS. Your university connection is probably behind a proxy preventing you from directly accessing the Internet. If so, this proxy must be specified in your code. Check your POP3 library documentation, or failing that, you may be able to use a library like socksify that redirects TCP connections through your SOCKS proxy.
Simple. You may be directed through a proxy server. Set up a new connection ,set up your college settings,restart your server and it should work.
ssh into your server and check if the machine is able to resolve the domain.
ping <your_site> should resolve the domain name to IP.
If its not resolving correctly, then there is some problem in your hosting service.
quick fix: You can manually map domain-to-ip in the etc/hosts file of your server.

Resources