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) |