本文整理匯總了Golang中github.com/cloudfoundry/bosh-init/config.DeploymentStateService.Save方法的典型用法代碼示例。如果您正苦於以下問題:Golang DeploymentStateService.Save方法的具體用法?Golang DeploymentStateService.Save怎麽用?Golang DeploymentStateService.Save使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry/bosh-init/config.DeploymentStateService
的用法示例。
在下文中一共展示了DeploymentStateService.Save方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: rootDesc
//.........這裏部分代碼省略.........
ID: "fake-uuid-0",
Name: fakeCPIRelease.Name(),
Version: fakeCPIRelease.Version(),
},
}))
})
It("deletes unused stemcells", func() {
expectStemcellDeleteUnused.Times(1)
err := command.Run(fakeStage, []string{deploymentManifestPath})
Expect(err).NotTo(HaveOccurred())
})
Context("when deployment has not changed", func() {
JustBeforeEach(func() {
previousDeploymentState := biconfig.DeploymentState{
DirectorID: directorID,
CurrentReleaseIDs: []string{"my-release-id-1"},
Releases: []biconfig.ReleaseRecord{{
ID: "my-release-id-1",
Name: fakeCPIRelease.Name(),
Version: fakeCPIRelease.Version(),
}},
CurrentStemcellID: "my-stemcellRecordID",
Stemcells: []biconfig.StemcellRecord{{
ID: "my-stemcellRecordID",
Name: cloudStemcell.Name(),
Version: cloudStemcell.Version(),
}},
CurrentManifestSHA1: manifestSHA1,
}
err := setupDeploymentStateService.Save(previousDeploymentState)
Expect(err).ToNot(HaveOccurred())
})
It("skips deploy", func() {
expectDeploy.Times(0)
err := command.Run(fakeStage, []string{deploymentManifestPath})
Expect(err).NotTo(HaveOccurred())
Expect(stdOut).To(gbytes.Say("No deployment, stemcell or release changes. Skipping deploy."))
})
})
Context("when parsing the cpi deployment manifest fails", func() {
BeforeEach(func() {
fakeDeploymentParser.ParseErr = bosherr.Error("fake-parse-error")
})
It("returns error", func() {
err := command.Run(fakeStage, []string{deploymentManifestPath})
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(ContainSubstring("Parsing deployment manifest"))
Expect(err.Error()).To(ContainSubstring("fake-parse-error"))
Expect(fakeDeploymentParser.ParsePath).To(Equal(deploymentManifestPath))
})
})
Context("when the cpi release does not contain a 'cpi' job", func() {
BeforeEach(func() {
fakeCPIRelease.ReleaseJobs = []bireljob.Job{
{
Name: "not-cpi",
},
示例2:
Expect(err).ToNot(HaveOccurred())
Expect(fakeUI.Said).To(Equal([]string{
"Deployment state: '/deployment-dir/fake-deployment-manifest-state.json'",
"No deployment state file found.",
}))
})
})
Context("when the deployment has been deployed", func() {
BeforeEach(func() {
directorID = "fake-director-id"
// create deployment manifest yaml file
setupDeploymentStateService.Save(biconfig.DeploymentState{
DirectorID: directorID,
})
})
Context("when change temp root fails", func() {
It("returns an error", func() {
fs.ChangeTempRootErr = errors.New("fake ChangeTempRootErr")
err := newDeploymentDeleter().DeleteDeployment(fakeStage)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(Equal("Setting temp root: fake ChangeTempRootErr"))
})
})
It("sets the temp root", func() {
expectDeleteAndCleanup(true)
err := newDeploymentDeleter().DeleteDeployment(fakeStage)
示例3:
//Note: deployment will be nil if the config has no vms, disks, or stemcells
})
Context("when the deployment has been deployed", func() {
BeforeEach(func() {
// create deployment manifest yaml file
deploymentStateService.Save(biconfig.DeploymentState{
DirectorID: "fake-director-id",
InstallationID: "fake-installation-id",
CurrentVMCID: "fake-vm-cid",
CurrentStemcellID: "fake-stemcell-guid",
CurrentDiskID: "fake-disk-guid",
Disks: []biconfig.DiskRecord{
{
ID: "fake-disk-guid",
CID: "fake-disk-cid",
Size: 100,
},
},
Stemcells: []biconfig.StemcellRecord{
{
ID: "fake-stemcell-guid",
CID: "fake-stemcell-cid",
},
},
})
})
It("stops agent, unmounts disk, deletes vm, deletes disk, deletes stemcell", func() {
expectNormalFlow()
err := deployment.Delete(fakeStage)