set up proxies for cluster nodes that are themselves proxied via a remote
When there are multiple gateways to a cluster, this sets up proxying for nodes that are accessed via a remote gateway. Eg, when running in nyc and amsterdam is the remote gateway, and it has node1 and node2, this sets up proxying for amsterdam-node1 and amsterdam-node2. A client that has nyc as a remote will see proxied remotes nyc-amsterdam-node1 and nyc-amsterdam-node2.
This commit is contained in:
parent
02bf3ddc3f
commit
1ec2fecf3f
4 changed files with 43 additions and 12 deletions
|
@ -50,7 +50,7 @@ start = startingCustomOutput (ActionItemOther Nothing) $ do
|
|||
let mynodes = S.map (ClusterNodeUUID . R.uuid) mynodesremotes
|
||||
let recordednodes = fromMaybe mempty $ M.lookup cu $
|
||||
clusterUUIDs recordedclusters
|
||||
proxiednodes <- findProxiedNodes recordednodes
|
||||
proxiednodes <- findProxiedClusterNodes recordednodes
|
||||
let allnodes = S.union mynodes proxiednodes
|
||||
if recordednodes == allnodes
|
||||
then liftIO $ putStrLn $ safeOutput $
|
||||
|
@ -74,8 +74,8 @@ start = startingCustomOutput (ActionItemOther Nothing) $ do
|
|||
"Removed node " ++ desc ++ " from cluster: " ++ clustername
|
||||
|
||||
-- Finds nodes that are proxied by other cluster gateways.
|
||||
findProxiedNodes :: S.Set ClusterNodeUUID -> Annex (S.Set ClusterNodeUUID)
|
||||
findProxiedNodes recordednodes =
|
||||
findProxiedClusterNodes :: S.Set ClusterNodeUUID -> Annex (S.Set ClusterNodeUUID)
|
||||
findProxiedClusterNodes recordednodes =
|
||||
(S.fromList . map asclusternode . filter isproxynode) <$> R.remoteList
|
||||
where
|
||||
isproxynode r =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue