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 diretrizes sobre como solucionar problemas de validação de implantação ocorridos 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ê acessar a guia Rede na implantação do portal do Azure, na 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.
Causa
Esse problema ocorre em implantações acionadas após 6 de agosto. O problema ocorre se a validação de implantação foi disparada no sistema e o resultado da validação foi uma falha, com novas tentativas de validação subsequentes.
O problema ocorre pelo seguinte motivo:
- A validação no dispositivo cria um comutador de VM para testes relacionados à rede e é excluída no final dos testes.
DeviceManagementExtension
extension não está detectando a exclusão do comutador de 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
- Remova 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 da nuvem
- Reiniciar a implantação por meio do portal do Azure
- Recriar o bloqueio no recurso de nó de semente
Observação
Todas as etapas neste artigo precisam ser executadas no nó de 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, acesse o objeto por meio do grupo de recursos ou em Computadores – Azure Arc.
- No painel esquerdo, vá para Configurações > Bloqueios. Você deve ver um cadeado chamado DoNotDelete. Esse é o bloqueio automático de recursos 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.
Remova o erro de validação
Com o bloqueio removido, siga estas etapas para remover o erro de validação.
Conecte-se ao nó de semente. Execute o seguinte comando do PowerShell:
Get-VMSwitch
Verifique a
Get-VMSwitch
saída do comando para ver se há comutadores de 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 de VM do
Get-VMSwitch
comando. Se você não criou intencionalmente um comutador de VM, oGet-VMSwitch
comando não terá resultados. A falha ocorre porque a Etapa de Validação de Rede limpou o comutador de VM, masDeviceManagementExtension
não detectou 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 a opção de VM no dispositivo for removida, limpe o recurso ARM do Dispositivo de Borda que contém as informações incorretas da opção de VM por meio da CLI do Azure.
Em um cliente que pode acessar o Azure, verifique instalar ou instalar a CLI da AZ: 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 os comandos disponíveis.
- Você pode verificar a instalação executando:
Entre no Azure com a CLI do Azure. Execute o comando a seguir:
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>
.Produza os dados armazenados no
edgeDevices
recurso que tem as informações do Comutador de VM armazenadas incorretamente. Execute o comando a seguir: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>
.Veja 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 desse 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 detectado pelo DeviceManagementExtension e atualizado no lado da nuvem):"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Depois de confirmar que o
show
comando funcionou gerando osedgeDevices
dados e, provavelmente, confirmando o"switchDetails"
, é hora de usardelete
o recurso do ARM para que ele possa ser atualizado adequadamente a partir do nó de semente.Observação
A exclusão dos
edgeDevices
dados é uma ação segura a ser executada, mas só deve ser executada 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 comando a seguir: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>
Esse é o mesmo recurso
--ids
do , então você pode simplesmente usar ashow
mesma string. Na verdade, você pode simplesmente "seta para cima" no console e substituirshow
pordelete
.Veja 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. 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. Veja 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 da nuvem edgeDevices
Com o recurso do ARM e todos os comutadores de VM não intencionais removidos, atualize os dados do lado edgeDevices
da nuvem novamente.
Siga estas etapas para atualizar os dados da nuvem:
Reinicie o
DeviceManagementService
no nó de semente. Execute o seguinte comando do PowerShell:Restart-Service DeviceManagementService
Aguarde alguns minutos e verifique se os dados da 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 contenha mais nenhuma opção de VM inesperada, a saber:"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Reiniciar a implantação por meio do portal do Azure
Com os dados do dispositivo e da nuvem agora sincronizados novamente, você pode acessar o portal do Azure e fornecer as entradas de implantação. A etapa anterior impede qualquer informação em cache de tentativas anteriores.
Siga estas etapas no portal do Azure:
Na guia Noções básicas , forneça suas entradas (selecionando nos menus suspensos mais uma vez) para os campos na 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ê deve ver as seguintes alterações:
- Na página Rede , você não deve mais ver 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 do 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 deve mais ver o
Se nenhum outro problema de validação ocorrer, inicie a implantação.
Recriar o bloqueio no recurso de nó de semente
Após a conclusão da mitigação, é altamente recomendável que você recrie o bloqueio no recurso.
Siga estas etapas para recriar o bloqueio:
- No portal do Azure, acesse o objeto por meio do grupo de recursos ou em Computadores – Azure Arc.
- Vá para Configurações > Bloqueios.
- Selecione + Adicionar na parte superior da página.
- Em Nome do bloqueio, insira DoNotDelete.
- Em Tipo de bloqueio, selecione Excluir na lista suspensa.
- Selecione OK para salvar o bloqueio.