Skip to content

Commit 0c548cd

Browse files
authored
Ensure groups are removed from clients correctly (#1428)
1 parent 82ede32 commit 0c548cd

File tree

4 files changed

+16
-17
lines changed

4 files changed

+16
-17
lines changed

cmd/thv/app/client.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ import (
1717
)
1818

1919
var (
20-
groupNames []string
20+
groupAddNames []string
21+
groupRmNames []string
2122
)
2223

2324
var clientCmd = &cobra.Command{
@@ -104,9 +105,9 @@ func init() {
104105

105106
// TODO: Re-enable when group functionality is complete
106107
//clientRegisterCmd.Flags().StringSliceVar(
107-
// &groupNames, "group", []string{"default"}, "Only register workloads from specified groups")
108+
// &groupAddNames, "group", []string{groups.DefaultGroup}, "Only register workloads from specified groups")
108109
//clientRemoveCmd.Flags().StringSliceVar(
109-
// &groupNames, "group", []string{}, "Remove client from specified groups (if not set, removes all workloads from the client)")
110+
// &groupRmNames, "group", []string{}, "Remove client from specified groups (if not set, removes all workloads from the client)")
110111
}
111112

112113
func clientStatusCmdFunc(_ *cobra.Command, _ []string) error {
@@ -193,7 +194,7 @@ func clientRegisterCmdFunc(cmd *cobra.Command, args []string) error {
193194
clientType)
194195
}
195196

196-
return performClientRegistration(cmd.Context(), []client.Client{{Name: client.MCPClient(clientType)}}, groupNames)
197+
return performClientRegistration(cmd.Context(), []client.Client{{Name: client.MCPClient(clientType)}}, groupAddNames)
197198
}
198199

199200
func clientRemoveCmdFunc(cmd *cobra.Command, args []string) error {
@@ -211,7 +212,7 @@ func clientRemoveCmdFunc(cmd *cobra.Command, args []string) error {
211212
clientType)
212213
}
213214

214-
return performClientRemoval(cmd.Context(), client.Client{Name: client.MCPClient(clientType)}, groupNames)
215+
return performClientRemoval(cmd.Context(), client.Client{Name: client.MCPClient(clientType)}, groupRmNames)
215216
}
216217

217218
func listRegisteredClientsCmdFunc(_ *cobra.Command, _ []string) error {
@@ -431,7 +432,6 @@ func removeClientGlobally(
431432
return
432433
}
433434
}
434-
logger.Warnf("Client %s was not found in registered clients list", clientToRemove.Name)
435435
})
436436
if err != nil {
437437
return fmt.Errorf("failed to update configuration for client %s: %w", clientToRemove.Name, err)

pkg/api/v1/clients.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,6 @@ func (c *ClientRoutes) removeClientGlobally(
437437
return
438438
}
439439
}
440-
logger.Warnf("Client %s was not found in registered clients list", clientToRemove.Name)
441440
})
442441
if err != nil {
443442
return fmt.Errorf("failed to update configuration for client %s: %w", clientToRemove.Name, err)

pkg/client/manager.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ func (*defaultManager) removeServerFromClient(clientName MCPClient, serverName s
196196
return fmt.Errorf("failed to remove MCP server configuration from %s: %v", clientConfig.Path, err)
197197
}
198198

199-
logger.Infof("Removed MCP server %s from client %s\n", serverName, clientName)
199+
logger.Infof("Removed MCP server %s from client %s", serverName, clientName)
200200
return nil
201201
}
202202

@@ -240,7 +240,7 @@ func (m *defaultManager) getTargetClients(ctx context.Context, serverName, group
240240

241241
logger.Infof(
242242
"Server %s belongs to group %s, updating %d registered client(s)",
243-
serverName, group, len(group.RegisteredClients),
243+
serverName, group.Name, len(group.RegisteredClients),
244244
)
245245
return group.RegisteredClients
246246
}

pkg/workloads/manager.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -418,21 +418,21 @@ func (d *defaultManager) cleanupWorkloadResources(childCtx context.Context, name
418418
logger.Warnf("Warning: Failed to cleanup temporary permission profile: %v", err)
419419
}
420420

421-
// Delete the saved state
421+
// Remove client configurations
422+
if err := removeClientConfigurations(name); err != nil {
423+
logger.Warnf("Warning: Failed to remove client configurations: %v", err)
424+
} else {
425+
logger.Infof("Client configurations for %s removed", name)
426+
}
427+
428+
// Delete the saved state last
422429
if err := state.DeleteSavedRunConfig(childCtx, baseName); err != nil {
423430
logger.Warnf("Warning: Failed to delete saved state: %v", err)
424431
} else {
425432
logger.Infof("Saved state for %s removed", baseName)
426433
}
427434

428435
logger.Infof("Container %s removed", name)
429-
430-
// Remove client configurations
431-
if err := removeClientConfigurations(name); err != nil {
432-
logger.Warnf("Warning: Failed to remove client configurations: %v", err)
433-
} else {
434-
logger.Infof("Client configurations for %s removed", name)
435-
}
436436
}
437437

438438
func (d *defaultManager) DeleteWorkloads(ctx context.Context, names []string) (*errgroup.Group, error) {

0 commit comments

Comments
 (0)