Solucionar problemas de validação de implantação do portal do Azure para o Azure Local, versão 23H2
Aplica-se a: Azure Local, versão 23H2 executando 2405 ou posterior
Este artigo fornece orientação sobre como solucionar problemas de validação de implantação experimentados durante a implantação do Azure Local por meio do portal do Azure.
Erro - falha na validação da implantação
Ao implantar o Azure Local, versão 23H2 por meio do portal do Azure, você pode encontrar uma falha de validação de implantação. A tarefa de validação "Rede Local do Azure - Verificar requisitos de rede" falha com o seguinte erro:
Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified for
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].
Se você for para a guia Rede na implantação do portal do Azure, dentro da configuração de Intenção de Rede, poderá ver o seguinte erro:
The selected physical network adapter is not binded to the management virtual switch.
Motivo
Esse problema ocorre em implantações acionadas após 6 de agosto. O problema acontece se a validação de implantação foi acionada no sistema e o resultado da validação foi uma falha, com tentativas de validação subsequentes.
O problema ocorre pelo seguinte motivo:
- A validação no dispositivo cria um comutador VM para testes relacionados à rede e é excluída no final dos testes.
DeviceManagementExtension
não está detetando a exclusão do comutador VM.
Resolução recomendada
O processo de resolução em várias etapas inclui as seguintes etapas:
- Remova o bloqueio do nó de propagação
- Remover o erro de validação
- Limpar o Recurso do Azure do Dispositivo de Borda com informações incorretas do comutador de VM
- Atualizar os dados na nuvem
- Reinicie a implantação por meio do portal do Azure
- Recriar o bloqueio no recurso do nó de propagação
Nota
Todas as etapas neste artigo precisam ser executadas no nó semente.
Remova o bloqueio do nó de propagação
Siga estas etapas para remover o bloqueio do nó de semente:
- Para remover o bloqueio, no portal do Azure, vá para o objeto por meio do grupo de recursos ou em Máquinas - Azure Arc.
- No painel esquerdo, vá para Bloqueios de configurações>. Você verá um cadeado chamado DoNotDelete. Este é o bloqueio automático de recursos que é criado quando o nó é integrado.
- Selecione Excluir contra o bloqueio.
Se você tentar as etapas na próxima seção sem remover o bloqueio, o comando Excluir falhará com o seguinte erro:
Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default
Aqui está o exemplo de saída quando executado com o --verbose
switch:
(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Remover o erro de validação
Com o bloqueio removido, siga estas etapas para remover o erro de validação.
Conecte-se ao nó semente. Execute o seguinte comando do PowerShell:
Get-VMSwitch
Verifique a
Get-VMSwitch
saída do comando para quaisquer comutadores VM inesperados, por exemplo, o comutador que é criado durante a etapa de Validação de Rede e tem um nome semelhante a:"ConvergedSwitch(compute_management)"
. O nome exato do switch depende da configuração de intenção de rede escolhida.Se existir um comutador de VM que você não criou intencionalmente, remova-o. Execute o seguinte comando do PowerShell:
Remove-VMSwitch -Name "<VM Switch Name>" -Force
Certifique-se de usar o nome do comutador VM do
Get-VMSwitch
comando. Se você não criou intencionalmente um comutador VM, oGet-VMSwitch
comando não terá resultados. A falha ocorre porque a Etapa de Validação de Rede limpou o comutador de VM, mas não detetouDeviceManagementExtension
a limpeza.
Continue com as etapas de limpeza.
Limpar o Recurso do Azure do Dispositivo de Borda com informações incorretas do comutador de VM
Depois que o comutador de VM no dispositivo for removido, limpe o recurso ARM do Dispositivo de Borda que contém as informações incorretas do comutador de VM por meio da CLI do Azure.
Em um cliente que pode acessar o Azure, verifique se instalar ou instalar a AZ CLI: Instalar a CLI do Azure no Windows
- Você pode verificar a instalação executando:
az
- Se instalado, isso gera uma
"Welcome to Azure CLI!"
mensagem com comandos disponíveis.
- Você pode verificar a instalação executando:
Entre no Azure com a CLI do Azure. Execute o seguinte comando:
az login --tenant <tenant ID> --use-device-code
Para obter mais informações, entre interativamente com a CLI do Azure
Para definir uma assinatura específica, execute o seguinte comando:
az account set --subscription "<Subscription ID>"
Substitua o valor no comando de exemplo acima pelo valor apropriado para
<Subscription ID>
.Saída dos dados armazenados dentro do
edgeDevices
recurso que tem as informações do Comutador VM armazenadas incorretamente. Execute o seguinte comando:az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Substitua os valores no comando de exemplo acima pelos valores apropriados para:
<Subscription ID>
,<Resource Group Name>
e<Machine Name>
.Aqui está um exemplo de saída:
az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
A saída deste comando mostra um pouco de detalhes sobre o Nome> da <Máquina usado no comando. Perto da parte inferior da saída, há uma seção para
"switchDetails"
, que provavelmente mostrará o seguinte (que é o Comutador de VM de Validação que foi criado e limpo no dispositivo, mas não foi detetado pelo DeviceManagementExtension e atualizado no lado da nuvem):"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Depois de confirmar o
show
comando trabalhado emitindo osedgeDevices
dados, e provavelmente confirmando o"switchDetails"
, é horadelete
do recurso do ARM para que ele possa ser atualizado adequadamente a partir do nó de semente.Nota
A exclusão dos dados é uma ação segura a ser executada, mas só deve ser executada
edgeDevices
quando explicitamente declarada. Não execute esta ação a menos que seja aconselhado a fazê-lo.Exclua o
edgeDevices
recurso, que tem as informações do comutador de VM armazenadas incorretamente. Execute o seguinte comando:az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Substitua os valores (lembre-se de remover os <> caracteres também) pelos valores apropriados para:
<subGUID>
<resourceGROUPNAME>
<Machine Name>
Este é o mesmo recurso
--ids
doshow
, então você pode usar a mesma cadeia de caracteres. Na verdade, você pode apenas "seta para cima" no console e substituirshow
pordelete
.Aqui está um exemplo de saída:
`az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Quando executado, não há saída desse comando. O comando funciona e retorna o prompt de comando ou apresenta um erro. Ele não deve apresentar um erro, mas se apresentar, isso exigirá mais solução de problemas.
Verifique a exclusão do recurso executando o
show
comando novamente. Aqui está um exemplo de saída:(ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found. Code: ResourceNotFound Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
Atualizar os dados na nuvem edgeDevices
Com o recurso ARM e todos os comutadores VM não intencionais removidos, atualize os dados do lado edgeDevices
da nuvem novamente.
Siga estas etapas para atualizar os dados na nuvem:
Reinicie o
DeviceManagementService
no nó semente. Execute o seguinte comando do PowerShell:Restart-Service DeviceManagementService
Aguarde alguns minutos e verifique se os dados na nuvem
edgeDevices
estão atualizados e refletem o estado atual. Execute oshow
comando novamente e revise a saída. Certifique-se de que a saída não contém mais comutadores de VM inesperados, a saber:"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Reinicie a implantação por meio do portal do Azure
Com os dados do dispositivo e da nuvem agora de volta em sincronia, você pode ir para o portal do Azure e fornecer as entradas de implantação. A etapa anterior impede qualquer informação armazenada em cache de tentativas anteriores.
Siga os passos abaixo no portal do Azure:
Na guia Noções básicas, forneça suas entradas (selecionando nos menus suspensos mais uma vez) para os campos da parte superior.
Desmarque os nós na parte inferior da página.
Revalide os nós reselecionados.
Confirme as informações nas páginas subsequentes. Você verá as seguintes alterações:
- Na página Rede, você não verá mais o
The selected physical network adapter is not binded to the management virtual Switch
erro que pode ter sido visto anteriormente. - Na página Validação no final, se você tiver passado o problema original, o
deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address
erro não será exibido.
- Na página Rede, você não verá mais o
Se nenhum outro problema de validação ocorrer, inicie a implantação.
Recriar o bloqueio no recurso do nó de propagação
Após a conclusão da atenuação, é altamente recomendável recriar o bloqueio no recurso.
Siga estes passos para recriar o bloqueio:
- No portal do Azure, vá para o objeto por meio do grupo de recursos ou em Máquinas - Azure Arc.
- Vá para Bloqueios de configurações>.
- Selecione + Adicionar na parte superior da página.
- Em Nome do bloqueio, digite DoNotDelete.
- Em Tipo de bloqueio, selecione Excluir na lista suspensa.
- Selecione OK para salvar o bloqueio.