-
Notifications
You must be signed in to change notification settings - Fork 42
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
0.6 Changes #326
Merged
Merged
0.6 Changes #326
+1,039
−376
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Previosuly it was impossible to set command-level timeouts when using Hussh as the backend. In fact, due to the way the Host objects acquired their Hussh connections, timeouts were always left to the default. Now, with Hussh 0.1.7, we can pass a command-specific timeout.
The initial change of this was to introduce the broker config cli. However, to do this, a number of supporting and related changes needed to be made. The first of these is the new ConfigManager class that manages reading from and writing to the config file. Since so much logic was implemented for this, it made more sense to roll in the import/init functionality, that was originally in the settings module, into the new class. This also gave me the opportunity to separate the test config from the example config. This removal, and other changes in this were supported by ConfigManager's migration functionality. To simplify the nested chunk notation, I moved provider instances out from a list to just being a nested dictionary. This actually simplified the instance logic quite a bit. Related to config simlification was the separation of the host settings to a new ssh chunk of the config. This is because not all users use the host functionality Broker provides. A likely change with this release is going to be removing a default ssh backend from Broker's requirements. While I was at it, I also switched the CLI over to rich-click as part of a larger effort to improve the CLI experience.
Due to timing, I couldn't cleanly include this in the previous commit, but here it is. Now Broker actions, including checkins will reference this new setting when determining how many threads it should use.
With this change, users can now specify a `--from` argument with a valid path or url to a valid broker settings file. This will still try to fallback on the current behavior of using a local repo or the main SatelliteQE/broker repo as the source.
Broker has expanded a while ago with the types of hosts it can support, it's time we updated our terminology to match.
A number of changes were needed both functionally and stylistically to get this where we want it, but it's pretty good now. I don't know if I like the "Validation passed!" message, since it will likely print every time, but it can stay for now.
PyYaml is a good library, but had the unfortunate side-effect of stripping comments from yaml files on read/write. Switching to ruamel now let's us retain the comments, and arguably improves usage in some ways. There may be some issues with awxkit objects due to the way the representers are added, but I can't say for certain that is the case yet.
With the changes we've been making in 0.6 toward a better, more customizable and visually appealing, user experience. It's time that we revisited the inventory command. The --curated view introduced in 0.5.x has now become the default inventory view. The original default view is now present in its new form and home with the --list flag. The --details flag largely retains the functionality it did before. However, it involves much less processing than before. One important piece added in this is the ability to customize the inventory fields on a per-user basis. The details on this customization are documented in detail in the supporting code. It will also be important to document this in the wiki upon release.
In case people want to have a more plain output.
I had forgot the include logic to not run some migrations if the changes have already taken place. This skip is just the "naive" approach instead of doing a complete validation that the previous fields have migrated.
Co-authored-by: Tasos Papaioannou <tpapaioa@redhat.com>
In cases, like we currently have, where the container host is podman<5.0 and local podman/podman-py is >=5.0 we run into a TypeError. To solve this, we resort to manually getting the status.
JacobCallahan
added
enhancement
New feature or request
0.6
Things aligned to the 0.6 release
labels
Oct 14, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This release is primarily focused on UX changes, with some minor fixes/tweaks thrown in.
The three PRs included in these changes are:
#322
#324
#325