Skip to content

Instantly share code, notes, and snippets.

View codegold79's full-sized avatar
🐲

frankly_coding codegold79

🐲
View GitHub Profile
@codegold79
codegold79 / manual-feature-plugin-tests.md
Last active November 14, 2022 21:32
Manual testing of Tanzu CLI Feature Plugin - 11/11/2022

Feature Plugin CLI Demonstration

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)