mirror of
https://github.com/kemko/nomad.git
synced 2026-01-04 01:15:43 +03:00
Fix missing plugin driver capabilities (#6128)
NetIsolationModes and MustInitiateNetwork were left out of the driver Capabilities when using an external task driver plugin Signed-off-by: Lucas BEE <pouulet@gmail.com>
This commit is contained in:
@@ -55,6 +55,11 @@ func (d *driverPluginClient) Capabilities() (*Capabilities, error) {
|
||||
if resp.Capabilities != nil {
|
||||
caps.SendSignals = resp.Capabilities.SendSignals
|
||||
caps.Exec = resp.Capabilities.Exec
|
||||
caps.MustInitiateNetwork = resp.Capabilities.MustCreateNetwork
|
||||
|
||||
for _, mode := range resp.Capabilities.NetworkIsolationModes {
|
||||
caps.NetIsolationModes = append(caps.NetIsolationModes, netIsolationModeFromProto(mode))
|
||||
}
|
||||
|
||||
switch resp.Capabilities.FsIsolation {
|
||||
case proto.DriverCapabilities_NONE:
|
||||
|
||||
@@ -259,3 +259,28 @@ func TestBaseDriver_TaskEvents(t *testing.T) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestBaseDriver_Capabilities(t *testing.T) {
|
||||
capabilities := &drivers.Capabilities{
|
||||
NetIsolationModes: []drivers.NetIsolationMode{
|
||||
drivers.NetIsolationModeHost,
|
||||
drivers.NetIsolationModeGroup,
|
||||
},
|
||||
MustInitiateNetwork: true,
|
||||
SendSignals: true,
|
||||
Exec: true,
|
||||
FSIsolation: drivers.FSIsolationNone,
|
||||
}
|
||||
d := &MockDriver{
|
||||
CapabilitiesF: func() (*drivers.Capabilities, error) {
|
||||
return capabilities, nil
|
||||
},
|
||||
}
|
||||
|
||||
harness := NewDriverHarness(t, d)
|
||||
defer harness.Kill()
|
||||
|
||||
caps, err := harness.Capabilities()
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, capabilities, caps)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user