Skip to content

Commit 0e881d0

Browse files
committed
Fix bug in localmode
1 parent eea56fc commit 0e881d0

File tree

3 files changed

+31
-5
lines changed

3 files changed

+31
-5
lines changed

src/sagemaker/local/image.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -341,8 +341,8 @@ def _generate_compose_file(self, command, additional_volumes=None, additional_en
341341
342342
"""
343343
boto_session = self.sagemaker_session.boto_session
344-
additional_env_vars = additional_env_vars or []
345-
additional_volumes = additional_volumes or {}
344+
additional_volumes = additional_volumes or []
345+
additional_env_vars = additional_env_vars or {}
346346
environment = []
347347
optml_dirs = set()
348348

src/sagemaker/utils.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def secondary_training_status_changed(current_job_description, prev_job_descript
160160

161161

162162
def secondary_training_status_message(job_description, prev_description):
163-
"""Returns a string contains start time and the secondary training job status message.
163+
"""Returns a string contains last modified time and the secondary training job status message.
164164
165165
Args:
166166
job_description: Returned response from DescribeTrainingJob call
@@ -181,8 +181,12 @@ def secondary_training_status_message(job_description, prev_description):
181181
if prev_description_secondary_transitions is not None else 0
182182
current_transitions = job_description['SecondaryStatusTransitions']
183183

184-
transitions_to_print = current_transitions[-1:] if len(current_transitions) == prev_transitions_num else \
185-
current_transitions[prev_transitions_num - len(current_transitions):]
184+
if len(current_transitions) == prev_transitions_num:
185+
# Secondary status is not changed but the message changed.
186+
transitions_to_print = current_transitions[-1:]
187+
else:
188+
# Secondary status is changed we need to print all the entries.
189+
transitions_to_print = current_transitions[prev_transitions_num - len(current_transitions):]
186190

187191
status_strs = []
188192
for transition in transitions_to_print:

tests/unit/test_image.py

+22
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,28 @@ def test_serve_local_code(up, copy, copytree, tmpdir, sagemaker_session):
392392
assert '%s:/opt/ml/code' % '/tmp/code' in volumes
393393

394394

395+
@patch('sagemaker.local.image._HostingContainer.run')
396+
@patch('shutil.copy')
397+
@patch('shutil.copytree')
398+
def test_serve_local_code_no_env(up, copy, copytree, tmpdir, sagemaker_session):
399+
400+
with patch('sagemaker.local.image._SageMakerContainer._create_tmp_folder',
401+
return_value=str(tmpdir.mkdir('container-root'))):
402+
403+
image = 'my-image'
404+
sagemaker_container = _SageMakerContainer('local', 1, image, sagemaker_session=sagemaker_session)
405+
sagemaker_container.serve('/some/model/path', {})
406+
docker_compose_file = os.path.join(sagemaker_container.container_root,
407+
'docker-compose.yaml')
408+
409+
with open(docker_compose_file, 'r') as f:
410+
config = yaml.load(f)
411+
412+
for h in sagemaker_container.hosts:
413+
assert config['services'][h]['image'] == image
414+
assert config['services'][h]['command'] == 'serve'
415+
416+
395417
@patch('sagemaker.utils.download_file')
396418
@patch('tarfile.is_tarfile')
397419
@patch('tarfile.open', MagicMock())

0 commit comments

Comments
 (0)