Azure / Commercial-Marketplace-SaaS-Accelerator

A reference example with sample code for developers interested publishing transactable, Software as a-Service offers in the Microsoft commercial marketplace.
MIT License
188 stars 289 forks source link

Update script ERROR #740

Open marteltran opened 1 month ago

marteltran commented 1 month ago

Describe the bug Run the update script to update existing SaaS-Accelerator in Azure, but get error

To Reproduce Steps to reproduce the behavior:

  1. Fork the SaaS-Accelerator code with latest release 7.6.3

  2. Logon to Azure Portal > Open Cloud Shell and run below update-script wget https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh; chmod +x dotnet-install.sh; ./dotnet-install.sh -version 6.0.423; $ENV:PATH="$HOME/.dotnet:$ENV:PATH"; dotnet tool install --global dotnet-ef --version 6.0.1; git clone https://github.com/xxxx/Commercial-Marketplace-SaaS-Accelerator.git; cd ./Commercial-Marketplace-SaaS-Accelerator/deployment; .\Upgrade.ps1 -WebAppNamePrefix "xxxxx" -ResourceGroupForDeployment "xxxx"

  3. See the errors:

Line | 32 | Param( | ~ | The term 'Param' is not recognized as a name of a cmdlet, function, script file, or executable program. Check the spelling of the name, or if a path was | included, verify that the path is correct and try again.

Deploying new database

ERROR: argument --vault-name: expected one argument

String-Between: /home/martel/Commercial-Marketplace-SaaS-Accelerator/deployment/Upgrade.ps1:64 Line | 64 | $Server = String-Between -source $ConnectionString -start "Data Sourc … | ~~~~~ | Cannot bind argument to parameter 'Source' because it is an empty string.

Expected behavior Expect to see successful message

Environment (please complete the following information):

marteltran commented 1 month ago

PowerShell Version Used: 7.4.3

santhoshb-msft commented 1 month ago

The latest PR should have fixed this. @code4clouds can you see if it’s still an issue please

marteltran commented 1 month ago

I got the fix and rerun the Upgrade.ps1 script, but get error with MSI:

Deploying new database

ERROR: Failed to connect to MSI. Please make sure MSI is configured correctly. Get Token request returned: <Response [400]> Upgrade.ps1: Line | 8 | .\Upgrade.ps1 ` | ~~~ | Cannot bind argument to parameter 'Source' because it is an empty string.

santhoshb-msft commented 1 month ago

@marteltran if you have already installed latest any reason why you are upgrading? But if you are anyway, please make sure to remove vnet protection for sql, keyvault and app services during the upgrade and add it back again after the upgrade

marteltran commented 1 month ago

I have installed the old version (6.5.x) so I want to upgrade to the latest (7.4.3). Just confirm: 1) Do I have to DELETE the key-vault and 2 App services (Admin & Portal) before running the upgrade script? (I do not use VNET). 2) How to add the key-vault after all?

santhoshb-msft commented 1 month ago

@marteltran - lets take a step back, but the latest is 7.6.2 not 7.4.3. I dont even see 7.4.3 anywhere am I missing something? Also there is no comment about deleting anything, so please dont delete anything unless you are aware of what you are doing.

marteltran commented 1 month ago

I confuse. When I fork the main branch, What is current version? and How to make sure that my fork contain 7.6.2?

santhoshb-msft commented 1 month ago

Not sure about your fork as that becomes your own branch based on upstream at the time of fork. our latest release 7.6.2 Please see more here on how to keep your fork UpToDate https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork . You might lose your fork changes, so please be diligent on what you are trying to do