Skip to content

Commit cfa1cbe

Browse files
author
Gabriel Monroy
committed
Merge pull request #2092 from carmstrong/store_volume
feat(*): shared volume support for controller/logger (adds store-metadata and store-volume)
2 parents c4956fc + db4f939 commit cfa1cbe

29 files changed

Lines changed: 249 additions & 200 deletions

controller/api/static/500.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<div class="container">
2727
<div class="row">
2828
<h1>Internal Server Error</h1>
29-
<p>See /var/log/deis for details</p>
29+
<p>See /data for details</p>
3030
</div> <!-- .row -->
3131
</div> <!-- .main_section container-->
3232

controller/bin/boot

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ done
5151

5252
cd /app
5353

54-
# give the deis user permissions to write to the volume mount
55-
chown -R deis:deis /var/log/deis
54+
mkdir -p /data/logs
55+
chmod 777 /data/logs
5656

5757
# run an idempotent database migration
5858
sudo -E -u deis ./manage.py syncdb --migrate --noinput

controller/build.sh

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#!/usr/bin/env bash
22

33
if [[ -z $DOCKER_BUILD ]]; then
4-
echo
4+
echo
55
echo "Note: this script is intended for use by the Dockerfile and not as a way to build the controller locally"
6-
echo
6+
echo
77
exit 1
88
fi
99

@@ -28,9 +28,6 @@ mkdir -p /app && chown -R deis:deis /app
2828
# create directory for confd templates
2929
mkdir -p /templates && chown -R deis:deis /templates
3030

31-
# create directory for logs
32-
mkdir -p /var/log/deis && chown -R deis:deis /var/log/deis
33-
3431
# install dependencies
3532
pip install -r /app/requirements.txt
3633

controller/templates/confd_settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
CACHE_URL = 'redis://{{ .deis_cache_host }}:{{ .deis_cache_port }}/0'
3939

4040
# move log directory out of /app/deis
41-
DEIS_LOG_DIR = '/var/log/deis'
41+
DEIS_LOG_DIR = '/data/logs'
4242

4343
{{ if .deis_controller_registrationEnabled }}
4444
REGISTRATION_ENABLED = bool({{ .deis_controller_registrationEnabled }})

controller/tests/controller_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,13 @@ func TestController(t *testing.T) {
2929
"/deis/domains",
3030
}
3131
tag, etcdPort := utils.BuildTag(), utils.RandomPort()
32+
33+
//start etcd container
3234
etcdName := "deis-etcd-" + tag
3335
cli, stdout, stdoutPipe := dockercli.NewClient()
3436
dockercli.RunTestEtcd(t, etcdName, etcdPort)
3537
defer cli.CmdRm("-f", etcdName)
38+
3639
handler := etcdutils.InitEtcd(setdir, setkeys, etcdPort)
3740
etcdutils.PublishEtcd(t, handler)
3841
mock.RunMockDatabase(t, tag, etcdPort, utils.RandomPort())

deisctl/README.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,6 @@ $ deisctl install platform
7979
■ ● ▴ Installing Deis...
8080
▴ ■ ●
8181

82-
Data containers...
83-
deis-logger-data.service: loaded
8482
Logging subsystem...
8583
deis-logger.service: loaded
8684
Storage subsystem...
@@ -105,8 +103,6 @@ $ deisctl start platform
105103
■ ● ▴ Starting Deis...
106104
▴ ■ ●
107105

108-
Data containers...
109-
deis-logger-data.service: exited
110106
Logging subsystem...
111107
deis-logger.service: running
112108
deis-logspout.service: running
@@ -186,7 +182,6 @@ deis-builder.service f936b7a5.../172.17.8.100 loaded active running
186182
deis-cache.service f936b7a5.../172.17.8.100 loaded active running
187183
deis-controller.service f936b7a5.../172.17.8.100 loaded active running
188184
deis-database.service f936b7a5.../172.17.8.100 loaded active running
189-
deis-logger-data.service f936b7a5.../172.17.8.100 loaded active exited
190185
deis-logger.service f936b7a5.../172.17.8.100 loaded active running
191186
deis-registry.service f936b7a5.../172.17.8.100 loaded active running
192187
deis-router@1.service f936b7a5.../172.17.8.100 loaded active running

deisctl/backend/fleet/create.go

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package fleet
22

33
import (
44
"fmt"
5-
"strings"
65
"sync"
76

87
"github.com/coreos/fleet/job"
@@ -62,11 +61,7 @@ func (c *FleetClient) createUnitFile(target string) (unitName string, uf *unit.U
6261
if err != nil {
6362
return
6463
}
65-
if strings.HasSuffix(component, "-data") {
66-
unitName, uf, err = c.createDataUnit(component)
67-
} else {
68-
unitName, uf, err = c.createServiceUnit(component, num)
69-
}
64+
unitName, uf, err = c.createServiceUnit(component, num)
7065
if err != nil {
7166
return unitName, uf, err
7267
}
@@ -85,21 +80,3 @@ func (c *FleetClient) createServiceUnit(component string, num int) (name string,
8580
}
8681
return name, uf, nil
8782
}
88-
89-
// Create data container unit
90-
func (c *FleetClient) createDataUnit(component string) (name string, uf *unit.UnitFile, err error) {
91-
name, err = formatUnitName(component, 0)
92-
if err != nil {
93-
return
94-
}
95-
machineID, err := randomMachineID(c)
96-
if err != nil {
97-
return
98-
}
99-
uf, err = NewDataUnit(component, machineID)
100-
if err != nil {
101-
return
102-
}
103-
return name, uf, nil
104-
105-
}

deisctl/backend/fleet/fleet.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,3 @@ func NewClient() (*FleetClient, error) {
1818
cAPI = client
1919
return &FleetClient{Fleet: client}, nil
2020
}
21-
22-
// randomMachineID return a random machineID from the Fleet cluster
23-
func randomMachineID(c *FleetClient) (machineID string, err error) {
24-
machineState, err := c.Fleet.Machines()
25-
if err != nil {
26-
return "", err
27-
}
28-
var machineIDs []string
29-
for _, ms := range machineState {
30-
machineIDs = append(machineIDs, ms.ID)
31-
}
32-
return randomValue(machineIDs), nil
33-
}

deisctl/backend/fleet/start.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package fleet
22

33
import (
44
"fmt"
5-
"strings"
65
"sync"
76
"time"
87

@@ -34,12 +33,7 @@ func doStart(c *FleetClient, target string, wg *sync.WaitGroup, outchan chan str
3433
}
3534

3635
requestState := "launched"
37-
var desiredState string
38-
if strings.Contains(name, "-data.service") {
39-
desiredState = "exited"
40-
} else {
41-
desiredState = "running"
42-
}
36+
desiredState := "running"
4337

4438
if err := c.Fleet.SetUnitTargetState(name, requestState); err != nil {
4539
errchan <- err

deisctl/backend/fleet/unit.go

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,9 @@ func (c *FleetClient) Units(target string) (units []string, err error) {
2424
if err != nil {
2525
return
2626
}
27-
if strings.HasSuffix(target, "-data") {
28-
for _, u := range allUnits {
29-
if strings.Contains(u.Name, target) {
30-
units = []string{u.Name}
31-
return
32-
}
33-
}
34-
} else {
35-
for _, u := range allUnits {
36-
if strings.Contains(u.Name, target) && !strings.HasSuffix(u.Name, "-data.service") {
37-
units = append(units, u.Name)
38-
}
27+
for _, u := range allUnits {
28+
if strings.Contains(u.Name, target) {
29+
units = append(units, u.Name)
3930
}
4031
}
4132
if len(units) == 0 {
@@ -84,22 +75,6 @@ func NewUnit(component string) (uf *unit.UnitFile, err error) {
8475
return
8576
}
8677

87-
// NewDataUnit takes a component type and returns a Fleet unit
88-
// that is hard-scheduled to a machine ID
89-
func NewDataUnit(component string, machineID string) (uf *unit.UnitFile, err error) {
90-
template, err := readTemplate(component)
91-
if err != nil {
92-
return
93-
}
94-
// replace CHANGEME with random machineID
95-
replaced := strings.Replace(string(template), "CHANGEME", machineID, 1)
96-
uf, err = unit.NewUnitFile(replaced)
97-
if err != nil {
98-
return
99-
}
100-
return
101-
}
102-
10378
// formatUnitName returns a properly formatted systemd service name
10479
// using the given component type and number
10580
func formatUnitName(component string, num int) (unitName string, err error) {

0 commit comments

Comments
 (0)