- Notifications
You must be signed in to change notification settings - Fork40
SEP 8 - Python 3 Only Salt-SSH#11
Uh oh!
There was an error while loading.Please reload this page.
Conversation
waynew commentedMay 1, 2019
This SEP will be number 8, feel free to update your filename and SEP 🙂 |
Uh oh!
There was an error while loading.Please reload this page.
Co-Authored-By: Ch3LL <megan.wilhite@gmail.com>
gtmanfred left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I have two things that I would like to see added to the proposal, otherwise i think this is great.
Thanks!
Daniel
| will run as it always has. | ||
| 2. Add a Salt-SSH configuration (for example: pre_flight) to run raw commands before the | ||
| Salt-SSH command. This will allow a user to create a custom script they can run to install | ||
| Python 3. It will only run these pre_flight commands if the tarball is not copied over. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
👍
| How are we going to build the Python 3 binary? | ||
| We will build the binary statically for both x86_64 and ARM architecture. We will include the x86_64 | ||
| binary by default in the Salt-SSH package. If the ARM architecture is detected we will include a warning |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
As long as there is a way to upgrade this, like you can with salt-cloud -u for the bootstrap script, i think this is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Great suggestion :) Added here:
| ## Unresolved questions | ||
| [unresolved]: #unresolved-questions | ||
| When we build the static python build we will need to review the licenses of all the libraries included in the build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
It would be good to have possibly a dashboard or an easy way for salt to be alerted about any CVEs in dependencies.
This might be really easy to do using github and their security alerts
https://help.github.com/en/articles/about-security-alerts-for-vulnerable-dependencies
or using pyup.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I added this to thePython Binary Security Releases: paragraph instead as i thought that made sense.
gtmanfred left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Awesome, LGTM!
It would be nice if the preflight_cmd could point to a script that would be transferred over. But i don't think it is necessarily required since the "script" could be added in a multiline string in yaml. or if the preflight_cmds was a list of commands to run.
meaksh commentedJun 21, 2019
Just as a note here. We're currently solving this situation in a different way based on the changes that were introduced here:saltstack/salt#46684 At SUSE, we're still dealing even with old Python 2.6 systems and we use In order to do that, we provide a What I like from the approach that RFC provides is that this will keep all functionality & features that the latest Salt (based on Python3 and installing on the master) when targeting a system with an older Python version, instead of having to different codebase and do backporting or arrange SLS to keep the compatibility. On the other hand, I'm a bit worried about the problems with other Python dependencies (apart from SaltSSH) that might be required from the Python3-based execution & state modules that are been executed as part of the particular action that the IIUC, those libraries required by any execution & state modules that is going to be executed would need to be added as [1] -https://build.opensuse.org/package/show/systemsmanagement:saltstack:products/py26-compat-salt |
Ch3LL commentedJul 1, 2019
If the user is using If they are using a different approach such as the python3 system library, they can use a |
| ## Alternatives | ||
| [alternatives]: #alternatives | ||
| Alternatives for Python 3 static binary: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
Have we ever considered something likePyInstaller to package a binary with python and all its dependencies?
No description provided.