Open Hour 2020-JUN-25

January 23, 2021 - slangadmin

Agenda

  • Salt news and updates
  • Tiamat naming and background with Tom Hatch
  • Community request: pushing fixes more quickly
  • PR discussion: git_pillar: Avoid checkout to improve performance and fix inconsistency: https://github.com/saltstack/salt/pull/57540
  • Magnesium MVP discussion: Communicating PR process and status
  • Open discussion and questions

Salt news and updates

Cassandra Faris

  • Core Team is in Magnesium release planning. The PR Merge jam is slated for this release and will happen July 28-30.
  • Core Team on Summer break the week of June 29. Triage and emergency support will be covered.

Tiamat naming and background

Tom Hatch History – The project evolved in a way that Tom didn’t originally predict. – Tom has spent time over the years trying to make Python projects more universally deliverable. Py Installer did an excellent job or producing a deliverable, but not at helping people create deliverables. In August 2019, he started working on a script that would build Salt into a binary. The script was effective and named Salt Bin. – With the POP project, he wanted it to be easy to turn POP projects into single binaries, easing distribution. He put the Salt Bin script directly into POP, then realized the project was growing and should be a standalone project. – He combined Salt Bin and POP into a universal project and named it POP Build. The name shouldn’t have been POP Build because people would say they’d use POP to build/build with POP. So he renamed POP Build to Tiamat and plans to keep this name.

  • About Tiamat
    • Tiamat is a build system for creating single binaries.
    • It’s a pluggable build system that allows for different backends (PyInstaller, etc.). It’s made to bypass many of PyInstaller’s problems and challenges.
  • Goals of Tiamat
    • Use it to build Salt.
    • Potentially move packaging over to use Tiamat builds for Salt. This will allow builds to be isolated from system libraries and Python. Packages to install Tiamat builds of Salt are available currently.
  • Q&As
    • What’s the timeline for going from experimental to production packages? When will we do away with the packages that exist today?
      • The hope is to do it for the Magnesium release. We have packages being built now against Git, and have only run into minor hiccups that deal with adding additional Python libraries.
      • There will be a SEP on this before any decision is made.
      • No decision has been made on whether to discontinue existing packages for Magnesium. – Any updates on the Debian/Ubuntu Tiamat builds?
      • One minor change needs made, then this will be available. This bug should be fixed soon.
    • Will there be SLES builds for Tiamat?
      • These are likely being handled off to the Open SUSE team.

Community request: pushing fixes more quickly

Core Team

  • Looking for a progress update on being able to push fixes more quickly. Salt hasn’t had a great history of having a truly “stable” version since each release is changing and adding things, and it would be great to have some of the quality-of-life fixes done.
  • Bug fix releases are coming out within a month compared to an indefinite timeline before. Major releases were 6-8 months or longer. The focus is on getting more stable releases through more testing. We’ve also moved toward more regular releases using the new release cycle schedule. Releases come out every 3 months with bug fixes coming within the following month.
  • The team is quantifying stability using the number of bugs in a given release. They’re still working through the process of tracking the bugs, making sure things don’t get loss, and progressing on the issue backlog.

PR discussion:

git_pillar: Avoid checkout to improve performance and fix inconsistency: https://github.com/saltstack/salt/pull/57540

Wayne Werner

  • PR author: “The basic idea is to use the same mechanism as gifts in git_pillar. Before this patch, there was git checkout protected by a repo-level lock. After this patch no more checkout. There is a regression: https://github.com/saltstack/salt/pull/57540#issuecomment-649026724. and the performance are not yet as good as they should. Some optimisation have to be done.”
  • The issue is aimed at helping fix inconsistent pillar data
  • Looking for more eyes and feedback on this issue, as well as more tests.

Magnesium MVP discussion: Communicating PR process and status

Cassandra Faris

Open discussion and questions

Community and Core Team

  • How do you find the parameters for a Salt Cloud profile?
    • As of now, the only way is to read the code and look at documentation. This is an area that needs more documentation and an GitHub issue to track progress.
    • The parameters are typically defined as variable names, we could do something that compiles doc strings. The ideal solution would be something that is self-perpetuating.