mirror of
https://github.com/psviderski/uncloud.git
synced 2026-08-28 12:03:33 +00:00
feat: set restart policy for all services to always
This commit is contained in:
@@ -85,6 +85,11 @@ func (cli *Client) CreateContainer(
|
|||||||
Binds: spec.Container.Volumes,
|
Binds: spec.Container.Volumes,
|
||||||
Init: spec.Container.Init,
|
Init: spec.Container.Init,
|
||||||
PortBindings: portBindings,
|
PortBindings: portBindings,
|
||||||
|
// Always restart service containers if they exit or a machine restarts.
|
||||||
|
// For one-off containers and batch jobs we plan to use a different service type/mode.
|
||||||
|
RestartPolicy: container.RestartPolicy{
|
||||||
|
Name: container.RestartPolicyAlways,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
netConfig := &network.NetworkingConfig{
|
netConfig := &network.NetworkingConfig{
|
||||||
EndpointsConfig: map[string]*network.EndpointSettings{
|
EndpointsConfig: map[string]*network.EndpointSettings{
|
||||||
|
|||||||
@@ -340,6 +340,11 @@ func TestDeployment(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
assert.Equal(t, expectedPorts, ports)
|
assert.Equal(t, expectedPorts, ports)
|
||||||
|
|
||||||
|
assert.Equal(t, container.RestartPolicy{
|
||||||
|
Name: container.RestartPolicyAlways,
|
||||||
|
MaximumRetryCount: 0,
|
||||||
|
}, ctr.HostConfig.RestartPolicy)
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("caddy with machine filter", func(t *testing.T) {
|
t.Run("caddy with machine filter", func(t *testing.T) {
|
||||||
@@ -446,6 +451,10 @@ func TestRunService(t *testing.T) {
|
|||||||
assert.Nil(t, ctr.HostConfig.Init)
|
assert.Nil(t, ctr.HostConfig.Init)
|
||||||
assert.Empty(t, ctr.HostConfig.Binds)
|
assert.Empty(t, ctr.HostConfig.Binds)
|
||||||
assert.Empty(t, ctr.HostConfig.PortBindings)
|
assert.Empty(t, ctr.HostConfig.PortBindings)
|
||||||
|
assert.Equal(t, container.RestartPolicy{
|
||||||
|
Name: container.RestartPolicyAlways,
|
||||||
|
MaximumRetryCount: 0,
|
||||||
|
}, ctr.HostConfig.RestartPolicy)
|
||||||
|
|
||||||
// Verify labels.
|
// Verify labels.
|
||||||
assert.Equal(t, serviceID, ctr.Config.Labels[api.LabelServiceID])
|
assert.Equal(t, serviceID, ctr.Config.Labels[api.LabelServiceID])
|
||||||
@@ -514,14 +523,6 @@ func TestRunService(t *testing.T) {
|
|||||||
assert.Len(t, ctr.HostConfig.Binds, 1)
|
assert.Len(t, ctr.HostConfig.Binds, 1)
|
||||||
assert.Contains(t, ctr.HostConfig.Binds, spec.Container.Volumes[0])
|
assert.Contains(t, ctr.HostConfig.Binds, spec.Container.Volumes[0])
|
||||||
|
|
||||||
// Verify labels.
|
|
||||||
assert.Equal(t, serviceID, ctr.Config.Labels[api.LabelServiceID])
|
|
||||||
assert.Equal(t, spec.Name, ctr.Config.Labels[api.LabelServiceName])
|
|
||||||
assert.Equal(t, api.ServiceModeGlobal, ctr.Config.Labels[api.LabelServiceMode])
|
|
||||||
assert.Equal(t, "127.0.0.1:80:8080/tcp@host,app.example.com:8000/https", ctr.Config.Labels[api.LabelServicePorts])
|
|
||||||
assert.Contains(t, ctr.Config.Labels, api.LabelManaged)
|
|
||||||
|
|
||||||
// Verify port bindings.
|
|
||||||
assert.Len(t, ctr.HostConfig.PortBindings, 1)
|
assert.Len(t, ctr.HostConfig.PortBindings, 1)
|
||||||
expectedPort := []nat.PortBinding{
|
expectedPort := []nat.PortBinding{
|
||||||
{
|
{
|
||||||
@@ -531,6 +532,18 @@ func TestRunService(t *testing.T) {
|
|||||||
}
|
}
|
||||||
assert.Equal(t, expectedPort, ctr.HostConfig.PortBindings[nat.Port("8080/tcp")])
|
assert.Equal(t, expectedPort, ctr.HostConfig.PortBindings[nat.Port("8080/tcp")])
|
||||||
|
|
||||||
|
assert.Equal(t, container.RestartPolicy{
|
||||||
|
Name: container.RestartPolicyAlways,
|
||||||
|
MaximumRetryCount: 0,
|
||||||
|
}, ctr.HostConfig.RestartPolicy)
|
||||||
|
|
||||||
|
// Verify labels.
|
||||||
|
assert.Equal(t, serviceID, ctr.Config.Labels[api.LabelServiceID])
|
||||||
|
assert.Equal(t, spec.Name, ctr.Config.Labels[api.LabelServiceName])
|
||||||
|
assert.Equal(t, api.ServiceModeGlobal, ctr.Config.Labels[api.LabelServiceMode])
|
||||||
|
assert.Equal(t, "127.0.0.1:80:8080/tcp@host,app.example.com:8000/https", ctr.Config.Labels[api.LabelServicePorts])
|
||||||
|
assert.Contains(t, ctr.Config.Labels, api.LabelManaged)
|
||||||
|
|
||||||
// Verify network settings.
|
// Verify network settings.
|
||||||
assert.Len(t, ctr.NetworkSettings.Networks, 1)
|
assert.Len(t, ctr.NetworkSettings.Networks, 1)
|
||||||
assert.Contains(t, ctr.NetworkSettings.Networks, machinedocker.NetworkName)
|
assert.Contains(t, ctr.NetworkSettings.Networks, machinedocker.NetworkName)
|
||||||
|
|||||||
Reference in New Issue
Block a user