-
Notifications
You must be signed in to change notification settings - Fork 15
Open Hour Agendas and Notes: 2020 06
- 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
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.
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.
- What's the timeline for going from experimental to production packages? When will we do away with the packages that exist today?
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.
Cassandra Faris
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.
- Salt news and updates
- Sodium release status and highlights
- Working Group goals for Magnesium
- SEP #22 - added pop, https://github.com/saltstack/salt-enhancement-proposals/pull/30
- test-kitchen overview and project support with @Xorima, https://github.com/saltstack/salt/issues/57691
- Open discussion and questions
Cassandra Faris
- Big news: Sodium is live
- Sodium blog posts
- Thanks to Community Member Max Arnold for another excellent "What's New in Salt??" blog post.
- A Sodium recap from a community management perspective is available on the SaltStack Community Site.
- Sodium blog posts
- PR Merge Jam planning in progress. May include a Documentation Jam, opening keynote, and short talks throughout the event.
- Meetup featuring Nick Hughes speaking on Infra as Code with Nick Hughes scheduled for June 24. More details are at community.saltstack.com
Core Team
- Community
- This was the first release cycle that Cassandra Faris was fully involved from planning stages to release.
- Community growth was exciting. Went from 141 contributors in Neon to 204 in Sodium, burned down items in PR Merge backlog, increased event attendance, added the Formulas Working Group, repaired the IRC-Slack bridge, worked on the CVE salt-miner-bridge, hosted several virtual meetups, and set a Twitch schedule that includes Test Clinics.
- Communication processes firmed up and streamlined. Timeline in place for recurring events.
- Core Team is proud of the community's work and thankful for their flexibility as we faced the COVID-19 and CVE-related challenges.
- This release cycle included 2 additional releases: a bug fix and the CVE, along with patches for previous versions of Salt. This was a major accomplishment for the team that it's never done before. The work couldn't have been done without the community. Thank you to all who contributed!
- Additional major Sodium contributions: MSI Installer for Windows, switch to PyCryptodome, documentation fixes, foundation work for future releases, initial implementation of towncrier, and increased contributions from the Working Group.
- Move to purely Python 3 will be a big improvement from a support and development standpoint.
Cassandra Faris and Working Group Captains
- Cloud (Nick Hughes): “I think the only thing we're pushing is more involvement, so if someone just wants to mention that we'd love to have contributors come help us with developing the next generation of cloud modules, that'd be awesome!”.
- Documentation (Alan Culver & Alyssa Rock): “Work on laying the groundwork to transition the Salt docs over to the new theme and separate the core docs out from the Salt project (not including module documentation and anything in docstrings).”.
- SaltStack is currently implementing a new theme across several areas. The theme will allow upgrades to Sphinx (the documentation compiler we use).
- The new theme shows users how to do different commands in different operating systems with a simple click on a tab as well as other features.
- Formulas (Imran Iqbal): Nothing specific. Doing work and focusing on the tiger board and meeting every other week.
- Mac OS (Wesley Whetstone): WWDC is coming soon and will likely result in a new MacOS version. The group is trying to prepare for that. They're working on getting the Salt MacOS package fully signed and notarized by Apple which will open up new capabilities. The group is also excited to work with Idem Darwin project and with new modules.
- SSH: No response.
- Testing: No response.
- Windows (Shane Lee): The group will likely focus on Pop Grains and is working on planning.
- Recurring theme: Working Groups are looking for members. These are a great place to get involved in the aspects of Salt that matter most to individual contributors.
Tyler Johnson
- SEP link: https://github.com/saltstack/salt-enhancement-proposals/pull/30.
- SEP title: Compartmentalize salt: Use pop-grains (grainsv2) for grain collection
Community Member Jason Field
- Jason is a maintainer for test-kitchen and is looking for people to help maintain things. The maintainers want to help make sure that this project will remain compatible with Salt. This maintenance work would mostly focus on reviewing PRs and what people are proposing as features.
- He's opened an issue asking for help: https://github.com/saltstack/salt/issues/57691
- It was great to see a contributor reach out and ask Salt to help with their project. Others are welcome to do this at any time. It helps community as a whole grow.
Community and Core Team
- Are we still following the dot releases on major releases and slating features for new major releases?
- Yes. The bugfix release focuses on smaller or minor fixes plus some Python 2/Python 3 updates.
- CVE releases are focused only on CVEs.
- We will continue this cycle. We will share dates and deadlines with the community as they're finalized.
- Community management, communication, and releases
- One of the Community Manager's areas of focus is to make sure these updates, SEPs, and other news are shared with the community. Cassandra is open to feedback and requests as we improve communication processes.
- Internally, we use a community-requests Slack channel to share requests for help and areas of feedback.
- As several community members start suggesting or requesting things, the team takes a closer look at implementing them.
- How long will 2019.2 be supported and will any further fixes be released for that version?
- Currently in CVE maintenance only.
- CVE maintenance ends September 30, 2020.
- Besides kitchen-salt, what other links are there between Salt and test-kitchen?
- Salt currently consumes the Docker platform and uses it in several other areas.
- Dafydd has aleady managed to get Windows testing using Kitchen working via GitHub Actions. More details are available here.
- What releases are after Magnesium?
- Aluminium, then Silicone.
- Salt news and updates
- Open SEPs
- Sodium release status
- Modernizing network support post-deprecation
- Bootstrap updates and POC
- Open discussion and questions
Cassandra Faris
- Based on community feedback, changing the order of "What's Happening?" posts to focus on Core Team focus, SEPs, and releases before events
- Meetups starting again June 24
- Working Groups
- Video upload backlog is complete
- Cassandra to contact WG captains to find out Magnesium priorities
Wayne Werner and Community Member Imran Iqbal
- Using the Matrix bridge in the Slack #formulas channel. There is an issue where new users who join in Slack don't always show up in IRC, waiting to hear feedback from Matrix.
- Bridge setup completed during the Open Hour thanks to Gareth and Imran.
Sage Robins
- SEP #22 - unsupported releases url (https://github.com/saltstack/salt-enhancement-proposals/pull/28) has been merged.
- SEP #tbd - release label updates: draft in progress, goal to prioritize this in Magnesium.
Moe Abdula, Core Team, and Community Members
- Thank you to all who contributed to the release!
- On track for June 17 release around 12:00pm MCT/6:00pm UTC.
- Laying out issues and priorities for the .1 and Magnesium releases.
- Several issues have been identified and labeled 3001.1 for the point release. This tells which issues will be in the point release.
- Bug fix release project board available here: https://github.com/saltstack/salt/projects/16 for 3001.1 release. Review those to view priorities.
- Focusing on things that are critical. Share critical issues with the Core Team so they can triage.
- Dot release scheduled for mid-July. This timeframe also coincides with Magnesium planning.
- Code freeze to be lifted in mid-July.
- Community deliverables
- Hub for everyone to find information - wiki services this purpose.
- More recognition for key contributors
- Events are on a regular cadence.
- Sodium EL6 support: There is no RedHat 6, Debian 8, or Python 2.
David Murphy
- Community topic request: Can we discuss modernizing networking support now that distributions are moving deprecated things.
- Salt has been relying on deprecated network tools partially due to Python 2, Solaris 10, and AIX support. As long as OSs didn't remove those tools from their packages, there was no issue. Ubuntu 20 removed their support so the team now needs to update Salt for new, supported distributions. During the Magnesium planning session, we'll create an epic to approach and support this need.
- Primary approach will be to use newer versions of the net-tools, but still need to have some support for the old ones because we're still reliant on them. This is slated to be done during Magnesium.
- GitHub issue re: avoiding use of deprecated net-tools: https://github.com/saltstack/salt/issues/57541.
Pedro Algarvio
- Community topic request: As we move to a single binary, how will we update Bootstrap?
- Those who are deep into Salt likely rely on Salt Bootstrap which is a shell script that allows us to bootstrap Salt Masters and minions in different scenarios.
- Salt Bootstrap has grown making it harder to maintain, test, and improve. Pedro started a proof-of-concept to create something that is more testable and maintainable.
- Recording of this POC in action as of June 11, 2020: https://asciinema.org/a/ag7gFeOneCUx7HaBj1SpO2iy4.
- Bootstrap code as of June 11, 2020: https://github.com/s0undt3ch/salt-bootstrap/tree/features/pypkg.
- This will continue to rely on Python.
- Q&As
- One of the benefits of having a bootstrap script is that people can download it and inspect what they're running (or even make minor changes to suit their use case). Will there be no script-based solution once bootstrap-salt.sh is deprecated?
- People won't be able to inspect that single binary or simply edit shell script.
- The build process will be open and transparent which will allow you to build and use your binary to bootstrap things.
- Bootstrap-salt.sh will be deprecated which will help make the code more testable and maintainable.
- Can we create a short script that runs this process?
- This is an option.
- Will need to consider backwards compatibility as it impacts Salt Cloud.
- Salt Cloud can already download the latest release of the script and use that rather than the one that's shipped with Salt. There is no plan to just delete the bootstrap script as of now though it won't be shipped going forward.
- This is a work in progress.
- The team will be sharing this POC information and soliciting additional feedback via Slack's Develop channel. There may also be a SEP depending on the response to the request for feedback.
- Input on the single binary, along with related security concerns, is welcome.
- One of the benefits of having a bootstrap script is that people can download it and inspect what they're running (or even make minor changes to suit their use case). Will there be no script-based solution once bootstrap-salt.sh is deprecated?
Community and Core Team
- Is virtual SaltConf happening?
- The decision hasn't been finalized.
- Alternatives and/or additions: Virtual meetups, a dedicated time for the community to come together and chat, bookend Magnesium PR port/Documentation jam with keynotes and updates.
- Is there a way to access historical SaltConf archives?
- Is there a release date set for Salt 3000.4?
- A 3000.4 would only occur if there was a CVE.
- The next target would be 3001.1, then in October Salt 3002 (Magnesium) will be released.
- Salt news and updates
- SEP status updates: SEP #22 - unsupported releases url (https://github.com/saltstack/salt-enhancement-proposals/pull/28) and SEP #18 - release label improvements (https://github.com/saltstack/salt-enhancement-proposals/pull/24)
- Working Group Highlight: Cloud Working Group with Nick Hughes
- RC status and updates
- Python 3 test coverage
- Open discussion and questions
Cassandra Faris
- Salt Virtual User Groups resume June 24 and will happen 3-4 times per month. We're aiming for a variety of topics and speakers from both the Core Team and our contributors. If anyone has questions about speaking or is interested in giving a talk, Cassandra can help schedule that.
- Communication channels: Slack, IRC, and the Google Group/Mailing List are the main communication It channels our community members use. We'll share release news, SEP updates, "What's Happening This Week?" posts, and Open Hour agendas on all of those channels, and post them on the Community Wiki.
- The Community is becoming a hub for community information. It'll grow and evolve as we add more items to it.
Cassandra Faris and Sage Robins
- SEP #22 (unsupported releases url) is merged.
- SEP #18 - release label improvements
- We'd planned to close this SEP, but are reconfiguring and reworking it based on community feedback.
- There will be a new SEP that dives into deeper questions that the original labels SEP wasn't meant to address. It will have a broader scope and will hopefully address community questions about the release cycle and the timing of PR and issue resolutions and merges. It will also include discussion on severity and other labels plus the use of release milestones.
Community Member Nick Hughes
- We hear a lot about Working Groups, but don't always know what they're doing. These highlights let them share their projects with the greater community and potentially find more members. Anyone is welcome to join a Working Group. The Working Group meeting schedule is on the Salt Community Events Calendar.
- The current Working Group focus is idem. Idem is one of the next generation open source platforms that was announced last fall. Cloud providers are the first foray into releasing idem plugins into the world.
- Idem Background information: Thomas Hatch came up with the Plugin-Oriented Programming (POP) paradigm. Idem was one of the applications released in POP. It's similar to the stateful enforcement and execution module functionality that is in Salt today. It allows us to write plugins that are in separate repositories. They can be iterated at their own speed and contain the cloud functionality that we'd like.
- Cloud Working Group meets every month. Members don't need extensive Cloud knowledge to join. The group is a place to learn as well as a way to contribute.
Sage Robins and Frode Gundersen
- The RC went out May 2 as planned. We announced it across the communication channels.
- The core team is testing the RC, finding issues, adding them to the Sodium project board, and asking people to label them. The person on triage alerts the team of critical issues. The team is currently working on several issues.
Wayne Werner
- Community members are concerned that some issues don't have test coverage and haven't been used by people running Python 3.
- We have a test coverage improvement opportunity. Currently, not everything has tests. Without tests, there's no way to tell if an underlying item's removal breaks functionality. One way to help is to get the RC, run it in your local environment, and run Salt under Python 3. The more people test the RC, the more things we can find that lack test cases and/or have bugs.
- For test help, reach out to Wayne or bring them to the Twitch Test Clinic streams.
Community and Core Team
- Closing PRs
- What's the approach to handling the PR backlog now that we're moving more quickly? The concern is PRs that have been waiting for a long time will be closed without being addressed.
- It's frustrating for contributors when PRs sit for months without acknowledgement, then get closed due to abandonment.
- Contributors get a week's notice asking them to rebase the PR against master and telling them the Core Team is available to help if needed. They get a week to respond before it's closed. The PR doesn't have to be resolved or rebased within a week. It just needs to be acknowledged by the contributor in order to stay open.
- Currently, there's a lot of noise in the PR backlog making it hard to decide where to focus. We want to focus on the contributors who are active and prioritize their PRs. All PRs are valued, but resources to manage them are limited. PRs that have activity are prioritized over those that appear abandoned.
- In some cases, the PRs sit because the contributor doesn't have capacity.
- Takeaway: Core Team to change the messaging on closing and closed PRs. Clarify that if the contributor acknowledges the PR, it won't be closed. Also make sure contributors know we can reopen closed PRs at a more convenient time.
- Community Feedback
- Feedback is always welcome as we work to improve collaboration and the Salt project. We are a community working together and need feedback to help the project succeed.
- One of the main Community Manager duties is gathering feedback, prioritizing it, and working to address it. If there's something you want to discuss, reach out to Cassandra.
- Contributors Abandoning PRs
- People sometimes abandon PRs because they don't get a response.
- Within a few days of a PR being submitted, a Core Team member should look at and acknowledge it.
- The eventual goal is to acknowledge them within a business day and review them within a week.
- GitHub Notifications
- Default GitHub notifications are too noisy to effectively tell people which PRs to address in a day, which can cause PRs to go unacknowledged.
- GitHub notifications have new configuration and filtering options. Users can filter by repository and use "is lookups" and reasons to help manage PRs. Users can also share those notifications.