Code Monkey home page Code Monkey logo

Comments (5)

theihor avatar theihor commented on July 17, 2024 1

That error is very unexpected. I could not reproduce this on Linux.

Our current hypothesis is that there is an incompatibility of podman's VM with MacOS when using memory mapped files. We'll look into it more closely.

Could you try using docker to run your compose.yml? Docker runs natively on Macs, so this way we can verify if it is indeed a podman problem, and not a bug in AG code.

Regarding superuser, I missed that there is a simpler way to set it for your setup (no need for custom entrypoint). You can add this line to agraph.cfg.

SuperUser user:password

from docker-agraph.

theihor avatar theihor commented on July 17, 2024 1

Unfortunately I cannot use Docker Desktop for MacOS on my organization due to Docker's new licensing model. That's the reason I'm moving to Podman since everything worked "fine" with Docker Desktop.

In this situation I would recommend running AllegroGraph containers on Linux.

We are looking into this to make sure there is no bug in AGraph or ACL, but if the mmap error turns out to be caused by podman + VM-to-run-on-Mac, there is little Franz can do.

I'll post updates here if we find something out.

from docker-agraph.

theihor avatar theihor commented on July 17, 2024

Hello. Thank you for reporting an issue.

I was able to run the example you've provided with podman-compose on Linux, so this is not a podman compatibility problem.

From the output log it looks like container misses some OS permissions.

sudo: unable to send audit message
sudo: pam_open_session: System error
sudo: policy plugin failed session initialization
exit code: 1

This is controlled not by a container image, but by a program that starts a container.

This is a guess, but you may try adding cap_add with relevant capabilities to your compose.yaml. For example:

    cap_add:
      - ALL

Documentation on cap_add here: https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities

This may be a Mac-specific issue. Let me know if cap_add helps.
If not, we'll take a closer look on a Mac machine.


A separate problem I noticed is that username and password are not generated if the /agraph/etc/agraph.cfg exists at a time entrypoint.sh is running. This is the case in your example, because you mount agraph.cfg in compose.yml.

This is a bug in the entrypoint.sh, we'll let you know when it's fixed.

In the meanwhile, here is a hacky workaround.
Create a custom start.sh

#!/bin/bash
/entrypoint.sh echo "##### Don't start yet, replacing agraph.cfg"
cp -f /agraph/etc/custom-agraph.cfg /agraph/etc/agraph.cfg
/entrypoint.sh # Start for real

The first entrypoint here will create a superuser for AG.

Change volumes section to

    volumes:
      - ./agraph-config/agraph.cfg:/agraph/etc/custom-agraph.cfg
      - ./agraph-data:/agraph/data/
      - ./start.sh:/agraph/start.sh

Override entrypoint:

    entrypoint: /agraph/start.sh

I hope this is helpful.

from docker-agraph.

eltonfss avatar eltonfss commented on July 17, 2024

Thank you very much for your help @theihor!

I've performed the steps you indicated and the server was able to start up successfully.

Nonetheless, now there is an error occurring when I try to create a repository named test.

image

Here is my current configuration: agraph_issue_example.zip

OBS1: Had to perform chmod +x start.sh for it to work properly.
OBS2: Placed start.sh on agraph-config dir instead of putting it on the root dir.

from docker-agraph.

eltonfss avatar eltonfss commented on July 17, 2024

Hi @theihor,

Again, thanks for the help!

Unfortunately I cannot use Docker Desktop for MacOS on my organization due to Docker's new licensing model. That's the reason I'm moving to Podman since everything worked "fine" with Docker Desktop.

P.S. Sorry for the delay for answering, I'm a bit short of time at this moment, but will get back to it as soon as things calm down over here.

from docker-agraph.

Related Issues (9)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.