当前位置: 首页>>代码示例>>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;未经允许,请勿转载。