Skip to content

Commit

Permalink
The description field is not imported
Browse files Browse the repository at this point in the history
Related to: harvester/harvester#6464

Signed-off-by: Volker Theile <[email protected]>
  • Loading branch information
votdev committed Sep 3, 2024
1 parent bda1e62 commit 3d423f5
Showing 1 changed file with 18 additions and 4 deletions.
22 changes: 18 additions & 4 deletions pkg/source/openstack/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,15 @@ type ExtendedVolume struct {
VolumeImageMetadata map[string]string `json:"volume_image_metadata,omitempty"`
}

// ExtendedServer The original `Server` structure does not contain the `Description` field.
// References:
// - https://github.com/gophercloud/gophercloud/pull/1505
// - https://docs.openstack.org/api-ref/compute/?expanded=list-all-metadata-detail%2Ccreate-server-detail#show-server-details
type ExtendedServer struct {
servers.Server
Description string `json:"description,omitempty"`
}

// NewClient will generate a GopherCloud client
func NewClient(ctx context.Context, endpoint string, region string, secret *corev1.Secret) (*Client, error) {
username, ok := secret.Data["username"]
Expand Down Expand Up @@ -329,7 +338,7 @@ func (c *Client) GenerateVirtualMachine(vm *migration.VirtualMachineImport) (*ku
return nil, fmt.Errorf("error looking up flavor: %v", err)
}

uefi, tpm, secureboot, err := c.ImageFirmwareSettings(vmObj)
uefi, tpm, secureboot, err := c.ImageFirmwareSettings(&vmObj.Server)
if err != nil {
return nil, fmt.Errorf("error getting firware settings: %v", err)
}
Expand All @@ -355,6 +364,9 @@ func (c *Client) GenerateVirtualMachine(vm *migration.VirtualMachineImport) (*ku
ObjectMeta: metav1.ObjectMeta{
Name: vm.Spec.VirtualMachineName,
Namespace: vm.Namespace,
Annotations: map[string]string{
"field.cattle.io/description": vmObj.Description,
},
},
}

Expand Down Expand Up @@ -571,13 +583,15 @@ func (c *Client) checkOrGetUUID(input string) (string, error) {
return filteredServers[0].ID, nil
}

func (c *Client) findVM(name string) (*servers.Server, error) {
func (c *Client) findVM(name string) (*ExtendedServer, error) {
parsedUUID, err := c.checkOrGetUUID(name)
if err != nil {
return nil, err
}
return servers.Get(c.computeClient, parsedUUID).Extract()

sr := servers.Get(c.computeClient, parsedUUID)
var s ExtendedServer
err = sr.ExtractInto(&s)
return &s, err
}

type networkInfo struct {
Expand Down

0 comments on commit 3d423f5

Please sign in to comment.