Skip to content

Commit

Permalink
Lift deploy schedule restriction (#1647)
Browse files Browse the repository at this point in the history
* (trivial) ws fix

* Lift deploy schedule restriction

The deploy schedule and max parallel hosts are orthogonal
features, so the check here is not needed
  • Loading branch information
osoriano authored Jun 14, 2024
1 parent 80e107e commit 0b09cdc
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 29 deletions.
40 changes: 13 additions & 27 deletions deploy-board/deploy_board/templates/configs/schedule_config.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
totalSessions = {{ schedule.totalSessions }};
var timesArray = cooldownTimes.split(",");
var numbersArray = hostNumbers.split(",");

var i;
for (i = 1; i<=totalSessions; i++) {
$("#sessionTable tr:last").before('<tr><td class="sessionNumber" id=sessionNumber'+i+'><strong>'+i+'</strong></td><td class="hostNumber"><div class="input-group"><input value='+numbersArray[i-1]+' type="text" class="form-control"><span class="input-group-addon">hosts</span></div></div></td><td class="cooldownTime"><div class="input-group"><input value='+timesArray[i-1]+' type="text" class="form-control"><span class="input-group-addon">minutes</span></div></td><td class="text-right"><button id="removeBtn" type="button" class="btn btn-danger">Remove</button></td></tr>');
Expand Down Expand Up @@ -101,7 +101,7 @@
$('#sessionTable tr:last').find('.hostNumber input').val(totalAgentCount)
$(this).closest('tr').remove();
totalSessions = totalSessions-1;
counter = 1;
counter = 1;
$("#sessionTable tr").not(':first').each(function() { // renumbers the sessions
var number = $(this).find(".sessionNumber");
number.text(counter);
Expand All @@ -114,7 +114,7 @@
})

$("#resetEnvScheduleBtnId").click(function() {
$("#sessionTable tr").not(':first').not(':last').remove();
$("#sessionTable tr").not(':first').not(':last').remove();
totalSessions = 0;
totalAgentCount = {{ agent_count }};
$("#sessionTable tr:last").find('.hostNumber input').val(totalAgentCount);
Expand All @@ -126,45 +126,31 @@
var error = false;

// check if number of hosts entered doesn't exceed max
if (parseInt($("#sessionTable tr:last").find(".hostNumber input").val()) < 0) {
if (parseInt($("#sessionTable tr:last").find(".hostNumber input").val()) < 0) {
$('#errorBannerId').text("Total number of hosts exceeds number of available hosts. Please reenter host numbers.");
$('#errorBannerId').show();
error = true;
}
if (error) { return; }
}
if (error) { return; }

// check for valid input values
$("#sessionTable input").not(":last").each(function() {
$("#sessionTable input").not(":last").each(function() {
var number = parseInt($(this).val());
if (isNaN(number)) {
$(this).closest('.input-group').addClass('has-error');
$('#errorBannerId').text("Please make sure all fields are valid integer values.");
$('#errorBannerId').show();
error = true;
}
})

if (error) { return; }

// check if entered session numbers doesn't exceed max parallel number
$("#sessionTable .hostNumber input").not(":last").each(function() {
var number = parseInt($(this).val());
var maxParallel = {{ max_parallel_number }};
if (number > maxParallel) {
$(this).closest('.input-group').addClass('has-error');
$('#errorBannerId').text("Each session's number of hosts cannot exceed maximum parallel number. Please reenter number of hosts or change the maximum parallel number in General Config.");
$('#errorBannerId').show();
error = true;
}
})

if (error) { return; }
if (error) { return; }

var schedule = '{{ env.schedule }}';
var cooldownTimes = "";
var hostNumbers= "";
var hostNumbers= "";

$("#sessionTable tr").not(':first').not(':last').each(function() {
$("#sessionTable tr").not(':first').not(':last').each(function() {
var hostNumber = $(this).find(".hostNumber input").val();
var cooldownTime = $(this).find(".cooldownTime input").val();
if (hostNumbers == "") {
Expand All @@ -183,9 +169,9 @@
type: 'POST',
url: '/env/{{ env.envName }}/{{ env.stageName }}/update_schedule/',
data: {'csrfmiddlewaretoken': '{{csrf_token}}',
'cooldownTimes': cooldownTimes,
'cooldownTimes': cooldownTimes,
'hostNumbers': hostNumbers,
'totalSessions': totalSessions},
'totalSessions': totalSessions},
dataType: "json",
success: function (data) {
if(data != null && data.success == false) {
Expand All @@ -200,7 +186,7 @@
$('#errorBannerId').append(data.responseText);
$('#errorBannerId').show();
}
});
});
});

</script>
2 changes: 0 additions & 2 deletions deploy-board/deploy_board/webapp/schedule_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,8 @@ def get(self, request, name, stage):
schedule = schedules_helper.get_schedule(request, name, stage, schedule_id)
else:
schedule = None
max_parallel_number = env["maxParallel"]
return render(request, 'configs/schedule_config.html', {
"env": env,
"schedule": schedule,
"agent_count": agent_count,
"max_parallel_number": max_parallel_number,
})

0 comments on commit 0b09cdc

Please sign in to comment.