@@ -108,21 +108,6 @@ func runAdd(ctx context.Context, nodeName, controlPlane, nodeImage, role string,
108108 return fmt .Errorf ("ensuring cluster image: %w" , err )
109109 }
110110
111- // Ensure images volume exists for this node image version
112- logger .Infof ("Step 0: Ensuring cluster images volume..." )
113- clusterMgr := cluster .New (cluster.Config {
114- Name : clusterName ,
115- ControlPlane : controlPlane ,
116- HostNetworkPopulator : hostNetworkPopulator ,
117- Logger : logger ,
118- })
119-
120- clusterImagesVolume , err := clusterMgr .EnsureImagesVolume (ctx , nodeImage )
121- if err != nil {
122- return fmt .Errorf ("ensuring images volume: %w" , err )
123- }
124- logger .Info ("" )
125-
126111 // Step 1: Create the new node
127112 logger .Infof ("Step 1: Creating %s node..." , role )
128113 logger .Infof ("Node image: %s" , nodeImage )
@@ -140,6 +125,27 @@ func runAdd(ctx context.Context, nodeName, controlPlane, nodeImage, role string,
140125 }
141126 }
142127
128+ // Auto-detect the control-plane node name from container labels
129+ discovered , err := findControlPlaneNode (ctx , podmanClient , clusterName , "" )
130+ if err == nil {
131+ controlPlane = discovered
132+ }
133+
134+ // Ensure images volume exists for this node image version
135+ logger .Infof ("Step 0: Ensuring cluster images volume..." )
136+ clusterMgr := cluster .New (cluster.Config {
137+ Name : clusterName ,
138+ ControlPlane : controlPlane ,
139+ HostNetworkPopulator : hostNetworkPopulator ,
140+ Logger : logger ,
141+ })
142+
143+ clusterImagesVolume , err := clusterMgr .EnsureImagesVolume (ctx , nodeImage )
144+ if err != nil {
145+ return fmt .Errorf ("ensuring images volume: %w" , err )
146+ }
147+ logger .Info ("" )
148+
143149 // Discover DNS container IP for cloud-init config
144150 dnsMgr , err := dns .NewManager (clusterName )
145151 if err != nil {
0 commit comments