Skip to content

Commit e5bf847

Browse files
committed
feat(deisctl): add store support; drop database-data and registry-data
ref(deisctl): convert store to use global units
1 parent 4eb0089 commit e5bf847

12 files changed

Lines changed: 94 additions & 75 deletions

deisctl/README.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,6 @@ $ deisctl install platform
8080
▴ ■ ●
8181

8282
Scheduling data containers...
83-
deis-database-data.service: loaded
84-
deis-registry-data.service: loaded
8583
deis-logger-data.service: loaded
8684
Data containers scheduled.
8785
Scheduling service containers...
@@ -102,8 +100,6 @@ $ deisctl start platform
102100
▴ ■ ●
103101

104102
Launching data containers...
105-
deis-database-data.service: exited
106-
deis-registry-data.service: exited
107103
deis-logger-data.service: exited
108104
Data containers launched.
109105
Launching service containers...
@@ -164,11 +160,9 @@ UNIT MACHINE LOAD ACTIVE SUB
164160
deis-builder@1.service f936b7a5.../172.17.8.100 loaded active running
165161
deis-cache@1.service f936b7a5.../172.17.8.100 loaded active running
166162
deis-controller@1.service f936b7a5.../172.17.8.100 loaded active running
167-
deis-database-data.service f936b7a5.../172.17.8.100 loaded active exited
168163
deis-database@1.service f936b7a5.../172.17.8.100 loaded active running
169164
deis-logger-data.service f936b7a5.../172.17.8.100 loaded active exited
170165
deis-logger@1.service f936b7a5.../172.17.8.100 loaded active running
171-
deis-registry-data.service f936b7a5.../172.17.8.100 loaded active exited
172166
deis-registry@1.service f936b7a5.../172.17.8.100 loaded active running
173167
deis-router@1.service f936b7a5.../172.17.8.100 loaded active running
174168
```

deisctl/backend/fleet/utils.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func splitJobName(component string) (c string, num int, err error) {
6767

6868
func splitTarget(target string) (component string, num int, err error) {
6969
// see if we were provided a specific target
70-
r := regexp.MustCompile(`^([a-z]+)(\-data|@\d+)?$`)
70+
r := regexp.MustCompile(`^([a-z-]+)(\-data|@\d+)?$`)
7171
match := r.FindStringSubmatch(target)
7272
// check for failed match
7373
if len(match) != 3 {

deisctl/backend/fleet/utils_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ func TestSplitTarget(t *testing.T) {
7878
t.Fatalf("Invalid split on \"%v\": %v %v", "router@3", c, num)
7979
}
8080

81-
c, num, err = splitTarget("database-data")
81+
c, num, err = splitTarget("store-gateway")
8282
if err != nil {
8383
t.Fatal(err)
8484
}
85-
if c != "database-data" || num != 0 {
86-
t.Fatalf("Invalid split on \"%v\": %v %v", "database-data", c, num)
85+
if c != "store-gateway" || num != 0 {
86+
t.Fatalf("Invalid split on \"%v\": %v %v", "store-gateway", c, num)
8787
}
8888

8989
}

deisctl/cmd/cmd.go

Lines changed: 40 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ const (
2626

2727
var (
2828
DefaultDataContainers = []string{
29-
"database-data",
30-
"registry-data",
3129
"logger-data",
3230
}
3331
)
@@ -93,7 +91,20 @@ func startDefaultServices(b backend.Backend) error {
9391
if err := Start(b, []string{"logger@1"}); err != nil {
9492
return err
9593
}
96-
if err := Start(b, []string{"publisher", "logspout", "cache@1", "router@1", "database@1", "controller@1", "registry@1", "builder@1"}); err != nil {
94+
targets := []string{
95+
"publisher",
96+
"store-monitor",
97+
"store-daemon",
98+
"store-gateway@1",
99+
"logspout",
100+
"cache@1",
101+
"router@1",
102+
"database@1",
103+
"controller@1",
104+
"registry@1",
105+
"builder@1",
106+
}
107+
if err := Start(b, targets); err != nil {
97108
return err
98109
}
99110
fmt.Println("Service containers launched.")
@@ -119,7 +130,21 @@ func StopPlatform(b backend.Backend) error {
119130

120131
func stopDefaultServices(b backend.Backend) error {
121132
fmt.Println("Stopping service containers...")
122-
if err := Stop(b, []string{"publisher", "logspout", "builder@1", "registry@1", "controller@1", "database@1", "cache@1", "router@1", "logger@1"}); err != nil {
133+
targets := []string{
134+
"publisher",
135+
"logspout",
136+
"builder@1",
137+
"registry@1",
138+
"controller@1",
139+
"database@1",
140+
"store-gateway@1",
141+
"store-daemon",
142+
"store-monitor",
143+
"cache@1",
144+
"router@1",
145+
"logger@1",
146+
}
147+
if err := Stop(b, targets); err != nil {
123148
return err
124149
}
125150
fmt.Println("Service containers stopped.")
@@ -183,8 +208,13 @@ func installDataContainers(b backend.Backend) error {
183208
}
184209

185210
func installDefaultServices(b backend.Backend) error {
211+
// Install global units
212+
if err := b.Create([]string{"publisher", "logspout", "store-monitor", "store-daemon"}); err != nil {
213+
return err
214+
}
186215
// start service containers
187216
targets := []string{
217+
"store-gateway=1",
188218
"database=1",
189219
"cache=1",
190220
"logger=1",
@@ -197,9 +227,6 @@ func installDefaultServices(b backend.Backend) error {
197227
if err := Scale(b, targets); err != nil {
198228
return err
199229
}
200-
if err := b.Create([]string{"publisher", "logspout"}); err != nil {
201-
return err
202-
}
203230
fmt.Println("Service containers scheduled.")
204231
return nil
205232
}
@@ -215,6 +242,7 @@ func Uninstall(b backend.Backend, targets []string) error {
215242

216243
func uninstallAllServices(b backend.Backend) error {
217244
targets := []string{
245+
"store-gateway=0",
218246
"database=0",
219247
"cache=0",
220248
"logger=0",
@@ -227,7 +255,8 @@ func uninstallAllServices(b backend.Backend) error {
227255
if err := Scale(b, targets); err != nil {
228256
return err
229257
}
230-
if err := b.Destroy([]string{"publisher", "logspout"}); err != nil {
258+
// Uninstall global units
259+
if err := b.Destroy([]string{"publisher", "logspout", "store-monitor", "store-daemon"}); err != nil {
231260
return err
232261
}
233262
fmt.Println("Service containers destroyed.")
@@ -310,14 +339,15 @@ Options:
310339
"deis-cache.service",
311340
"deis-controller.service",
312341
"deis-database.service",
313-
"deis-database-data.service",
314342
"deis-logger.service",
315343
"deis-logger-data.service",
316344
"deis-logspout.service",
317345
"deis-publisher.service",
318346
"deis-registry.service",
319-
"deis-registry-data.service",
320347
"deis-router.service",
348+
"deis-store-daemon.service",
349+
"deis-store-gateway.service",
350+
"deis-store-monitor.service",
321351
}
322352
for _, unit := range units {
323353
src := rootURL + tag + "/deisctl/units/" + unit

deisctl/units/deis-database-data.service

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
[Unit]
22
Description=deis-database
3-
Requires=deis-database-data.service
4-
After=deis-database-data.service
53

64
[Service]
75
EnvironmentFile=/etc/environment
@@ -13,6 +11,3 @@ ExecStopPost=/usr/bin/docker stop deis-database
1311

1412
[Install]
1513
WantedBy=multi-user.target
16-
17-
[X-Fleet]
18-
MachineOf=deis-database-data.service

deisctl/units/deis-registry-data.service

Lines changed: 0 additions & 14 deletions
This file was deleted.
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
[Unit]
22
Description=deis-registry
3-
Requires=deis-registry-data.service
4-
After=deis-registry-data.service
53

64
[Service]
75
EnvironmentFile=/etc/environment
86
TimeoutStartSec=30m
97
ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/registry`; docker history $IMAGE >/dev/null || docker pull $IMAGE"
108
ExecStartPre=/bin/sh -c "docker inspect deis-registry >/dev/null && docker rm -f deis-registry || true"
11-
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/registry` && docker run --name deis-registry --rm -p 5000:5000 -e EXTERNAL_PORT=5000 -e HOST=$COREOS_PRIVATE_IPV4 --volumes-from deis-registry-data $IMAGE"
9+
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/registry` && docker run --name deis-registry --rm -p 5000:5000 -e EXTERNAL_PORT=5000 -e HOST=$COREOS_PRIVATE_IPV4 $IMAGE"
1210
ExecStartPost=/bin/sh -c "echo 'Waiting for listener on 5000/tcp...' && until echo 'dummy-value' | ncat $COREOS_PRIVATE_IPV4 5000 >/dev/null 2>&1; do sleep 1; done && docker pull deis/slugrunner:latest && docker tag deis/slugrunner $COREOS_PRIVATE_IPV4:5000/deis/slugrunner && docker push $COREOS_PRIVATE_IPV4:5000/deis/slugrunner"
1311
ExecStopPost=/usr/bin/docker stop deis-registry
1412

1513
[Install]
1614
WantedBy=multi-user.target
17-
18-
[X-Fleet]
19-
MachineOf=deis-registry-data.service
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[Unit]
2+
Description=deis-store-daemon
3+
4+
[Service]
5+
EnvironmentFile=/etc/environment
6+
TimeoutStartSec=20m
7+
ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/store-daemon`; docker history $IMAGE >/dev/null 2>&1 || docker pull $IMAGE"
8+
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/store-daemon` && docker run --name deis-store-daemon -e HOST=$COREOS_PRIVATE_IPV4 -p 6800 --net host $IMAGE"
9+
10+
[Install]
11+
WantedBy=multi-user.target
12+
13+
[X-Fleet]
14+
Global=true
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[Unit]
2+
Description=deis-store-gateway
3+
4+
[Service]
5+
EnvironmentFile=/etc/environment
6+
TimeoutStartSec=20m
7+
ExecStartPre=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/store-gateway`; docker history $IMAGE >/dev/null 2>&1 || docker pull $IMAGE"
8+
ExecStartPre=/bin/sh -c "docker inspect deis-store-gateway >/dev/null 2>&1 && docker rm -f deis-store-gateway || true"
9+
ExecStart=/bin/sh -c "IMAGE=`/run/deis/bin/get_image /deis/store-gateway` && docker run --name deis-store-gateway -h deis-store-gateway --rm -e HOST=$COREOS_PRIVATE_IPV4 -e PUBLISH=8888 -p 8888:8888 $IMAGE"
10+
11+
[Install]
12+
WantedBy=multi-user.target

0 commit comments

Comments
 (0)