pull/31781/merge
Mujib 5 days ago committed by GitHub
commit 5520a922a8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -442,11 +442,22 @@ func (i *Install) RunWithContext(ctx context.Context, ch ci.Charter, vals map[st
return nil, err
}
if _, err := i.cfg.KubeClient.Create(
resourceList,
kube.ClientCreateOptionServerSideApply(i.ServerSideApply, false)); err != nil && !apierrors.IsAlreadyExists(err) {
namespaceExist := false
_, err = i.cfg.KubeClient.Get(resourceList, false)
if err == nil {
namespaceExist = true
} else if !apierrors.IsNotFound(err) {
return nil, err
}
if !namespaceExist {
if _, err := i.cfg.KubeClient.Create(
resourceList,
kube.ClientCreateOptionServerSideApply(i.ServerSideApply, false)); err != nil && !apierrors.IsAlreadyExists(err) {
return nil, err
}
}
}
// If Replace is true, we need to supersede the last release.

@ -1297,3 +1297,41 @@ func TestInstallRelease_WaitOptionsPassedDownstream(t *testing.T) {
// Verify that WaitOptions were passed to GetWaiter
is.NotEmpty(failer.RecordedWaitOptions, "WaitOptions should be passed to GetWaiter")
}
func TestInstall_CreateNamespaceAlreadyExists(t *testing.T) {
is := assert.New(t)
// Namespace already exists in cluster
config := actionConfigFixtureWithDummyResources(t, createDummyResourceList(true))
instAction := installActionWithConfig(config)
instAction.CreateNamespace = true
instAction.Namespace = "spaced"
resi, err := instAction.Run(buildChart(), nil)
is.NoError(err)
res, err := releaserToV1Release(resi)
is.NoError(err)
is.Equal("spaced", res.Namespace)
is.Equal("Install complete", res.Info.Description)
}
func TestInstall_CreateNamespaceNotExists(t *testing.T) {
is := assert.New(t)
// Empty cluster state, thats mean namespace not present
config := actionConfigFixture(t)
instAction := installActionWithConfig(config)
instAction.CreateNamespace = true
instAction.Namespace = "spaced"
resi, err := instAction.Run(buildChart(), nil)
is.NoError(err)
res, err := releaserToV1Release(resi)
is.NoError(err)
is.Equal("spaced", res.Namespace)
is.Equal("Install complete", res.Info.Description)
}

Loading…
Cancel
Save