當前位置: 首頁>>代碼示例>>Golang>>正文


Golang ActualLRP.CrashReason方法代碼示例

本文整理匯總了Golang中github.com/cloudfoundry-incubator/bbs/models.ActualLRP.CrashReason方法的典型用法代碼示例。如果您正苦於以下問題:Golang ActualLRP.CrashReason方法的具體用法?Golang ActualLRP.CrashReason怎麽用?Golang ActualLRP.CrashReason使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/cloudfoundry-incubator/bbs/models.ActualLRP的用法示例。


在下文中一共展示了ActualLRP.CrashReason方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: lrpForState

func lrpForState(state string, timeInState time.Duration) models.ActualLRP {
	var actualLRPKey = models.NewActualLRPKey("some-process-guid", 1, "tests")
	var instanceKey = models.NewActualLRPInstanceKey("some-instance-guid", "some-cell")

	lrp := models.ActualLRP{
		ActualLRPKey: actualLRPKey,
		State:        state,
		Since:        clock.Now().Add(-timeInState).UnixNano(),
	}

	switch state {
	case models.ActualLRPStateUnclaimed:
	case models.ActualLRPStateCrashed:
		lrp.CrashReason = "crashed"
	case models.ActualLRPStateClaimed:
		lrp.ActualLRPInstanceKey = instanceKey
	case models.ActualLRPStateRunning:
		lrp.ActualLRPInstanceKey = instanceKey
		lrp.ActualLRPNetInfo = models.NewActualLRPNetInfo("1.2.3.4", &models.PortMapping{ContainerPort: 1234, HostPort: 5678})
	}

	return lrp
}
開發者ID:emc-xchallenge,項目名稱:bbs,代碼行數:23,代碼來源:actual_lrp_crashing_test.go

示例2:

		Context("when the actual lrp data is the same", func() {
			It("does nothing", func() {
				_, err := etcdDBWithFakeStore.EvacuateActualLRP(logger, &actualLRP.ActualLRPKey, &actualLRP.ActualLRPInstanceKey, &actualLRP.ActualLRPNetInfo, ttl)
				Expect(err).NotTo(HaveOccurred())

				Expect(fakeStoreClient.CompareAndSwapCallCount()).To(Equal(0))
			})
		})

		Context("when the evacuating actual lrp does not exist", func() {
			BeforeEach(func() {
				_, err := storeClient.Delete(etcd.EvacuatingActualLRPSchemaPath(guid, index), false)
				Expect(err).NotTo(HaveOccurred())

				actualLRP.CrashCount = 0
				actualLRP.CrashReason = ""
				actualLRP.Since = clock.Now().UnixNano()
			})

			It("creates the evacuating actual lrp", func() {
				group, err := etcdDB.EvacuateActualLRP(logger, &actualLRP.ActualLRPKey, &actualLRP.ActualLRPInstanceKey, &actualLRP.ActualLRPNetInfo, ttl)
				Expect(err).NotTo(HaveOccurred())

				actualLRPGroup, err := etcdDB.ActualLRPGroupByProcessGuidAndIndex(logger, guid, index)
				Expect(err).NotTo(HaveOccurred())
				Expect(group).To(Equal(actualLRPGroup))

				Expect(actualLRPGroup.Evacuating.ModificationTag.Epoch).NotTo(BeNil())
				Expect(actualLRPGroup.Evacuating.ModificationTag.Index).To(BeEquivalentTo((1)))
				actualLRPGroup.Evacuating.ModificationTag = actualLRP.ModificationTag
				Expect(actualLRPGroup.Evacuating).To(BeEquivalentTo(actualLRP))
開發者ID:timani,項目名稱:bbs,代碼行數:31,代碼來源:evacuation_db_test.go

示例3:

			actualLRP.State = ""
			Expect(serialization.ActualLRPProtoToResponse(actualLRP, false).State).To(Equal(receptor.ActualLRPStateInvalid))
		})

		Context("when there is placement error", func() {
			BeforeEach(func() {
				actualLRP.State = models.ActualLRPStateUnclaimed
				actualLRP.PlacementError = "some-error"
			})

			It("includes the placement error", func() {
				actualResponse := serialization.ActualLRPProtoToResponse(actualLRP, false)
				Expect(actualResponse.PlacementError).To(Equal("some-error"))
			})
		})

		Context("when there is a crash reason", func() {
			BeforeEach(func() {
				actualLRP.State = models.ActualLRPStateCrashed
				actualLRP.CrashReason = "crashed"
			})

			It("includes the placement error", func() {
				actualResponse := serialization.ActualLRPProtoToResponse(actualLRP, false)
				Expect(actualResponse.CrashReason).To(Equal("crashed"))
			})
		})
	})
})
開發者ID:davidwadden,項目名稱:lattice-release,代碼行數:29,代碼來源:actual_lrps_test.go


注:本文中的github.com/cloudfoundry-incubator/bbs/models.ActualLRP.CrashReason方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。