saltstack / salt

Software to automate the management and configuration of any infrastructure or application at scale. Install Salt from the Salt package repositories here:
https://docs.saltproject.io/salt/install-guide/en/latest/
Apache License 2.0
14.19k stars 5.48k forks source link

[BUG] Virtual grain is not set for FreeBSD on AWS EC2 #61094

Closed amendlik closed 1 year ago

amendlik commented 3 years ago

Description The virtual grain is not set when running FreeBSD on AWS EC2

Setup Normal installation of Salt: pkg install py38-salt

Please be as specific as possible and give set-up details.

Steps to Reproduce the behavior Display the grain value:

salt-call grains.get virtual
local:
    physical

Expected behavior

salt-call grains.get virtual
local:
    kvm

Versions Report

salt --versions-report (Provided by running salt --versions-report. Please also mention any differences in master/minion versions.) ``` Salt Version: Salt: 3003.3 Dependency Versions: cffi: 1.14.6 cherrypy: Not Installed dateutil: 2.8.1 docker-py: Not Installed gitdb: Not Installed gitpython: Not Installed Jinja2: 3.0.1 libgit2: 1.1.1 M2Crypto: Not Installed Mako: Not Installed msgpack: 1.0.2 msgpack-pure: Not Installed mysql-python: Not Installed pycparser: 2.20 pycrypto: Not Installed pycryptodome: 3.10.1 pygit2: 1.5.0 Python: 3.8.12 (default, Oct 5 2021, 01:10:12) python-gnupg: Not Installed PyYAML: 5.4.1 PyZMQ: 22.3.0 smmap: Not Installed timelib: Not Installed Tornado: 4.5.3 ZMQ: 4.3.4 System Versions: dist: freebsd 13.0 locale: utf-8 machine: amd64 release: 13.0-RELEASE-p4 system: FreeBSD version: FreeBSD 13.0 ```

Additional context Add any other context about the problem here.

ari commented 3 years ago

Works for me:

Salt Version:
          Salt: 3003.3

Dependency Versions:
          cffi: 1.14.6
      cherrypy: Not Installed
      dateutil: 2.8.1
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 2.11.2
       libgit2: Not Installed
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.0.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: 2.20
      pycrypto: Not Installed
  pycryptodome: 3.10.1
        pygit2: Not Installed
        Python: 3.8.12 (default, Sep 10 2021, 01:14:56)
  python-gnupg: Not Installed
        PyYAML: 5.4.1
         PyZMQ: 22.2.1
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.4

System Versions:
          dist: freebsd 13.0
        locale: utf-8
       machine: amd64
       release: 13.0-RELEASE-p4
        system: FreeBSD
       version: FreeBSD 13.0

# salt-call grains.get virtual
local:
    xen
ari commented 3 years ago
# sysinfo bios
Generated by SysInfo v1.0.1 by Daniel Gerzo

BIOS information

Vendor: Xen
Version: 4.2.amazon
Release Date: 08/24/2006
BIOS Revision: 4.2
amendlik commented 3 years ago

I believe the core grains module contains code to detect the Xen hypervisor for FreeBSD, but not for KVM. AWS started moving their newer instance flavors over to KVM about 4 years ago. I observed this problem on a t3 instance.

It might be good to open a discussion about what the correct value should be. Technically, it is called the "EC2 Hypervisor" which is an AWS proprietary product based on KVM.

amendlik commented 2 years ago

Fixed by #61169