annotate gcp_batch_netcat.py @ 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 fe0bf22037a5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
1 import argparse
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
2 import json
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
3 import logging
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
4 import os
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
5 import sys
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
6 import uuid
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
7 from google.cloud import batch_v1
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
8
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
9 # Configure logging to go to stdout instead of stderr to avoid Galaxy marking job as failed
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
10 logging.basicConfig(
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
11 level=logging.INFO,
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
12 format='%(asctime)s - %(levelname)s - %(message)s',
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
13 stream=sys.stdout
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
14 )
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
15 logger = logging.getLogger(__name__)
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
16
7
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
17
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
18
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
19 def determine_test_target(args):
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
20 """Determine the target host and port based on test type"""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
21
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
22 if args.test_type == 'nfs':
7
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
23 # NFS server address is required
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
24 if not args.nfs_address:
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
25 raise ValueError("NFS server address is required. Please provide --nfs_address parameter with the LoadBalancer external IP.")
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
26
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
27 nfs_address = args.nfs_address
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
28 logger.info(f"Using provided NFS address: {nfs_address}")
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
29 return nfs_address, 2049
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
30
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
31 else:
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
32 raise ValueError(f"Unsupported test type: {args.test_type}")
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
33
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
34 def main():
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
35 parser = argparse.ArgumentParser()
7
fcfb703748b1 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 6
diff changeset
36 parser.add_argument('--nfs_address', required=True, help='NFS server LoadBalancer external IP address (required)')
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
37 parser.add_argument('--output', required=True)
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
38 parser.add_argument('--project', required=False, help='GCP Project ID (if not provided, will be extracted from service account key)')
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
39 parser.add_argument('--region', required=True)
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
40 parser.add_argument('--network', default='default', help='GCP Network name')
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
41 parser.add_argument('--subnet', default='default', help='GCP Subnet name')
2
79160beab2a4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 0
diff changeset
42 parser.add_argument('--service_account_key', required=True)
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
43 args = parser.parse_args()
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
44
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
45 # Default to NFS test type since that's what this tool is for
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
46 args.test_type = 'nfs'
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
47
2
79160beab2a4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 0
diff changeset
48 # Set up authentication using the service account key
79160beab2a4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 0
diff changeset
49 os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = args.service_account_key
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
50 logger.info(f"Authentication configured with service account: {args.service_account_key}")
2
79160beab2a4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 0
diff changeset
51
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
52 # Extract GCP project ID from service account key if not provided
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
53 if args.project:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
54 project_id = args.project
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
55 logger.info(f"Using provided project ID: {project_id}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
56 else:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
57 try:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
58 with open(args.service_account_key, 'r') as f:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
59 service_account_data = json.load(f)
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
60 project_id = service_account_data.get('project_id')
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
61 if not project_id:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
62 raise ValueError("project_id not found in service account key file")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
63 logger.info(f"Extracted project ID from service account key: {project_id}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
64 except Exception as e:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
65 logger.error(f"Failed to extract project ID from service account key: {e}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
66 raise
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
67
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
68 # Determine target host and port based on test type
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
69 try:
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
70 target_host, target_port = determine_test_target(args)
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
71 logger.info(f"Target determined: {target_host}:{target_port}")
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
72 except Exception as e:
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
73 logger.error(f"Failed to determine target: {e}")
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
74 raise
3
0ea626b10557 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 2
diff changeset
75
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
76 job_name = f'netcat-job-{uuid.uuid4()}'
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
77 logger.info(f"Generated job name: {job_name}")
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
78
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
79 # Create Batch client
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
80 logger.info("Creating Batch client...")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
81 client = batch_v1.BatchServiceClient()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
82 logger.info("Batch client created successfully")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
83
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
84 # Create a comprehensive test script
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
85 test_script = f'''#!/bin/bash
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
86 set -e
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
87 echo "=== GCP Batch NFS Connectivity Test ==="
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
88 echo "Target: {target_host}:{target_port}"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
89 echo "Timestamp: $(date)"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
90 echo "Container hostname: $(hostname)"
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
91 echo "Host VM Image: galaxy-k8s-boot-v2025-08-12"
10
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
92 echo "Container Image: afgane/gcp-batch-netcat:0.3.0"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
93 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
94
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
95 # Basic system info
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
96 echo "=== System Information ==="
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
97 echo "OS Release:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
98 cat /etc/os-release | head -5 2>/dev/null || echo "OS release info not available"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
99 echo "Kernel version:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
100 uname -r
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
101 echo "Architecture:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
102 uname -m
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
103 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
104
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
105 # Basic network info
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
106 echo "=== Network Information ==="
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
107 echo "Container IP addresses:"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
108 hostname -I
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
109 echo "Default route:"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
110 ip route | grep default || echo "No default route found"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
111 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
112
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
113 # DNS configuration
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
114 echo "=== DNS Configuration ==="
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
115 echo "DNS servers:"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
116 cat /etc/resolv.conf | grep nameserver || echo "No nameservers found"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
117 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
118
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
119 # Test DNS resolution of target
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
120 echo "=== DNS Resolution Test ==="
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
121 echo "Resolving {target_host}:"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
122 nslookup {target_host} || {{
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
123 echo "DNS resolution failed for {target_host}"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
124 echo "Trying with Google DNS (8.8.8.8):"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
125 nslookup {target_host} 8.8.8.8 || echo "DNS resolution failed even with Google DNS"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
126 }}
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
127 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
128
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
129 # Basic connectivity test
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
130 echo "=== Primary NFS Connectivity Test ==="
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
131 echo "Testing connection to NFS server {target_host}:{target_port}..."
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
132 timeout 30 nc -z -v -w 10 {target_host} {target_port}
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
133 nc_result=$?
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
134 echo "Netcat result: $nc_result"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
135 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
136
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
137 # NFS client capabilities
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
138 echo "=== NFS Client Information ==="
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
139 echo "NFS client version:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
140 /sbin/mount.nfs -V 2>/dev/null || echo "mount.nfs not available"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
141 echo "RPC services:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
142 rpcinfo -p 2>/dev/null || echo "rpcinfo not available"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
143 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
144
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
145 # Additional connectivity tests
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
146 echo "=== Additional Connectivity Tests ==="
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
147 echo "Testing external connectivity (Google DNS 8.8.8.8:53):"
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
148 timeout 10 nc -z -v -w 5 8.8.8.8 53 && echo "✓ External DNS reachable" || echo "✗ External DNS unreachable"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
149
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
150 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
151 echo "=== Network Troubleshooting ==="
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
152 echo "Route table:"
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
153 ip route
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
154 echo ""
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
155
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
156 # NFS Mount Test - Check if Batch mounted it for us
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
157 echo "=== NFS Mount Test (via Batch Volume) ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
158 NFS_MOUNT_POINT="/mnt/nfs"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
159 mount_result=1
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
160
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
161 echo "Checking if NFS is mounted by Batch at $NFS_MOUNT_POINT..."
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
162 if [ -d "$NFS_MOUNT_POINT" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
163 echo "✓ NFS mount point exists"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
164
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
165 # Check if it's actually mounted
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
166 if mount | grep "$NFS_MOUNT_POINT"; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
167 mount_result=0
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
168 echo "✓ NFS mounted by Batch successfully!"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
169
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
170 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
171 echo "=== NFS Share Contents ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
172 echo "Long listing of NFS share:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
173 ls -la "$NFS_MOUNT_POINT" 2>/dev/null || echo "Could not list directory contents"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
174
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
175 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
176 echo "Disk usage of NFS share:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
177 df -h "$NFS_MOUNT_POINT" 2>/dev/null || echo "Could not get disk usage"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
178
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
179 # Look for export subdirectories
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
180 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
181 echo "=== Looking for export directories ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
182 if [ -d "$NFS_MOUNT_POINT/export" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
183 echo "✓ Found: export directory"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
184 ls -la "$NFS_MOUNT_POINT/export" | head -10 2>/dev/null || echo "Could not list export contents"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
185
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
186 # Look for PVC subdirectories
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
187 echo "Looking for PVC directories in export..."
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
188 find "$NFS_MOUNT_POINT/export" -name "pvc-*" -type d | head -5 2>/dev/null || echo "No PVC directories found"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
189 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
190 echo "✗ No export directory found"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
191 fi
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
192
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
193 # Try to find common Galaxy directories
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
194 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
195 echo "=== Looking for Galaxy directories ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
196
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
197 # First check if they exist directly in the NFS root
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
198 galaxy_dirs_in_root=0
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
199 for dir in "jobs_directory" "shed_tools" "objects" "tools" "cache" "config"; do
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
200 if [ -d "$NFS_MOUNT_POINT/$dir" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
201 echo "✓ Found in root: $dir"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
202 ls -la "$NFS_MOUNT_POINT/$dir" | head -5
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
203 galaxy_dirs_in_root=$((galaxy_dirs_in_root + 1))
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
204 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
205 done
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
206
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
207 if [ $galaxy_dirs_in_root -eq 0 ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
208 echo "✗ No Galaxy directories found in NFS root"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
209 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
210 echo "✓ Found $galaxy_dirs_in_root Galaxy directories in NFS root"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
211 fi
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
212
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
213 # Then check inside any PVC directories under export
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
214 if [ -d "$NFS_MOUNT_POINT/export" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
215 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
216 echo "=== Checking PVC directories for Galaxy structure ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
217
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
218 # Find all PVC directories
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
219 pvc_count=0
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
220 for pvc_dir in $(find "$NFS_MOUNT_POINT/export" -name "pvc-*" -type d 2>/dev/null); do
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
221 pvc_count=$((pvc_count + 1))
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
222 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
223 echo "Checking PVC ($pvc_count): $(basename $pvc_dir)"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
224 echo " Full path: $pvc_dir"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
225
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
226 # Show directory listing of PVC
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
227 echo " Contents:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
228 ls -la "$pvc_dir" | head -10 | sed 's/^/ /'
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
229
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
230 # Check for Galaxy directories inside this PVC
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
231 galaxy_dirs_found=0
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
232 for dir in "jobs_directory" "shed_tools" "objects" "tools" "cache" "config" "deps" "tmp"; do
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
233 if [ -d "$pvc_dir/$dir" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
234 echo " ✓ Found Galaxy directory: $dir"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
235 # Show a sample of contents
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
236 ls -la "$pvc_dir/$dir" 2>/dev/null | head -3 | sed 's/^/ /'
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
237 galaxy_dirs_found=$((galaxy_dirs_found + 1))
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
238 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
239 done
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
240
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
241 # Check for Galaxy-specific files
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
242 galaxy_files_found=0
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
243 for file in "galaxy.yml" "universe_wsgi.ini" "config/galaxy.yml" "results.sqlite" "celery-beat-schedule"; do
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
244 if [ -f "$pvc_dir/$file" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
245 echo " ✓ Found Galaxy file: $file"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
246 galaxy_files_found=$((galaxy_files_found + 1))
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
247 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
248 done
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
249
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
250 total_indicators=$((galaxy_dirs_found + galaxy_files_found))
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
251 if [ $total_indicators -gt 0 ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
252 echo " 🎯 This PVC contains $galaxy_dirs_found Galaxy directories and $galaxy_files_found Galaxy files"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
253
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
254 # Test write access
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
255 test_file="$pvc_dir/.batch_test_file_$(date +%s)"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
256 if echo "test" > "$test_file" 2>/dev/null; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
257 echo " ✓ Write access confirmed"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
258 rm -f "$test_file" 2>/dev/null
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
259 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
260 echo " ✗ No write access"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
261 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
262
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
263 # Test specific Galaxy directories access
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
264 if [ -d "$pvc_dir/jobs_directory" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
265 echo " � Jobs directory details:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
266 du -sh "$pvc_dir/jobs_directory" 2>/dev/null | sed 's/^/ /' || echo " Could not get size"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
267 job_count=$(find "$pvc_dir/jobs_directory" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | wc -l)
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
268 echo " Job subdirectories: $job_count"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
269 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
270
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
271 if [ -d "$pvc_dir/shed_tools" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
272 echo " 🔧 Shed tools directory details:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
273 du -sh "$pvc_dir/shed_tools" 2>/dev/null | sed 's/^/ /' || echo " Could not get size"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
274 tool_count=$(find "$pvc_dir/shed_tools" -name "*.py" -o -name "*.xml" 2>/dev/null | wc -l)
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
275 echo " Tool files (py/xml): $tool_count"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
276 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
277 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
278 echo " ✗ No Galaxy directories or files found in this PVC"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
279 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
280 done
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
281
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
282 if [ $pvc_count -eq 0 ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
283 echo "✗ No PVC directories found in export"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
284 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
285 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
286 echo "📊 Summary: Found $pvc_count PVC directories in export"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
287 fi
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
288 else
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
289 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
290 echo "✗ No export directory found in NFS mount"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
291 fi
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
292 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
293 echo "✗ NFS mount point exists but is not mounted"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
294 echo "This suggests Batch volume configuration may be incorrect"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
295 fi
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
296 else
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
297 echo "✗ NFS mount point $NFS_MOUNT_POINT does not exist"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
298 echo "This suggests Batch volume was not configured"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
299 fi
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
300
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
301 # CVMFS Mount Test
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
302 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
303 echo "=== CVMFS Access Test ==="
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
304 echo "Checking if CVMFS is bind-mounted from host VM..."
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
305 if [ -d "/cvmfs" ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
306 echo "✓ /cvmfs directory exists (bind-mounted from host)"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
307 ls -la /cvmfs 2>/dev/null || echo "Could not list /cvmfs contents"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
308
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
309 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
310 echo "Checking for Galaxy CVMFS repository..."
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
311 cvmfs_result=1
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
312 if [ -d "/cvmfs/data.galaxyproject.org" ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
313 cvmfs_result=0
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
314 echo "✓ Galaxy CVMFS repository accessible!"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
315
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
316 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
317 echo "=== CVMFS Repository Contents ==="
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
318 echo "Long listing of CVMFS repository root:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
319 ls -la "/cvmfs/data.galaxyproject.org" 2>/dev/null | head -10 || echo "Could not list directory contents"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
320
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
321 echo ""
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
322 echo "Listing Galaxy reference data directories:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
323 for dir in "byhand" "managed"; do
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
324 if [ -d "/cvmfs/data.galaxyproject.org/$dir" ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
325 echo "✓ Found CVMFS directory: $dir"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
326 ls "/cvmfs/data.galaxyproject.org/$dir" | head -5 2>/dev/null || echo "Could not list contents"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
327 else
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
328 echo "✗ Not found: $dir"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
329 fi
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
330 done
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
331
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
332 echo ""
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
333 echo "=== CVMFS File Access Test ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
334 echo "Testing access to specific Galaxy reference file..."
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
335 echo "File: /cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10/seq/Arabidopsis_thaliana_TAIR10.fa.fai"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
336
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
337 CVMFS_TEST_FILE="/cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10/seq/Arabidopsis_thaliana_TAIR10.fa.fai"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
338 if [ -f "$CVMFS_TEST_FILE" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
339 echo "✓ File exists, reading first 10 lines:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
340 head "$CVMFS_TEST_FILE" 2>/dev/null || echo "Could not read file contents"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
341 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
342 echo "✗ File not found"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
343 echo "Checking if parent directories exist:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
344 [ -d "/cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10" ] && echo " ✓ Arabidopsis_thaliana_TAIR10 directory exists" || echo " ✗ Arabidopsis_thaliana_TAIR10 directory missing"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
345 [ -d "/cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10/seq" ] && echo " ✓ seq directory exists" || echo " ✗ seq directory missing"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
346 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
347
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
348 echo ""
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
349 echo "CVMFS mount information from host:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
350 mount | grep cvmfs || echo "CVMFS mount info not visible from container"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
351 else
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
352 echo "✗ Galaxy CVMFS repository not found at /cvmfs/data.galaxyproject.org"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
353 echo "This may indicate:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
354 echo "- CVMFS client not running on host VM"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
355 echo "- Repository not mounted on host"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
356 echo "- Bind mount not properly configured"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
357 fi
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
358 else
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
359 echo "✗ /cvmfs directory not found"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
360 echo "This indicates the bind mount from host VM failed"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
361 echo "Expected: /cvmfs from host VM bind-mounted into container"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
362 fi
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
363
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
364
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
365 echo ""
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
366 echo "=== Final Result ==="
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
367 if [ $nc_result -eq 0 ] && [ $mount_result -eq 0 ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
368 echo "✓ SUCCESS: Both network connectivity and NFS mount to {target_host}:{target_port} successful"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
369 if [ $cvmfs_result -eq 0 ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
370 echo "✓ BONUS: CVMFS repository mount also successful"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
371 else
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
372 echo "ℹ INFO: CVMFS mount failed (may not be available in this image)"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
373 fi
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
374 exit 0
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
375 elif [ $nc_result -eq 0 ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
376 echo "âš  PARTIAL SUCCESS: Network connectivity successful but NFS mount failed"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
377 echo "Network connection to {target_host}:{target_port} works, but NFS mounting failed."
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
378 echo "This suggests:"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
379 echo "- NFS server is reachable but may not be properly configured"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
380 echo "- NFS export permissions may be incorrect"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
381 echo "- Firewall may allow port 2049 but block other NFS ports (111, 20048)"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
382 if [ $cvmfs_result -eq 0 ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
383 echo "✓ CVMFS repository mount was successful"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
384 fi
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
385 exit 1
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
386 else
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
387 echo "✗ FAILED: Network connectivity to NFS server {target_host}:{target_port} failed"
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
388 echo "This suggests a network connectivity issue between GCP Batch and the NFS server."
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
389 echo "Common causes:"
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
390 echo "- Firewall rules blocking NFS traffic (port 2049)"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
391 echo "- NFS service not accessible from external networks (only ClusterIP)"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
392 echo "- NFS server not properly exposed via LoadBalancer"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
393 echo ""
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
394 echo "Solutions:"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
395 echo "- Ensure NFS service has type LoadBalancer with external IP"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
396 echo "- Check GCP firewall rules allow traffic from Batch subnet to NFS"
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
397 echo "- Verify the IP address is the LoadBalancer external IP, not ClusterIP"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
398 if [ $cvmfs_result -eq 0 ]; then
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
399 echo ""
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
400 echo "✓ CVMFS repository mount was successful (good network connectivity to external services)"
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
401 fi
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
402 exit 1
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
403 fi
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
404 '''
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
405
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
406 # Define the job using the Python client library objects
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
407 logger.info("Building job specification...")
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
408
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
409 # Escape the test script for use in docker command (outside f-string to avoid backslash issues)
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
410 escaped_test_script = test_script.replace("'", "'\"'\"'")
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
411
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
412 # Create a host script that triggers CVMFS mount and then runs the container
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
413 host_script = f'''#!/bin/bash
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
414 set -e
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
415 echo "=== Pre-Container Host Script ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
416 echo "Timestamp: $(date)"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
417 echo "Host VM Image: galaxy-k8s-boot-v2025-08-12"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
418 echo "Running on host before container starts..."
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
419 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
420
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
421 echo "=== Triggering CVMFS Mount ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
422 echo "Checking CVMFS autofs status:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
423 mount | grep cvmfs || echo "No CVMFS mounts yet"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
424
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
425 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
426 echo "Triggering CVMFS mount by accessing repository:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
427 ls /cvmfs/data.galaxyproject.org/ || echo "Could not access CVMFS repository"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
428
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
429 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
430 echo "After access - checking CVMFS mounts:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
431 mount | grep cvmfs || echo "Still no CVMFS mounts visible"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
432
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
433 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
434 echo "Testing specific file access from host:"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
435 if [ -f "/cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10/seq/Arabidopsis_thaliana_TAIR10.fa.fai" ]; then
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
436 echo "✓ CVMFS file accessible from host"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
437 head -3 "/cvmfs/data.galaxyproject.org/byhand/Arabidopsis_thaliana_TAIR10/seq/Arabidopsis_thaliana_TAIR10.fa.fai"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
438 else
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
439 echo "✗ CVMFS file not accessible from host"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
440 fi
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
441
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
442 echo ""
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
443 echo "=== Starting Container ==="
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
444 echo "Running container with bind-mounted CVMFS and NFS..."
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
445
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
446 # Run the container with the test script and volume mounts
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
447 docker run --rm \\
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
448 -v /cvmfs:/cvmfs:ro \\
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
449 -v /mnt/nfs:/mnt/nfs:rw \\
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
450 afgane/gcp-batch-netcat:0.3.0 \\
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
451 /bin/bash -c '{escaped_test_script}'
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
452 '''
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
453
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
454 runnable = batch_v1.Runnable()
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
455 runnable.script = batch_v1.Runnable.Script()
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
456 runnable.script.text = host_script
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
457 logger.debug(f"Host script configured to trigger CVMFS mount and run container")
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
458
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
459 task = batch_v1.TaskSpec()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
460 task.runnables = [runnable]
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
461 task.compute_resource = batch_v1.ComputeResource()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
462 task.compute_resource.cpu_milli = 1000
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
463 task.compute_resource.memory_mib = 1024
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
464 logger.debug(f"Compute resources: CPU={task.compute_resource.cpu_milli}m, Memory={task.compute_resource.memory_mib}MiB")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
465
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
466 # Configure NFS volume in the task
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
467 volume = batch_v1.Volume()
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
468 volume.nfs = batch_v1.NFS()
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
469 volume.nfs.server = target_host
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
470 volume.nfs.remote_path = "/" # Root of the NFS export
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
471 volume.mount_path = "/mnt/nfs"
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
472
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
473 task.volumes = [volume]
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
474 logger.debug(f"NFS volume configured: {target_host}:/ -> /mnt/nfs")
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
475
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
476 task_group = batch_v1.TaskGroup()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
477 task_group.task_count = 1
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
478 task_group.parallelism = 1
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
479 task_group.task_spec = task
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
480 logger.debug(f"Task group: count={task_group.task_count}, parallelism={task_group.parallelism}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
481
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
482 # Network configuration: Batch job should run in the same network as the NFS server
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
483 network_interface = batch_v1.AllocationPolicy.NetworkInterface()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
484 network_interface.network = f"global/networks/{args.network}"
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
485 network_interface.subnetwork = f"regions/{args.region}/subnetworks/{args.subnet}"
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
486 logger.debug(f"Network: {network_interface.network}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
487 logger.debug(f"Subnet: {network_interface.subnetwork}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
488
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
489 network_policy = batch_v1.AllocationPolicy.NetworkPolicy()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
490 network_policy.network_interfaces = [network_interface]
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
491
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
492 # Instance policy with custom VM image
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
493 instance_policy = batch_v1.AllocationPolicy.InstancePolicy()
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
494 instance_policy.machine_type = "e2-medium" # Specify machine type for custom image
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
495 instance_policy.boot_disk = batch_v1.AllocationPolicy.Disk()
11
fe0bf22037a5 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
enis
parents: 10
diff changeset
496 instance_policy.boot_disk.image = f"projects/{project_id}/global/images/galaxy-k8s-boot-v2025-08-12"
9
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
497 instance_policy.boot_disk.size_gb = 99
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
498 logger.debug(f"Using custom VM image: {instance_policy.boot_disk.image}")
3fd12035e6c9 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4194f0defc4bebd6c95c76b58860c9ae6b9d1899-dirty
enis
parents: 7
diff changeset
499
10
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
500 # Wrap the instance policy in InstancePolicyOrTemplate
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
501 instance_policy_or_template = batch_v1.AllocationPolicy.InstancePolicyOrTemplate()
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
502 instance_policy_or_template.policy = instance_policy
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
503
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
504 allocation_policy = batch_v1.AllocationPolicy()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
505 allocation_policy.network = network_policy
10
cdfa2e1a7ef4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit 4af8133734db9edb3cb94326a82cdaa484e96482-dirty
enis
parents: 9
diff changeset
506 allocation_policy.instances = [instance_policy_or_template]
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
507
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
508 job = batch_v1.Job()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
509 job.task_groups = [task_group]
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
510 job.allocation_policy = allocation_policy
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
511 job.logs_policy = batch_v1.LogsPolicy()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
512 job.logs_policy.destination = batch_v1.LogsPolicy.Destination.CLOUD_LOGGING
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
513 logger.info("Job specification built successfully")
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
514
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
515 create_request = batch_v1.CreateJobRequest()
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
516 create_request.parent = f"projects/{project_id}/locations/{args.region}"
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
517 create_request.job_id = job_name
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
518 create_request.job = job
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
519 logger.debug(f"Create request parent: {create_request.parent}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
520 logger.debug(f"Create request job_id: {create_request.job_id}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
521
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
522 logger.info(f"Submitting job with name: {job_name}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
523 logger.info(f"Target project: {project_id}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
524 logger.info(f"Target Batch region: {args.region}")
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
525 logger.info(f"Test target: {target_host}:{target_port}")
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
526
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
527 # Proceed with job submission
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
528 try:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
529 logger.info("Calling client.create_job()...")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
530 job_response = client.create_job(request=create_request)
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
531 logger.info("Job submitted successfully!")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
532 logger.info(f"Job name: {job_response.name}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
533 logger.info(f"Job UID: {job_response.uid}")
2
79160beab2a4 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents: 0
diff changeset
534
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
535 with open(args.output, 'w') as f:
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
536 f.write("Job submitted successfully using Python client.\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
537 f.write(f"Job name: {job_name}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
538 f.write(f"Job response name: {job_response.name}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
539 f.write(f"Job UID: {job_response.uid}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
540 f.write(f"Project: {project_id}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
541 f.write(f"Region: {args.region}\n")
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
542 f.write(f"NFS Target: {target_host}:{target_port}\n")
5
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
543 f.write(f"\nTo view job logs, run:\n")
b2ce158b4f22 planemo upload commit ece227052d14d755b0d0b07a827152b2e98fb94b
enis
parents: 4
diff changeset
544 f.write(f"gcloud logging read 'resource.type=gce_instance AND resource.labels.instance_id={job_name}' --project={project_id}\n")
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
545
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
546 except Exception as e:
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
547 logger.error(f"Error submitting job: {type(e).__name__}: {e}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
548 logger.error(f"Error details: {str(e)}")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
549 import traceback
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
550 logger.error("Traceback:", exc_info=True)
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
551
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
552 with open(args.output, 'w') as f:
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
553 f.write(f"Error submitting job: {type(e).__name__}: {e}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
554 f.write(f"Error details: {str(e)}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
555 f.write(f"Job name: {job_name}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
556 f.write(f"Project: {project_id}\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
557 f.write(f"Region: {args.region}\n")
6
d25792770df8 planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit ece227052d14d755b0d0b07a827152b2e98fb94b-dirty
enis
parents: 5
diff changeset
558 f.write(f"NFS Target: {target_host}:{target_port}\n")
4
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
559 f.write(f"Traceback:\n")
2ff4a39ea41b planemo upload commit 1bf6938d35be8e67e317f504f43f281ce7dc06e6
enis
parents: 3
diff changeset
560 f.write(traceback.format_exc())
0
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
561
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
562 if __name__ == '__main__':
7852c0efafd7 planemo upload for repository https://github.com/afgane/gcp_batch_netcat
enis
parents:
diff changeset
563 main()