Mercurial > repos > enis > gcp_batch_netcat
annotate gcp_batch_netcat.py @ 11:fe0bf22037a5 draft
planemo upload for repository https://github.com/afgane/gcp_batch_netcat commit f730cbb207e028a5d4fd982fe65ece7345af4879
author | enis |
---|---|
date | Thu, 14 Aug 2025 16:39:36 +0000 |
parents | cdfa2e1a7ef4 |
children |
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() |