@@ -14,6 +14,7 @@ import (
14
14
"time"
15
15
16
16
api "github.com/intel/pmem-csi/pkg/apis/pmemcsi/v1alpha1"
17
+ "github.com/intel/pmem-csi/pkg/exec"
17
18
"github.com/intel/pmem-csi/pkg/k8sutil"
18
19
"github.com/intel/pmem-csi/pkg/pmem-csi-operator/controller/deployment/testcases"
19
20
"github.com/intel/pmem-csi/pkg/version"
@@ -160,6 +161,34 @@ var _ = deploy.DescribeForSome("API", func(d *deploy.Deployment) bool {
160
161
})
161
162
}
162
163
164
+ It ("get deployment shall list expected fields" , func () {
165
+ lblKey := "storage"
166
+ lblValue := "unknown-node"
167
+ deployment := getDeployment ("test-get-deployment-fields" )
168
+ // Only values that are visible in Deployment CR are shown in `kubectl get`
169
+ // but, not the default values chosen by the operator.
170
+ // So provide the values that are expected to list.
171
+ deployment .Spec .DeviceMode = api .DeviceModeDirect
172
+ deployment .Spec .PullPolicy = corev1 .PullNever
173
+ deployment .Spec .Image = dummyImage
174
+ deployment .Spec .NodeSelector = map [string ]string {
175
+ lblKey : lblValue ,
176
+ }
177
+
178
+ deployment = deploy .CreateDeploymentCR (f , deployment )
179
+ defer deploy .DeleteDeploymentCR (f , deployment .Name )
180
+ validateDriver (deployment , "validate driver" )
181
+
182
+ d := deploy .GetDeploymentCR (f , deployment .Name )
183
+
184
+ // Run in-cluster kubectl from master node
185
+ ssh := os .Getenv ("REPO_ROOT" ) + "/_work/" + os .Getenv ("CLUSTER" ) + "/ssh.0"
186
+ out , err := exec .RunCommand (ssh , "kubectl" , "get" , "deployments.pmem-csi.intel.com" , "--no-headers" )
187
+ Expect (err ).ShouldNot (HaveOccurred (), "kubectl get: %v" , out )
188
+ Expect (out ).Should (MatchRegexp (`%s\s+%s\s+.*"?%s"?:"?%s"?.*\s+%s\s+%s\s+[0-9]+(s|m)` ,
189
+ d .Name , d .Spec .DeviceMode , lblKey , lblValue , d .Spec .Image , d .Status .Phase ), "fields mismatch" )
190
+ })
191
+
163
192
It ("driver image shall default to operator image" , func () {
164
193
deployment := getDeployment ("test-deployment-driver-image" )
165
194
deployment .Spec .Image = ""
0 commit comments