konduktor-nightly 0.1.0.dev20250812105102__py3-none-any.whl → 0.1.0.dev20250813171511__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 konduktor-nightly might be problematic. Click here for more details.

konduktor/__init__.py CHANGED
@@ -11,7 +11,7 @@ from konduktor.task import Task
11
11
  __all__ = ['launch', 'Resources', 'Task', 'Serving']
12
12
 
13
13
  # Replaced with the current commit when building the wheels.
14
- _KONDUKTOR_COMMIT_SHA = 'f4ba2084fac1c1030245b475323f4f3a57fd3fa3'
14
+ _KONDUKTOR_COMMIT_SHA = '0301ec982f1bd0a04115661b6e139b2964c329b8'
15
15
  os.makedirs(os.path.expanduser('~/.konduktor'), exist_ok=True)
16
16
 
17
17
 
@@ -45,5 +45,5 @@ def _get_git_commit():
45
45
 
46
46
 
47
47
  __commit__ = _get_git_commit()
48
- __version__ = '1.0.0.dev0.1.0.dev20250812105102'
48
+ __version__ = '1.0.0.dev0.1.0.dev20250813171511'
49
49
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
konduktor/cli.py CHANGED
@@ -693,11 +693,11 @@ def status(
693
693
  @click.option(
694
694
  '--num-lines',
695
695
  '--num_lines' '-n',
696
- default=1000,
696
+ default=-1,
697
697
  type=int,
698
698
  help=(
699
699
  'The number of lines to display from the end of the log file. '
700
- 'Default is 1000.'
700
+ 'Default is -1 (no limit).'
701
701
  ),
702
702
  )
703
703
  @click.option(
@@ -732,18 +732,19 @@ def logs(
732
732
  # Verify the job exists before attempting to tail logs
733
733
  # TODO(asaiacai): unify the 404 logic under jobset_utils
734
734
  try:
735
- jobset_response = jobset_utils.get_jobset(namespace, job_id)
735
+ _ = jobset_utils.get_jobset(namespace, job_id)
736
736
  except jobset_utils.JobNotFoundError:
737
- raise click.UsageError(
738
- f"Job '{job_id}' not found in namespace "
739
- f"'{namespace}'. Check your jobs with "
737
+ click.secho(
738
+ f"Job '{job_id}' not found in namespace '{namespace}'. "
739
+ f'Job may have been `konduktor down`. '
740
+ f'Check your jobs with '
740
741
  f'{colorama.Style.BRIGHT}`konduktor status`'
741
- f'{colorama.Style.RESET_ALL}.'
742
+ f'{colorama.Style.RESET_ALL}.',
743
+ fg='yellow',
742
744
  )
743
745
 
744
- assert isinstance(jobset_response, dict), f'jobset_response: {jobset_response}'
745
746
  log_utils.tail_logs(
746
- jobset_response,
747
+ job_id,
747
748
  worker_id=node_rank,
748
749
  follow=follow,
749
750
  num_logs=num_lines,
@@ -337,12 +337,11 @@ def tail_loki_logs_ws(
337
337
 
338
338
 
339
339
  def tail_vicky_logs(
340
- jobset_response: Dict[str, Any],
340
+ job_name: str,
341
341
  worker_id: int = 0,
342
342
  num_logs: int = -1,
343
343
  follow: bool = True,
344
344
  ):
345
- job_name = jobset_response['metadata']['name']
346
345
  context = kubernetes_utils.get_current_kube_config_context_name()
347
346
  namespace = kubernetes_utils.get_kube_config_context_namespace(context)
348
347
  query: Dict[str, Any] = {}
@@ -357,11 +356,11 @@ def tail_vicky_logs(
357
356
  query = {'limit': num_logs}
358
357
  if follow:
359
358
  logger.info(
360
- 'No end time found, tailing logs from 1 hour ago. '
359
+ 'Tailing logs from 1 hour ago. '
361
360
  'If logs come up empty, there might be logs just earlier '
362
361
  'than the past hour, check Grafana or use:\n'
363
362
  f'{colorama.Style.BRIGHT}{colorama.Fore.YELLOW}'
364
- f'`konduktor tail --no-follow {job_name}`'
363
+ f'`konduktor logs --no-follow {job_name}`'
365
364
  f'{colorama.Style.RESET_ALL}'
366
365
  )
367
366
  query['start_offset'] = '1h'
@@ -379,7 +378,7 @@ def tail_vicky_logs(
379
378
  vicky_url = f'http://localhost:{port}/select/logsql/tail'
380
379
  else:
381
380
  vicky_url = f'http://localhost:{port}/select/logsql/query'
382
- timeout = 1
381
+ timeout = 5
383
382
  logger.debug(f'Vicky URL: {vicky_url}')
384
383
 
385
384
  try:
@@ -418,17 +417,16 @@ def tail_vicky_logs(
418
417
 
419
418
 
420
419
  def tail_logs(
421
- jobset_response: Dict[str, Any],
420
+ job_name: str,
422
421
  worker_id: int = 0,
423
422
  num_logs: int = 1000,
424
423
  follow: bool = True,
425
424
  ):
426
- job_name = jobset_response['metadata']['name']
427
425
  logs_backend = config.get_nested(('logs', 'backend'), None)
428
426
  if logs_backend == LogBackend.VICTORIA:
429
- tail_vicky_logs(jobset_response, worker_id, num_logs, follow)
427
+ tail_vicky_logs(job_name, worker_id, num_logs, follow)
430
428
  elif logs_backend == LogBackend.LOKI:
431
429
  tail_loki_logs_ws(job_name, worker_id, num_logs, follow)
432
430
  else:
433
431
  logger.info('Defaulting to VictoriaLogs')
434
- tail_vicky_logs(jobset_response, worker_id, num_logs, follow)
432
+ tail_vicky_logs(job_name, worker_id, num_logs, follow)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: konduktor-nightly
3
- Version: 0.1.0.dev20250812105102
3
+ Version: 0.1.0.dev20250813171511
4
4
  Summary: GPU Cluster Health Management
5
5
  Author: Andrew Aikawa
6
6
  Author-email: asai@berkeley.edu
@@ -1,4 +1,4 @@
1
- konduktor/__init__.py,sha256=wEXBZFk4NZkokyxsRzXNLq9AvQLqohKLURl_Mn_L9i0,1574
1
+ konduktor/__init__.py,sha256=11AurAaFdFlqNldbuo0KBJzdCQ3NNpgv1ZyDCA0_6B8,1574
2
2
  konduktor/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  konduktor/adaptors/aws.py,sha256=s47Ra-GaqCQibzVfmD0pmwEWHif1EGO5opMbwkLxTCU,8244
4
4
  konduktor/adaptors/common.py,sha256=ZIqzjx77PIHUwpjfAQ1uX8B2aX78YMuGj4Bppd-MdyM,4183
@@ -13,7 +13,7 @@ konduktor/backends/jobset.py,sha256=E9THHmcpxTohsx6Goi9mKF4dy_mYpR2DHloSwGVr9jA,
13
13
  konduktor/backends/jobset_utils.py,sha256=7fB8X4b2Q5BKFCIGME72dyeCfi-EemoMeJVnwtzcjq4,25184
14
14
  konduktor/backends/pod_utils.py,sha256=Jfv_CY8suF0e7QEaeQiNRRxRnOueLgPR8SfLEO7lnwc,15260
15
15
  konduktor/check.py,sha256=JennyWoaqSKhdyfUldd266KwVXTPJpcYQa4EED4a_BA,7569
16
- konduktor/cli.py,sha256=YD9gMH2ZJykdfrHvzY-DkPQgD-cltahEW141wdI8eiI,56674
16
+ konduktor/cli.py,sha256=YW9vNlbayDIcHk5D8-qsVGwoOdRV1o9kFmF2jtBf3vE,56641
17
17
  konduktor/config.py,sha256=9upqgCCYvcu6fKw7tovEYC1MWTkAAir0_WHPdayylbI,15536
18
18
  konduktor/constants.py,sha256=T3AeXXxuQHINW_bAWyztvDeS8r4g8kXBGIwIq13cys0,1814
19
19
  konduktor/controller/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -90,15 +90,15 @@ konduktor/utils/env_options.py,sha256=T41Slzf4Mzl-n45CGXXqdy2fCrYhPNZQ7RP5vmnN4x
90
90
  konduktor/utils/exceptions.py,sha256=5IFnN5bIUSBJv4KRRrCepk5jyY9EG5vWWQqbjCmP3NU,6682
91
91
  konduktor/utils/kubernetes_enums.py,sha256=SabUueF6Bpzbpa57gyH5VB65xla2N9l8CZmAeYTfGmM,176
92
92
  konduktor/utils/kubernetes_utils.py,sha256=7RThCOiyaALRqbwHZ40qMnBsbAgt669k0NHkxtfx7Bs,26205
93
- konduktor/utils/log_utils.py,sha256=xg5-NM1l3oodRTkiKihuzwe82g7XnfTzprFPndSF1A8,17032
93
+ konduktor/utils/log_utils.py,sha256=jxm9ovPcJPOGfd2wOwPDEThRO25ETIV5a1DmAfLhqJc,16861
94
94
  konduktor/utils/loki_utils.py,sha256=h2ZvZQr1nE_wXXsKsGMjhG2s2MXknNd4icydTR_ruKU,3539
95
95
  konduktor/utils/rich_utils.py,sha256=ycADW6Ij3wX3uT8ou7T8qxX519RxlkJivsLvUahQaJo,3583
96
96
  konduktor/utils/schemas.py,sha256=tBrKhnkfn9uKDYdlb4L2KgooW-muuhww7U8fu9zX-ms,18336
97
97
  konduktor/utils/subprocess_utils.py,sha256=WoFkoFhGecPR8-rF8WJxbIe-YtV94LXz9UG64SDhCY4,9448
98
98
  konduktor/utils/ux_utils.py,sha256=7-Lt3QbDVvBQUli5_U9lOdXKeC-ip8rZBpO9gQ6vPJw,7955
99
99
  konduktor/utils/validator.py,sha256=5C1kE57Eyj1OPnAbvojqMNHHtf5fnl47FK_vEttd8aw,4331
100
- konduktor_nightly-0.1.0.dev20250812105102.dist-info/LICENSE,sha256=MuuqTZbHvmqXR_aNKAXzggdV45ANd3wQ5YI7tnpZhm0,6586
101
- konduktor_nightly-0.1.0.dev20250812105102.dist-info/METADATA,sha256=sB60S--Fw5vPf9CqcZOlxb5qXpNPz44WdJ_kct0NVHw,4247
102
- konduktor_nightly-0.1.0.dev20250812105102.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
103
- konduktor_nightly-0.1.0.dev20250812105102.dist-info/entry_points.txt,sha256=k3nG5wDFIJhNqsZWrHk4d0irIB2Ns9s47cjRWYsTCT8,48
104
- konduktor_nightly-0.1.0.dev20250812105102.dist-info/RECORD,,
100
+ konduktor_nightly-0.1.0.dev20250813171511.dist-info/LICENSE,sha256=MuuqTZbHvmqXR_aNKAXzggdV45ANd3wQ5YI7tnpZhm0,6586
101
+ konduktor_nightly-0.1.0.dev20250813171511.dist-info/METADATA,sha256=yKYPc7bnljz9LQZ45lx2OhoJC9jkd7eDd_TAbeUZvF0,4247
102
+ konduktor_nightly-0.1.0.dev20250813171511.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
103
+ konduktor_nightly-0.1.0.dev20250813171511.dist-info/entry_points.txt,sha256=k3nG5wDFIJhNqsZWrHk4d0irIB2Ns9s47cjRWYsTCT8,48
104
+ konduktor_nightly-0.1.0.dev20250813171511.dist-info/RECORD,,