{"id":21721439,"url":"https://github.com/informaticsmatters/galaxy-patch","last_synced_at":"2025-09-06T00:34:01.983Z","repository":{"id":80605052,"uuid":"212592234","full_name":"InformaticsMatters/galaxy-patch","owner":"InformaticsMatters","description":"An Ansible playbook to patch our Galaxy cluster","archived":false,"fork":false,"pushed_at":"2021-11-02T12:16:03.000Z","size":84,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-25T18:43:21.046Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InformaticsMatters.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-03T13:50:56.000Z","updated_at":"2021-11-02T12:16:06.000Z","dependencies_parsed_at":"2023-07-01T18:46:18.102Z","dependency_job_id":null,"html_url":"https://github.com/InformaticsMatters/galaxy-patch","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fgalaxy-patch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fgalaxy-patch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fgalaxy-patch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InformaticsMatters%2Fgalaxy-patch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InformaticsMatters","download_url":"https://codeload.github.com/InformaticsMatters/galaxy-patch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244693829,"owners_count":20494516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-26T02:16:50.790Z","updated_at":"2025-03-20T21:43:31.152Z","avatar_url":"https://github.com/InformaticsMatters.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Galaxy Patch (OpenStack)\n\nAnsible playbook and roles to patch an OpenStack Galaxy deployment\n\nThis code (two Ansible roles and a `site.yaml`) are used to *increase* the size\nof an existing Galaxy/Condor cluster. It simply creates `exec` instances\nand then *patches* them by: -\n\n1.  Templating `auto.data`. **Importantly** The NFS exports must already be\n    available - this play does not setup the NFS server's devices, mounts or\n    exports\n2.  Templating `condor_config.local`\n3.  Templating `data.autofs`\n4.  Restarting the `nfs`, `autofs` and `condor` services\n\n### Significant variables\n\n-   `exec_base_name`\n-   `exec_type`\n-   `exec_count` - the number of new exec instances to create\n-   `exec_offset` - the numerical offset of the first exec instance.\n    If you're adding to a cluster and you have instances `0` to `10`\n    this would normally be `11`\n-   `create_exec_instances` - if `no` new instances are not created\n    but the *patching* is still applied to all exec instances in the cluster\n\n## Usage\n\n1.  Clone onto a suitable *bastion* in the cluster\n2.  Inspect the variables (in `group_vars/all/main.yaml`) and create\n    a local `parameters.yaml` file for any values you need to adjust\n3.  Inspect the templates to ensure they reflect your needs\n    (specifically the mounts in `auto.data.j2`)\n\nNormally run from the DLS bastion as `mauro`: -\n\n    $ sudo -iu mauro\n    $ cd galaxy-patch\n    $ git pull\n\nSet your keystone environment variables (here we're using a script that \nprompts you for your username and password), check the parameters,\nand run the playbook with: -\n \n    $ source ~/keystone_v3_for_anyone.sh\n    [...]\n    [check parameters.yaml] \n    $ ansible-playbook site.yaml -e @parameters.yaml\n\n\u003e   You may need to run the playbook a number of times - especially if your\n    instances have different base names. At the time of writing we have\n    used `pulsar-exec-node`, `pulsar-exec-node-b`, `pulsar-exec-node-gpu`,\n    `pulsar-exec-node-gpu-b` and `pulsar-submit-machine` as a base-names\n    for our instances.\n\n\u003e   The machines that match your chosen `exec_base_name`\n    are expected to be named `\u003cexec_base_name\u003e-[0-9]*`. If the machine names\n    do not match, no machines will be placed in the inventory and nothing\n    will be run.\n\nFor all our current machines, using the command-line for non-GPU nodes: -\n\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-a -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-b -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-c -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-d -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-e -e exec_is_gpu=no\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-submit-machine -e exec_is_gpu=no\n\nand for GPU nodes: -\n\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-cuda -e exec_is_gpu=yes\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-cuda-a -e exec_is_gpu=yes\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-cuda-b -e exec_is_gpu=yes\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-cuda-x4 -e exec_is_gpu=yes\n    $ ansible-playbook site.yaml -e exec_base_name=pulsar-exec-node-cuda-x2 -e exec_is_gpu=yes\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fgalaxy-patch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finformaticsmatters%2Fgalaxy-patch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finformaticsmatters%2Fgalaxy-patch/lists"}