First, let's start with features, but no featuregates in the cluster. The Feature plugin should list the features.
$ kubectl get featuregates
No resources found
$ kubectl get features -o yaml
apiVersion: v1
items:| apiVersion: run.tanzu.vmware.com/v1alpha3 | |
| kind: TanzuKubernetesRelease | |
| metadata: | |
| labels: | |
| demo: "" | |
| name: v1.23.5---vmware.1-tkg.1 | |
| spec: | |
| version: v1.23.5+vmware.1-tkg.1 | |
| kubernetes: | |
| version: v1.23.5+vmware.1 |
| task, err := vm.Relocate(ctx, spec, types.VirtualMachineMovePriorityHighPriority) |
| func generateRelocSpec() types.VirtualMachineRelocateSpec { | |
| // Resource pool managed object reference | |
| poolMOR := types.ManagedObjectReference{ | |
| Type: "ResourcePool", | |
| Value: "resgroup-1030", | |
| } | |
| // Host managed object reference | |
| hostMOR := types.ManagedObjectReference{ | |
| Type: "HostSystem", |
| vm := object.NewVirtualMachine(vsClt.govmomi.Client, vmMOR) |
| func eventVmMoRef(event cloudEvent) (types.ManagedObjectReference, error) { | |
| // Fill information in the request into a govmomi type. | |
| moRef := types.ManagedObjectReference{ | |
| Type: event.Data.Vm.Vm.Type, | |
| Value: event.Data.Vm.Vm.Value, | |
| } | |
| return moRef, nil | |
| } |
| func parseCloudEvent(req []byte) (cloudEvent, error) { | |
| var event cloudEvent | |
| err := json.Unmarshal(req, &event) | |
| if err != nil { | |
| return cloudEvent{}, fmt.Errorf("unmarshalling json: %w", err) | |
| } | |
| if err := isValidEvent(event); err != nil { | |
| return cloudEvent{}, err |
| func newClient(ctx context.Context, cfg *vcConfig) (*vsClient, error) { | |
| u := url.URL{ | |
| Scheme: "https", | |
| Host: cfg.VCenter.Server, | |
| Path: "sdk", | |
| } | |
| u.User = url.UserPassword(cfg.VCenter.User, cfg.VCenter.Password) | |
| insecure := cfg.VCenter.Insecure |
| func (c *vsClient) applyCfgs(ctx context.Context, moVM mo.VirtualMachine, mor types.ManagedObjectReference, cfgs []vmConfig) (*object.Task, error) { | |
| vm := object.NewVirtualMachine(c.govmomi.Client, mor) | |
| desiredSpec := generateDesiredSpec(cfgs, moVM) | |
| task, err := vm.Reconfigure(ctx, desiredSpec) | |
| if err != nil { | |
| return nil, err | |
| } | |
| if debug { |
| catObj, err := c.tagMgr.GetCategory(ctx, attTag.CategoryID) |