Skip to content
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

feat: Mutual-exclusion of manager/agent embedded plugins #453

Merged

Conversation

achimnol
Copy link
Member

@achimnol achimnol commented Jun 8, 2022

When the manager and agent reside inside the same virtualenv (e.g., ./pants export), the agent tries to detect and load the manager-embedded monitor plugins which are incompatible. Fortunately this have been covered by a tiny compatibility checks and a warning, but such situation should be avoided.

Let's allow subclasses of BasePluginContext to define their own blocklist class attributes and utilize them to mutually exclude self-embedded plugins in manager and agent.
(i.e., agent should not load the manager-embedded plugins and vice versa.)

* Properly define and use the `blocklist` class attribute of plugin
  context objects
@achimnol achimnol added this to the 22.03 milestone Jun 8, 2022
@achimnol achimnol added comp:common Related to Common component type:feature Add new features labels Jun 8, 2022
@achimnol achimnol self-assigned this Jun 8, 2022
@achimnol achimnol merged commit d38ae45 into main Jun 8, 2022
@achimnol achimnol deleted the feature/manager-agent-mutual-exclusion-of-embedded-plugins branch June 8, 2022 15:07
achimnol added a commit that referenced this pull request Jun 8, 2022
* Properly define and use the `blocklist` class attribute of plugin
  context objects
* test: Update mocks with blocklist

Backported-From: main (22.06)
Backported-To: 22.03
@Yaminyam Yaminyam added the size:M 30~100 LoC label Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:common Related to Common component size:M 30~100 LoC type:feature Add new features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants