Skip to content

Commit 4fb1a16

Browse files
TonewallTony Choi
and
Tony Choi
committed
Fix Instance Manager for Linux Consumption Running on Legion (#11072)
* Fix Instance Manager for Linux Consumption Running on Legion * unit test * Release note --------- Co-authored-by: Tony Choi <[email protected]>
1 parent 7522672 commit 4fb1a16

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

release_notes.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22

33
<!-- Please add your release notes in the following format:
44
- My change description (#PR)
5-
-->
5+
-->
6+
- Fix Instance Manager for CV1 Migration (#11072)

src/WebJobs.Script.WebHost/WebHostServiceCollectionExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public static void AddWebJobsScriptHost(this IServiceCollection services, IConfi
145145
services.AddTransient<VirtualFileSystem>();
146146
services.AddTransient<VirtualFileSystemMiddleware>();
147147

148-
if (SystemEnvironment.Instance.IsFlexConsumptionSku())
148+
if (SystemEnvironment.Instance.IsLinuxConsumptionOnLegion() || SystemEnvironment.Instance.IsFlexConsumptionSku())
149149
{
150150
services.AddSingleton<IInstanceManager, LegionInstanceManager>();
151151
}

test/WebJobs.Script.Tests/Environment/EnvironmentTests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using System;
55
using System.Runtime.InteropServices;
6+
using System.Threading.Tasks;
67
using Microsoft.WebJobs.Script.Tests;
78
using Xunit;
89
using static Microsoft.Azure.WebJobs.Script.EnvironmentSettingNames;
@@ -244,6 +245,24 @@ public void Returns_IsLinuxConsumption(string websiteInstanceId, string containe
244245
Assert.False(isLinuxConsumptionOnAtlas ? isLinuxConsumptionOnLegion : isLinuxConsumptionOnAtlas);
245246
}
246247

248+
[Theory]
249+
[InlineData(ScriptConstants.DynamicSku, "containerName", "", "", false)]
250+
[InlineData(ScriptConstants.DynamicSku, "containerName", "podName", "", false)]
251+
[InlineData(ScriptConstants.DynamicSku, "containerName", "podName", "legionServiceHost", true)]
252+
[InlineData(ScriptConstants.DynamicSku, "containerName", "", "legionServiceHost", true)]
253+
public void Returns_AtlasOrLegionConsumption(string sku, string containerName, string podName, string legionServiceHost, bool legion)
254+
{
255+
var testEnvironment = new TestEnvironment();
256+
testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteInstanceId, string.Empty);
257+
testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.AzureWebsiteSku, sku);
258+
testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.ContainerName, containerName);
259+
testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.PodName, podName);
260+
testEnvironment.SetEnvironmentVariable(EnvironmentSettingNames.LegionServiceHost, legionServiceHost);
261+
262+
Assert.Equal(legion, testEnvironment.IsLinuxConsumptionOnLegion());
263+
Assert.Equal(!legion, testEnvironment.IsLinuxConsumptionOnAtlas());
264+
}
265+
247266
[Theory]
248267
[InlineData(ScriptConstants.ElasticPremiumSku, true)]
249268
[InlineData("test", false)]

0 commit comments

Comments
 (0)