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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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