MCPcopy Create free account
hub / github.com/deepflowio/deepflow / getOwnDomainResource

Method getOwnDomainResource

server/controller/cloud/sub_domain.go:183–353  ·  view source on GitHub ↗

独立更新附属容器集群时,当云平台未同步或同步异常时,从数据库获取所需的已同步的主云平台资源信息

()

Source from the content-addressed store, hash-verified

181
182// 独立更新附属容器集群时,当云平台未同步或同步异常时,从数据库获取所需的已同步的主云平台资源信息
183func (c *Cloud) getOwnDomainResource() model.Resource {
184 oResource := model.Resource{}
185 var vpcs []metadbmodel.VPC
186 err := c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&vpcs).Error
187 if err != nil {
188 log.Errorf("get own domain resource vpc failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
189 return oResource
190 }
191 vpcIDToLcuuid := map[int]string{}
192 for _, vpc := range vpcs {
193 vpcIDToLcuuid[vpc.ID] = vpc.Lcuuid
194 }
195
196 var vms []metadbmodel.VM
197 err = c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&vms).Error
198 if err != nil {
199 log.Errorf("get own domain resource vm failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
200 return oResource
201 }
202
203 var vinterfaces []metadbmodel.VInterface
204 err = c.db.DB.Select("id", "lcuuid", "iftype", "mac", "devicetype", "deviceid", "region").Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&vinterfaces).Error
205 if err != nil {
206 log.Errorf("get own domain resource vinterface failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
207 return oResource
208 }
209
210 var wanIPs []metadbmodel.WANIP
211 err = c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&wanIPs).Error
212 if err != nil {
213 log.Errorf("get own domain resource wan ip failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
214 return oResource
215 }
216
217 var lanIPs []metadbmodel.LANIP
218 err = c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&lanIPs).Error
219 if err != nil {
220 log.Errorf("get own domain resource lan ip failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
221 return oResource
222 }
223
224 var networks []metadbmodel.Network
225 err = c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid, "sub_domain": ""}).Find(&networks).Error
226 if err != nil {
227 log.Errorf("get own domain resource network failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
228 return oResource
229 }
230
231 var subnets []metadbmodel.Subnet
232 err = c.db.DB.Where(map[string]interface{}{"domain": c.basicInfo.Lcuuid}).Find(&subnets).Error
233 if err != nil {
234 log.Errorf("get own domain resource subnet failed: (%s)", err.Error(), logger.NewORGPrefix(c.orgID))
235 return oResource
236 }
237
238 vmIDToVM := map[int]model.VM{}
239 for _, vm := range vms {
240 vpcLcuuid, ok := vpcIDToLcuuid[vm.VPCID]

Callers 1

GetSubDomainResourceMethod · 0.95

Calls 5

ErrorMethod · 0.65
SizeMethod · 0.65
StringMethod · 0.65
ErrorfMethod · 0.45
SelectMethod · 0.45

Tested by

no test coverage detected