diff gcp_batch_netcat.xml @ 6:d25792770df8 draft

planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
author enis
date Thu, 24 Jul 2025 21:59:57 +0000
parents b2ce158b4f22
children fcfb703748b1
line wrap: on
line diff
--- a/gcp_batch_netcat.xml	Thu Jul 24 21:41:18 2025 +0000
+++ b/gcp_batch_netcat.xml	Thu Jul 24 21:59:57 2025 +0000
@@ -21,7 +21,7 @@
         <param name="subnet" type="text" label="GCP Subnet name" optional="false" help="Subnet name where Galaxy is deployed"/>
         <param name="service_account_key" type="data" format="json" label="GCP Service Account Key File" help="JSON key file for GCP service account with Batch API permissions"/>
         <param name="project" type="text" label="GCP Project ID" help="The ID of the GCP project to use. If not provided, will be extracted from the service account key." optional="true"/>
-        <param name="nfs_address" type="text" label="NFS Server Address" help="The address of the NFS server to connect to. Default is the LoadBalancer external IP. If not provided, will be auto-detected from Galaxy's database mount." optional="false"/>
+        <param name="nfs_address" type="text" label="NFS Server Address" help="The LoadBalancer external IP address of the NFS server (e.g., 10.150.0.17). If not provided, the tool will attempt to auto-discover it via Kubernetes API." optional="true"/>
     </inputs>
     <outputs>
         <data name="output" format="txt"/>
@@ -29,45 +29,29 @@
     <help><![CDATA[
 **What it does**
 
-This enhanced tool submits a job to GCP Batch to test network connectivity between Batch workers and your NFS server. It runs comprehensive network debugging tests to help identify connectivity issues in Galaxy deployments on Google Kubernetes Engine (GKE).
+This tool submits a job to GCP Batch to test network connectivity between Batch workers and your NFS server. It provides network debugging to help identify connectivity issues in Galaxy deployments on Google Kubernetes Engine (GKE).
 
-**Enhanced Debugging Features**
-
-The tool now provides detailed network analysis including:
+**NFS Address Auto-Discovery**
 
-* **Network Interface Information**: IP addresses, routing tables
-* **DNS Configuration and Testing**: Nameserver configuration and resolution tests
-* **Primary Connectivity Test**: Connection to NFS server on port 2049
-* **Port Scanning**: Advanced port connectivity testing with nmap
-* **Additional Tests**: External connectivity (Google DNS), Kubernetes API access
-* **Network Path Tracing**: Traceroute to identify routing issues
-* **Socket Statistics**: Active network connections
-* **System Information**: Container OS, kernel, architecture details
+If you don't provide an NFS server address, the tool will attempt to auto-discover it by:
+- Using Kubernetes API to find NFS LoadBalancer services and their external IPs
+- Looking for services with names containing 'nfs', 'nfs-server', 'nfs-provisioner', or 'nfs-ganesha'
+
+**Important: LoadBalancer Configuration**
+
+For NFS connectivity from GCP Batch jobs, your NFS server must be exposed via a LoadBalancer service with an external IP. Internal ClusterIP services are not accessible from external Batch workers.
 
 **Troubleshooting Network Issues**
 
-This tool is particularly useful when Galaxy jobs fail to access shared storage. The comprehensive test output helps identify the root cause:
-
-* **Connection timeouts**: Usually indicates firewall rules blocking traffic or services not accessible from external networks
-* **DNS resolution failures**: May indicate DNS configuration issues
-* **External connectivity works but NFS fails**: Suggests NFS service is ClusterIP type (internal only)
-
-**Viewing Detailed Results**
+The tool helps identify the root cause of connectivity issues:
+- **Connection timeouts**: Usually indicates firewall rules blocking traffic or NFS service not accessible externally
+- **DNS resolution failures**: May indicate DNS configuration issues
+- **Auto-discovery fails**: NFS service may only be exposed as ClusterIP (internal only)
 
-* **Basic results**: Available in the Galaxy output file
-* **Detailed debugging logs**: Check Google Cloud Logging for comprehensive network analysis:
-  ```
-  gcloud logging read 'resource.type=gce_instance AND jsonPayload.job_name="netcat-job-xyz"' --project=your-project
-  ```
-
-**Common Solutions**
+**Best Practices**
 
-If the test fails to connect to your NFS server:
-
-1. **Use NodePort service** to expose NFS externally for testing
-2. **Configure LoadBalancer** with proper firewall rules for production
-3. **Consider Google Cloud Filestore** for managed NFS storage
-
-The enhanced debugging output will guide you to the specific networking issue and solution.
+1. For most reliable results, provide the LoadBalancer external IP explicitly in the "NFS Server Address" field
+2. If auto-discovery fails, check that your NFS service is properly exposed with a LoadBalancer type
+3. Ensure GCP firewall rules allow traffic from Batch subnet to NFS LoadBalancer IP on port 2049
     ]]></help>
 </tool>