Mercurial > repos > enis > gcp_batch_netcat
annotate README.md @ 13:be2f70ae6749 draft default tip
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 2435de746d841f314b70f6257de0a3abaf77ec90
author | enis |
---|---|
date | Fri, 15 Aug 2025 13:14:31 +0000 |
parents | 56543de39954 |
children |
rev | line source |
---|---|
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
1 # GCP Batch NFS and CVMFS Connectivity Test Tool |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
2 |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
3 A Galaxy tool that submits a job to Google Cloud Platform (GCP) Batch service to |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
4 test comprehensive network connectivity to NFS storage and CVMFS repositories. |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
5 This tool is specifically designed for Galaxy deployments using the Galaxy Helm |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
6 chart, where it validates connectivity between GCP Batch workers and critical |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
7 Galaxy infrastructure services. |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
8 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
9 ## Overview |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
10 |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
11 This tool creates and submits a GCP Batch job that runs comprehensive |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
12 connectivity tests using a custom VM image with CVMFS support. It's particularly |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
13 useful for: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
14 - Testing network connectivity and mounting capabilities for NFS storage servers |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
15 - Validating access to Galaxy's CVMFS reference data repositories |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
16 - Verifying NFSv4.2 mounting with proper security contexts |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
17 - Testing specific Galaxy reference data file access (e.g., Arabidopsis TAIR10) |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
18 - Troubleshooting connectivity issues in Galaxy deployments on Kubernetes |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
19 - Debugging firewall rules, NFS export configurations, and CVMFS client setup |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
20 - Comprehensive Network Diagnostics: DNS resolution, routing, and external connectivity |
13
be2f70ae6749
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 2435de746d841f314b70f6257de0a3abaf77ec90
enis
parents:
12
diff
changeset
|
21 - Custom VM Integration: Uses (e.g., `galaxy-k8s-boot-v2025-08-12`) image with pre-configured CVMFS client and NFS support |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
22 The tool is available in the Main Tool Shed at: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
23 https://toolshed.g2.bx.psu.edu/view/enis/gcp_batch_netcat/ |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
24 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
25 ## For use with the Galaxy Helm Chart |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
26 |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
27 This tool is specifically designed for Galaxy deployments using the Galaxy Helm |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
28 chart. A sample deployment can be obtained using the [galaxy-k8s-boot |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
29 repository](https://github.com/galaxyproject/galaxy-k8s-boot/). |
6
d25792770df8
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents:
4
diff
changeset
|
30 |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
31 ## Input Parameters Reference |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
32 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
33 The Galaxy tool interface presents the following parameters: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
34 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
35 ### Required Parameters |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
36 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
37 #### **GCP Batch Region** |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
38 - **Galaxy Label**: "GCP Batch Region" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
39 - **Description**: The GCP region where the Batch job will be submitted |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
40 - **Example**: `us-central1` |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
41 - **Note**: Choose the region as the Galaxy deployment |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
42 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
43 #### **GCP Network name** |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
44 - **Galaxy Label**: "GCP Network name" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
45 - **Description**: The name of the GCP VPC network in which Galaxy runs |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
46 - **Examples**: `default`, `galaxy-vpc` |
6
d25792770df8
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents:
4
diff
changeset
|
47 - **Important**: The network must allow communication between Batch workers and the target services |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
48 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
49 #### **GCP Subnet name** |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
50 - **Galaxy Label**: "GCP Subnet name" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
51 - **Description**: The name of the subnet in which Galaxy runs |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
52 - **Examples**: `default` |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
53 |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
54 #### **NFS Server Address** |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
55 - **Galaxy Label**: "NFS Server Address" |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
56 - **Description**: LoadBalancer external IP address of the NFS service that GCP Batch jobs should connect to. This is typically a private IP within your VPC network that's accessible to Batch jobs but not the public internet. This must be the LoadBalancer external IP, not the ClusterIP that Galaxy pods use internally. |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
57 - **Example**: `10.150.0.60` (LoadBalancer external IP - private within VPC) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
58 - **Important**: This is different from the internal ClusterIP (e.g., `10.43.86.187`) that Galaxy pods use |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
59 - **How to find**: `kubectl get svc -n nfs-provisioner` and look for the EXTERNAL-IP of the LoadBalancer service |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
60 |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
61 #### **GCP Service Account Key File** |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
62 - **Galaxy Label**: "GCP Service Account Key File" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
63 - **Format**: JSON file |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
64 - **Description**: Upload the JSON key file for a GCP service account with Batch API permissions |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
65 - **Required Permissions**: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
66 - Batch Job Editor role (or equivalent permissions) |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
67 - Access to the specified network and subnet |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
68 - **How to Create**: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
69 1. Go to GCP Console → IAM & Admin → Service Accounts |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
70 2. Create a new service account or select existing one |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
71 3. Assign "Batch Job Editor" role |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
72 4. Create and download JSON key |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
73 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
74 ### Optional Parameters |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
75 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
76 #### **GCP Project ID** |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
77 - **Galaxy Label**: "GCP Project ID" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
78 - **Description**: The ID of the GCP project where the Batch job should be created |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
79 - **Auto-extraction**: If left blank, the project ID is automatically extracted from the service account key file |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
80 - **Example**: `my-galaxy-project` |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
81 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
82 ## Using the Tool in Galaxy |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
83 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
84 ### What Happens |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
85 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
86 The tool will: |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
87 1. **Submit a GCP Batch job** using a custom VM image (galaxy-k8s-boot-v2025-08-12) with CVMFS client pre-installed |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
88 2. **Trigger CVMFS mount** on the host VM by accessing the Galaxy data repository |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
89 3. **Run a container** with bind-mounted CVMFS from the host to test comprehensive connectivity |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
90 4. **Test NFS connectivity** including: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
91 - Basic network connectivity to port 2049 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
92 - NFS volume mounting via GCP Batch (avoiding container capability issues) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
93 - Directory listing and dynamic PVC discovery |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
94 - Search for actual Galaxy directories (jobs_directory, shed_tools, objects, tools, cache) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
95 - Write access testing to verify Batch job permissions |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
96 5. **Test CVMFS access** including: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
97 - Repository accessibility and directory listing |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
98 - Specific file access (Arabidopsis TAIR10 reference genome) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
99 - Galaxy reference data directory validation |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
100 6. **Comprehensive network diagnostics** including: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
101 - DNS resolution testing |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
102 - Network routing analysis |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
103 - External connectivity verification |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
104 7. **Generate detailed report** with success/failure status and troubleshooting information |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
105 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
106 ## Setup Requirements |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
107 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
108 Before using this tool in Galaxy, ensure you have: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
109 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
110 ### GCP Prerequisites |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
111 - A GCP project with the Batch API enabled |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
112 - A VPC network and subnet where both Galaxy and the NFS server can communicate |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
113 - A service account with "Batch Job Editor" role |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
114 - Downloaded JSON key file for the service account |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
115 - Access to the custom VM image: e.g., `galaxy-k8s-boot-v2025-08-12` |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
116 |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
117 ### NFS Server Setup |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
118 - The NFS service must be accessible via LoadBalancer with external IP (typically private within VPC) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
119 - NFS server should support NFSv4.2 with sec=sys security |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
120 - Exports should be configured to allow access from GCP Batch subnet |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
121 ``` |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
122 apiVersion: v1 |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
123 kind: Service |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
124 metadata: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
125 name: nfs-provisioner-nfs-server-provisioner |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
126 namespace: nfs-provisioner |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
127 annotations: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
128 cloud.google.com/load-balancer-type: "Internal" |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
129 spec: |
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
130 type: LoadBalancer |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
131 ports: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
132 - name: nfs |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
133 port: 2049 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
134 protocol: TCP |
4
2ff4a39ea41b
planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents:
diff
changeset
|
135 ``` |
11
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
136 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
137 ### CVMFS Requirements |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
138 - The custom VM image includes a pre-configured CVMFS client |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
139 - CVMFS repositories are mounted via autofs on first access |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
140 - Galaxy data repository (`data.galaxyproject.org`) should be accessible |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
141 - Network connectivity to CVMFS stratum servers |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
142 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
143 ## Key Features |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
144 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
145 ### NFS Volume Mounting |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
146 The tool uses GCP Batch's native NFS volume support instead of attempting to mount from within containers. This approach: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
147 - **Eliminates capability issues**: No need for privileged containers or CAP_SYS_ADMIN |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
148 - **Improves reliability**: Batch handles the mount with full host privileges |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
149 - **Simplifies debugging**: Clear separation between network connectivity and mount issues |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
150 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
151 ### Dynamic Galaxy Directory Discovery |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
152 The tool automatically discovers Galaxy installations regardless of PVC structure: |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
153 - **Smart PVC detection**: Finds all `pvc-*` directories under `/export` |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
154 - **Flexible directory mapping**: Adapts to actual Galaxy directory structure (`jobs_directory`, `shed_tools`, etc.) |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
155 - **Comprehensive validation**: Tests both read and write access to Galaxy directories |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
156 - **Detailed reporting**: Shows directory contents, sizes, and file counts for verification |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
157 |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
158 ### Comprehensive Testing |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
159 - **Network connectivity**: Basic port testing and DNS resolution |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
160 - **NFS functionality**: Mount verification and directory access |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
161 - **CVMFS access**: Repository mounting and file availability |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
162 - **Galaxy structure**: Specific directory and file validation |
fe0bf22037a5
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents:
6
diff
changeset
|
163 - **Write permissions**: Actual file creation tests to verify Batch job capabilities |