@@ -174,9 +174,13 @@ func getOpenStackClusterFromMachine(ctx context.Context, client client.Client, m
174
174
return openStackCluster , err
175
175
}
176
176
177
- // getIDFromProviderID returns the server ID part of a provider ID string.
178
- func getIDFromProviderID (providerID string ) string {
179
- return strings .TrimPrefix (providerID , "openstack:///" )
177
+ // GetIDFromProviderID returns the server ID part of a provider ID string.
178
+ func GetIDFromProviderID (providerID string ) string {
179
+ providerIDSplit := strings .SplitN (providerID , "://" , 2 )
180
+ Expect (providerIDSplit [0 ]).To (Equal ("openstack" ))
181
+ providerIDPathSplit := strings .SplitN (providerIDSplit [1 ], "/" , 2 )
182
+ // providerIDPathSplit[0] contain region name, could be empty
183
+ return providerIDPathSplit [1 ]
180
184
}
181
185
182
186
type OpenStackLogCollector struct {
@@ -201,7 +205,7 @@ func (o OpenStackLogCollector) CollectMachineLog(ctx context.Context, management
201
205
}
202
206
ip := m .Status .Addresses [0 ].Address
203
207
204
- srv , err := GetOpenStackServerWithIP (o .E2EContext , getIDFromProviderID (* m .Spec .ProviderID ), openStackCluster )
208
+ srv , err := GetOpenStackServerWithIP (o .E2EContext , GetIDFromProviderID (* m .Spec .ProviderID ), openStackCluster )
205
209
if err != nil {
206
210
return fmt .Errorf ("error getting OpenStack server: %w" , err )
207
211
}
0 commit comments