Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use conda's distribution of RabbitMQ for arm64 architecture, when available #57

Open
yakutovicha opened this issue Jul 29, 2022 · 4 comments

Comments

@yakutovicha
Copy link
Contributor

yakutovicha commented Jul 29, 2022

Currently, arm64 architecture is not supported for conda builds of RabbitMQ, see here. As a temporary solution, we used the package available in the system for arm64. However, as soon as conda builds for arm architecture are available, we should use them instead.

I asked a question in RMQ google groups. Let's see what and when they reply.

@ltalirz
Copy link
Member

ltalirz commented Jul 30, 2022

Just wondering: if the ubuntu packages for rabbitmq are more up to date in terms of coverage of different CPU architectures, what is the reasoning for switching to conda for managing rabbitmq (and postgresql)?

Have you compared the size of installs via conda environment vs the size of install via ubuntu package?

@yakutovicha
Copy link
Contributor Author

Just wondering: if the ubuntu packages for rabbitmq are more up to date in terms of coverage of different CPU architectures, what is the reasoning for switching to conda for managing rabbitmq (and PostgreSQL)?

The flexibility and easiness of maintenance, I would say. Conda environment lets us be decoupled from the version that is bound to the Ubuntu version.

The arm support will come at some point, I am not worried about it. As a temporary solution we have this:

# Install RabbitMQ in a dedicated conda environment.
# If the architecture is arm64, we install the default version of rabbitmq provided by Ubuntu.
RUN if [ "$TARGETARCH" = "amd64" ]; then \
conda create -c conda-forge -n rmq rabbitmq-server=3.8.14 && conda clean --all -f -y; \
elif [ "$TARGETARCH" = "arm64" ]; then \
apt-get update && apt-get install -y --no-install-recommends \
rabbitmq-server && \
rm -rf /var/lib/apt/lists/* && \
apt-get clean all; \
else \
echo "Unknown architecture: ${TARGETARCH}."; \
fi

Have you compared the size of installs via conda environment vs the size of install via ubuntu package?

yes, the comparison can be found here

@ltalirz
Copy link
Member

ltalirz commented Aug 3, 2022

Conda environment lets us be decoupled from the version that is bound to the Ubuntu version.

Is the version really fixed by Ubuntu?

The standard postgresql installation instructions explain how to install the latest postgres version (or a specific one).

For rabbitmq you can find the .deb file for each release on github https://github.com/rabbitmq/rabbitmq-server/releases that I guess you can install with sudo dpkg -i package.deb (but one will need to install dependencies via apt). That does look a bit more problematic...

@yakutovicha
Copy link
Contributor Author

Is the version really fixed by Ubuntu?

Ok, let me rephrase it: not fixed, but available in Ubuntu without further changes.

The standard postgresql installation instructions explain how to install the latest postgres version (or a specific one).

For rabbitmq you can find the .deb file for each release on github https://github.com/rabbitmq/rabbitmq-server/releases that I guess you can install with sudo dpkg -i package.deb (but one will need to install dependencies via apt). That does look a bit more problematic...

Feel free to give it a try.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants