-1

I'm trying to provision Azure Windows VM using saltstack. The VM is provisioned successfully but when saltstack tries to install salt-minion it tries to connect to Windows VM using port 22 which doesn't work.

The default behavior of salt-cloud is after provisioning VM - it tries to install salt-minion on new VM. But for windows it tries to connect using port 22.

Any idea why and how to fix this?

salt-cloud -p azure-win2012 test6: (This is the command to deploy a VM named test6 using profile azure-win2012)

[DEBUG   ] Closing IPCMessageClient instance
[DEBUG   ] Deploying 20.20.20.20 at 2022-11-03 13:30:03
[DEBUG   ] Attempting connection to host 20.20.20.20 on port 22
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 1)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 2)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 3)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 4)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 5)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 6)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 7)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 8)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 20.20.20.20 on port 22 (try 9)

azure_cloud_profile.conf:

azure-win2012:
  provider: my-azure-config
  image: MicrosoftWindowsServer|WindowsServer|2012-R2-Datacenter|latest
  size: Standard_B1s
  location: 'westeurope'
  win_username: azureuser
  win_password: 'Verybadpass@!#'
  allocate_public_ip: True

cloud_provider_conf:

my-azure-config:
  driver: azurearm
  subscription_id: xxxxxxxxxxxxxxxxxxx
  tenant: xxxxxxxxxxxxxxxxxx
  client_id: XXXXXXXXXXXXXXXX
  secret: 'XXXXXXXXXXXXXXXXXXX'
  certificate_path: /etc/salt/azure.pem
  resource_group: test-rg
  network: test-vnet
  subnet: default
  username: azureuser
  password: 'Verybadpass@!#'
  location: 'westeurope'

  # Set up the location of the salt master
  #
  minion:
    master: x.x.x.x

  # Optional
  management_host: management.core.windows.net
OrangeDog
  • 36,653
  • 12
  • 122
  • 207
Robert
  • 395
  • 2
  • 11
  • [Related issues](https://github.com/saltstack/salt/issues?q=is%3Aissue+is%3Aopen+label%3ASalt-Cloud+label%3AWindows) – OrangeDog Nov 04 '22 at 14:54

1 Answers1

0

Figured it out. I had to specify few more things in the profile like use_winrm and winrm_port etc.,

Here is the working cloud profile.

azure-win2019:
  provider: my-azure-config
  image: MicrosoftWindowsServer|WindowsServer|2019-datacenter-gensecond|latest
  size: Standard_B2ms
  location: 'westeurope'
  win_username: azureuser
  win_password: 'Verybadpass'
  use_winrm: True
  winrm_verify_ssl: False
  winrm_port: 5986
  smb_port: 445
  win_installer: /srv/salt/win/files/Salt-Minion-3004.2-1-Py3-AMD64-Setup.exe
  userdata_file: https://raw.githubusercontent.com/xxxxxxxx/Windows_Firewall.ps1
  userdata_template: False
  allocate_public_ip: True
  security_group: saltstack-nsg
Robert
  • 395
  • 2
  • 11