Open Hour 2023-OCT-5

Open Hour YouTube playlist | Contact us!

In this open hour, Thomas talks about how to use Jinja with statements and Derek mentions some important announcements about Slack and open source packages.


  • General updates and announcements
  • Check out Salty Stream #1
  • We need YOU for RC testing
  • Community forum updates
  • Open source salt-pi-pkg scripts
  • Slack invite links
  • Q&A plus discussion

General updates and announcements

  • Open Hours are held every 1st and 3rd Thursday from 10a.m. to 11a.m. Pacific.
  • Our next Open Hour will be October 18.
  • Join a Salt Project working group!

Check out Salty Stream #1

We’re going to start featuring Salty Streams at least once per quarter.

The first Salty stream happened Tuesday and it was about: “Salt Project: Where We Were, Where We Are, Where We’re Going.” It starred:

  • Tom Hatch, creator of Salt and Idem Project
  • Nicholas Aronne, Sr. Manager, Product Management, Salt Project

​Check it out:

We need YOU for RC testing

Anil Sharma put out a call to encourage community members to test the release candidate for Salt 3007. For 3006, we only had minimal testing from the community for 3006. Please test it and give us feedback so that we can improve the GA release for 3007. We need your support!

If you find a bug, you can tell Chunga about it and you’ll get some swag from the Salty Store!

Community forums update

Today’s issue: When to use Jinja the “with” block and scope.

  • The other day, someone came in with a support problem that demonstrated how not to use Jinja with statements. He created two with blocks with no input or output on them.
  • Jinja with blocks are used to define your scope for variables. They are meant to break out of scope so that you can have a clean scope to work with.
  • So, in order to use them properly, you need to define output from the with statement.
  • The best time to use a with block is when you need a clean environment that you don’t also need outside the with block scope. For example, if you want to do manipulate the scope of a variable.
  • Basically it is a namespace without being a namespace.
  • Since Jinja 3.0, with blocks are now a default feature.

Open source salt-pi-pkg scripts

We have open-sourced the [salt-pi-pkg] build script examples for classic Salt packages to the community. These scripts are for creating the classic Salt packages for Raspbian 10 and 11.

We’re making them available in the same spirit that we’ve made the native minions available. We’re not actively building the salt-pi-pkg scripts or native minions any more, but community members can still use them if needed.

For future workarounds, we recommend using arm64 Debian builds of Salt that support Raspbian. Otherwise, these open source scripts may work for creating your own version of the classic packages. As always, exercise caution when using an unsupported version of Salt.

Historically, the invite link on our repo required constant updates when we max out our Slack invite cap. We now have a permalink that you can use to join our Slack community:​

This link should remain stable in the future, even if we have to change the back-end link it’s pointing to when we hit our invite cap again.

Q&A plus discussion

Q: How can I get help with Salt extensions? I tried using the boilerplate helper extension and got something going, but decided to do something different. After packaging and installing, I’m not having much luck getting it to work for me. I’m curious for pointers on how to troubleshoot?

  • A: When you say it doesn’t work, is it that the Salt loader isn’t finding it?
  • Q: Yes. I’m trying to follow the same kind of file structure. It all seems correct and the package wheel seems reasonable compared to other extensions. I’m installing with salt pip. It’s just pure Python.
  • A: Without actually seeing the code, it’s hard to diagnose that. Is the extension open source?
  • It’s proprietary, but I could provide you with a mock-up if possible?
  • A: If you could do that, that would help. One of us could take a look and help. It does sound like a problem on the extension side of things.
  • You can also go ahead and open an issue or ping us on Slack as well.

Q: What was the release date for RC 3007?

  • A: Since we went on the LTS release, we’re committing to releasing an STS release 6 months after the LTS release. by our current timeline, the 3007 will come at the end of November, give or take 2 weeks. The RC will happen a few weeks before that.

Q: I would like to see a discussion in Open Hour about the policy behind dropping support for operating systems that go out of support from the vendor between LTS and STS releases.

  • A: It has always been our policy that when an OS vendor drops security updates for an OS that we drop support for it too. Some vendors do provide extra security support at cost. However, if they stop making it openly available, that is when we drop support. The reason for this is that we don’t want to provide security updates for operating systems where the vendor itself isn’t doing it. We don’t have the time or resources to do it.
  • Q: Would it be more sensible to have a policy where, for an LTS where you know it will leave support for the LTS support time window, that you don’t include support for it from the start?
  • A: We would have more problems if we did that. We would be cutting out support for more operating systems.


Feel free to tell us what you think about Open Hour on the Salt Project Community Slack.