Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[BUG] network.interface on windows 10 minions returns (WMI?) interface description instead of name. #57484

@r-pufky

Description

@r-pufky

Description
Expected interface name is not returned for network.interface on Windows 10 salt clients.

Intended result: Have minions contact salt-master via wireguard tunnel, named "salt-client". This network is confirmed to: work, pingable on both minion/master machines and correctly applies salt states, minion client upgrades, etc. through the tunnel without specifying the interface, salt-minions will use the correct network adapter to contact the salt-master over wireguard (working).

However, explicitly specifying the interface name will cause windows minions to fail.

Linux

source_interface_name: salt-client

Working as intended. Properly identifies the salt-client wireguard tunnel and uses it.

Windows

source_interface_name: salt-client

Will report that the interface does not exist.

windows salt-client interface retrieval.

 .\salt-call.bat network.interface salt-client
[ERROR   ] Interface "salt-client" not in available interfaces: "Software Loopback Interface 1", "Intel(R) Ethernet Connection (2) I219-V", "Wintun Userspace Tunnel"
local:
    Interface "salt-client" not in available interfaces: "Software Loopback Interface 1", "Intel(R) Ethernet Connection (2) I219-V", "Wintun Userspace Tunnel"

powershell reports interface names appropriately.

Get-NetAdapter
Name                      InterfaceDescription                    ifIndex Status       MacAddress        LinkSpe
                                                                                                              ed
----                      --------------------                    ------- ------       ----------        -------
Ethernet 2                Adapter for Windows                          19 Up           AA-BB-CC-DD-EE-FF ...Mbps
Ethernet                  Intel(R) Ethernet Connection (2) I219-V       5 Up           AA-BB-CC-DD-EE-FF  1 Gbps
salt-client               WireGuard Tunnel                              3 Up                             ...Gbps

Control Panel reports properly as well.

salt-bug

  • Ignore "no network access" This is on a non-routable network block. Connection works fine.

Detailed interface list shows

salt-details
This shows that saltstack is pulling the interface from the interface description (I'm guessing WMI, as the description is different from even the powershell listing).

A clear and concise description of what the bug is.

Expected interface name is not returned for network.interface on Windows 10 salt clients.

Expected Name: salt-client
Returned Name: Wintun Userspace Tunnel

This value is used in salt minion source_interface_name and diverges from linux minions.

Setup

(Please provide relevant configs and/or SLS files (be sure to remove sensitive info).

See above.

Steps to Reproduce the behavior

(Include debug logs if possible and relevant)

  1. Setup a working wireguard network between minion and master (I can send my wireguard formula, but that is relatively complicated and not the core issue here).
  2. Confirm minion and master can communicate and apply states over wireguard network without needing to specify the adapter name, on a private IP address space (/24).
  3. Explicitly set network adapter name in config:

c:/salt/minion

source_interface_name: salt-client
  1. Run state.highstate or ./salt-call network.interface salt-client

Expected behavior

A clear and concise description of what you expected to happen.

The same behavior as linux.

network.interface salt-client returns the correct interface.
source_interface_name: salt-client is valid for windows salt minions properly configured.

Versions Report

salt-master

Salt Version:
           Salt: 3000.3

Dependency Versions:
           cffi: Not Installed
       cherrypy: Not Installed
       dateutil: 2.7.3
      docker-py: Not Installed
          gitdb: 2.0.5
      gitpython: 2.1.11
         Jinja2: 2.10
        libgit2: Not Installed
       M2Crypto: Not Installed
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: 2.6.1
   pycryptodome: 3.6.1
         pygit2: Not Installed
         Python: 3.7.3 (default, Dec 20 2019, 18:57:59)
   python-gnupg: Not Installed
         PyYAML: 3.13
          PyZMQ: 17.1.2
          smmap: 2.0.5
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.3.1

System Versions:
           dist: debian 10.4
         locale: UTF-8
        machine: x86_64
        release: 4.19.0-9-amd64
         system: Linux
        version: debian 10.4

salt-minion (windows)

Salt Version:
           Salt: 3000.2

Dependency Versions:
           cffi: 1.12.2
       cherrypy: 17.4.1
       dateutil: 2.8.0
      docker-py: Not Installed
          gitdb: 2.0.5
      gitpython: Not Installed
         Jinja2: 2.10.1
        libgit2: Not Installed
       M2Crypto: Not Installed
           Mako: 1.0.7
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: 2.19
       pycrypto: Not Installed
   pycryptodome: 3.8.1
         pygit2: Not Installed
         Python: 3.5.4 (v3.5.4:3f56838, Aug  8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)]
   python-gnupg: 0.4.4
         PyYAML: 5.1.2
          PyZMQ: 18.0.1
          smmap: 2.0.5
        timelib: 0.2.4
        Tornado: 4.5.3
            ZMQ: 4.3.1

System Versions:
           dist:
         locale: cp1252
        machine: AMD64
        release: 10
         system: Windows
        version: 10 10.0.18362 SP0 Multiprocessor Free

salt-minion (linux)

Salt Version:
           Salt: 3000.3

Dependency Versions:
           cffi: Not Installed
       cherrypy: Not Installed
       dateutil: 2.6.1
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
         Jinja2: 2.10
        libgit2: Not Installed
       M2Crypto: Not Installed
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 3.6.9 (default, Apr 18 2020, 01:56:04)
   python-gnupg: 0.4.1
         PyYAML: 3.12
          PyZMQ: 16.0.2
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.2.5

System Versions:
           dist: Ubuntu 18.04 bionic
         locale: UTF-8
        machine: x86_64
        release: 5.3.0-53-generic
         system: Linux
        version: Ubuntu 18.04 bionic

Additional context
Add any other context about the problem here.

Happy to upgrade windows minion to 3000.3; but that's a red herring, giving the return value context for the windows minion.

edit: provided the right versions report for windows client.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Execution-ModuleWindowsbugbroken, incorrect, or confusing behaviorhas-failing-testhelp-wantedCommunity help is needed to resolve thisneeds-testcasePR needs test cases written, or the issue is about a bug/feature that needs test cases

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions