Skip to content

Commit

Permalink
review updates
Browse files Browse the repository at this point in the history
  • Loading branch information
nullfunc committed Jul 2, 2024
1 parent 396e9cc commit 9bf2961
Show file tree
Hide file tree
Showing 8 changed files with 224 additions and 216 deletions.
2 changes: 1 addition & 1 deletion src/cmd/cli/command/commands.go
Original file line number Diff line number Diff line change
Expand Up @@ -845,7 +845,7 @@ var composeUpCmd = &cobra.Command{
}
}()

if err := waitServiceState(ctx, defangv1.ServiceState_STARTED, serviceInfos); err != nil && !errors.Is(err, context.Canceled) {
if err := waitServiceState(ctx, defangv1.ServiceState_SERVICE_COMPLETED, serviceInfos); err != nil && !errors.Is(err, context.Canceled) {
if errors.Is(err, ErrDeploymentFailed) {
term.Warn("Deployment FAILED. Service(s) not running.")
cancelTail()
Expand Down
2 changes: 1 addition & 1 deletion src/cmd/cli/command/deploymentinfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func printEndpoints(serviceInfos []*defangv1.ServiceInfo) {
}

serviceConditionText := "has status " + serviceInfo.Status
if serviceInfo.State != defangv1.ServiceState_UNKNOWN {
if serviceInfo.State != defangv1.ServiceState_SERVICE_STATE_UNSPECIFIED {
serviceConditionText = "is in state " + serviceInfo.State.String()
}

Expand Down
4 changes: 2 additions & 2 deletions src/cmd/cli/command/servicemonitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func waitServiceState(ctx context.Context, targetState defangv1.ServiceState, se

serviceState := make(map[string]defangv1.ServiceState, len(serviceList))
for _, name := range serviceList {
serviceState[name] = defangv1.ServiceState_UNKNOWN
serviceState[name] = defangv1.ServiceState_SERVICE_STATE_UNSPECIFIED
}

// monitor for when all services are completed to end this command
Expand All @@ -35,7 +35,7 @@ func waitServiceState(ctx context.Context, targetState defangv1.ServiceState, se
}

// exit on detecting a FAILED state
if newStatus.State == defangv1.ServiceState_FAILED {
if newStatus.State == defangv1.ServiceState_SERVICE_FAILED {
return ErrDeploymentFailed
}

Expand Down
2 changes: 1 addition & 1 deletion src/pkg/cli/client/byoc/aws/byoc.go
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ func (b *ByocAws) update(ctx context.Context, service *defangv1.Service) (*defan

si.NatIps = b.publicNatIps // TODO: even internal services use NAT now
si.Status = "UPDATE_QUEUED"
si.State = defangv1.ServiceState_UPDATE_PENDING
si.State = defangv1.ServiceState_UPDATE_QUEUED
if si.Service.Build != nil {
si.Status = "BUILD_QUEUED" // in SaaS, this gets overwritten by the ECS events for "kaniko"
si.State = defangv1.ServiceState_BUILD_PENDING
Expand Down
21 changes: 0 additions & 21 deletions src/pkg/cli/compose/convert.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,24 +321,3 @@ func convertPorts(ports []compose.ServicePortConfig) []*defangv1.Port {
}
return pbports
}

func convertServiceState(state string) defangv1.ServiceState {
switch strings.ToLower(state) {
default:
return defangv1.ServiceState_UNKNOWN
case "building_pending":
return defangv1.ServiceState_BUILD_PENDING
case "building":
return defangv1.ServiceState_BUILDING
case "created":
return defangv1.ServiceState_CREATED
case "update_pending":
return defangv1.ServiceState_UPDATE_PENDING
case "service_deploying":
return defangv1.ServiceState_DEPLOYING
case "service_started":
return defangv1.ServiceState_STARTED
case "service_failed":
return defangv1.ServiceState_FAILED
}
}
25 changes: 17 additions & 8 deletions src/pkg/cli/tail.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,23 @@ var (
type ServiceStatus string

const (
ServiceUnknown ServiceStatus = "UNKNOWN"
ServiceBuildPending ServiceStatus = "BUILD_PENDING"
ServiceBuilding ServiceStatus = "BUILDING"
ServiceCreated ServiceStatus = "CREATED"
ServiceUpdatePending ServiceStatus = "UPDATE_PENDING"
ServiceDeploying ServiceStatus = "DEPLOYING"
ServiceStarted ServiceStatus = "STARTED"
ServiceFailed ServiceStatus = "FAILED"
ServiceUnspecified ServiceStatus = "UNSPECIFIED"

// build states
ServiceBuildQueued ServiceStatus = "BUILD_QUEUED"
ServiceBuildProvisioning ServiceStatus = "BUILD_PROVISIONING"
ServiceBuildPending ServiceStatus = "BUILD_PENDING"
ServiceBuildActivating ServiceStatus = "BUILD_ACTIVATING"
ServiceBuildRunning ServiceStatus = "BUILD_RUNNING"
ServiceBuildDeactivating ServiceStatus = "BUILD_DEACTIVATING" // build completed

// update states
ServiceUpdateQueued ServiceStatus = "UPDATE_QUEUED" // queued for deployment

// deplpyment states
ServicePending ServiceStatus = "PENDING"
ServiceCompleted ServiceStatus = "COMPLETED"
ServiceFailed ServiceStatus = "FAILED"
)

type EndLogConditional struct {
Expand Down
364 changes: 190 additions & 174 deletions src/protos/io/defang/v1/fabric.pb.go

Large diffs are not rendered by default.

20 changes: 12 additions & 8 deletions src/protos/io/defang/v1/fabric.proto
Original file line number Diff line number Diff line change
Expand Up @@ -119,20 +119,24 @@ message UploadURLResponse { string url = 1; }


enum ServiceState {
UNKNOWN = 0;
SERVICE_STATE_UNSPECIFIED = 0;

// Build states (initial state for build)
BUILD_PENDING = 1; // BUILD_QUEUED -> BUILD_ACTIVATING
BUILDING = 2; // BUILD_RUNNING
CREATED = 3; // BUILD_DEACTIVATING (done = true)
BUILD_QUEUED = 1;
BUILD_PROVISIONING = 2;
BUILD_PENDING = 3;
BUILD_ACTIVATING = 4;
BUILD_RUNNING = 5;

BUILD_DEACTIVATING = 6;

// Update states (initial state for existing image)
UPDATE_PENDING = 4; // UPDATE_QUEUE
UPDATE_QUEUED = 7;

// Deployment states
DEPLOYING = 5;
STARTED = 6;
FAILED = 7;
SERVICE_PENDING = 8;
SERVICE_COMPLETED = 9;
SERVICE_FAILED = 10;
}

message ServiceInfo {
Expand Down

0 comments on commit 9bf2961

Please sign in to comment.