Merge pull request #271 from nagiesek/dnsRuntimeConfigWindows
Windows: Add runtime DNS and del bug fix
This commit is contained in:
@ -13,13 +13,43 @@ With win-bridge plugin, all containers (on the same host) are plugged into an L2
|
||||
"ipam": {
|
||||
"type": "host-local",
|
||||
"subnet": "10.10.0.0/16"
|
||||
}
|
||||
},
|
||||
"policies":[
|
||||
{
|
||||
"name":"EndpointPolicy",
|
||||
"value":{
|
||||
"Type":"ROUTE",
|
||||
"DestinationPrefix":"10.137.198.27/32",
|
||||
"NeedEncap":true
|
||||
}
|
||||
}
|
||||
],
|
||||
"HcnPolicyArgs": [
|
||||
{
|
||||
"Type": "SDNRoute"
|
||||
"Settings": {
|
||||
"DestinationPrefix": "11.0.0.0/8",
|
||||
"NeedEncap": true
|
||||
}
|
||||
}
|
||||
].
|
||||
"capabilities": {
|
||||
"dns": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Network configuration reference
|
||||
|
||||
* `ApiVersion` (integer, optional): ApiVersion to use, will default to hns. If set to "2" will try to use hcn APIs.
|
||||
* `name` (string, required): the name of the network.
|
||||
* `type` (string, required): "win-bridge".
|
||||
* `ipMasqNetwork` (string, optional): setup NAT if not empty.
|
||||
* `ipam` (dictionary, required): IPAM configuration to be used for this network.
|
||||
* `dns` (dictionary, optional): dns config to be used.
|
||||
* `Nameservers` (list, optional): list of strings to be used for dns nameservers.
|
||||
* `Search` (list, optional): list of stings to be used for dns search.
|
||||
* `ipam` (dictionary, optional): IPAM configuration to be used for this network.
|
||||
* `Policies` (list, optional): List of hns policies to be used (only used when ApiVersion is < 2).
|
||||
* `HcnPolicyArgs` (list, optional): List of hcn policies to be used (only used when ApiVersion is 2).
|
||||
* `capabilities` (dictionary, optional): runtime capabilities to enable.
|
||||
* `dns` (boolean, optional): if true will take the dns config supplied by the runtime and override other settings.
|
@ -84,8 +84,7 @@ func ProcessEndpointArgs(args *skel.CmdArgs, n *NetConf) (*hns.EndpointInfo, err
|
||||
n.ApplyOutboundNatPolicy(n.IPMasqNetwork)
|
||||
}
|
||||
|
||||
epInfo.DnsSearch = n.DNS.Search
|
||||
epInfo.Nameservers = n.DNS.Nameservers
|
||||
epInfo.DNS = n.GetDNS()
|
||||
|
||||
return epInfo, nil
|
||||
}
|
||||
@ -195,8 +194,10 @@ func cmdDel(args *skel.CmdArgs) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := ipam.ExecDel(n.IPAM.Type, args.StdinData); err != nil {
|
||||
return err
|
||||
if n.IPAM.Type != "" {
|
||||
if err := ipam.ExecDel(n.IPAM.Type, args.StdinData); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
epName := hns.ConstructEndpointName(args.ContainerID, args.Netns, n.Name)
|
||||
|
||||
@ -213,5 +214,5 @@ func cmdGet(_ *skel.CmdArgs) error {
|
||||
}
|
||||
|
||||
func main() {
|
||||
skel.PluginMain(cmdAdd, cmdGet, cmdDel, version.All, "TODO")
|
||||
skel.PluginMain(cmdAdd, cmdGet, cmdDel, version.PluginSupports("0.1.0", "0.2.0", "0.3.0"), "TODO")
|
||||
}
|
||||
|
@ -15,6 +15,10 @@ With win-overlay plugin, all containers (on the same host) are plugged into an O
|
||||
"type": "host-local",
|
||||
"subnet": "10.10.0.0/16"
|
||||
}
|
||||
"capabilites": {
|
||||
"dns": true
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@ -23,5 +27,11 @@ With win-overlay plugin, all containers (on the same host) are plugged into an O
|
||||
* `name` (string, required): the name of the network.
|
||||
* `type` (string, required): "win-overlay".
|
||||
* `ipMasq` (bool, optional): the inverse of `$FLANNEL_IPMASQ`, setup NAT for the hnsNetwork subnet.
|
||||
* `endpointMacPrefix` (string, optional): set to the MAC prefix configured for Flannel
|
||||
* `dns` (dictionary, optional): dns config to be used.
|
||||
* `Nameservers` (list, optional): list of strings to be used for dns nameservers.
|
||||
* `Search` (list, optional): list of stings to be used for dns search.
|
||||
* `endpointMacPrefix` (string, optional): set to the MAC prefix configured for Flannel.
|
||||
* `Policies` (list, optional): List of hns policies to be used.
|
||||
* `ipam` (dictionary, required): IPAM configuration to be used for this network.
|
||||
* `capabilities` (dictionary, optional): runtime capabilities to be parsed and injected by runtime.
|
||||
* `dns` (boolean, optional): if true will take the dns config supplied by the runtime and override other settings.
|
@ -114,7 +114,7 @@ func cmdAdd(args *skel.CmdArgs) error {
|
||||
n.ApplyOutboundNatPolicy(hnsNetwork.Subnets[0].AddressPrefix)
|
||||
}
|
||||
|
||||
result.DNS = n.DNS
|
||||
result.DNS = n.GetDNS()
|
||||
|
||||
hnsEndpoint := &hcsshim.HNSEndpoint{
|
||||
Name: epName,
|
||||
@ -162,5 +162,5 @@ func cmdGet(_ *skel.CmdArgs) error {
|
||||
}
|
||||
|
||||
func main() {
|
||||
skel.PluginMain(cmdAdd, cmdGet, cmdDel, version.All, "TODO")
|
||||
skel.PluginMain(cmdAdd, cmdGet, cmdDel, version.PluginSupports("0.1.0", "0.2.0", "0.3.0"), "TODO")
|
||||
}
|
||||
|
Reference in New Issue
Block a user