Skip to content

Conversation

@Mitchob
Copy link
Collaborator

@Mitchob Mitchob commented Feb 2, 2026

Summary

  • This PR updates documentation and build tooling to make BioImage infrastructure‑agnostic and easier to build from scratch.
  • Primary aim: verify building the bioimage end‑to‑end using the available scripts and document the process for different OpenStack providers (tested on Nectar and Nirin).

What I changed:

  • README.md: Rewrote and expanded the README to be infra‑agnostic. Added a clear intro to BioImage, step‑by‑step instructions for creating a head VM, obtaining/sourcing OpenStack RC files, activating the environment, and building images. Included example references for Nectar and Nirin (tested on 2026-02-02).
  • .gitignore: added patterns for credentials, logs, and local virtualenvs.
    • build/build-bioimage.yml: reliability fixes and small functional changes:
    • Wait for apt/dpkg locks before operations.
    • Retry apt updates with retries/delay.
    • Install Java 21 and set it as the default java (required for Nextflow).
    • Set Nextflow-related env vars for deterministic checks.
    • Default CVMFS_HTTP_PROXY to 'DIRECT' (increase portability) and removed aggressive probes.
  • Packer configs:
    • Added a generic template: build/openstack-bioimage.pkr.hcl (template requiring user to fill flavor, networks, availability_zone, source_image).
    • Moved/added provider examples:
      • build/examples/openstack-bioimage-nectar.pkr.hcl (example config used for Nectar)
      • build/examples/openstack-bioimage-nirin.pkr.hcl (example config used for Nirin)
    • Provisioner ansible blocks improved to set ansible env vars and avoid host key checking in automated builds.
  • Docs:
    • docs/cvmfs.md: new doc explaining CVMFS usage in BioImage.
    • docs/nirin.md: provider‑specific guidance for Nirin (instance creation, scripts, common tasks).
  • Renames/relocations in build folder to separate examples from template and make it clear which values must be filled per provider.

Testing performed

  • Built the image using the example Packer configs against Nectar and Nirin environments (example configs included).
  • Verified the build playbook handles apt locks and apt update retry behavior and that Nextflow can be interrogated via nextflow -version in the image build step.
  • Confirmed that CVMFS is configured as DIRECT by default (portable across clouds), with instructions for setting cloud-specific proxies if available.

Next steps

  • see if we can move the tasks out of the playbook as they are, and into a separate bioimage role
  • refactor to ensure that anything specifically needed for NCI/Nectar/AWS/anywhere else is templated out into variables
  • Intoduce tests to make sure updates arent breaking things

Mitchob and others added 25 commits December 9, 2025 02:09
… added an introductory explanation of the Bioimage
…n a provider-agnostic OpenStack cloud? Nirin details moved to a nirin document
@Mitchob Mitchob requested a review from georgiesamaha February 2, 2026 05:04
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

Successfully merging this pull request may close these issues.

1 participant