Fork me on GitHub
#datomic
<
2020-09-22
>
twashing00:09:41

I’m trying to launch a “Solo” Datomic Cloud CloudFormation stack. But it consistently fails with

CREATE_FAILED: Embedded stack arn:aws:cloudformation:blah:blah:stack/appname-StorageF7F305E7-S5WZ9NKP2OOE/ebc51350-fc61-11ea-9f8a-12709ad3d671 was not successfully created: The following resource(s) failed to create: [GetSystemName].
Is there anything basic I’m missing? Details are in this SO post. https://stackoverflow.com/questions/64001410/stack-resource-fails-datomic-cloud-cloudformation-launch

Twan11:09:49

We are running HAProxy to load balance peer requests. What do you recommend to stick our sessions to? Is SSL session ID a good idea?

tvaughan13:09:17

This was many years ago, but I worked on a project that tried to use SSL session ids as a session id. We abandoned it pretty quickly. There was no guarantee that clients would even try to resume an SSL session. Some had built-in timers to reinitiate SSL sessions every n minutes where n was very small. I have no idea if things have changed, but I certainly wouldn't just do this without a lot of research first

Twan15:09:58

But that wasn't an project on Datomic I presume?

tvaughan16:09:32

Correct. It was not Datomic related

Twan10:09:49

Does anyone have an advice on how to do this on a Datomic peer cluster?

xceno11:09:09

I'm currently trying to follow the datomic ions tutorial, but after installing the datomic cli tools I'm stuck: Executing datomic system list-instances <system> fails with AWS Error: Unable to fetch region.. The alternative command using the aws cli directly, succeeds though. I've installed the aws cli via docker and made an alias. Could this be my problem? Edit: Installed AWS CLI tools via docker and tried again with a normal installation of the V1 and V2 tools. But the problem remains. Edit2: Okay nervermind. The old docker aws process was locking the .aws/credential file. With a standard aws cli V1 version everything runs fine now.

ghadi13:09:36

@rob703 is the region set in your AWS profile?

xceno13:09:19

Yes it's all running now, thanks! My problem was the aws docker image blocking my entire ~/.aws directory. So when i finally installed a regular V1 CLI it couldn't access the config files.

xceno13:09:08

I have another question though, that got buried in #beginners. I want to deploy a fulcro3 project with a dependency to libpython-clj to datomic ions. It includes http-kit as server. 1. Can I just ssh into the ION EC2 instance and set up the necessary python environment? 2. When deploying a :web ion: Do I just ignore http-kit and route the incoming request straight through my ring middleware stack, like so?

(def get-items-by-type-lambda-proxy
  (apigw/ionize my-middleware-stack))

(def -main []
   (start-dev-server-normally)

joshkh15:09:19

your web ion points to the ionizeed handler, where as an http-direct connection points to your standard, unionized handler

xceno15:09:28

Perfect thanks! If I can figure out the python part now, I'm all set

marshall18:09:13

the ec2 instance(s) that run datomic are intended to be ephemeral and replaceable, i would definitely recommend against modifying their environments directly

xceno18:09:20

I see, any other ideas than on how to achieve my requirements? Further down the line we might even have the need for EC2 instances with GPU's for some machine learning and rendering tasks. I'd love to have it all neatly packaged in an ion, so we don't have to mess with all the AWS setups ourselves

marshall18:09:02

interesting; I don’t have any ideas offhand, but I’ll bring it up w the team

xceno18:09:31

awesome, thank you!

Yuriy Zaytsev09:09:10

@rob703 consider putting your python code to separate environment and interact via lambdas

xceno12:09:48

I did consider this yesterday evening, it just looses the charm of being able to work with the code through clojure. Setting up a completely separate python environment and accessing it via remote calls just isn't the same as simply using it directly. But yes, if all things fail that will be our workaround. It won't be too bad, but I still hope someone comes up with another solution