Skip to content

Commit 1e522c3

Browse files
authored
Support shutdown service during setup phase in compose mode (#76)
1 parent 42b8ed4 commit 1e522c3

2 files changed

Lines changed: 19 additions & 9 deletions

File tree

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Release Notes.
66
------------------
77
#### Features
88
* Expand kind file path with system environment.
9+
* Support shutdown service during setup phase in compose mode.
910

1011
#### Bug Fixes
1112
* Fix the problem of parsing `verify.retry.interval` without setting value.

internal/components/setup/compose.go

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,20 +135,19 @@ func exposeComposeService(services []*ComposeService, cli *client.Client,
135135

136136
// find exported port and build env
137137
for _, service := range services {
138-
serviceName, num := getInstanceName(service.Name)
139-
container, err := findContainer(cli, identity, serviceName, num)
140-
if err != nil {
141-
return err
142-
}
143-
144138
// expose port
145-
if err := exposeComposePort(dockerProvider, service, container, e2eConfig); err != nil {
139+
if err := exposeComposePort(dockerProvider, service, cli, identity, e2eConfig); err != nil {
146140
return err
147141
}
148142

149143
// if service log not follow, expose log
150144
if !service.beenFollowLog {
151-
if err := exposeComposeLog(dockerProvider.client, service, container.ID, logFollower); err != nil {
145+
c, err := service.FindContainer(cli, identity)
146+
if err != nil {
147+
logger.Log.Warn(err)
148+
continue
149+
}
150+
if err := exposeComposeLog(dockerProvider.client, service, c.ID, logFollower); err != nil {
152151
return err
153152
}
154153
service.beenFollowLog = true
@@ -157,7 +156,12 @@ func exposeComposeService(services []*ComposeService, cli *client.Client,
157156
return nil
158157
}
159158

160-
func exposeComposePort(dockerProvider *DockerProvider, service *ComposeService, container *types.Container,
159+
func (c *ComposeService) FindContainer(cli *client.Client, identity string) (*types.Container, error) {
160+
serviceName, num := getInstanceName(c.Name)
161+
return findContainer(cli, identity, serviceName, num)
162+
}
163+
164+
func exposeComposePort(dockerProvider *DockerProvider, service *ComposeService, cli *client.Client, identity string,
161165
e2eConfig *config.E2EConfig) error {
162166
if len(service.waitStrategies) == 0 {
163167
return nil
@@ -169,6 +173,11 @@ func exposeComposePort(dockerProvider *DockerProvider, service *ComposeService,
169173
return err
170174
}
171175

176+
container, err := service.FindContainer(cli, identity)
177+
if err != nil {
178+
return err
179+
}
180+
172181
// format: <service_name>_host
173182
if err := exportComposeEnv(fmt.Sprintf("%s_host", service.Name), host, service.Name); err != nil {
174183
return err

0 commit comments

Comments
 (0)