@@ -283,7 +283,21 @@ func CreateSSHSecret(name types.NamespacedName) *corev1.Secret {
283283 )
284284}
285285
286- // Get ProvisionServer
286+ // Create ProvisionServer
287+ func CreateProvisionServer (name types.NamespacedName , spec map [string ]any ) * unstructured.Unstructured {
288+ raw := map [string ]interface {}{
289+ "apiVersion" : "baremetal.openstack.org/v1beta1" ,
290+ "kind" : "OpenStackProvisionServer" ,
291+ "metadata" : map [string ]interface {}{
292+ "name" : name .Name ,
293+ "namespace" : name .Namespace ,
294+ },
295+ "spec" : spec ,
296+ }
297+ return th .CreateUnstructured (raw )
298+ }
299+
300+ // Get ProvisionServer (for baremetalset-created provision servers with appended name)
287301func GetProvisionServer (name types.NamespacedName ) * baremetalv1.OpenStackProvisionServer {
288302 instance := & baremetalv1.OpenStackProvisionServer {}
289303 name .Name = strings .Join ([]string {name .Name , "provisionserver" }, "-" )
@@ -293,3 +307,19 @@ func GetProvisionServer(name types.NamespacedName) *baremetalv1.OpenStackProvisi
293307 }, timeout , interval ).Should (Succeed ())
294308 return instance
295309}
310+
311+ // Get ProvisionServer directly (without name transformation)
312+ func GetProvisionServerDirect (name types.NamespacedName ) * baremetalv1.OpenStackProvisionServer {
313+ instance := & baremetalv1.OpenStackProvisionServer {}
314+ Eventually (func (g Gomega ) error {
315+ g .Expect (k8sClient .Get (ctx , name , instance )).Should (Succeed ())
316+ return nil
317+ }, timeout , interval ).Should (Succeed ())
318+ return instance
319+ }
320+
321+ // ProvisionServerConditionGetter
322+ func ProvisionServerConditionGetter (name types.NamespacedName ) condition.Conditions {
323+ instance := GetProvisionServerDirect (name )
324+ return instance .Status .Conditions
325+ }
0 commit comments