Skip to content

Commit b1315d1

Browse files
author
Manikanta Nallagatla
committed
Add assign2
1 parent d3360a6 commit b1315d1

File tree

2 files changed

+46
-17
lines changed

2 files changed

+46
-17
lines changed

src/WebJobs.Script.WebHost/Controllers/InstanceController.cs

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) .NET Foundation. All rights reserved.
1+
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the MIT License. See License.txt in the project root for license information.
33

44
using System.Threading.Tasks;
@@ -41,6 +41,37 @@ public async Task<IActionResult> Assign([FromBody] EncryptedHostAssignmentContex
4141

4242
var assignmentContext = _startupContextProvider.SetContext(encryptedAssignmentContext);
4343

44+
return await assignInternal(assignmentContext);
45+
}
46+
47+
[HttpPost]
48+
[Route("admin/instance/assign2")]
49+
[Authorize(Policy = PolicyNames.AdminAuthLevel)]
50+
public async Task<IActionResult> Assign2([FromBody] FunctionsWorkerContainerAssignmentContext workerAssignmentContext)
51+
{
52+
_logger.LogDebug($"Starting container assignment for host : {Request?.Host}");
53+
54+
return await assignInternal(workerAssignmentContext.AssignmentContext);
55+
}
56+
57+
[HttpGet]
58+
[Route("admin/instance/info")]
59+
[Authorize(Policy = PolicyNames.AdminAuthLevel)]
60+
public IActionResult GetInstanceInfo()
61+
{
62+
return Ok(_instanceManager.GetInstanceInfo());
63+
}
64+
65+
[HttpGet]
66+
[Route("admin/instance/http-health")]
67+
public IActionResult GetHttpHealthStatus()
68+
{
69+
// Reaching here implies that http health of the container is ok.
70+
return Ok();
71+
}
72+
73+
private async Task<IActionResult> assignInternal(HostAssignmentContext assignmentContext)
74+
{
4475
// before starting the assignment we want to perform as much
4576
// up front validation on the context as possible
4677
string error = await _instanceManager.ValidateContext(assignmentContext);
@@ -63,21 +94,5 @@ public async Task<IActionResult> Assign([FromBody] EncryptedHostAssignmentContex
6394
? Accepted()
6495
: StatusCode(StatusCodes.Status409Conflict, "Instance already assigned");
6596
}
66-
67-
[HttpGet]
68-
[Route("admin/instance/info")]
69-
[Authorize(Policy = PolicyNames.AdminAuthLevel)]
70-
public IActionResult GetInstanceInfo()
71-
{
72-
return Ok(_instanceManager.GetInstanceInfo());
73-
}
74-
75-
[HttpGet]
76-
[Route("admin/instance/http-health")]
77-
public IActionResult GetHttpHealthStatus()
78-
{
79-
// Reaching here implies that http health of the container is ok.
80-
return Ok();
81-
}
8297
}
8398
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// -----------------------------------------------------------
2+
// Copyright (c) Microsoft Corporation. All rights reserved.
3+
// -----------------------------------------------------------
4+
5+
using Newtonsoft.Json;
6+
7+
namespace Microsoft.Azure.WebJobs.Script.WebHost.Models
8+
{
9+
public class FunctionsWorkerContainerAssignmentContext
10+
{
11+
[JsonProperty("assignmentContext")]
12+
public HostAssignmentContext AssignmentContext { get; }
13+
}
14+
}

0 commit comments

Comments
 (0)