Hi! We get an error when trying to create a nodepo...
# general
m
Hi! We get an error when trying to create a nodepool. Appreciate help 🙂
Copy code
rancher2:index:NodePool nodePool creating (0s) error: Bad response statusCode [404]. Status [404 Not Found]. Body: [baseType=error, code=NotFound, message=failed to find schema foo-custom-clusterv2arg] from

...
message=failed to find resource by id]
Copy code
package rancherdownstream

import (
	"fmt"
	"os"

	"<http://github.com/pulumi/pulumi-rancher2/sdk/v5/go/rancher2|github.com/pulumi/pulumi-rancher2/sdk/v5/go/rancher2>"
	"<http://github.com/pulumi/pulumi/sdk/v3/go/pulumi|github.com/pulumi/pulumi/sdk/v3/go/pulumi>"
)

var rancherPassword = os.Getenv("RANCHER_PASS")
var vspherePassword = os.Getenv("VSPHERE_PASS")

func Bootstrap(ctx *pulumi.Context) error {

	cloudCredential, err := rancher2.NewCloudCredential(ctx, "foo-cloud-credential", &rancher2.CloudCredentialArgs{
		VsphereCredentialConfig: &rancher2.CloudCredentialVsphereCredentialConfigArgs{
			Vcenter:     pulumi.String("REDACTED"),
			Username:    pulumi.String("REDACTED"),
			Password:    pulumi.String(vspherePassword),
			VcenterPort: pulumi.String("443"),
		},
	})

	if err != nil {
		return err
	}

	rancher23, err := rancher2.NewClusterV2(ctx, "foo-custom", &rancher2.ClusterV2Args{
		Name:                      pulumi.String("foo-custom-clusterv2arg"),
		KubernetesVersion:         pulumi.String("v1.26.7+rke2r1"),
		CloudCredentialSecretName: cloudCredential.Name,
	}, pulumi.DependsOn([]pulumi.Resource{cloudCredential}))

	if err != nil {
		return err
	}

	fooNodeTemplate, err := rancher2.NewNodeTemplate(ctx, "fooNodeTemplate", &rancher2.NodeTemplateArgs{
		Description:       pulumi.String("foo test"),
		CloudCredentialId: cloudCredential.ID(),
		VsphereConfig: &rancher2.NodeTemplateVsphereConfigArgs{
			Username:         pulumi.String("rancher-deploy@vsphere.local"),
			Password:         pulumi.String(vspherePassword),
			Vcenter:          pulumi.String("REDACTED"),
			VcenterPort:      pulumi.String("443"),
			Datacenter:       pulumi.String("REDACTED"),
			Pool:             pulumi.String("REDACTED"),
			CreationType:     pulumi.String("template"),
			ContentLibrary:   pulumi.String("20230920-ubuntu-jammy-22.04-cloudimg"),
			DatastoreCluster: pulumi.String("vsanDatastore"),
			Folder:           pulumi.String("REDACTED"),
			DiskSize:         pulumi.String("10000"),
			CpuCount:         pulumi.String("2"),
			MemorySize:       pulumi.String("4"),
			Networks:         pulumi.StringArray{pulumi.String("REDACTED")},
		},
	}, pulumi.DependsOn([]pulumi.Resource{rancher23}))
	if err != nil {
		return err
	}

	checkNodePool, err := rancher2.GetNodePool(ctx, "fooNodeTemplate", rancher23.ID(), nil)

	if err != nil {
		return err
	}

	fmt.Print("NodePoolID....................")
	fmt.Print(ctx.Export(checkNodePool.ID(), pulumi.String(checkNodePool.ID()))

	_, err = rancher2.NewNodePool(ctx, "nodePool", &rancher2.NodePoolArgs{
		ClusterId:         rancher23.ID(),
		HostnamePrefix:    pulumi.String("foo-cluster-0"),
		NodeTemplateId:    fooNodeTemplate.ID(),
		Name:              pulumi.String("fooNodePool"),
		Quantity:          <http://pulumi.Int|pulumi.Int>(3),
		ControlPlane:      pulumi.Bool(true),
		Etcd:              pulumi.Bool(true),
		Worker:            pulumi.Bool(true),
		DrainBeforeDelete: pulumi.Bool(true),
	}, pulumi.DependsOn([]pulumi.Resource{rancher23, fooNodeTemplate}))

	if err != nil {
		return err
	}

	return nil
}
We have a theory it is because we are using RKE2 and node pools is a RKE1 thing, perhaps?
b
you’d need to check with the RKE maintainers, really. The error on RKE will give more info