diff --git a/pkg/compute/models/secgroupcache.go b/pkg/compute/models/secgroupcache.go index 4289fff99c..e0afea66ed 100644 --- a/pkg/compute/models/secgroupcache.go +++ b/pkg/compute/models/secgroupcache.go @@ -851,7 +851,7 @@ func (self *SSecurityGroupCache) SyncRules(ctx context.Context, skipSyncRule boo } iSecgroup, err := self.GetISecurityGroup(ctx) if err != nil { - return errors.Wrapf(err, "GetOrCreateISecurityGroup") + return errors.Wrapf(err, "GetISecurityGroup") } if skipSyncRule { return nil diff --git a/pkg/compute/regiondrivers/managedvirtual.go b/pkg/compute/regiondrivers/managedvirtual.go index 74c5017085..c67b319afd 100644 --- a/pkg/compute/regiondrivers/managedvirtual.go +++ b/pkg/compute/regiondrivers/managedvirtual.go @@ -1553,6 +1553,15 @@ func (self *SManagedVirtualizationRegionDriver) RequestSyncSecurityGroup(ctx con return "", errors.Wrap(err, "SSecurityGroupCache.Register") } + _, isNew, err := cache.GetOrCreateISecurityGroup(ctx) + if err != nil { + return "", errors.Wrapf(err, "GetOrCreateISecurityGroup") + } + + if isNew { + skipSyncRule = false + } + return cache.ExternalId, cache.SyncRules(ctx, skipSyncRule) }