Skip to content

Commit 265cc3d

Browse files
author
Gabriel Monroy
committed
fix(units): switch to systemd template units
1 parent b610417 commit 265cc3d

6 files changed

Lines changed: 17 additions & 17 deletions

File tree

client/unit.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (c *FleetClient) getUnits(target string) (units []string, err error) {
2727
} else if strings.Contains(target, ".") {
2828
r = regexp.MustCompile(`deis\-(` + target + `)\.service`)
2929
} else {
30-
r = regexp.MustCompile(`deis\-(` + target + `)\.([\d]+)\.service`)
30+
r = regexp.MustCompile(`deis\-(` + target + `)@([\d]+)\.service`)
3131
}
3232
for _, j := range jobs {
3333
match := r.MatchString(j.Name)
@@ -100,7 +100,7 @@ func formatUnitName(component string, num int) (unitName string, err error) {
100100
if num == 0 {
101101
return "deis-" + component + ".service", nil
102102
} else {
103-
return "deis-" + component + "." + strconv.Itoa(num) + ".service", nil
103+
return "deis-" + component + "@" + strconv.Itoa(num) + ".service", nil
104104
}
105105
}
106106

client/unit_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ func TestFormatUnitName(t *testing.T) {
77
if err != nil {
88
t.Fatal(err)
99
}
10-
if unitName != "deis-router.1.service" {
10+
if unitName != "deis-router@1.service" {
1111
t.Fatalf("invalid unit name: %v", unitName)
1212
}
1313

client/utils.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func countUnits(units []string) (count []int, err error) {
5151
}
5252

5353
func splitJobName(component string) (c string, num int, err error) {
54-
r := regexp.MustCompile(`deis\-([a-z-]+)\.([\d]+)\.service`)
54+
r := regexp.MustCompile(`deis\-([a-z-]+)\@([\d]+)\.service`)
5555
match := r.FindStringSubmatch(component)
5656
if len(match) == 0 {
5757
c, err = "", fmt.Errorf("Could not parse component: %v", component)
@@ -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 {

client/utils_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,37 @@ func TestNextComponent(t *testing.T) {
1212
t.Fatal("Invalid component number")
1313
}
1414
// test next component
15-
num, err = nextUnitNum([]string{"deis-router.1.service"})
15+
num, err = nextUnitNum([]string{"deis-router@1.service"})
1616
if err != nil {
1717
t.Fatal(err)
1818
}
1919
if num != 2 {
2020
t.Fatal("Invalid component number")
2121
}
2222
// test last component
23-
num, err = nextUnitNum([]string{"deis-router.1.service", "deis-router.2.service"})
23+
num, err = nextUnitNum([]string{"deis-router@1.service", "deis-router@2.service"})
2424
if err != nil {
2525
t.Fatal(err)
2626
}
2727
if num != 3 {
2828
t.Fatal("Invalid component number")
2929
}
3030
// test middle component
31-
num, err = nextUnitNum([]string{"deis-router.3.service"})
31+
num, err = nextUnitNum([]string{"deis-router@3.service"})
3232
if err != nil {
3333
t.Fatal(err)
3434
}
3535
if num != 1 {
3636
t.Fatal("Invalid component number")
3737
}
38-
num, err = nextUnitNum([]string{"deis-router.1.service", "deis-router.3.service"})
38+
num, err = nextUnitNum([]string{"deis-router@1.service", "deis-router@3.service"})
3939
if err != nil {
4040
t.Fatal(err)
4141
}
4242
if num != 2 {
4343
t.Fatalf("Invalid component number: %v", num)
4444
}
45-
num, err = nextUnitNum([]string{"deis-router.1.service", "deis-router.2.service", "deis-router.3.service"})
45+
num, err = nextUnitNum([]string{"deis-router@1.service", "deis-router@2.service", "deis-router@3.service"})
4646
if err != nil {
4747
t.Fatal(err)
4848
}
@@ -52,7 +52,7 @@ func TestNextComponent(t *testing.T) {
5252
}
5353

5454
func TestSplitJobName(t *testing.T) {
55-
c, num, err := splitJobName("deis-router.1.service")
55+
c, num, err := splitJobName("deis-router@1.service")
5656
if err != nil {
5757
t.Fatal(err)
5858
}
@@ -70,12 +70,12 @@ func TestSplitTarget(t *testing.T) {
7070
t.Fatalf("Invalid split on \"%v\": %v %v", "router", c, num)
7171
}
7272

73-
c, num, err = splitTarget("router.3")
73+
c, num, err = splitTarget("router@3")
7474
if err != nil {
7575
t.Fatal(err)
7676
}
7777
if c != "router" || num != 3 {
78-
t.Fatalf("Invalid split on \"%v\": %v %v", "router.3", c, num)
78+
t.Fatalf("Invalid split on \"%v\": %v %v", "router@3", c, num)
7979
}
8080

8181
c, num, err = splitTarget("database-data")

deisctl.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Example Commands:
7474
deisctl uninstall
7575
deisctl list
7676
deisctl scale router=2
77-
deisctl start router.2
77+
deisctl start router@2
7878
deisctl stop router builder
7979
deisctl status controller
8080

units/deis-controller.service

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[Unit]
22
Description=deis-controller
3-
Requires=deis-logger.1.service
4-
After=deis-logger.1.service
3+
Requires=deis-logger@1.service
4+
After=deis-logger@1.service
55

66
[Service]
77
EnvironmentFile=/etc/environment
@@ -15,4 +15,4 @@ ExecStopPost=/usr/bin/docker stop deis-controller
1515
WantedBy=multi-user.target
1616

1717
[X-Fleet]
18-
X-ConditionMachineOf=deis-logger.1.service
18+
X-ConditionMachineOf=deis-logger@1.service

0 commit comments

Comments
 (0)