Skip to content

Commit

Permalink
Fixing providerRef.Name
Browse files Browse the repository at this point in the history
  • Loading branch information
suket22 committed May 23, 2022
1 parent 3a8342f commit 507778f
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 25 deletions.
11 changes: 3 additions & 8 deletions charts/karpenter/crds/karpenter.sh_provisioners.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,18 +81,13 @@ spec:
chosen provider, that holds additional configuration options
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this
representation of an object. Servers should convert recognized
schemas to the latest internal value, and may reject unrecognized
values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
description: API version of the referent
type: string
kind:
description: 'Kind is a string value representing the REST resource
this object represents. Servers may infer this from the endpoint
the client submits requests to. Cannot be updated. In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
description: 'Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"'
type: string
name:
description: 'Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names'
type: string
type: object
requirements:
Expand Down
9 changes: 7 additions & 2 deletions pkg/apis/provisioning/v1alpha5/constraints.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,13 @@ type Constraints struct {
type Provider = runtime.RawExtension

type ProviderRef struct {
metav1.TypeMeta `json:",inline"`
Name *string `json:"name,omitempty"`
// Kind of the referent; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
Kind string `json:"kind,omitempty"`
// Name of the referent; More info: http://kubernetes.io/docs/user-guide/identifiers#names
Name string `json:"name,omitempty"`
// API version of the referent
// +optional
APIVersion string `json:"apiVersion,omitempty"`
}

func (c *Constraints) ToNode() *v1.Node {
Expand Down
8 changes: 1 addition & 7 deletions pkg/apis/provisioning/v1alpha5/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pkg/cloudprovider/aws/amifamily/userData.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func (u *UserDataProvider) Get(ctx context.Context, providerRef *v1alpha5.Provid
return "", nil
}
var awsnodetemplate v1alpha1.AWSNodeTemplate
if err := u.kubeClient.Get(ctx, client.ObjectKey{Name: *providerRef.Name, Namespace: namespace}, &awsnodetemplate); err != nil {
if err := u.kubeClient.Get(ctx, client.ObjectKey{Name: providerRef.Name, Namespace: namespace}, &awsnodetemplate); err != nil {
logging.FromContext(ctx).Errorf("retrieving provider reference, %s", err)
return "", err
}
Expand Down
14 changes: 7 additions & 7 deletions pkg/cloudprovider/aws/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -777,13 +777,13 @@ var _ = Describe("Allocation", func() {
provider, _ := v1alpha1.Deserialize(provisioner.Spec.Provider)
provider.AMIFamily = &v1alpha1.AMIFamilyBottlerocket
content, _ := ioutil.ReadFile("testdata/br_userdata_input.golden")
providerRefName := aws.String(strings.ToLower(randomdata.SillyName()))
providerRefName := strings.ToLower(randomdata.SillyName())
providerRef := &v1alpha5.ProviderRef{
Name: providerRefName,
}
nodeTemplate := test.AWSNodeTemplate(test.AWSNodeTemplateOptions{
UserData: aws.String(string(content)),
ObjectMeta: metav1.ObjectMeta{Name: *providerRefName}})
ObjectMeta: metav1.ObjectMeta{Name: providerRefName}})
ExpectApplied(ctx, env.Client, nodeTemplate)
controller = provisioning.NewController(injection.WithOptions(ctx, opts), env.Client, clientSet.CoreV1(), recorder, cloudProvider, cluster)
newProvisioner := test.Provisioner(test.ProvisionerOptions{Provider: provider, ProviderRef: providerRef})
Expand All @@ -803,13 +803,13 @@ var _ = Describe("Allocation", func() {
opts.AWSENILimitedPodDensity = false
provider, _ := v1alpha1.Deserialize(provisioner.Spec.Provider)
provider.AMIFamily = &v1alpha1.AMIFamilyBottlerocket
providerRefName := aws.String(strings.ToLower(randomdata.SillyName()))
providerRefName := strings.ToLower(randomdata.SillyName())
providerRef := &v1alpha5.ProviderRef{
Name: providerRefName,
}
nodeTemplate := test.AWSNodeTemplate(test.AWSNodeTemplateOptions{
UserData: nil,
ObjectMeta: metav1.ObjectMeta{Name: *providerRefName}})
ObjectMeta: metav1.ObjectMeta{Name: providerRefName}})
ExpectApplied(ctx, env.Client, nodeTemplate)
controller = provisioning.NewController(injection.WithOptions(ctx, opts), env.Client, clientSet.CoreV1(), recorder, cloudProvider, cluster)
newProvisioner := test.Provisioner(test.ProvisionerOptions{Provider: provider, ProviderRef: providerRef})
Expand All @@ -829,7 +829,7 @@ var _ = Describe("Allocation", func() {
provider, _ := v1alpha1.Deserialize(provisioner.Spec.Provider)
provider.AMIFamily = &v1alpha1.AMIFamilyBottlerocket
providerRef := &v1alpha5.ProviderRef{
Name: aws.String("doesnotexist"),
Name: "doesnotexist",
}
controller = provisioning.NewController(injection.WithOptions(ctx, opts), env.Client, clientSet.CoreV1(), recorder, cloudProvider, cluster)
newProvisioner := test.Provisioner(test.ProvisionerOptions{Provider: provider, ProviderRef: providerRef})
Expand All @@ -841,13 +841,13 @@ var _ = Describe("Allocation", func() {
It("should not bootstrap on invalid toml user data", func() {
provider, _ := v1alpha1.Deserialize(provisioner.Spec.Provider)
provider.AMIFamily = &v1alpha1.AMIFamilyBottlerocket
providerRefName := aws.String(strings.ToLower(randomdata.SillyName()))
providerRefName := strings.ToLower(randomdata.SillyName())
providerRef := &v1alpha5.ProviderRef{
Name: providerRefName,
}
nodeTemplate := test.AWSNodeTemplate(test.AWSNodeTemplateOptions{
UserData: aws.String("#/bin/bash\n ./not-toml.sh"),
ObjectMeta: metav1.ObjectMeta{Name: *providerRefName}})
ObjectMeta: metav1.ObjectMeta{Name: providerRefName}})
ExpectApplied(ctx, env.Client, nodeTemplate)
controller = provisioning.NewController(injection.WithOptions(ctx, opts), env.Client, clientSet.CoreV1(), recorder, cloudProvider, cluster)
newProvisioner := test.Provisioner(test.ProvisionerOptions{Provider: provider, ProviderRef: providerRef})
Expand Down

0 comments on commit 507778f

Please sign in to comment.