Closed ellismg closed 2 weeks ago
The test failures look like this:
aspire_test.go:399: 26.497s [svr-out] [40Dk9BoRg7M= spinner] Deploying service pubsub
aspire_test.go:399: 26.502s [svr-out] [40Dk9BoRg7M= spinner] Deploying service pubsub (Logging in to registry)
aspire_test.go:399: 26.51s [svr-out] [40Dk9BoRg7M= spinner] Deploying service pubsub (Pushing container image)
aspire_test.go:399: 26.511s [svr-out] [40Dk9BoRg7M= spinner] Deploying service pubsub (Updating container app)
recording.go:256: recorderProxy: PUT [https://management.azure.com:443/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview](https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview): requested interaction not found
recording.go:256: recorderProxy: PUT [https://management.azure.com:443/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview](https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview): requested interaction not found
recording.go:256: recorderProxy: PUT [https://management.azure.com:443/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview](https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview): requested interaction not found
recording.go:256: recorderProxy: PUT [https://management.azure.com:443/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview](https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview): requested interaction not found
aspire_test.go:399: 35.169s [svr-out] [40Dk9BoRg7M= stdout] (x) Failed: Deploying service pubsub
aspire_test.go:399: 34.969s [t-out] Failed LiveDeployRefresh [32 s]
aspire_test.go:399: 34.969s [t-out] Error Message:
aspire_test.go:399: 34.969s [t-out] StreamJsonRpc.RemoteInvocationException : failed deploying service 'pubsub': failing invoking action 'deploy', updating container app service: applying manifest: Put "[https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview"](https://management.azure.com/subscriptions/faa080af-c1d8-40ad-9cce-e1a450ca5b57/resourceGroups/rg-azdtest-l30634d/providers/Microsoft.App/containerApps/pubsub?api-version=2023-11-02-preview%22): EOF
aspire_test.go:399: 34.969s [t-out] Stack Trace:
aspire_test.go:399: 34.969s [t-out] at StreamJsonRpc.JsonRpc.InvokeCoreAsync[TResult](RequestId id, String targetName, IReadOnlyList`1 arguments, IReadOnlyList`1 positionalArgumentDeclaredTypes, IReadOnlyDictionary`2 namedArgumentDeclaredTypes, CancellationToken cancellationToken, Boolean isParameterObject)
aspire_test.go:399: 34.969s [t-out] at AzdVsServerTests.AcceptanceTests.LiveDeployRefresh() in /mnt/vss/_work/1/s/cli/azd/test/functional/testdata/vs-server/tests/AcceptanceTests.cs:line 144
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](Func`1 invoke)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext context)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.Execution.SimpleWorkItem.<>c__DisplayClass3_0.<PerformWork>b__0()
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.ContextUtils.<>c__DisplayClass1_0`1.<DoIsolated>b__0(Object _)
aspire_test.go:399: 34.969s [t-out] at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
aspire_test.go:399: 34.969s [t-out] --- End of stack trace from previous location ---
aspire_test.go:399: 34.969s [t-out] at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.ContextUtils.DoIsolated(ContextCallback callback, Object state)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.ContextUtils.DoIsolated[T](Func`1 func)
aspire_test.go:399: 34.969s [t-out] at NUnit.Framework.Internal.Execution.SimpleWorkItem.PerformWork()
aspire_test.go:399: 34.969s [t-out]
aspire_test.go:399: 34.971s [t-out]
aspire_test.go:399: 34.974s [t-out] Failed! - Failed: 1, Passed: 0, Skipped: 0, Total: 1, Duration: 32 s - AzdVsServerTests.dll (net8.0)
vs_server_test.go:264:
Error Trace: /mnt/vss/_work/1/s/cli/azd/test/functional/vs_server_test.go:264
Error: Received unexpected error:
exit status 1
Test: Test_CLI_VsServer/LiveDeployRefresh
--- FAIL: Test_CLI_VsServer/LiveDeployRefresh (35.40s)
So I am guessing I need to re-record this test, which makes sense - since we see new control plane operations.
May elevate using
sudo
on some platforms and configurations
bash:
curl -fsSL https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/uninstall-azd.sh | bash;
curl -fsSL https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/install-azd.sh | bash -s -- --base-url https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820 --version '' --verbose --skip-verify
pwsh:
Invoke-RestMethod 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/uninstall-azd.ps1' -OutFile uninstall-azd.ps1; ./uninstall-azd.ps1
Invoke-RestMethod 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/install-azd.ps1' -OutFile install-azd.ps1; ./install-azd.ps1 -BaseUrl 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820' -Version '' -SkipVerify -Verbose
PowerShell install
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/uninstall-azd.ps1' > uninstall-azd.ps1; ./uninstall-azd.ps1;"
powershell -c "Set-ExecutionPolicy Bypass Process; irm 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/install-azd.ps1' > install-azd.ps1; ./install-azd.ps1 -BaseUrl 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820' -Version '' -SkipVerify -Verbose;"
MSI install
powershell -c "irm 'https://azuresdkreleasepreview.blob.core.windows.net/azd/standalone/pr/3820/azd-windows-amd64.msi' -OutFile azd-windows-amd64.msi; msiexec /i azd-windows-amd64.msi /qn"
This changes the way that we model
container.v0
resources from an App Host project to be more in line with howproject.v0
anddockerfile.v0
. When we started to explore whatazd
and Aspire looked like, we decided that since we didn't have to worry about building and pushing container images for acontainer.v0
resource, we could just emit the bicep for the container app as part of the shared infrastructure for the application and not worry about trying to create these images atdeploy
time.As time has gone on, we've found that treating these special was the wrong call. They are very similar to the
project.v0
anddockerfile.v0
resources and modeling them the same way makes the whole system easier to understand.With this change, we now treat these resources the same as
project.v0
anddockerfile.v0
. This means that we don't emit bicep for these resources (instead we have.tmpl.yaml
manifests) and that we don't create the container app resources untilazd deploy
.While creating the container app itself has moved into
deploy
, we still create any volumes needed in the managed environment duringprovision
. The names of these volumes written as bicep outputs (usingSERVICE_<service_name>_VOLUME_<volume_name>_NAME
as a template) and then referred to via.Env
references in our container app manifests.