Set instance count to 20
to allow scheduling of SLA aware jobs
Addtional changes include update settings to `10` instances and increasing `go test` _timeout_ to `15m`.
This commit is contained in:
parent
9ed7690de1
commit
01fec6e124
5 changed files with 86 additions and 17 deletions
|
@ -25,7 +25,7 @@ install:
|
||||||
- docker-compose up -d
|
- docker-compose up -d
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- go test -race -coverprofile=coverage.txt -covermode=atomic -v github.com/paypal/gorealis
|
- go test -race -coverprofile=coverage.txt -covermode=atomic -v github.com/paypal/gorealis -timeout 15m
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
- bash <(curl -s https://codecov.io/bash)
|
- bash <(curl -s https://codecov.io/bash)
|
||||||
|
|
|
@ -55,6 +55,74 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- zk
|
- zk
|
||||||
|
|
||||||
|
agent-two:
|
||||||
|
image: rdelvalle/mesos-agent:1.5.1
|
||||||
|
pid: host
|
||||||
|
restart: on-failure
|
||||||
|
environment:
|
||||||
|
MESOS_MASTER: zk://192.168.33.2:2181/mesos
|
||||||
|
MESOS_CONTAINERIZERS: docker,mesos
|
||||||
|
MESOS_PORT: 5051
|
||||||
|
MESOS_HOSTNAME: localhost
|
||||||
|
MESOS_RESOURCES: ports(*):[11000-11999]
|
||||||
|
MESOS_SYSTEMD_ENABLE_SUPPORT: 'false'
|
||||||
|
MESOS_WORK_DIR: /tmp/mesos
|
||||||
|
networks:
|
||||||
|
aurora_cluster:
|
||||||
|
ipv4_address: 192.168.33.5
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /sys/fs/cgroup:/sys/fs/cgroup
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
depends_on:
|
||||||
|
- zk
|
||||||
|
|
||||||
|
|
||||||
|
agent-three:
|
||||||
|
image: rdelvalle/mesos-agent:1.5.1
|
||||||
|
pid: host
|
||||||
|
restart: on-failure
|
||||||
|
environment:
|
||||||
|
MESOS_MASTER: zk://192.168.33.2:2181/mesos
|
||||||
|
MESOS_CONTAINERIZERS: docker,mesos
|
||||||
|
MESOS_PORT: 5051
|
||||||
|
MESOS_HOSTNAME: localhost
|
||||||
|
MESOS_RESOURCES: ports(*):[11000-11999]
|
||||||
|
MESOS_SYSTEMD_ENABLE_SUPPORT: 'false'
|
||||||
|
MESOS_WORK_DIR: /tmp/mesos
|
||||||
|
networks:
|
||||||
|
aurora_cluster:
|
||||||
|
ipv4_address: 192.168.33.16
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /sys/fs/cgroup:/sys/fs/cgroup
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
depends_on:
|
||||||
|
- zk
|
||||||
|
|
||||||
|
|
||||||
|
agent-four:
|
||||||
|
image: rdelvalle/mesos-agent:1.5.1
|
||||||
|
pid: host
|
||||||
|
restart: on-failure
|
||||||
|
environment:
|
||||||
|
MESOS_MASTER: zk://192.168.33.2:2181/mesos
|
||||||
|
MESOS_CONTAINERIZERS: docker,mesos
|
||||||
|
MESOS_PORT: 5051
|
||||||
|
MESOS_HOSTNAME: localhost
|
||||||
|
MESOS_RESOURCES: ports(*):[11000-11999]
|
||||||
|
MESOS_SYSTEMD_ENABLE_SUPPORT: 'false'
|
||||||
|
MESOS_WORK_DIR: /tmp/mesos
|
||||||
|
networks:
|
||||||
|
aurora_cluster:
|
||||||
|
ipv4_address: 192.168.33.15
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- /sys/fs/cgroup:/sys/fs/cgroup
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
depends_on:
|
||||||
|
- zk
|
||||||
|
|
||||||
aurora-one:
|
aurora-one:
|
||||||
image: rdelvalle/aurora:0.21.0
|
image: rdelvalle/aurora:0.21.0
|
||||||
pid: host
|
pid: host
|
||||||
|
|
6
job.go
6
job.go
|
@ -56,7 +56,7 @@ type Job interface {
|
||||||
MaxFailure(maxFail int32) Job
|
MaxFailure(maxFail int32) Job
|
||||||
Container(container Container) Job
|
Container(container Container) Job
|
||||||
PartitionPolicy(policy *aurora.PartitionPolicy) Job
|
PartitionPolicy(policy *aurora.PartitionPolicy) Job
|
||||||
Tier(tier *string) Job
|
Tier(tier string) Job
|
||||||
SlaPolicy(policy *aurora.SlaPolicy) Job
|
SlaPolicy(policy *aurora.SlaPolicy) Job
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,8 +326,8 @@ func (j *AuroraJob) PartitionPolicy(policy *aurora.PartitionPolicy) Job {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the Tier for the Job.
|
// Set the Tier for the Job.
|
||||||
func (j *AuroraJob) Tier(tier *string) Job {
|
func (j *AuroraJob) Tier(tier string) Job {
|
||||||
j.jobConfig.TaskConfig.Tier = tier
|
j.jobConfig.TaskConfig.Tier = &tier
|
||||||
|
|
||||||
return j
|
return j
|
||||||
}
|
}
|
||||||
|
|
|
@ -393,6 +393,7 @@ func TestRealisClient_CreateService(t *testing.T) {
|
||||||
|
|
||||||
settings := realis.NewUpdateSettings()
|
settings := realis.NewUpdateSettings()
|
||||||
settings.UpdateGroupSize = 2
|
settings.UpdateGroupSize = 2
|
||||||
|
settings.MinWaitInInstanceRunningMs = 10 * 1000
|
||||||
job.InstanceCount(3)
|
job.InstanceCount(3)
|
||||||
resp, result, err := r.CreateService(job, settings)
|
resp, result, err := r.CreateService(job, settings)
|
||||||
|
|
||||||
|
@ -403,7 +404,7 @@ func TestRealisClient_CreateService(t *testing.T) {
|
||||||
var ok bool
|
var ok bool
|
||||||
var mErr error
|
var mErr error
|
||||||
|
|
||||||
if ok, mErr = monitor.JobUpdate(*result.GetKey(), 5, 180); !ok || mErr != nil {
|
if ok, mErr = monitor.JobUpdate(*result.GetKey(), 5, 240); !ok || mErr != nil {
|
||||||
// Update may already be in a terminal state so don't check for error
|
// Update may already be in a terminal state so don't check for error
|
||||||
_, err := r.AbortJobUpdate(*result.GetKey(), "Monitor timed out.")
|
_, err := r.AbortJobUpdate(*result.GetKey(), "Monitor timed out.")
|
||||||
|
|
||||||
|
@ -753,7 +754,6 @@ func TestAuroraJob_SlaPolicy(t *testing.T) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
role := "vagrant"
|
role := "vagrant"
|
||||||
tier := "preferred"
|
|
||||||
|
|
||||||
var cpu float64 = 6.0
|
var cpu float64 = 6.0
|
||||||
var disk int64 = 256
|
var disk int64 = 256
|
||||||
|
@ -774,15 +774,16 @@ func TestAuroraJob_SlaPolicy(t *testing.T) {
|
||||||
ExecutorName(aurora.AURORA_EXECUTOR_NAME).
|
ExecutorName(aurora.AURORA_EXECUTOR_NAME).
|
||||||
ExecutorData(string(thermosPayload)).
|
ExecutorData(string(thermosPayload)).
|
||||||
CPU(.1).
|
CPU(.1).
|
||||||
RAM(4).
|
RAM(2).
|
||||||
Disk(10).
|
Disk(5).
|
||||||
InstanceCount(3).
|
InstanceCount(20).
|
||||||
IsService(true).
|
IsService(true).
|
||||||
SlaPolicy(&tt.args).
|
SlaPolicy(&tt.args).
|
||||||
Tier(&tier)
|
Tier("preferred")
|
||||||
|
|
||||||
settings := realis.NewUpdateSettings()
|
settings := realis.NewUpdateSettings()
|
||||||
settings.UpdateGroupSize = 1
|
settings.UpdateGroupSize = 10
|
||||||
|
settings.MinWaitInInstanceRunningMs = 15 * 1000
|
||||||
resp, result, err := r.CreateService(job, settings)
|
resp, result, err := r.CreateService(job, settings)
|
||||||
|
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -807,12 +808,12 @@ func TestAuroraJob_SlaPolicy(t *testing.T) {
|
||||||
_, err = r.KillJob(job.JobKey())
|
_, err = r.KillJob(job.JobKey())
|
||||||
|
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
cpu = 0
|
|
||||||
ram = 0
|
|
||||||
disk = 0
|
|
||||||
r.SetQuota(role, &cpu, &ram, &disk)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
cpu = 0
|
||||||
|
ram = 0
|
||||||
|
disk = 0
|
||||||
|
r.SetQuota(role, &cpu, &ram, &disk)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Since we run our docker compose setup in bridge mode to be able to run on MacOS, we have to launch a Docker container within the bridge network in order to avoid any routing issues.
|
# Since we run our docker compose setup in bridge mode to be able to run on MacOS, we have to launch a Docker container within the bridge network in order to avoid any routing issues.
|
||||||
docker run -t -v $(pwd):/go/src/github.com/paypal/gorealis --network gorealis_aurora_cluster golang:1.10.3-stretch go test -v github.com/paypal/gorealis
|
docker run -t -v $(pwd):/go/src/github.com/paypal/gorealis --network gorealis_aurora_cluster golang:1.10.3-stretch go test -v github.com/paypal/gorealis -timeout 15m
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue