Skip to content

Commit

Permalink
Merge pull request #316 from cloudfoundry/create_env_recreate
Browse files Browse the repository at this point in the history
add --recreate to create-env

Signed-off-by: Tom Viehman <[email protected]>
  • Loading branch information
cppforlife authored Sep 16, 2017
2 parents 5a06a34 + 04bfe4f commit b0305c1
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 3 deletions.
2 changes: 1 addition & 1 deletion cmd/create_env.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ func (c *CreateEnvCmd) Run(stage boshui.Stage, opts CreateEnvOpts) error {
depPreparer := c.envProvider(
opts.Args.Manifest.Path, opts.StatePath, opts.VarFlags.AsVariables(), opts.OpsFlags.AsOp())

return depPreparer.PrepareDeployment(stage)
return depPreparer.PrepareDeployment(stage, opts.Recreate)
}
18 changes: 18 additions & 0 deletions cmd/create_env_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -697,6 +697,15 @@ var _ = Describe("CreateEnvCmd", func() {
Expect(err).NotTo(HaveOccurred())
Expect(stdOut).To(gbytes.Say("No deployment, stemcell or release changes. Skipping deploy."))
})

It("deploys if recreate flag is specified", func() {
expectDeploy.Times(1)

defaultCreateEnvOpts.Recreate = true

err := command.Run(fakeStage, defaultCreateEnvOpts)
Expect(err).NotTo(HaveOccurred())
})
})

Context("when parsing the cpi deployment manifest fails", func() {
Expand Down Expand Up @@ -893,6 +902,15 @@ var _ = Describe("CreateEnvCmd", func() {
Expect(err).NotTo(HaveOccurred())
Expect(stdOut).To(gbytes.Say("No deployment, stemcell or release changes. Skipping deploy."))
})

It("deploys if recreate flag is specified", func() {
expectDeploy.Times(1)

defaultCreateEnvOpts.Recreate = true

err := command.Run(fakeStage, defaultCreateEnvOpts)
Expect(err).NotTo(HaveOccurred())
})
})
})

Expand Down
4 changes: 2 additions & 2 deletions cmd/deployment_preparer.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ type DeploymentPreparer struct {
targetProvider biinstall.TargetProvider
}

func (c *DeploymentPreparer) PrepareDeployment(stage biui.Stage) (err error) {
func (c *DeploymentPreparer) PrepareDeployment(stage biui.Stage, recreate bool) (err error) {
c.ui.BeginLinef("Deployment state: '%s'\n", c.deploymentStateService.Path())

if !c.deploymentStateService.Exists() {
Expand Down Expand Up @@ -184,7 +184,7 @@ func (c *DeploymentPreparer) PrepareDeployment(stage biui.Stage) (err error) {
return bosherr.WrapError(err, "Checking if deployment has changed")
}

if isDeployed {
if isDeployed && !recreate {
c.ui.BeginLinef("No deployment, stemcell or release changes. Skipping deploy.\n")
return nil
}
Expand Down
1 change: 1 addition & 0 deletions cmd/opts.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ type CreateEnvOpts struct {
VarFlags
OpsFlags
StatePath string `long:"state" value-name:"PATH" description:"State file path"`
Recreate bool `long:"recreate" description:"Recreate VM in deployment"`
cmd
}

Expand Down
6 changes: 6 additions & 0 deletions cmd/opts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,12 @@ var _ = Describe("Opts", func() {
`long:"state" value-name:"PATH" description:"State file path"`,
))
})

It("has --recreate", func() {
Expect(getStructTagForName("Recreate", opts)).To(Equal(
`long:"recreate" description:"Recreate VM in deployment"`,
))
})
})

Describe("CreateEnvArgs", func() {
Expand Down

0 comments on commit b0305c1

Please sign in to comment.