本文整理汇总了Golang中github.com/contiv/objmodel/contivModel.FindTenant函数的典型用法代码示例。如果您正苦于以下问题:Golang FindTenant函数的具体用法?Golang FindTenant怎么用?Golang FindTenant使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FindTenant函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: NetworkDelete
// NetworkDelete deletes network
func (ac *APIController) NetworkDelete(network *contivModel.Network) error {
log.Infof("Received NetworkDelete: %+v", network)
// Find the tenant
tenant := contivModel.FindTenant(network.TenantName)
if tenant == nil {
return core.Errorf("Tenant not found")
}
// Remove link
modeldb.RemoveLinkSet(&tenant.LinkSets.Networks, network)
// Save the tenant too since we removed the links
err := tenant.Write()
if err != nil {
return err
}
// Get the state driver
stateDriver, err := utils.GetStateDriver()
if err != nil {
return err
}
// Delete the network
networkID := network.NetworkName + "." + network.TenantName
err = master.DeleteNetworkID(stateDriver, networkID)
if err != nil {
log.Errorf("Error deleting network %s. Err: %v", network.NetworkName, err)
}
return nil
}
开发者ID:ChengTiesheng,项目名称:netplugin,代码行数:34,代码来源:apiController.go
示例2: AppCreate
// AppCreate creates app state
func (ac *APIController) AppCreate(app *contivModel.App) error {
log.Infof("Received AppCreate: %+v", app)
// Make sure tenant exists
if app.TenantName == "" {
return core.Errorf("Invalid tenant name")
}
tenant := contivModel.FindTenant(app.TenantName)
if tenant == nil {
return core.Errorf("Tenant not found")
}
// Setup links
modeldb.AddLink(&app.Links.Tenant, tenant)
modeldb.AddLinkSet(&tenant.LinkSets.Apps, app)
// Save the tenant too since we added the links
err := tenant.Write()
if err != nil {
log.Errorf("Error updating tenant state(%+v). Err: %v", tenant, err)
return err
}
CreateAppNw(app)
return nil
}
开发者ID:ChengTiesheng,项目名称:netplugin,代码行数:28,代码来源:apiController.go
示例3: VolumeCreate
// VolumeCreate creates a volume
func (ac *APIController) VolumeCreate(volume *contivModel.Volume) error {
log.Infof("Received VolumeCreate: %+v", volume)
// Make sure tenant exists
if volume.TenantName == "" {
return errors.New("Invalid tenant name")
}
tenant := contivModel.FindTenant(volume.TenantName)
if tenant == nil {
return errors.New("Tenant not found")
}
// Setup links
modeldb.AddLink(&volume.Links.Tenant, tenant)
modeldb.AddLinkSet(&tenant.LinkSets.Volumes, volume)
// Save the tenant too since we added the links
err := tenant.Write()
if err != nil {
return err
}
return nil
}
开发者ID:balajisiva,项目名称:netplugin,代码行数:26,代码来源:apiController.go
示例4: NetworkCreate
func (self *ApiController) NetworkCreate(network *contivModel.Network) error {
log.Infof("Received NetworkCreate: %+v", network)
// Make sure tenant exists
if network.TenantName == "" {
return errors.New("Invalid tenant name")
}
tenant := contivModel.FindTenant(network.TenantName)
if tenant == nil {
return errors.New("Tenant not found")
}
// Setup links
modeldb.AddLink(&network.Links.Tenant, tenant)
modeldb.AddLinkSet(&tenant.LinkSets.Networks, network)
// Save the tenant too since we added the links
err := tenant.Write()
if err != nil {
log.Errorf("Error updating tenant state(%+v). Err: %v", tenant, err)
return err
}
return nil
}
开发者ID:abhinandanpb,项目名称:objmodel,代码行数:26,代码来源:apiController.go
示例5: EndpointGroupCreate
// EndpointGroupCreate creates end point group
func (ac *APIController) EndpointGroupCreate(endpointGroup *contivModel.EndpointGroup) error {
log.Infof("Received EndpointGroupCreate: %+v", endpointGroup)
// assign unique endpoint group ids
endpointGroup.EndpointGroupID = globalEpgID
globalEpgID = globalEpgID + 1
// Find the tenant
tenant := contivModel.FindTenant(endpointGroup.TenantName)
if tenant == nil {
return core.Errorf("Tenant not found")
}
// Setup links
modeldb.AddLink(&endpointGroup.Links.Tenant, tenant)
modeldb.AddLinkSet(&tenant.LinkSets.EndpointGroups, endpointGroup)
// Save the tenant too since we added the links
err := tenant.Write()
if err != nil {
return err
}
// for each policy create an epg policy Instance
for _, policyName := range endpointGroup.Policies {
policyKey := endpointGroup.TenantName + ":" + policyName
// find the policy
policy := contivModel.FindPolicy(policyKey)
if policy == nil {
log.Errorf("Could not find policy %s", policyName)
return core.Errorf("Policy not found")
}
// attach policy to epg
err = master.PolicyAttach(endpointGroup, policy)
if err != nil {
log.Errorf("Error attaching policy %s to epg %s", policyName, endpointGroup.Key)
return err
}
// establish Links
modeldb.AddLinkSet(&policy.LinkSets.EndpointGroups, endpointGroup)
modeldb.AddLinkSet(&endpointGroup.LinkSets.Policies, policy)
// Write the policy
err = policy.Write()
if err != nil {
return err
}
}
return nil
}
开发者ID:syeduguri,项目名称:netplugin,代码行数:54,代码来源:apiController.go
示例6: NetworkCreate
// NetworkCreate creates network
func (ac *APIController) NetworkCreate(network *contivModel.Network) error {
log.Infof("Received NetworkCreate: %+v", network)
// Make sure tenant exists
if network.TenantName == "" {
return core.Errorf("Invalid tenant name")
}
tenant := contivModel.FindTenant(network.TenantName)
if tenant == nil {
return core.Errorf("Tenant not found")
}
// Setup links
modeldb.AddLink(&network.Links.Tenant, tenant)
modeldb.AddLinkSet(&tenant.LinkSets.Networks, network)
// Save the tenant too since we added the links
err := tenant.Write()
if err != nil {
log.Errorf("Error updating tenant state(%+v). Err: %v", tenant, err)
return err
}
// Get the state driver
stateDriver, err := utils.GetStateDriver()
if err != nil {
return err
}
// Build networ config
networkCfg := intent.ConfigNetwork{
Name: network.NetworkName,
PktTagType: network.Encap,
PktTag: network.PktTag,
SubnetCIDR: network.Subnet,
Gateway: network.Gateway,
}
// Create the network
err = master.CreateNetwork(networkCfg, stateDriver, network.TenantName)
if err != nil {
log.Errorf("Error creating network {%+v}. Err: %v", network, err)
return err
}
return nil
}
开发者ID:ChengTiesheng,项目名称:netplugin,代码行数:49,代码来源:apiController.go
示例7: NewAPIController
// NewAPIController creates a new controller
func NewAPIController(router *mux.Router) *APIController {
ctrler := new(APIController)
ctrler.router = router
// initialize the model objects
contivModel.Init()
// Register Callbacks
contivModel.RegisterAppCallbacks(ctrler)
contivModel.RegisterEndpointGroupCallbacks(ctrler)
contivModel.RegisterNetworkCallbacks(ctrler)
contivModel.RegisterPolicyCallbacks(ctrler)
contivModel.RegisterRuleCallbacks(ctrler)
contivModel.RegisterServiceCallbacks(ctrler)
contivModel.RegisterServiceInstanceCallbacks(ctrler)
contivModel.RegisterTenantCallbacks(ctrler)
contivModel.RegisterVolumeCallbacks(ctrler)
contivModel.RegisterVolumeProfileCallbacks(ctrler)
// Register routes
contivModel.AddRoutes(router)
// Add default tenant if it doesnt exist
tenant := contivModel.FindTenant("default")
if tenant == nil {
log.Infof("Creating default tenant")
err := contivModel.CreateTenant(&contivModel.Tenant{
Key: "default",
TenantName: "default",
SubnetPool: "10.1.1.1/16",
SubnetLen: 24,
Vlans: "100-200",
Vxlans: "1001-1100",
})
if err != nil {
log.Fatalf("Error creating default tenant. Err: %v", err)
}
}
return ctrler
}
开发者ID:balajisiva,项目名称:netplugin,代码行数:42,代码来源:apiController.go
示例8: CreateDefaultTenant
// CreateDefaultTenant creates the default tenant
func CreateDefaultTenant() {
// Wait for netmaster to start listening to port 9999
time.Sleep(time.Second)
// Add default tenant if it doesnt exist
tenant := contivModel.FindTenant("default")
if tenant == nil {
log.Infof("Creating default tenant")
err := contivModel.CreateTenant(&contivModel.Tenant{
Key: "default",
TenantName: "default",
SubnetPool: "10.1.1.1/16",
SubnetLen: 24,
Vlans: "100-1100",
Vxlans: "1001-1100",
})
if err != nil {
log.Fatalf("Error creating default tenant. Err: %v", err)
}
}
}
开发者ID:ChengTiesheng,项目名称:netplugin,代码行数:22,代码来源:apiController.go
示例9: ServiceCreate
// ServiceCreate creates service
func (ac *APIController) ServiceCreate(service *contivModel.Service) error {
log.Infof("Received ServiceCreate: %+v", service)
// check params
if (service.TenantName == "") || (service.AppName == "") {
return core.Errorf("Invalid parameters")
}
// Make sure tenant exists
tenant := contivModel.FindTenant(service.TenantName)
if tenant == nil {
return core.Errorf("Tenant not found")
}
// Find the app this service belongs to
app := contivModel.FindApp(service.TenantName + ":" + service.AppName)
if app == nil {
return core.Errorf("App not found")
}
// Setup links
modeldb.AddLink(&service.Links.App, app)
modeldb.AddLinkSet(&app.LinkSets.Services, service)
// Save the app too since we added the links
err := app.Write()
if err != nil {
return err
}
// Check if user specified any networks
if len(service.Networks) == 0 {
service.Networks = append(service.Networks, "private")
}
// link service with network
for _, netName := range service.Networks {
netKey := service.TenantName + ":" + netName
network := contivModel.FindNetwork(netKey)
if network == nil {
log.Errorf("Service: %s could not find network %s", service.Key, netKey)
return core.Errorf("Network not found")
}
// Link the network
modeldb.AddLinkSet(&service.LinkSets.Networks, network)
modeldb.AddLinkSet(&network.LinkSets.Services, service)
// save the network
err := network.Write()
if err != nil {
return err
}
}
// Check if user specified any endpoint group for the service
if len(service.EndpointGroups) == 0 {
// Create one default endpointGroup per network
for _, netName := range service.Networks {
// params for default endpoint group
dfltEpgName := service.AppName + "." + service.ServiceName + "." + netName
endpointGroup := contivModel.EndpointGroup{
Key: service.TenantName + ":" + dfltEpgName,
TenantName: service.TenantName,
NetworkName: netName,
GroupName: dfltEpgName,
}
// Create default endpoint group for the service
err = contivModel.CreateEndpointGroup(&endpointGroup)
if err != nil {
log.Errorf("Error creating endpoint group: %+v, Err: %v", endpointGroup, err)
return err
}
// Add the endpoint group to the list
service.EndpointGroups = append(service.EndpointGroups, dfltEpgName)
}
}
// Link the service and endpoint group
for _, epgName := range service.EndpointGroups {
endpointGroup := contivModel.FindEndpointGroup(service.TenantName + ":" + epgName)
if endpointGroup == nil {
log.Errorf("Error: could not find endpoint group: %s", epgName)
return core.Errorf("could not find endpointGroup")
}
// setup links
modeldb.AddLinkSet(&service.LinkSets.EndpointGroups, endpointGroup)
modeldb.AddLinkSet(&endpointGroup.LinkSets.Services, service)
// save the endpointGroup
err = endpointGroup.Write()
if err != nil {
return err
}
}
//.........这里部分代码省略.........
开发者ID:ChengTiesheng,项目名称:netplugin,代码行数:101,代码来源:apiController.go
示例10: ServiceCreate
// ServiceCreate creates service
func (ac *APIController) ServiceCreate(service *contivModel.Service) error {
log.Infof("Received ServiceCreate: %+v", service)
// check params
if (service.TenantName == "") || (service.AppName == "") {
return errors.New("Invalid parameters")
}
// Make sure tenant exists
tenant := contivModel.FindTenant(service.TenantName)
if tenant == nil {
return errors.New("Tenant not found")
}
// Find the app this service belongs to
app := contivModel.FindApp(service.TenantName + ":" + service.AppName)
if app == nil {
return errors.New("App not found")
}
// Setup links
modeldb.AddLink(&service.Links.App, app)
modeldb.AddLinkSet(&app.LinkSets.Services, service)
// Save the app too since we added the links
err := app.Write()
if err != nil {
return err
}
// Check if user specified any networks
if len(service.Networks) == 0 {
service.Networks = append(service.Networks, "privateNet")
}
// link service with network
for _, netName := range service.Networks {
netKey := service.TenantName + ":" + netName
network := contivModel.FindNetwork(netKey)
if network == nil {
log.Errorf("Service: %s could not find network %s", service.Key, netKey)
return errors.New("Network not found")
}
// Link the network
modeldb.AddLinkSet(&service.LinkSets.Networks, network)
modeldb.AddLinkSet(&network.LinkSets.Services, service)
// save the network
err := network.Write()
if err != nil {
return err
}
}
// Check if user specified any endpoint group for the service
if len(service.EndpointGroups) == 0 {
// Create one default endpointGroup per network
for _, netName := range service.Networks {
// params for default endpoint group
dfltEpgName := service.AppName + "." + service.ServiceName + "." + netName
endpointGroup := contivModel.EndpointGroup{
Key: service.TenantName + ":" + dfltEpgName,
TenantName: service.TenantName,
NetworkName: netName,
GroupName: dfltEpgName,
}
// Create default endpoint group for the service
err = contivModel.CreateEndpointGroup(&endpointGroup)
if err != nil {
log.Errorf("Error creating endpoint group: %+v, Err: %v", endpointGroup, err)
return err
}
// Add the endpoint group to the list
service.EndpointGroups = append(service.EndpointGroups, dfltEpgName)
}
}
// Link the service and endpoint group
for _, epgName := range service.EndpointGroups {
endpointGroup := contivModel.FindEndpointGroup(service.TenantName + ":" + epgName)
if endpointGroup == nil {
log.Errorf("Error: could not find endpoint group: %s", epgName)
return errors.New("could not find endpointGroup")
}
// setup links
modeldb.AddLinkSet(&service.LinkSets.EndpointGroups, endpointGroup)
modeldb.AddLinkSet(&endpointGroup.LinkSets.Services, service)
// save the endpointGroup
err = endpointGroup.Write()
if err != nil {
return err
}
}
//.........这里部分代码省略.........
开发者ID:balajisiva,项目名称:netplugin,代码行数:101,代码来源:apiController.go
注:本文中的github.com/contiv/objmodel/contivModel.FindTenant函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论