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

ARM64 architecture is not supported in ansible playbooks #36

Open
norhan-ali-araba opened this issue Feb 27, 2024 · 2 comments
Open

ARM64 architecture is not supported in ansible playbooks #36

norhan-ali-araba opened this issue Feb 27, 2024 · 2 comments
Assignees

Comments

@norhan-ali-araba
Copy link

I was trying to run install-oss-hlf.yml ansible playbook to install operator and console, however under arch it doesn't allow me to add arm64
fatal: [localhost]: FAILED! => {"changed": false, "msg": "arch not specified or is not one of "amd64""}

@norhan-ali-araba norhan-ali-araba changed the title amr64 architecture is not supported in ansible playbooks ARM64 architecture is not supported in ansible playbooks Feb 27, 2024
@arner
Copy link
Contributor

arner commented Apr 30, 2024

Do we know why the limitation is there?

@arner
Copy link
Contributor

arner commented Jun 1, 2024

Here are some preliminary findings. I haven't been able to fully test it but at first sight it doesn't seem too complicated.

  • There are checks in the following files that stop you from configuring arch: amd64:
    • roles/fabric_console/tasks/create.yml
    • roles/fabric_operator_crds/tasks/create.yml
    • roles/hlfsupport_console/tasks/create.yml
    • roles/hlfsupport_crds/tasks/create.yml
  • The following templates use hardcoded architecture, this can be changed to the {{ arch }} variable if the hlfsupport images also support it:
    • roles/fabric_console/templates/k8s/hlf-operations-console.yaml.j2
    • roles/fabric_operator_crds/templates/openshift/manager/hlf-operator-manager.yaml.j2
  • In some places in the code, beta.kubernetes.io/arch should be replaced with kubernetes.io/arch.

Finally, the playbooks are configured to use ghcr.io/ibm-blockchain/fabric-deployer:latest-amd64 by default. That repo is archived and the image has not been changed in 2 years, but the source code is now part of the fabric-operations-console repo. A new image can manually be created like this:

git clone [email protected]:hyperledger-labs/fabric-operations-console.git
cd fabric-operations-console/packages/fabric-deployer
export IMAGE=new-repository/fabric-deployer
GO_VER=1.20.12-5 make image
make image-push

Of course it would be better if that image is built as part of the fabric-operations-console CI pipeline.

Are the maintainers of the fabric-ansible-collection open to these updates, provided there will be multi-arch images for the deployer?

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

6 participants