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

Method appendAddtionalResourcesData

server/controller/cloud/cloud.go:560–595  ·  view source on GitHub ↗
(resource model.Resource)

Source from the content-addressed store, hash-verified

558}
559
560func (c *Cloud) appendAddtionalResourcesData(resource model.Resource) model.Resource {
561 dbItem, err := getContentFromAdditionalResource(c.basicInfo.Lcuuid, c.db.DB)
562 if err != nil {
563 log.Errorf("domain (lcuuid: %s) get additional resources failed: %s", c.basicInfo.Lcuuid, err, logger.NewORGPrefix(c.orgID))
564 return resource
565 }
566 if dbItem == nil {
567 log.Debugf("domain (lcuuid: %s) has no additional resources to append", c.basicInfo.Lcuuid, logger.NewORGPrefix(c.orgID))
568 return resource
569 }
570
571 content := dbItem.CompressedContent
572 if len(dbItem.CompressedContent) == 0 {
573 content = []byte(dbItem.Content)
574 }
575 var additionalResource model.AdditionalResource
576 if err = json.Unmarshal(content, &additionalResource); err != nil {
577 log.Errorf("domain (lcuuid: %s) json unmarshal content failed: %s", c.basicInfo.Lcuuid, err.Error(), logger.NewORGPrefix(c.orgID))
578 return resource
579 }
580
581 resource.AZs = append(resource.AZs, additionalResource.AZs...)
582 resource.VPCs = append(resource.VPCs, additionalResource.VPCs...)
583 resource.Networks = append(resource.Networks, additionalResource.Subnets...)
584 resource.Subnets = append(resource.Subnets, additionalResource.SubnetCIDRs...)
585 resource.Hosts = append(resource.Hosts, additionalResource.Hosts...)
586 resource.VMs = append(resource.VMs, additionalResource.CHosts...)
587 resource.VInterfaces = append(resource.VInterfaces, additionalResource.VInterfaces...)
588 resource.IPs = append(resource.IPs, additionalResource.IPs...)
589 resource = c.appendCloudTags(resource, additionalResource)
590 resource.LBs = append(resource.LBs, additionalResource.LB...)
591 resource.LBListeners = append(resource.LBListeners, additionalResource.LBListeners...)
592 resource.LBTargetServers = append(resource.LBTargetServers, additionalResource.LBTargetServers...)
593 resource.PeerConnections = append(resource.PeerConnections, additionalResource.PeerConnections...)
594 return resource
595}
596
597// getContentFromAdditionalResource gets domain_additional_resource by uuid, get the field content if it exists,
598// otherwise get the field compressed_content.

Callers 1

GetResourceMethod · 0.95

Calls 6

appendCloudTagsMethod · 0.95
UnmarshalMethod · 0.65
ErrorMethod · 0.65
ErrorfMethod · 0.45
DebugfMethod · 0.45

Tested by

no test coverage detected