Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion pkg/cmd/cluster/create_subcmds_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (

"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/version"
Expand Down Expand Up @@ -164,7 +165,34 @@ var _ = Describe("create cluster by cluster type", func() {
Expect(o.Complete(shardCmd)).Should(Succeed())
Expect(o.Name).ShouldNot(BeEmpty())
Expect(o.Values).ShouldNot(BeNil())
Expect(o.ChartInfo.ComponentDef[0]).Should(Equal(redisComponent))
Expect(o.ChartInfo.ClusterDef).Should(Equal(redisCluster))
hasRedisComponentDef := false
for _, componentDef := range o.ChartInfo.ComponentDef {
if componentDef == redisComponent {
hasRedisComponentDef = true
break
}
}
objs, err := o.getObjectsInfo()
Expect(err).ShouldNot(HaveOccurred())
clusterObj, err := o.getClusterObj(objs)
Expect(err).ShouldNot(HaveOccurred())
hasShardingDef := false
shardings, ok, err := unstructured.NestedSlice(clusterObj.Object, "spec", "shardings")
Expect(err).ShouldNot(HaveOccurred())
if ok {
for _, item := range shardings {
shardingSpec, ok := item.(map[string]interface{})
if !ok {
continue
}
if shardingDef, ok := shardingSpec["shardingDef"].(string); ok && shardingDef != "" {
hasShardingDef = true
break
}
}
}
Expect(hasShardingDef || hasRedisComponentDef).Should(BeTrue(), "redis sharding chart should set either shardingDef or componentDef")

By("validate")
o.Dynamic = testing.FakeDynamicClient()
Expand Down
10 changes: 6 additions & 4 deletions pkg/cmd/report/report.go
Original file line number Diff line number Diff line change
Expand Up @@ -437,10 +437,12 @@ func (o *reportClusterOptions) complete(f cmdutil.Factory) error {
if err := o.reportOptions.complete(f); err != nil {
return err
}
// update namespace
o.namespace, _, err = f.ToRawKubeConfigLoader().Namespace()
if err != nil {
return err
// update namespace if not specified
if o.namespace == "" {
o.namespace, _, err = f.ToRawKubeConfigLoader().Namespace()
if err != nil {
return err
}
}
// complete file name

Expand Down
8 changes: 8 additions & 0 deletions pkg/cmd/report/report_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,14 @@ var _ = Describe("report", func() {
Expect(o.file).Should(MatchRegexp("report-cluster-.*.zip"))
})

It("complete cluster-report options should respect specified namespace", func() {
o := reportClusterOptions{reportOptions: newReportOptions(streams)}
o.outputFormat = jsonFormat
o.namespace = "demo"
Expect(o.complete(tf)).To(Succeed())
Expect(o.namespace).Should(Equal("demo"))
})

It("handle cluster-report manifests", func() {
o := reportClusterOptions{reportOptions: newReportOptions(streams)}
o.outputFormat = jsonFormat
Expand Down
Loading