-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
[3007.x] transports: fix and normalize PublishServer method signatures #66751
base: 3007.x
Are you sure you want to change the base?
Conversation
Hi there! Welcome to the Salt Community! Thank you for making your first contribution. We have a lengthy process for issues and PRs. Someone from the Core Team will follow up as soon as possible. In the meantime, here’s some information that may help as you continue your Salt journey.
There are lots of ways to get involved in our community. Every month, there are around a dozen opportunities to meet with other contributors and the Salt Core team and collaborate in real time. The best way to keep track is by subscribing to the Salt Community Events Calendar. |
I guess I never gave a full rundown on why this is needed. The master creates a publish server. The factory method creates a In the pre_fork we call Going back to ipc_publish_server (and After my patch I was able to remove the TCP restriction and everything worked. I have also added a test for required arguments. Perhaps it may make more sense with abstract classes? I'm not really sure. I'm also not 100% on what folder / file should be modified for the tests. |
@dwoz I think this is fully ready. The CI is not running "core tests" so my test isn't actually executed. I'm not sure if there's something I need to do for that? Also perhaps it may make sense to make the test more dynamic. Create and check a "Base" transport and ensure all arguments on that one are present on the child classes. If is that is the best route I can update. Maybe ABC can do that. |
7853236
to
579f86b
Compare
I have rebased onto 3007.x. I have also extended the PR to include the other methods of PublishServer. This will partially fix #66577 (follows are required to completely fix that one). A followup PR should probably be made for PublishClient.. |
I think the write callback in transport.tcp is a holderver from IPCServer. I could not trace any code that actually used it. Local tests seem to agree. |
@dmurphy18 requesting Workflows get ran again. |
the arguments to publish, specifically io_loop, needs to be consistant across the different transports. This argument was not consistant and caused exceptions.
TCP* classes are deprecated
5566026
to
ca322bd
Compare
pull_path=None, | ||
pull_path_perms=0o600, | ||
pub_path_perms=0o600, | ||
ssl=None, |
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.
ssl is not a valid option for all transports.
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.
Then it should be ignored by that transport. We already have issues with trying to pass the 'ssl' config when a transport does not support it. Do you expect the factory methods to know which transports do and do not support SSL and not pass it along? I think that defeats the purpose of the factory methods.
the arguments to publish, specifically io_loop, needs to be consistant across the different transports. This argument was not consistant and caused exceptions.