Navcontainerhelper: Insider container creation with test libraries fails at Microsoft Test Runner installation

Created on 9 Nov 2020  路  3Comments  路  Source: microsoft/navcontainerhelper

Describe the issue
Can't create insider container with test libraries

Scripts used to create container and cause the issue

# $artifactUrl = Get-BCArtifactUrl -select Latest -sasToken $SASToken -type Sandbox -storageAccount "bcinsider" -country "US"
$artifactUrl = "https://bcinsider.azureedge.net/sandbox/18.0.18682.0/us?SASTOKEN"

    New-BCContainer @Parameters `
        -doNotCheckHealth `
        -updateHosts `
        -containerName $containerName `
        -artifactUrl $artifactUrl `
        -artifactSas
        -auth "UserPassword" `
        -Credential $credential `
        -includeTestToolkit `
        -includeTestLibrariesOnly `
        -doNotUseRuntimePackages `
        -enableTaskScheduler:$false

Full output of scripts

NavContainerHelper is version 0.7.0.26
NavContainerHelper is running as administrator
Host is Microsoft Windows Server 2019 Standard - ltsc2019
Docker Client Version is 19.03.12
Docker Server Version is 19.03.12
Removing container Major3-build
Removing Major3-build from host hosts file
Removing C:\ProgramData\NavContainerHelper\Extensions\Major3-build
ArtifactUrl and ImageName specified
Fetching all docker images
Image nextmajor:sandbox-18.0.18682.0-us already exists
Using image nextmajor:sandbox-18.0.18682.0-us
Disabling Health Check (always report healthy)
Creating Container Major3-build
Version: 18.0.18682.0-US
Style: sandbox
Platform: 17.0.18466.0
Generic Tag: 0.1.0.24
Container OS Version: 10.0.17763.1339 (ltsc2019)
Host OS Version: 10.0.17763.1339 (ltsc2019)
Using locale en-US
Using process isolation
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Using license file ***
Downloading C:\ProgramData\NavContainerHelper\Extensions\Major3-build\my\license.flf
Additional Parameters:
--volume "C:\agent:C:\Agent"
--env customNavSettings=EnableTaskScheduler=False
Files in C:\ProgramData\NavContainerHelper\Extensions\Major3-build\my:
- AdditionalOutput.ps1
- license.flf
- MainLoop.ps1
- SetupVariables.ps1
- updatehosts.ps1
Creating container Major3-build from image nextmajor:sandbox-18.0.18682.0-us
d5157728e754ce2a62f111b6e2ba43a41c105d0fa190db8353ee28b1c7490638
Waiting for container Major3-build to be ready
Initializing...
Setting host.containerhelper.internal to 172.28.192.1 in container hosts file
Starting Container
Hostname is Major3-build
PublicDnsName is Major3-build
Using NavUserPassword Authentication
Starting Local SQL Server
Starting Internet Information Server
Creating Self Signed Certificate
Self Signed Certificate Thumbprint A0793F49E92CD57EAC2B7B84A7DF2E53EEEB70E6
Modifying Service Tier Config File with Instance Specific Settings
Modifying Service Tier Config File with settings from environment variable
Setting EnableTaskScheduler to False
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Enabling Financials User Experience
Using license file 'c:\run\my\license.flf'
Import License
Creating http download site
Setting SA Password and enabling SA
Creating agent as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: 172.28.192.59
Container Hostname  : Major3-build
Container Dns Name  : Major3-build
Web Client          : http://Major3-build/BC/
Dev. Server         : http://Major3-build
Dev. ServerInstance : BC
Setting Major3-build to 172.28.192.59 in host hosts file

Files:
http://Major3-build:8080/ALLanguage.vsix

WARNING: You are running a container which is 114 days old.
Microsoft recommends that you always run the latest version of our containers.

Container Total Physical Memory is 7.8Gb
Container Free Physical Memory is 3.2Gb

Initialization took 95 seconds
Ready for connections!
Reading CustomSettings.config from Major3-build
Copy from container Major3-build (C:\Applications.US\Microsoft_Any_18.0.18682.0.app) to C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Any_18.0.18682.0.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Any_18.0.18682.0.app
Synchronizing Any on tenant default
Installing Any on tenant default
App successfully published
Copy from container Major3-build (C:\Applications.US\Microsoft_Library Assert_18.0.18682.0.app) to C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Library Assert_18.0.18682.0.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Library Assert_18.0.18682.0.app
Synchronizing Library Assert on tenant default
Installing Library Assert on tenant default
App successfully published
Copy from container Major3-build (C:\Applications.US\Microsoft_Library Variable Storage_18.0.18682.0.app) to C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Library Variable Storage_18.0.18682.0.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Library Variable Storage_18.0.18682.0.app
Synchronizing Library Variable Storage on tenant default
Installing Library Variable Storage on tenant default
App successfully published
Copy from container Major3-build (C:\Applications.US\Microsoft_Test Runner_18.0.18682.0.app) to C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Test Runner_18.0.18682.0.app
Publishing C:\ProgramData\NavContainerHelper\Extensions\Major3-build\_Microsoft_Test Runner_18.0.18682.0.app
This Extension cannot be published as it has the same Publisher, Name, and Version as a previously published Extension.
at <ScriptBlock>, <No file>: line 12
##[error]This Extension cannot be published as it has the same Publisher, Name, and Version as a previously published Extension.

Additional context
It was working until today with exactly the same configuration.

question Fix Ready

Most helpful comment

You should shift to BcContainerHelper.

when you are using a cached image, the test apps will already be added.
I discovered this and fixed BcContainerHelper, so that it checks whether the app is installed before installing.

I am not going to fix this in NavContainerHelper.

Remember to remove all containers before uninstalling navcontainerhelper and installing bccontainerhelper

All 3 comments

You should shift to BcContainerHelper.

when you are using a cached image, the test apps will already be added.
I discovered this and fixed BcContainerHelper, so that it checks whether the app is installed before installing.

I am not going to fix this in NavContainerHelper.

Remember to remove all containers before uninstalling navcontainerhelper and installing bccontainerhelper

I had this issue on a non cached image. It seems that app 'Test Runner' is published in the image because there is a new app 'Performance Toolkit' present which depends on 'Test Runner'
I fixed our version of NavContainerHelper by wrapping Publish-NavApp in Publish-NavContainerApp.ps1 in a try catch statement for now.
But of course the way forward is to move to BCContainerHelper.

Yeah - there are a lot of things in BcContainerHelper which will help you.
The Generic image has also moved (which is configurable in BcContainerHelper) - it will stay in the old location until January 2nd - then you will have to manually specify generic image in NavContainerHelper.

Was this page helpful?
0 / 5 - 0 ratings