Skip to content

Commit

Permalink
don't return on networks deployment failure
Browse files Browse the repository at this point in the history
  • Loading branch information
Eslam-Nawara committed Feb 6, 2024
1 parent f6e86ae commit 3122b41
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 27 deletions.
4 changes: 1 addition & 3 deletions go.work.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1278,8 +1278,7 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/zerolog v1.14.3/go.mod h1:3WXPzbXEEliJ+a6UFE4vhIxV8qR1EML6ngzP9ug4eYg=
github.com/rs/zerolog v1.26.0/go.mod h1:yBiM87lvSqX8h0Ww4sdzNSkVYZ8dL2xjZJG1lAuGZEo=
github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0=
github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
github.com/rubenv/sql-migrate v1.5.2/go.mod h1:H38GW8Vqf8F0Su5XignRyaRcbXbJunSWxs+kmzlg0Is=
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
Expand Down Expand Up @@ -1618,7 +1617,6 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
Expand Down
2 changes: 1 addition & 1 deletion mass-deployer/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ require (
github.com/cosmos/go-bip39 v1.0.0
github.com/gliderlabs/ssh v0.3.6
github.com/go-playground/validator/v10 v10.17.0
github.com/hashicorp/go-multierror v1.1.1
github.com/rs/zerolog v1.32.0
github.com/sethvargo/go-retry v0.2.4
github.com/spf13/cobra v1.8.0
Expand Down Expand Up @@ -42,7 +43,6 @@ require (
github.com/gtank/merlin v0.1.1 // indirect
github.com/gtank/ristretto255 v0.1.2 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/holiman/uint256 v1.2.3 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jbenet/go-base58 v0.0.0-20150317085156-6237cf65f3a6 // indirect
Expand Down
30 changes: 7 additions & 23 deletions mass-deployer/pkg/mass-deployer/deployer.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,18 +135,19 @@ func parseVMsGroup(vms []Vms, nodeGroup string, nodesIDs []int, sshKeys map[stri
func massDeploy(ctx context.Context, tfPluginClient deployer.TFPluginClient, deployments *groupDeploymentsInfo) error {
// deploy only contracts that need to be deployed
networks, vms := getNotDeployedDeployments(tfPluginClient, deployments)
var multiErr error

log.Debug().Msg("Deploy networks")
log.Debug().Msg(fmt.Sprintf("Deploying %d networks, this may to take a while", len(deployments.networkDeployments)))
if err := tfPluginClient.NetworkDeployer.BatchDeploy(ctx, networks); err != nil {
return err
multiErr = multierror.Append(multiErr, err)
}

log.Debug().Msg(fmt.Sprintf("Deploying %d virtual machines, this may to take a while", len(deployments.vmDeployments)))
if err := tfPluginClient.DeploymentDeployer.BatchDeploy(ctx, vms); err != nil {
return err
multiErr = multierror.Append(multiErr, err)
}

return nil
return multiErr
}

func buildDeployments(vms []Vms, nodeGroup string, nodesIDs []int, sshKeys map[string]string) groupDeploymentsInfo {
Expand Down Expand Up @@ -241,7 +242,7 @@ func loadGroupInfo(tfPluginClient deployer.TFPluginClient, vmDeployments []*work
go func(deployment workloads.Deployment) {
defer wg.Done()
log.Debug().
Str("vm", depInfo.vmName).
Str("vm", deployment.Name).
Msg("loading vm info from state")

vmDeployment, err := tfPluginClient.State.LoadDeploymentFromGrid(deployment.NodeID, deployment.Name)
Expand Down Expand Up @@ -294,25 +295,8 @@ func parseDisks(name string, disks []Disk) (disksWorkloads []workloads.Disk, mou
}

func updateFailedDeployments(ctx context.Context, tfPluginClient deployer.TFPluginClient, nodesIDs []int, groupDeployments *groupDeploymentsInfo) {
// update nodes for failed networks and update vm deployments accordingly
// return if the networks were updated
var updated bool
for idx, deployment := range groupDeployments.networkDeployments {

nodeID := uint32(nodesIDs[idx%len(nodesIDs)])
if isFailedNetwork(*deployment) {
updated = true
groupDeployments.vmDeployments[idx].NodeID = nodeID
groupDeployments.networkDeployments[idx].Nodes = []uint32{nodeID}
}
}

if updated {
return
}

for idx, deployment := range groupDeployments.vmDeployments {
if deployment.ContractID == 0 {
if deployment.ContractID == 0 || isFailedNetwork(*groupDeployments.networkDeployments[idx]) {
err := tfPluginClient.NetworkDeployer.Cancel(ctx, groupDeployments.networkDeployments[idx])
if err != nil {
log.Debug().Err(err)
Expand Down

0 comments on commit 3122b41

Please sign in to comment.