Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit 03d04ea

Browse files
committed
Update VM sizes
- Fix multi-instance coordination command for Docker tasks
1 parent fc36226 commit 03d04ea

File tree

3 files changed

+65
-26
lines changed

3 files changed

+65
-26
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@
33
## [Unreleased]
44

55
### Changed
6+
- Update VM size support
7+
- SSH private key filemode check no longer results in an exception if it
8+
fails. Instead a warning is issued - this is to allow SSH invocations on WSL.
9+
- Install scripts now uninstall `azure-storage` first due to conflicts with
10+
the Azure Storage Python split library.
611
- Updated to blobxfer 1.0.0
712

813
### Fixed
914
- Job submission on custom image pools with 4.0 SDK changes
15+
- Empty coordination command issue for Docker tasks
1016
- Singularity registries with passwords in keyvault
1117

1218
## [3.0.0b1] - 2017-11-05

convoy/batch.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3712,11 +3712,14 @@ def add_jobs(
37123712
task.multi_instance.coordination_command,
37133713
windows=is_windows, wait=False)
37143714
else:
3715+
# no-op for singularity
37153716
if is_singularity:
3716-
# no-op for singularity
37173717
cc = ':'
3718-
else:
3719-
cc = ''
3718+
if not native and util.is_none_or_empty(cc):
3719+
raise ValueError(
3720+
('coordination_command cannot be empty for this '
3721+
'configuration: native={} singularity={}').format(
3722+
native, is_singularity))
37203723
mis = batchmodels.MultiInstanceSettings(
37213724
number_of_instances=task.multi_instance.num_instances,
37223725
coordination_command_line=cc,

convoy/settings.py

Lines changed: 53 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -57,28 +57,61 @@
5757
6006
5858
)
5959
_GPU_COMPUTE_INSTANCES = frozenset((
60+
# standard_nc
6061
'standard_nc6', 'standard_nc12', 'standard_nc24', 'standard_nc24r',
62+
# standard_nc_v2
63+
'standard_nc6s_v2', 'standard_nc12s_v2', 'standard_nc24s_v2',
64+
'standard_nc24rs_v2',
65+
# standard_nd
66+
'standard_nd6s', 'standard_nd12s', 'standard_nd24s', 'standard_nd24rs',
6167
))
6268
_GPU_VISUALIZATION_INSTANCES = frozenset((
69+
# standard_nv
6370
'standard_nv6', 'standard_nv12', 'standard_nv24',
6471
))
6572
_GPU_INSTANCES = _GPU_COMPUTE_INSTANCES.union(_GPU_VISUALIZATION_INSTANCES)
6673
_RDMA_INSTANCES = frozenset((
67-
'standard_a8', 'standard_a9', 'standard_h16r', 'standard_h16mr',
74+
# standard_a
75+
'standard_a8', 'standard_a9',
76+
# standard_h
77+
'standard_h16r', 'standard_h16mr',
78+
# standard_nc
6879
'standard_nc24r',
80+
# standard_nc_v2
81+
'standard_nc24rs_v2',
82+
# standard_nd
83+
'standard_nd24rs',
6984
))
7085
_PREMIUM_STORAGE_INSTANCE_PREFIXES = frozenset((
7186
'standard_ds', 'standard_gs',
7287
))
7388
_PREMIUM_STORAGE_INSTANCE_SUFFIXES = frozenset((
74-
's', 's_v3',
89+
's', 's_v2', 's_v3',
7590
))
7691
_VM_TCP_NO_TUNE = frozenset((
77-
'basic_a0', 'basic_a1', 'basic_a2', 'basic_a3', 'basic_a4', 'standard_a0',
78-
'standard_a1', 'standard_a2', 'standard_a3', 'standard_a5', 'standard_a6',
79-
'standard_a1_v2', 'standard_a2_v2', 'standard_a3_v2', 'standard_a4_v2',
80-
'standard_a2m_v2', 'standard_a4m_v2', 'standard_d1', 'standard_d2',
81-
'standard_d1_v2', 'standard_f1', 'standard_d2_v3', 'standard_e2_v3',
92+
# basic
93+
'basic_a0', 'basic_a1', 'basic_a2', 'basic_a3', 'basic_a4',
94+
# standard_a
95+
'standard_a0', 'standard_a1', 'standard_a2', 'standard_a3', 'standard_a5',
96+
'standard_a6',
97+
# standard_a_v2
98+
'standard_a1_v2', 'standard_a2_v2', 'standard_a4_v2', 'standard_a2m_v2',
99+
'standard_a4m_v2',
100+
# standard_d
101+
'standard_d1', 'standard_ds1', 'standard_d2', 'standard_ds2',
102+
# standard_d_v2
103+
'standard_d1_v2', 'standard_ds1_v2',
104+
# standard_d_v3
105+
'standard_d2_v3', 'standard_d2s_v3',
106+
# standard_e_v3
107+
'standard_e2_v3', 'standard_e2s_v3',
108+
# standard_f
109+
'standard_f1', 'standard_f1s',
110+
# standard_f_v2
111+
'standard_f2s_v2',
112+
# standard_b
113+
'standard_b1s', 'standard_b1ms', 'standard_b2s', 'standard_b2ms',
114+
'standard_b4ms', 'standard_b8ms',
82115
))
83116
_SINGULARITY_COMMANDS = frozenset(('exec', 'run'))
84117
# named tuples
@@ -3186,29 +3219,26 @@ def task_settings(cloud_pool, config, poolconf, jobspec, conf):
31863219
if native:
31873220
coordination_command = '/usr/sbin/sshd -p 23'
31883221
else:
3189-
coordination_command = None
3222+
coordination_command = ''
31903223
if native or util.is_not_empty(singularity_image):
31913224
if util.is_not_empty(coordination_command):
31923225
cc_args = [coordination_command]
31933226
else:
31943227
cc_args = None
31953228
else:
3196-
if util.is_not_empty(coordination_command):
3197-
if is_windows:
3198-
envgrep = 'set | findstr AZ_BATCH_ >> {}'.format(envfile)
3199-
else:
3200-
envgrep = 'env | grep AZ_BATCH_ >> {}'.format(envfile)
3201-
cc_args = [
3202-
envgrep,
3203-
'{} {} {}{}'.format(
3204-
docker_run_cmd,
3205-
' '.join(run_opts),
3206-
docker_image,
3207-
coordination_command),
3208-
]
3209-
del envgrep
3229+
if is_windows:
3230+
envgrep = 'set | findstr AZ_BATCH_ >> {}'.format(envfile)
32103231
else:
3211-
cc_args = None
3232+
envgrep = 'env | grep AZ_BATCH_ >> {}'.format(envfile)
3233+
cc_args = [
3234+
envgrep,
3235+
'{} {} {}{}'.format(
3236+
docker_run_cmd,
3237+
' '.join(run_opts),
3238+
docker_image,
3239+
coordination_command),
3240+
]
3241+
del envgrep
32123242
del coordination_command
32133243
# get num instances
32143244
num_instances = conf['multi_instance']['num_instances']

0 commit comments

Comments
 (0)