本文整理汇总了Golang中github.com/Juniper/contrail-go-api/types.VirtualNetwork.GetUuid方法的典型用法代码示例。如果您正苦于以下问题:Golang VirtualNetwork.GetUuid方法的具体用法?Golang VirtualNetwork.GetUuid怎么用?Golang VirtualNetwork.GetUuid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Juniper/contrail-go-api/types.VirtualNetwork
的用法示例。
在下文中一共展示了VirtualNetwork.GetUuid方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestPropertyUpdate
func TestPropertyUpdate(t *testing.T) {
client := contrail.NewClient("localhost", 8082)
net := types.VirtualNetwork{}
net.SetName("test")
err := client.Create(&net)
if err != nil {
t.Error(err)
}
defer client.Delete(&net)
props := net.GetVirtualNetworkProperties()
if len(props.ForwardingMode) > 0 {
t.Error(props.ForwardingMode)
}
props.ForwardingMode = "l2_l3"
net.SetVirtualNetworkProperties(&props)
err = client.Update(&net)
if err != nil {
t.Error(err)
}
obj, err := client.FindByUuid("virtual-network", net.GetUuid())
if err != nil {
t.Fatal(err)
}
netPtr := obj.(*types.VirtualNetwork)
p2 := netPtr.GetVirtualNetworkProperties()
if p2.ForwardingMode != "l2_l3" {
t.Errorf("Expected: l2_l3 got: %s", p2.ForwardingMode)
}
}
示例2: CreateNetworkWithSubnet
func CreateNetworkWithSubnet(
client contrail.ApiClient, project_id, name, prefix string) (
string, error) {
expr := regexp.MustCompile(`(([0-9]{1,3}\.){3}[0-9]{1,3})/([0-9]{1,2})`)
match := expr.FindStringSubmatch(prefix)
if match == nil {
return "", fmt.Errorf("Invalid subnet prefix %s", prefix)
}
address := match[1]
prefixlen, _ := strconv.Atoi(match[3])
obj, err := client.FindByUuid("project", project_id)
if err != nil {
return "", err
}
project := obj.(*types.Project)
refList, err := project.GetNetworkIpams()
if err != nil {
return "", err
}
var ipam *types.NetworkIpam
if len(refList) > 0 {
obj, err := client.FindByUuid("network-ipam", refList[0].Uuid)
if err != nil {
return "", err
}
ipam = obj.(*types.NetworkIpam)
} else {
obj, err := client.FindByName("network-ipam",
"default-domain:default-project:default-network-ipam")
if err != nil {
return "", err
}
ipam = obj.(*types.NetworkIpam)
}
net := new(types.VirtualNetwork)
net.SetParent(project)
net.SetName(name)
subnets := types.VnSubnetsType{}
subnets.AddIpamSubnets(
&types.IpamSubnetType{
Subnet: &types.SubnetType{address, prefixlen}})
net.AddNetworkIpam(ipam, subnets)
err = client.Create(net)
if err != nil {
return "", err
}
return net.GetUuid(), nil
}
示例3: TestCreate
func TestCreate(t *testing.T) {
client := contrail.NewClient("localhost", 8082)
net := types.VirtualNetwork{}
net.SetName("test")
ipam, err := client.FindByName("network-ipam",
"default-domain:default-project:default-network-ipam")
if err != nil {
t.Fatal(err)
}
subnets := types.VnSubnetsType{}
subnets.AddIpamSubnets(
&types.IpamSubnetType{
Subnet: &types.SubnetType{"10.0.0.0", 8}})
net.AddNetworkIpam(ipam.(*types.NetworkIpam), subnets)
err = client.Create(&net)
if err != nil {
t.Error(err)
}
if len(net.GetUuid()) == 0 {
t.Error("No uuid assigned")
}
netPtr, err := client.FindByUuid("virtual-network", net.GetUuid())
if err != nil {
t.Error(err)
} else {
xnet := netPtr.(*types.VirtualNetwork)
refs, err := xnet.GetNetworkIpamRefs()
if err != nil {
t.Error(err)
} else if len(refs) > 0 {
xattr := refs[0].Attr.(types.VnSubnetsType)
if len(xattr.IpamSubnets) == 1 {
isubnet := xattr.IpamSubnets[0]
if isubnet.Subnet.IpPrefix != "10.0.0.0" ||
isubnet.Subnet.IpPrefixLen != 8 {
t.Errorf("Bad subnet %s/%d",
isubnet.Subnet.IpPrefix,
isubnet.Subnet.IpPrefixLen)
}
} else {
t.Errorf("%d subnets", len(xattr.IpamSubnets))
}
} else {
t.Error("Empty network-ipam reference list")
}
}
err = client.Delete(&net)
if err != nil {
t.Error(err)
}
}
示例4: CreateNetwork
func CreateNetwork(client contrail.ApiClient, project_id, name string) (
string, error) {
obj, err := client.FindByUuid("project", project_id)
if err != nil {
return "", err
}
project := obj.(*types.Project)
net := new(types.VirtualNetwork)
net.SetParent(project)
net.SetName(name)
err = client.Create(net)
if err != nil {
return "", err
}
return net.GetUuid(), nil
}
示例5: TestReadRefs
func TestReadRefs(t *testing.T) {
client := new(ApiClient)
client.Init()
project := new(types.Project)
project.SetFQName("domain", []string{"default-domain", "p1"})
assert.NoError(t, client.Create(project))
net := new(types.VirtualNetwork)
net.SetFQName("project", []string{"default-domain", "p1", "n1"})
assert.NoError(t, client.Create(net))
vmi1 := new(types.VirtualMachineInterface)
vmi1.SetFQName("project", []string{"default-domain", "p1", "port1"})
vmi1.AddVirtualNetwork(net)
assert.NoError(t, client.Create(vmi1))
refs, err := vmi1.GetVirtualNetworkRefs()
assert.NoError(t, err)
assert.Len(t, refs, 1)
assert.Equal(t, net.GetUuid(), refs[0].Uuid)
}
示例6: buildNetworkInfo
func buildNetworkInfo(net *types.VirtualNetwork, detail bool) (
*NetworkInfo, error) {
var subnets []string
var policies []string
refList, err := net.GetNetworkIpamRefs()
if err != nil {
return nil, err
}
for _, ref := range refList {
attr := ref.Attr.(types.VnSubnetsType)
for _, ipamSubnet := range attr.IpamSubnets {
subnets = append(subnets, fmt.Sprintf("%s/%d",
ipamSubnet.Subnet.IpPrefix,
ipamSubnet.Subnet.IpPrefixLen))
}
}
if detail {
refList, err = net.GetNetworkPolicyRefs()
for _, ref := range refList {
policies = append(policies, strings.Join(ref.To, ":"))
}
}
info := &NetworkInfo{
net.GetUuid(),
net.GetName(),
net.GetIdPerms().Enable,
net.GetVirtualNetworkProperties().NetworkId,
net.GetVirtualNetworkProperties().AllowTransit,
net.GetVirtualNetworkProperties().ForwardingMode,
subnets,
policies,
net.GetRouteTargetList().RouteTarget,
}
return info, err
}
示例7: TestReference
func TestReference(t *testing.T) {
db := NewInMemDatabase()
ipam := new(types.NetworkIpam)
ipam.SetUuid(uuid.New())
ipam.SetFQName("project", strings.Split("default-domain:p1:ipam", ":"))
assert.NoError(t, db.Put(ipam, nil, UIDList{}))
net := new(types.VirtualNetwork)
net.SetUuid(uuid.New())
net.SetFQName("project", strings.Split("default-domain:p1:network", ":"))
subnets := types.VnSubnetsType{}
subnets.AddIpamSubnets(
&types.IpamSubnetType{
Subnet: &types.SubnetType{"10.0.0.0", 8}})
net.AddNetworkIpam(ipam, subnets)
refs := GetReferenceList(net)
assert.NoError(t, db.Put(net, nil, refs))
result, err := db.GetBackReferences(parseUID(ipam.GetUuid()), "virtual_network")
assert.NoError(t, err)
assert.Contains(t, result, parseUID(net.GetUuid()))
}
示例8: TestReferenceUpdate
func TestReferenceUpdate(t *testing.T) {
client := contrail.NewClient("localhost", 8082)
net := types.VirtualNetwork{}
net.SetName("test2")
ipam, err := client.FindByName("network-ipam",
"default-domain:default-project:default-network-ipam")
if err != nil {
t.Fatal(err)
}
subnets := types.VnSubnetsType{}
subnets.AddIpamSubnets(
&types.IpamSubnetType{
Subnet: &types.SubnetType{"10.0.0.0", 8}})
net.AddNetworkIpam(ipam.(*types.NetworkIpam), subnets)
err = client.Create(&net)
if err != nil {
t.Error(err)
}
defer client.Delete(&net)
obj, err := client.FindByUuid("virtual-network", net.GetUuid())
if err != nil {
t.Fatal(err)
}
netPtr := obj.(*types.VirtualNetwork)
refs, err := netPtr.GetNetworkIpamRefs()
if err != nil {
t.Error(err)
} else if len(refs) > 0 {
netPtr.DeleteNetworkIpam(refs[0].Uuid)
nsubnets := types.VnSubnetsType{}
nsubnets.AddIpamSubnets(
&types.IpamSubnetType{
Subnet: &types.SubnetType{"192.168.0.0", 16}})
netPtr.AddNetworkIpam(ipam.(*types.NetworkIpam), nsubnets)
client.Update(netPtr)
} else {
t.Error("Empty network-ipam reference list")
}
obj, err = client.FindByUuid("virtual-network", net.GetUuid())
if err != nil {
t.Fatal(err)
}
netPtr = obj.(*types.VirtualNetwork)
refs, err = netPtr.GetNetworkIpamRefs()
if err != nil {
t.Error(err)
} else if len(refs) != 1 {
t.Errorf("Expected: 1 reference, %d actual", len(refs))
} else {
xattr := refs[0].Attr.(types.VnSubnetsType)
if len(xattr.IpamSubnets) == 1 {
isubnet := xattr.IpamSubnets[0]
if isubnet.Subnet.IpPrefix != "192.168.0.0" ||
isubnet.Subnet.IpPrefixLen != 16 {
t.Errorf("Bad subnet %s/%d",
isubnet.Subnet.IpPrefix,
isubnet.Subnet.IpPrefixLen)
}
} else {
t.Errorf("%d subnets", len(xattr.IpamSubnets))
}
}
netPtr.ClearNetworkIpam()
client.Update(netPtr)
obj, err = client.FindByUuid("virtual-network", net.GetUuid())
if err != nil {
t.Fatal(err)
}
netPtr = obj.(*types.VirtualNetwork)
refs, err = netPtr.GetNetworkIpamRefs()
if err != nil {
t.Error(err)
} else if len(refs) != 0 {
t.Errorf("Expected: 1 reference, %d actual", len(refs))
}
}