Skip to content

Commit

Permalink
Merge pull request #4932 from grafana/dev
Browse files Browse the repository at this point in the history
v1.9.16
  • Loading branch information
mderynck authored Aug 27, 2024
2 parents 50dc094 + 3269c9b commit a4b3a03
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 13 deletions.
10 changes: 3 additions & 7 deletions engine/apps/grafana_plugin/tasks/sync_v2.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import logging
import math
from time import sleep

from celery.utils.log import get_task_logger
from django.utils import timezone
Expand Down Expand Up @@ -38,8 +36,7 @@ def sync_organizations_v2(org_ids=None):
logger.debug(f"Found {len(active_instance_ids)} active instances")
organization_qs = organization_qs.filter(stack_id__in=active_instance_ids)

orgs_per_second = math.ceil(len(organization_qs) / SYNC_PERIOD.seconds)
logger.info(f"Syncing {len(organization_qs)} organizations @ {orgs_per_second} per 1s pause")
logger.info(f"Syncing {len(organization_qs)} organizations")
for idx, org in enumerate(organization_qs):
if GrafanaAPIClient.validate_grafana_token_format(org.api_token):
client = GrafanaAPIClient(api_url=org.grafana_url, api_token=org.api_token)
Expand All @@ -48,9 +45,8 @@ def sync_organizations_v2(org_ids=None):
logger.error(
f"Failed to request sync stack_slug={org.stack_slug} status_code={status['status_code']} url={status['url']} message={status['message']}"
)
if idx % orgs_per_second == 0:
logger.info(f"Sleep 1s after {idx + 1} organizations processed")
sleep(1)
if idx % 1000 == 0:
logger.info(f"{idx + 1} organizations processed")
else:
logger.info(f"Skipping stack_slug={org.stack_slug}, api_token format is invalid or not set")
else:
Expand Down
7 changes: 5 additions & 2 deletions engine/apps/grafana_plugin/views/sync_v2.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import logging
from dataclasses import asdict
from dataclasses import asdict, is_dataclass

from django.conf import settings
from rest_framework import status
Expand Down Expand Up @@ -49,6 +49,9 @@ def post(self, request: Request) -> Response:
try:
self.do_sync(request)
except SyncException as e:
return Response(data=asdict(e.error_data), status=status.HTTP_400_BAD_REQUEST)
return Response(
data=asdict(e.error_data) if is_dataclass(e.error_data) else e.error_data,
status=status.HTTP_400_BAD_REQUEST,
)

return Response(status=status.HTTP_200_OK)
4 changes: 2 additions & 2 deletions grafana-plugin/pkg/plugin/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,9 @@ func (a *App) OnCallSettingsFromContext(ctx context.Context) (*OnCallPluginSetti
return &settings, fmt.Errorf("get GrafanaURL from provisioning failed (not set in jsonData), unable to fallback to grafana cfg")
}
settings.GrafanaURL = appUrl
log.DefaultLogger.Info(fmt.Sprintf("Using Grafana URL from grafana cfg app url: %s", settings.GrafanaURL))
log.DefaultLogger.Debug(fmt.Sprintf("Using Grafana URL from grafana cfg app url: %s", settings.GrafanaURL))
} else {
log.DefaultLogger.Info(fmt.Sprintf("Using Grafana URL from provisioning: %s", settings.GrafanaURL))
log.DefaultLogger.Debug(fmt.Sprintf("Using Grafana URL from provisioning: %s", settings.GrafanaURL))
}

settings.RBACEnabled = cfg.FeatureToggles().IsEnabled("accessControlOnCall")
Expand Down
6 changes: 4 additions & 2 deletions grafana-plugin/pkg/plugin/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"net/http"
"net/url"
"sort"
"strconv"
"sync"
"sync/atomic"
"time"
Expand Down Expand Up @@ -264,14 +265,15 @@ func (a *App) GetAllUsersWithPermissions(settings *OnCallPluginSettings) ([]OnCa
return nil, err
}
for i := range onCallUsers {
actions, exists := permissions["1"]
userId := strconv.Itoa(onCallUsers[i].ID)
actions, exists := permissions[userId]
if exists {
onCallUsers[i].Permissions = []OnCallPermission{}
for action, _ := range actions {
onCallUsers[i].Permissions = append(onCallUsers[i].Permissions, OnCallPermission{Action: action})
}
} else {
log.DefaultLogger.Error("Did not find permissions for user", "user", onCallUsers[i].Login)
log.DefaultLogger.Error("Did not find permissions for user", "user", onCallUsers[i].Login, "id", userId)
}
}
}
Expand Down

0 comments on commit a4b3a03

Please sign in to comment.