Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Please release 3005.2 (or other new version), to make fixes since 3005.1 available to the users #63631

Closed
3 of 9 tasks
marmarek opened this issue Feb 4, 2023 · 8 comments
Assignees
Labels
Bug broken, incorrect, or confusing behavior

Comments

@marmarek
Copy link
Contributor

marmarek commented Feb 4, 2023

Description

The latest release is 3005.1, and it's effectively unusable (file module doesn't work) on many new-ish distributions due to Python 3.11. This is at least due to #62676, but there were many more bugs fixed since 3005.1. Even thought many fixes were merged, it isn't really available to use, because there is no release with those changes included.
Please release new version (3005.2?) to make salt usable again.

Setup

See #62676 for specific issue. This issue is kind of intentional duplicate, to raise visibility. The referenced issue was fixed 4 month ago, yet it's still broken for many users due to missing release.

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

  • on-prem machine
  • VM (Virtualbox, KVM, etc. please specify)
  • VM running on a cloud service, please be explicit and add details
  • container (Kubernetes, Docker, containerd, etc. please specify)
  • or a combination, please be explicit
  • jails if it is FreeBSD
  • classic packaging
  • onedir packaging
  • used bootstrap to install

(probably other setups too - basically anything using Python 3.11)

@marmarek marmarek added Bug broken, incorrect, or confusing behavior needs-triage labels Feb 4, 2023
@chruck
Copy link

chruck commented Feb 4, 2023

For #62676 Docker steps to recreate on Fedora 37:

docker run --rm -it fedora:37
mkdir /srv/salt
dnf install -y salt-minion  # NOTE: Fedora's repo, not SaltStack's
cat >/srv/salt/multiline.sls <<EOF
{{sls}} - file.append gives RE.MULTILINE:
  file.append:
    - name: /tmp/file.append.RE.MULTILINE
    - text:
      - Related to https://github.com/saltstack/salt/issues/62676
EOF
salt-call --local state.sls multiline

Version info:

# salt-call -V
Salt Version:
          Salt: 3005.1

Dependency Versions:
          cffi: Not Installed
      cherrypy: Not Installed
      dateutil: 2.8.2
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 3.0.3
       libgit2: Not Installed
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.0.4
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: Not Installed
      pycrypto: Not Installed
  pycryptodome: 3.16.0
        pygit2: Not Installed
        Python: 3.11.0 (main, Oct 24 2022, 00:00:00) [GCC 12.2.1 20220819 (Red Hat 12.2.1-2)]
  python-gnupg: Not Installed
        PyYAML: 6.0
         PyZMQ: 23.2.0
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.4

System Versions:
          dist: fedora 37 Container Image
        locale: utf-8
       machine: x86_64
       release: 5.4.0-132-generic
        system: Linux
       version: Fedora Linux 37 Container Image

@OrangeDog
Copy link
Contributor

Python 3.11 was not released when 3005 was, so it is not supported.

Despite what Salt version support lifecycle says, no issues have been triaged for a long time, so nobody knows what "high and critical bugs" there are.

I would not expect 3005.2 to ever be released. Instead you'll have to wait for 3006.

@dmurphy18 dmurphy18 self-assigned this Feb 6, 2023
@dmurphy18
Copy link
Contributor

The classic packaging for Salt uses the default OS Python version, e.g. RHEL 7 uses Py 3.6.
No production OS is shipping with default Python version 3.11 as its Python version.
Py 3.11.1 only just got released and the initial Py 3.11 might not have been the best to use until the first minor fix release was released.

The 3005.1 onedir release internally uses Py 3.9, with minor release number bumping as various updates are made to Py 3.9.

Hence there is no production OS which would leverage Py 3.11 at present and any new minor release for classic packaging and onedir packaging would NOT leverage it, as a result.

Fedora is not really a production OS as implemented and used by companies in day to day usage.
Salt support on Fedora is open-source and uses Fedora Tools to build (classic style packaging - onedir style packaging not allowed on Fedora), and Salt could be rebuilt on Fedora to utilize Py 3.11 by an individual if they so desired.

Now that Py 3.11.1 is released, the Salt team is looking at leveraging it, since have seen 50% improvements in speed over Py 3.6 in certain use cases. Performance that is desirable, but no timelines as to when it will be used can be given at this point in time.

At the moment the Salt team is focused on getting 3006 RC1 released. And fixes are actively being incorporated in that major release.

Hence closing this for the above reasons, but please feel free to re-open if there is some other circumstance which needs to be considered.

@musicinmybrain
Copy link

Is there a list of which “full support” operating systems in https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html#overview-of-supported-operating-systems are considered to be a “production OS” and which ones are not really supported in practice?

@dmurphy18
Copy link
Contributor

Has it right there in the web page "Full Support", note that will be subject to change with major releases and as OS reach EOL, for example: Ubuntu 18.04 will be EOL on April 30th 2023 by Ubuntu, unless you pay for extended support. When security updates stop being provided by the OS vendor for free, that is, when Salt typically considers the OS is now EOL.

@marmarek
Copy link
Contributor Author

marmarek commented Feb 10, 2023

Thank you for confirming that Fedora 37 is fully supported (as listed on the table). Can you then please reopen and make it actually work?

@musicinmybrain
Copy link

I’m not in a position to demand anything, or to help very much here. I’m just confused about how to reconcile (1) Fedora 37 is a “Full Support” OS and (2) Python 3.11 is the system Python version in Fedora 37 with (3) There are no short-term plans to fix Python 3.11 incompatibilities on Fedora 37 because Python 3.11 is “not supported” and Fedora is ”not a production OS.”

@dmurphy18
Copy link
Contributor

Yes, Fedora 37 is a fully supported OS, last time I looked I thought Fedora 37 was using Py 3.10, rechecked (Py 3.11 was beta) and see it is now Py 3.11. So it will be updated but you will have to wait for 3006 RC 1 which will be soon. The Salt Core team is working hard to get 3006 RC 1, and don't have spare cycles for a 3005.2 release just to get fixes to support Py 3.11 in for Fedora 37, especially when it is typically not used in production in companies, won't benefit RHEL 7, 8 or 9, Debian 11 or Ubuntu 20.04 or 22.04, and we are so close to getting 3006 RC 1 out the door.

Working with limited resources for development and testing. The new pipeline for Salt 3006 and beyond utilizing GitHub Actions for 3006 should allow the Salt Team to have fully automated build and testing, hence the desire to get this to a release of 3006 RC 1, and allow for faster and quicker turn-around of versions.

So can I ask you to bare with us for just a while longer, as we try to get the improvements in delivery and code into your hands.

marmarek added a commit to QubesOS/qubes-builder that referenced this issue Mar 14, 2023
While salt in dom0 is not affects, it is in Fedora 37. While waiting for
new upstream release (and have it packaged in Fedora), push update
with the patch directly.

saltstack/salt#62676
saltstack/salt#63631
QubesOS/qubes-issues#7891
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug broken, incorrect, or confusing behavior
Projects
None yet
Development

No branches or pull requests

5 participants