Windows: Updates Windows Vendoring
Updates windows dependent libraries for vendoing.
This commit is contained in:
267
vendor/github.com/Microsoft/hcsshim/hcn/hcnutils_test.go
generated
vendored
Normal file
267
vendor/github.com/Microsoft/hcsshim/hcn/hcnutils_test.go
generated
vendored
Normal file
@ -0,0 +1,267 @@
|
||||
// +build integration
|
||||
|
||||
package hcn
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
func cleanup(networkName string) {
|
||||
// Delete test network (if exists)
|
||||
testNetwork, err := GetNetworkByName(networkName)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
if testNetwork != nil {
|
||||
err := testNetwork.Delete()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func HcnCreateTestNATNetwork() (*HostComputeNetwork, error) {
|
||||
cleanup(NatTestNetworkName)
|
||||
network := &HostComputeNetwork{
|
||||
Type: "NAT",
|
||||
Name: NatTestNetworkName,
|
||||
MacPool: MacPool{
|
||||
Ranges: []MacRange{
|
||||
{
|
||||
StartMacAddress: "00-15-5D-52-C0-00",
|
||||
EndMacAddress: "00-15-5D-52-CF-FF",
|
||||
},
|
||||
},
|
||||
},
|
||||
Ipams: []Ipam{
|
||||
{
|
||||
Type: "Static",
|
||||
Subnets: []Subnet{
|
||||
{
|
||||
IpAddressPrefix: "192.168.100.0/24",
|
||||
Routes: []Route{
|
||||
{
|
||||
NextHop: "192.168.100.1",
|
||||
DestinationPrefix: "0.0.0.0",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
return network.Create()
|
||||
}
|
||||
|
||||
func CreateTestOverlayNetwork() (*HostComputeNetwork, error) {
|
||||
cleanup(OverlayTestNetworkName)
|
||||
network := &HostComputeNetwork{
|
||||
Type: "Overlay",
|
||||
Name: OverlayTestNetworkName,
|
||||
MacPool: MacPool{
|
||||
Ranges: []MacRange{
|
||||
{
|
||||
StartMacAddress: "00-15-5D-52-C0-00",
|
||||
EndMacAddress: "00-15-5D-52-CF-FF",
|
||||
},
|
||||
},
|
||||
},
|
||||
Ipams: []Ipam{
|
||||
{
|
||||
Type: "Static",
|
||||
Subnets: []Subnet{
|
||||
{
|
||||
IpAddressPrefix: "192.168.100.0/24",
|
||||
Routes: []Route{
|
||||
{
|
||||
NextHop: "192.168.100.1",
|
||||
DestinationPrefix: "0.0.0.0/0",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
Flags: EnableNonPersistent,
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
vsid := &VsidPolicySetting{
|
||||
IsolationId: 5000,
|
||||
}
|
||||
vsidJson, err := json.Marshal(vsid)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
sp := &SubnetPolicy{
|
||||
Type: VSID,
|
||||
}
|
||||
sp.Settings = vsidJson
|
||||
|
||||
spJson, err := json.Marshal(sp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
network.Ipams[0].Subnets[0].Policies = append(network.Ipams[0].Subnets[0].Policies, spJson)
|
||||
|
||||
return network.Create()
|
||||
}
|
||||
|
||||
func HcnCreateTestEndpoint(network *HostComputeNetwork) (*HostComputeEndpoint, error) {
|
||||
if network == nil {
|
||||
|
||||
}
|
||||
Endpoint := &HostComputeEndpoint{
|
||||
Name: NatTestEndpointName,
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
return network.CreateEndpoint(Endpoint)
|
||||
}
|
||||
|
||||
func HcnCreateTestEndpointWithNamespace(network *HostComputeNetwork, namespace *HostComputeNamespace) (*HostComputeEndpoint, error) {
|
||||
Endpoint := &HostComputeEndpoint{
|
||||
Name: NatTestEndpointName,
|
||||
HostComputeNamespace: namespace.Id,
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
return network.CreateEndpoint(Endpoint)
|
||||
}
|
||||
|
||||
func HcnCreateTestNamespace() (*HostComputeNamespace, error) {
|
||||
namespace := &HostComputeNamespace{
|
||||
Type: NamespaceTypeHostDefault,
|
||||
NamespaceId: 5,
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
return namespace.Create()
|
||||
}
|
||||
|
||||
func HcnCreateAcls() (*PolicyEndpointRequest, error) {
|
||||
in := AclPolicySetting{
|
||||
Protocols: "6",
|
||||
Action: ActionTypeAllow,
|
||||
Direction: DirectionTypeIn,
|
||||
LocalAddresses: "192.168.100.0/24,10.0.0.21",
|
||||
RemoteAddresses: "192.168.100.0/24,10.0.0.21",
|
||||
LocalPorts: "80,8080",
|
||||
RemotePorts: "80,8080",
|
||||
RuleType: RuleTypeSwitch,
|
||||
Priority: 200,
|
||||
}
|
||||
|
||||
rawJSON, err := json.Marshal(in)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
inPolicy := EndpointPolicy{
|
||||
Type: ACL,
|
||||
Settings: rawJSON,
|
||||
}
|
||||
|
||||
out := AclPolicySetting{
|
||||
Protocols: "6",
|
||||
Action: ActionTypeAllow,
|
||||
Direction: DirectionTypeOut,
|
||||
LocalAddresses: "192.168.100.0/24,10.0.0.21",
|
||||
RemoteAddresses: "192.168.100.0/24,10.0.0.21",
|
||||
LocalPorts: "80,8080",
|
||||
RemotePorts: "80,8080",
|
||||
RuleType: RuleTypeSwitch,
|
||||
Priority: 200,
|
||||
}
|
||||
|
||||
rawJSON, err = json.Marshal(out)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
outPolicy := EndpointPolicy{
|
||||
Type: ACL,
|
||||
Settings: rawJSON,
|
||||
}
|
||||
|
||||
endpointRequest := PolicyEndpointRequest{
|
||||
Policies: []EndpointPolicy{inPolicy, outPolicy},
|
||||
}
|
||||
|
||||
return &endpointRequest, nil
|
||||
}
|
||||
|
||||
func HcnCreateTestLoadBalancer(endpoint *HostComputeEndpoint) (*HostComputeLoadBalancer, error) {
|
||||
loadBalancer := &HostComputeLoadBalancer{
|
||||
HostComputeEndpoints: []string{endpoint.Id},
|
||||
SourceVIP: "10.0.0.1",
|
||||
PortMappings: []LoadBalancerPortMapping{
|
||||
{
|
||||
Protocol: 6, // TCP
|
||||
InternalPort: 8080,
|
||||
ExternalPort: 8090,
|
||||
},
|
||||
},
|
||||
FrontendVIPs: []string{"1.1.1.2", "1.1.1.3"},
|
||||
SchemaVersion: SchemaVersion{
|
||||
Major: 2,
|
||||
Minor: 0,
|
||||
},
|
||||
}
|
||||
|
||||
return loadBalancer.Create()
|
||||
}
|
||||
|
||||
func HcnCreateTestRemoteSubnetRoute() (*PolicyNetworkRequest, error) {
|
||||
rsr := RemoteSubnetRoutePolicySetting{
|
||||
DestinationPrefix: "192.168.2.0/24",
|
||||
IsolationId: 5000,
|
||||
ProviderAddress: "1.1.1.1",
|
||||
DistributedRouterMacAddress: "00-12-34-56-78-9a",
|
||||
}
|
||||
|
||||
rawJSON, err := json.Marshal(rsr)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
rsrPolicy := NetworkPolicy{
|
||||
Type: RemoteSubnetRoute,
|
||||
Settings: rawJSON,
|
||||
}
|
||||
|
||||
networkRequest := PolicyNetworkRequest{
|
||||
Policies: []NetworkPolicy{rsrPolicy},
|
||||
}
|
||||
|
||||
return &networkRequest, nil
|
||||
}
|
||||
|
||||
func HcnCreateTestHostRoute() (*PolicyNetworkRequest, error) {
|
||||
hostRoutePolicy := NetworkPolicy{
|
||||
Type: HostRoute,
|
||||
Settings: []byte("{}"),
|
||||
}
|
||||
|
||||
networkRequest := PolicyNetworkRequest{
|
||||
Policies: []NetworkPolicy{hostRoutePolicy},
|
||||
}
|
||||
|
||||
return &networkRequest, nil
|
||||
}
|
Reference in New Issue
Block a user