saltstack / saltstack/salt

salt-cloud: vultr provider can't install windows minion (windows not supported)

Open
#53,676 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Salt-Cloud severity-high Windows
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description of Issue

Vultr salt-cloud provider fails to install the salt-minion on a windows host.

[DEBUG   ] Retrying connection to host 99.99.99.74 on port 22 (try 150)
[DEBUG   ] Caught exception in wait_for_port: timed out
[DEBUG   ] Retrying connection to host 99.99.99.74 on port 22 (try 151)
[DEBUG   ] Caught exception in wait_for_port: timed out
[ERROR   ] Port connection timed out: 900
[ERROR   ] Failed to start Salt on host basehostname-21016-1
[DEBUG   ] Requesting URL https://api.vultr.com/v1/server/list?api_key=XXXXXXXXXX using GET method
[DEBUG   ] Using backend: tornado
[DEBUG   ] Response Status Code: 200
[INFO    ] Created Cloud VM 'basehostname-21016-1'
[DEBUG   ] 'basehostname-21016-1' VM creation details:
{u'SUBID': u'XXXXXXXX'}
[DEBUG   ] MasterEvent PUB socket URI: /var/run/salt/master/master_event_pub.ipc
[DEBUG   ] MasterEvent PULL socket URI: /var/run/salt/master/master_event_pull.ipc
[DEBUG   ] Initializing new IPCClient for path: /var/run/salt/master/master_event_pull.ipc
[DEBUG   ] Sending event: tag = salt/cloud/basehostname-21016-1/created; data = {u'profile': u'vultr-win2016-1', u'_stamp': '2019-07-01T20:21:02.802122', u'name': u'basehostname-21016-1', u'driver': u'vultr', u'provider': u'my-vultr-config:vultr', u'event': u'created instance'}
[DEBUG   ] Closing IPCMessageClient instance
[DEBUG   ] LazyLoaded nested.output
basehostname-21016-1:
    ----------
    APPID:
        0
    DCID:
        8
    Error:
        ----------
        Not Deployed:
            Failed to start Salt on host basehostname-21016-1
    FIREWALLGROUPID:
        0
    OSID:
        240
    SUBID:
        26877984
    VPSPLANID:
        202
    allowed_bandwidth_gb:
        2000
    auto_backups:
        no
    cost_per_month:
        10.00
    current_bandwidth_gb:
        0
    date_created:
        2019-07-01 19:57:21
    default_password:
        XXXXXXX
    disk:
        Virtual 55 GB
    gateway_v4:
        99.99.98.1
    id:
        26877984
    image:
        Windows 2016
    internal_ip:
    kvm_url:
        https://my.vultr.com/subs/vps/novnc/api.php?data=XXXXXXXXXXXX
    label:
        basehostname-21016-1
    location:
        London
    main_ip:
        99.99.99.74
    netmask_v4:
        255.255.254.0
    os:
        Windows 2016
    pending_charges:
        0.04
    power_status:
        running
    private_ips:
    public_ips:
        99.99.99.74
    ram:
        2048 MB
    server_state:
        ok
    size:
        202
    state:
        active
    status:
        active
    tag:
    v6_main_ip:
    v6_network:
    v6_network_size:
    v6_networks:
    vcpu_count:
        1
Setup

/etc/salt/cloud.providers.d/vultr.conf

# cat /etc/salt/cloud.providers.d/vultr.conf
my-vultr-config:
  # Vultr account api key
  api_key: XXXXXXXXX
  driver: vultr

/etc/salt/cloud.profiles.d/vultr.conf

vultr-win2016-1:
  location: London
  provider: my-vultr-config
  image: Windows 2016 x64
  size: 2048 MB RAM,55 GB SSD,2.00 TB BW
  enable_private_networks: True
  startup_script_id: XXXXXX

/etc/salt/cloud.maps.d/vultr-win.conf

vultr-win2016-1:
  - basehostname-21016-1
Steps to Reproduce Issue
  1. Setup salt-cloud per above
  2. salt-cloud -m /etc/salt/cloud.maps.d/vultr-win.conf
Versions Report
# salt-master --versions
/usr/lib/python2.7/site-packages/salt/scripts.py:102: DeprecationWarning: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date.  Salt will drop support for Python 2.7 in the Sodium release or later.
Salt Version:
           Salt: 2019.2.0

Dependency Versions:
           cffi: 1.6.0
       cherrypy: 5.6.0
       dateutil: 2.8.0
      docker-py: Not Installed
          gitdb: 0.6.4
      gitpython: 1.0.1
          ioflo: Not Installed
         Jinja2: 2.7.2
        libgit2: 0.26.3
        libnacl: Not Installed
       M2Crypto: 0.31.0
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: 2.14
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: 0.26.4
         Python: 2.7.5 (default, Apr  9 2019, 14:30:50)
   python-gnupg: Not Installed
         PyYAML: 3.10
          PyZMQ: 15.3.0
           RAET: Not Installed
          smmap: 0.9.0
        timelib: Not Installed
        Tornado: 4.2.1
            ZMQ: 4.1.4

System Versions:
           dist: centos 7.6.1810 Core
         locale: UTF-8
        machine: x86_64
        release: 3.10.0-957.1.3.el7.x86_64
         system: Linux
        version: CentOS Linux 7.6.1810 Core

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with the provided Vultr provider, profile, map, and salt-cloud -m command. Inspect the salt-cloud Vultr provider and Windows deployment path; done means the Windows 2016 instance is provisioned and the Salt minion starts successfully, with coverage for the reported failure if the project has a relevant test location.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cloud, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.