@@ -14,6 +14,7 @@ import (
1414 "github.com/loft-sh/devspace/pkg/devspace/kubectl/selector"
1515 "github.com/loft-sh/devspace/pkg/util/factory"
1616 "github.com/onsi/ginkgo"
17+ autoscalingv1 "k8s.io/api/autoscaling/v1"
1718 corev1 "k8s.io/api/core/v1"
1819 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1920 "k8s.io/apimachinery/pkg/util/wait"
@@ -269,6 +270,37 @@ var _ = DevSpaceDescribe("replacepods", func() {
269270 framework .ExpectNoError (err )
270271 framework .ExpectEqual (pods .Items [0 ].Spec .Containers [0 ].Image , "alpine:3.14" )
271272
273+ // now scale down the devspace deployment and upscale the replaced deployment
274+ _ , err = kubeClient .Client ().KubeClient ().AppsV1 ().Deployments (ns ).UpdateScale (context .TODO (), "replace-deployment-devspace" , & autoscalingv1.Scale {
275+ ObjectMeta : metav1.ObjectMeta {Name : "replace-deployment-devspace" , Namespace : ns },
276+ Spec : autoscalingv1.ScaleSpec {Replicas : 0 },
277+ }, metav1.UpdateOptions {})
278+ framework .ExpectNoError (err )
279+ _ , err = kubeClient .Client ().KubeClient ().AppsV1 ().Deployments (ns ).UpdateScale (context .TODO (), "replace-deployment" , & autoscalingv1.Scale {
280+ ObjectMeta : metav1.ObjectMeta {Name : "replace-deployment" , Namespace : ns },
281+ Spec : autoscalingv1.ScaleSpec {Replicas : 1 },
282+ }, metav1.UpdateOptions {})
283+ framework .ExpectNoError (err )
284+
285+ // rerun the devspace command
286+ devCmd = & cmd.RunPipelineCmd {
287+ GlobalFlags : & flags.GlobalFlags {
288+ NoWarn : true ,
289+ Namespace : ns ,
290+ },
291+ Pipeline : "dev" ,
292+ }
293+ err = devCmd .RunDefault (f )
294+ framework .ExpectNoError (err )
295+
296+ // make sure the deployments are correctly scaled
297+ deployment , err := kubeClient .Client ().KubeClient ().AppsV1 ().Deployments (ns ).Get (context .TODO (), "replace-deployment-devspace" , metav1.GetOptions {})
298+ framework .ExpectNoError (err )
299+ framework .ExpectEqual (* deployment .Spec .Replicas , int32 (1 ))
300+ deployment , err = kubeClient .Client ().KubeClient ().AppsV1 ().Deployments (ns ).Get (context .TODO (), "replace-deployment" , metav1.GetOptions {})
301+ framework .ExpectNoError (err )
302+ framework .ExpectEqual (* deployment .Spec .Replicas , int32 (0 ))
303+
272304 // now purge the deployment and make sure the replica set is deleted as well
273305 purgeCmd := & cmd.RunPipelineCmd {
274306 GlobalFlags : & flags.GlobalFlags {
0 commit comments