es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

“Future#WaitForCompletion” mientras se ejecuta un script de PowerShell desde GitHub – Terraform.

Tengo un script de Powershell en GitHub y lo estoy utilizando en el bloque “Configuraciones” dentro de “azurermvirtualmachine_extension” para configurar la máquina virtual del servidor de Windows. A continuación se muestra el código.

Recurso "azurerm_virtual_machine_extension" "iis-windows-vm" {
depends_on = [azurerm_windows_virtual_machine.web-windows-vm]
nombre = "ganar-$ {random_string.random-win-vm.result}-vm-extn "
virtual_machine_id = azurerm_windows_virtual_machine.web-windows-vm.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"

configuraciones = <<CONFIGURACIONES
{
"commandToExecute": "powershell -ExecutionPolicy Unrestricted -File demo.ps1",
"fileUris": ["https://raw.githubusercontent.com/Configure/app/master/demo.ps1"]
}
CONFIGURACIONES
}

Y lo siguiente son el contenido de “demo.ps1”

New-LocalUser "ansible" -Password (ConvertTo-SecureString -AsPlainText -Force ) -AccountNeverExpires:$true -PasswordNeverExpires:$true -FullName "ansible" | Add-LocalGroupMember -Group administrators

$url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
$file = "$env:temp\ConfigureRemotingForAnsible.ps1"

(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)

powershell.exe -ExecutionPolicy ByPass -File $file

Install-WindowsFeature -Name Web-Server -IncludeAllSubFeature -IncludeManagementTools

Cuando hago “terraform apply”, se muestra el siguiente error.

Error: Future#WaitForCompletion: el contexto ha sido cancelado: StatusCode=200 — Error original: plazo de tiempo del contexto vencido

El código funcionaba bien hasta ahora. No puedo entender el problema aquí. Solicito su ayuda para hacer que esto funcione.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error sugiere que el contexto de la operación ha sido cancelado antes de completarse, lo que podría ser causado por diversos factores como problemas de red, limitaciones de recursos o errores de configuración. Aquí hay algunos pasos que puede tomar para solucionar este problema:

    1. Verifique el estado del despliegue en el portal de Azure o utilizando el Azure CLI para ver si la extensión de la VM se ha aplicado correctamente o no.
    2. Verifique los registros de la extensión de la VM haciendo clic en la VM en el portal de Azure y dirigiéndose a “Extensiones” y luego a “Registros de extensión”. Esto proporcionará más información sobre el error y lo que lo causó.

    3. Aumente los valores de tiempo de espera en la configuración de Terraform para permitir más tiempo para que se complete el despliegue. Puede hacer esto configurando el bloque de timeouts en el recurso azurerm_virtual_machine_extension de la siguiente manera:

      timeouts {
      create= “30m”
      delete = “15m”
      }

    4. Asegúrese de que las dependencias de la extensión de la VM estén definidas correctamente y de que los recursos requeridos se hayan aprovisionado antes de aplicar la extensión de la VM.

    5. Verifique si ya hay extensiones de VM aplicadas en la máquina virtual que puedan estar interfiriendo con esta. Elimínelas o desactívelas antes de volver a aplicar la nueva extensión.

    6. Verifique que el archivo demo.ps1 sea accesible y pueda descargarse desde la URL especificada. Además, asegúrese de que el script de PowerShell esté libre de errores de sintaxis y pueda ejecutarse sin problemas.

    7. Aumente el nivel de verbosidad del registro especificando la bandera -Debug al ejecutar terraform apply. Esto mostrará registros más detallados y ayudará a localizar el problema.

    Estos pasos deberían ayudarlo a resolver el problema con el comando terraform apply que no se puede aplicar la extensión de la VM.

Comments are closed.