These are chat archives for akkadotnet/akka.net

25th
Sep 2016
Jason Bock
@JasonBock
Sep 25 2016 00:09
Well, I realized some of my NuGet packages were not updated, so I made sure all my projects had the most recent versions and that removed the error. Now I'm having an issue where the client can't talk to the system because Akka thinks the address is incorrect. Not sure what I need to do in the worker role to get all the configuration right so a client can talk to the system.
Chris Martin
@trbngr
Sep 25 2016 00:24
How in the hell do you guys provision a cluster in Azure? I thinking multiple instances in a cloud service. We have to know the ports ahead of time to create the endpoint. But how do you assign a port to an instance? Maddening....
Jason Bock
@JasonBock
Sep 25 2016 00:26
I'm using RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["UserActorEndpoint"] to get the Address and Port but even putting that into my HOCON configuration dynamically doesn't seem to work. The client still gets an error
akka.tcp://KeyWatcherListener@localhost:4545 ---> Akka.Remote.Transport.InvalidAssociationException: Association failure ---> Akka.Remote.Transport.AkkaProtocolException: The remote system explicitly disassociated (reason unknown).
That's the error I'm getting. Changing that to "127.0.0.1" doesn't matter (I'm doing this locally first)
Chris Martin
@trbngr
Sep 25 2016 00:27
what's your helios.tcp config look like?
Jason Bock
@JasonBock
Sep 25 2016 00:27
        var endpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["UserActorEndpoint"];
        var config = ConfigurationFactory.ParseString($@"
akka {{
actor {{
provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
}}
remote {{
helios.tcp {{
port = {endpoint.IPEndpoint.Port}
hostname = {endpoint.IPEndpoint.Address}
}}
}}
}}
");
Chris Martin
@trbngr
Sep 25 2016 00:27
I'm assuming single instance.
Jason Bock
@JasonBock
Sep 25 2016 00:28
sorry for the formatting
Chris Martin
@trbngr
Sep 25 2016 00:28
cool
Jason Bock
@JasonBock
Sep 25 2016 00:28
this.system = ActorSystem.Create("KeyWatcherListener", config);
That's what I do in my worker role, and that works (at least it doesn't fail)
but the client app gets the exception when it tries to talk to the system.
Chris Martin
@trbngr
Sep 25 2016 00:29
so you get a unique port per instance?
Chris Martin
@trbngr
Sep 25 2016 00:36
I see now. I was setting up NAT with public-hostname which may just need to be the IPAddress
and not the public IP of the cloud service
Chris Martin
@trbngr
Sep 25 2016 00:44
BTW: my config
Jason Bock
@JasonBock
Sep 25 2016 00:49
This is just using the local Azure compute emulator
Chris Martin
@trbngr
Sep 25 2016 00:49
Using that config ^ works locally for me
Jason Bock
@JasonBock
Sep 25 2016 00:50
Ok...I'll give it a whirl
BTW the port isn't dynamic, it's what I assigned it to in the endpoint configuration screen (4545)
what is the URI that you use to connect to the system locally?
Chris Martin
@trbngr
Sep 25 2016 00:52
Right....Just an oversight on my part. Azure is such a pain. Or maybe it's .NET.
I have zero problems in AWS w/ Scala Akka ;)
btw. My local config is single instance. I suppose I should test multi there too
Chris Martin
@trbngr
Sep 25 2016 00:58
RoleEnvironment.CurrentRoleInstance.InstanceEndpoints will not work in the cloud. It gives back the private IP of the machine. Back to using the public IP of the cloud service. Now how do I get some dynamic ports working?
What we need is the ability to join a cloudservice to a VNet. ugh....azure.....
Chris Martin
@trbngr
Sep 25 2016 01:10
Of course that doesn't work. sigh.
Chris Martin
@trbngr
Sep 25 2016 01:24
That doesn't work with ARM VNets. Which I'm using to host my lighthouse VMs.
Chris Martin
@trbngr
Sep 25 2016 01:45
The answer lies somewhere with InstanceInputEndpoint/AllocatePublicPortFrom/FixedPortRange but I'm too frustrated to dig further.
Chris Martin
@trbngr
Sep 25 2016 02:08
@JasonBock Sorry I just noticed that I missed this what is the URI that you use to connect to the system locally?. I just use localhost locally.
Jason Bock
@JasonBock
Sep 25 2016 02:17
OK, thanks for checking. That's what I used, and still no dice :(
Peter Bergman
@peter-bannerflow
Sep 25 2016 14:05
@trbngr I use a cloud service (web role) together with VMs and they are all on the same VNet. Seem to work fine. I think I had to use classic VMs + classic VNet to get it working. As for config, I use the private subnet IP of the box as hostname.
Bart de Boer
@boekabart
Sep 25 2016 20:33
So with 1.1.2 out the door ... is Akka.Pers.SQLite now supported for Mono ?
I recall when I tried a while back, the loading of the actual SQLite.dll was (obviously) a problem on macOS
Chris Martin
@trbngr
Sep 25 2016 20:36
@peter-bannerflow thanks. I'll give it another whirl tomorrow. Private IP works when I can connect to the vnet 🤑
Arsene Tochemey GANDOTE
@Tochemey
Sep 25 2016 22:04
This message was deleted