Path: "/the/path", User: "******", }, 10*time.Millisecond, )) desiredLRP.Action = models.WrapAction(models.Timeout( &models.RunAction{ Path: "/the/path", User: "******", }, 20*time.Millisecond, )) desiredLRP.Monitor = models.WrapAction(models.Timeout( &models.RunAction{ Path: "/the/path", User: "******", }, 30*time.Millisecond, )) desiredLRP.StartTimeoutMs = 10000 }) It("converts TimeoutMs to Timeout in Nanoseconds", func() { desiredLRP.VersionDownTo(format.V1) Expect(desiredLRP.GetSetup().GetTimeoutAction().DeprecatedTimeoutNs).To(BeEquivalentTo(10 * time.Millisecond)) Expect(desiredLRP.GetAction().GetTimeoutAction().DeprecatedTimeoutNs).To(BeEquivalentTo(20 * time.Millisecond)) Expect(desiredLRP.GetMonitor().GetTimeoutAction().DeprecatedTimeoutNs).To(BeEquivalentTo(30 * time.Millisecond)) }) It("converts StartTimeoutMs to StartTimeout in seconds", func() { desiredLRP.VersionDownTo(format.V1)
BeforeEach(func() { processGuid = "process-guid-1" desiredLRP = model_helpers.NewValidDesiredLRP(processGuid) desiredLRP.DeprecatedStartTimeoutS = 15 desiredLRP.Action = models.WrapAction(&models.TimeoutAction{Action: models.WrapAction(&models.RunAction{Path: "ls", User: "******"}), DeprecatedTimeoutNs: 4 * int64(time.Second), }) desiredLRP.Setup = models.WrapAction(&models.TimeoutAction{Action: models.WrapAction(&models.RunAction{Path: "ls", User: "******"}), DeprecatedTimeoutNs: 7 * int64(time.Second), }) desiredLRP.Monitor = models.WrapAction(models.EmitProgressFor( &models.TimeoutAction{ Action: models.WrapAction(models.Try(models.Parallel(models.Serial(&models.RunAction{Path: "ls", User: "******"})))), DeprecatedTimeoutNs: 10 * int64(time.Second), }, "start-message", "success-message", "failure-message", )) }) JustBeforeEach(func() { schedulingInfo, runInfo := desiredLRP.CreateComponents(fakeClock.Now()) runInfo.DeprecatedStartTimeoutS = 15 _, err := json.Marshal(desiredLRP.Routes) Expect(err).NotTo(HaveOccurred()) schedInfoData, err := serializer.Marshal(logger, format.ENCRYPTED_PROTO, &schedulingInfo) Expect(err).NotTo(HaveOccurred())
assertDesiredLRPValidationFailsWithMessage(desiredLRP, "to") }) It("requires a valid setup action if specified", func() { desiredLRP.Setup = &models.Action{ UploadAction: &models.UploadAction{ From: "web_location", }, } assertDesiredLRPValidationFailsWithMessage(desiredLRP, "to") }) It("requires a valid monitor action if specified", func() { desiredLRP.Monitor = &models.Action{ UploadAction: &models.UploadAction{ From: "web_location", }, } assertDesiredLRPValidationFailsWithMessage(desiredLRP, "to") }) It("requires a valid CPU weight", func() { desiredLRP.CpuWeight = 101 assertDesiredLRPValidationFailsWithMessage(desiredLRP, "cpu_weight") }) Context("when security group is present", func() { It("must be valid", func() { desiredLRP.EgressRules = []*models.SecurityGroupRule{{ Protocol: "foo", }}