dayhoff-tools 1.4.17__py3-none-any.whl → 1.4.19__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dayhoff-tools might be problematic. Click here for more details.

@@ -686,9 +686,8 @@ def engine_status(
686
686
  status_lines.append("")
687
687
  status_lines.append("[bold]Attached Studios:[/bold]")
688
688
  for studio in attached_studios:
689
- attach_time = studio.get("attach_time", "Unknown")
690
689
  status_lines.append(
691
- f" • {studio['user']} ({studio['studio_id']}) - attached {attach_time}"
690
+ f" • {studio['user']} ({studio['studio_id']})"
692
691
  )
693
692
 
694
693
  console.print(Panel("\n".join(status_lines), title="Engine Status", border_style="blue"))
@@ -1269,20 +1268,26 @@ def create_ami(
1269
1268
  ec2 = boto3.client("ec2", region_name="us-east-1")
1270
1269
 
1271
1270
  try:
1272
- # First, we need to clean up the sentinel file via SSM
1273
- console.print("Cleaning up bootstrap sentinel file...")
1271
+ # First, we need to clean up the instance before snapshotting
1272
+ console.print("Cleaning up instance for AMI creation...")
1274
1273
  ssm = boto3.client("ssm", region_name="us-east-1")
1275
1274
 
1275
+ # Clean up instance state, stopping SSM agent last to allow proper status reporting
1276
+ cleanup_commands = [
1277
+ "sudo rm -f /opt/dayhoff/first_boot_complete.sentinel",
1278
+ "history -c",
1279
+ "sudo rm -rf /tmp/* /var/log/messages /var/log/cloud-init.log",
1280
+ "sudo rm -rf /var/lib/amazon/ssm/* /etc/amazon/ssm/*",
1281
+ # Stop SSM agent last with a delay to allow status reporting
1282
+ "sleep 2 && sudo systemctl stop amazon-ssm-agent &",
1283
+ ]
1284
+
1276
1285
  cleanup_response = ssm.send_command(
1277
1286
  InstanceIds=[engine["instance_id"]],
1278
1287
  DocumentName="AWS-RunShellScript",
1279
1288
  Parameters={
1280
- "commands": [
1281
- "sudo rm -f /opt/dayhoff/first_boot_complete.sentinel",
1282
- "history -c",
1283
- "sudo rm -rf /tmp/* /var/log/*",
1284
- ],
1285
- "executionTimeout": ["60"],
1289
+ "commands": cleanup_commands,
1290
+ "executionTimeout": ["120"],
1286
1291
  },
1287
1292
  )
1288
1293
 
@@ -1297,9 +1302,14 @@ def create_ami(
1297
1302
  if result["Status"] in ["Success", "Failed"]:
1298
1303
  break
1299
1304
 
1300
- if result["Status"] != "Success":
1305
+ # Note: InProgress status is expected when SSM agent stops itself
1306
+ if result["Status"] not in ["Success", "InProgress"]:
1307
+ console.print(
1308
+ f"[yellow]⚠️ Warning: Cleanup command status: {result['Status']}[/yellow]"
1309
+ )
1310
+ elif result["Status"] == "InProgress":
1301
1311
  console.print(
1302
- "[yellow]⚠️ Warning: Cleanup command may have failed[/yellow]"
1312
+ "[dim]ℹ️ Cleanup command still in progress (expected when SSM agent stops itself)[/dim]"
1303
1313
  )
1304
1314
 
1305
1315
  # Get instance details to find volumes to exclude
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dayhoff-tools
3
- Version: 1.4.17
3
+ Version: 1.4.19
4
4
  Summary: Common tools for all the repos at Dayhoff Labs
5
5
  Author: Daniel Martin-Alarcon
6
6
  Author-email: dma@dayhofflabs.com
@@ -3,7 +3,7 @@ dayhoff_tools/chemistry/standardizer.py,sha256=uMn7VwHnx02nc404eO6fRuS4rsl4dvSPf
3
3
  dayhoff_tools/chemistry/utils.py,sha256=jt-7JgF-GeeVC421acX-bobKbLU_X94KNOW24p_P-_M,2257
4
4
  dayhoff_tools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  dayhoff_tools/cli/cloud_commands.py,sha256=33qcWLmq-FwEXMdL3F0OHm-5Stlh2r65CldyEZgQ1no,40904
6
- dayhoff_tools/cli/engine_commands.py,sha256=5-nRqW5g7o1cAid49fPi21toL90fGqxfS2ovlG_x1pQ,85746
6
+ dayhoff_tools/cli/engine_commands.py,sha256=jXaUXbdpZKssFbMdwT6brvTuBmLkYdIHcjt3L5ZP6Ys,86313
7
7
  dayhoff_tools/cli/main.py,sha256=rgeEHD9lJ8SBCR34BTLb7gVInHUUdmEBNXAJnq5yEU4,4795
8
8
  dayhoff_tools/cli/swarm_commands.py,sha256=5EyKj8yietvT5lfoz8Zx0iQvVaNgc3SJX1z2zQR6o6M,5614
9
9
  dayhoff_tools/cli/utility_commands.py,sha256=qs8vH9TBFHsOPC3X8cU3qZigM3dDn-2Ytq4o_F2WubU,27874
@@ -27,7 +27,7 @@ dayhoff_tools/intake/uniprot.py,sha256=BZYJQF63OtPcBBnQ7_P9gulxzJtqyorgyuDiPeOJq
27
27
  dayhoff_tools/logs.py,sha256=DKdeP0k0kliRcilwvX0mUB2eipO5BdWUeHwh-VnsICs,838
28
28
  dayhoff_tools/sqlite.py,sha256=jV55ikF8VpTfeQqqlHSbY8OgfyfHj8zgHNpZjBLos_E,18672
29
29
  dayhoff_tools/warehouse.py,sha256=8YbnQ--usrEgDQGfvpV4MrMji55A0rq2hZaOgFGh6ag,15896
30
- dayhoff_tools-1.4.17.dist-info/METADATA,sha256=bNFA69p0roBs1SGTr8H-T2zIpGV51rGpPCunC99Y9eQ,2825
31
- dayhoff_tools-1.4.17.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
32
- dayhoff_tools-1.4.17.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
33
- dayhoff_tools-1.4.17.dist-info/RECORD,,
30
+ dayhoff_tools-1.4.19.dist-info/METADATA,sha256=ycGToXMGp3AgtO9yKGlzTSfMBl7ZKIfm7UbDW12G2Hg,2825
31
+ dayhoff_tools-1.4.19.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
32
+ dayhoff_tools-1.4.19.dist-info/entry_points.txt,sha256=iAf4jteNqW3cJm6CO6czLxjW3vxYKsyGLZ8WGmxamSc,49
33
+ dayhoff_tools-1.4.19.dist-info/RECORD,,