[bitnami/grafana-loki] Revisit tests (#13670)

* [bitnami/grafana-loki] Revisit tests

Signed-off-by: FraPazGal <fdepaz@vmware.com>

* Apply suggestions

Signed-off-by: FraPazGal <fdepaz@vmware.com>

Signed-off-by: FraPazGal <fdepaz@vmware.com>
This commit is contained in:
Francisco de Paz Galan
2022-12-12 18:26:16 +01:00
committed by GitHub
parent 5374cd8405
commit d482c005bb
8 changed files with 131 additions and 73 deletions
@@ -2,36 +2,6 @@
import body from '../fixtures/logs-body.json';
import { lastMinuteTimestamp } from '../support/utils';
it('shows build info endpoint', () => {
cy.request({
method: 'GET',
url: '/loki/api/v1/status/buildinfo',
form: true,
}).then((response) => {
expect(response.status).to.eq(200);
expect(response.body).to.include.all.keys(
'version',
'revision',
'branch',
'buildUser',
'goVersion'
);
});
});
it('allows Loki to get Grafana logs', () => {
cy.request({
method: 'GET',
url: 'loki/api/v1/query?query={app="grafana-loki"}',
form: true,
}).then((response) => {
expect(response.status).to.eq(200);
expect(response.headers['content-type']).to.eq(
'application/json; charset=UTF-8'
);
});
});
it('checks Loki range endpoint', () => {
cy.request({
method: 'GET',
@@ -75,13 +45,3 @@ it('can publish and retrieve a label', () => {
expect(response.body.data).to.contain('value');
});
});
it('can get a list of series', () => {
cy.request({
method: 'GET',
url: 'loki/api/v1/series',
form: true,
}).then((response) => {
expect(response.status).to.eq(200);
});
});
-17
View File
@@ -1,17 +0,0 @@
file:
/opt/bitnami/nginx/conf/nginx.conf:
mode: "0644"
filetype: file
exists: true
/app/index.html:
mode: "0644"
filetype: file
exists: true
contains:
- "Welcome to nginx!"
command:
user-id-test:
exec: if [ "$(id -u)" -eq 0 ]; then exit 1; fi
exit-status: 0
stdout: []
stderr: []
+24
View File
@@ -0,0 +1,24 @@
file:
/bitnami/promtail/conf/promtail.yaml:
mode: "0644"
filetype: file
exists: true
owner: root
contains:
- /http_listen_port.*{{ .Vars.promtail.containerPorts.http }}/
/var/run/secrets/kubernetes.io/serviceaccount:
exists: {{ .Vars.promtail.serviceAccount.automountServiceAccountToken }}
filetype: directory
mode: "3777"
http:
http://grafana-loki-promtail:{{ .Vars.promtail.service.ports.http }}/config:
status: 200
body:
- /log_level.*{{ .Vars.promtail.logLevel }}/
command:
check-user-info:
exec: id
exit-status: 0
stdout:
- uid={{ .Vars.promtail.containerSecurityContext.runAsUser }}
- /groups=.*{{ .Vars.promtail.podSecurityContext.fsGroup }}/
+13
View File
@@ -0,0 +1,13 @@
promtail:
containerPorts:
http: 8081
podSecurityContext:
fsGroup: 0
containerSecurityContext:
runAsUser: 0
logLevel: debug
service:
ports:
http: 3101
serviceAccount:
automountServiceAccountToken: true
+39 -6
View File
@@ -1,9 +1,42 @@
file:
/opt/bitnami/grafana-loki/bin/loki:
mode: "0755"
filetype: file
exists: true
/opt/bitnami/grafana-loki/bin/logcli:
mode: "0755"
{{ .Vars.loki.dataDir }}/conf/loki.yaml:
mode: "0644"
filetype: file
exists: true
owner: root
contains:
- "memcachedchunks:{{ .Vars.memcachedchunks.service.ports.memcached }}"
- "memcachedfrontend:{{ .Vars.memcachedfrontend.service.ports.memcached }}"
- "memcachedindexqueries:{{ .Vars.memcachedindexqueries.service.ports.memcached }}"
- /http_listen_port.*{{ .Vars.loki.containerPorts.http }}/
http:
# As we need to make several API requests, we'll use different services (and pods)
# to at the same time test most of them are working properly. For those services not used here,
# we suppose they are running as expected given that all follow the same arch
http://grafana-loki-distributor:{{ .Vars.distributor.service.ports.http }}/services:
status: 200
body:
- "!Stopping"
- "!Terminated"
- "!Failed"
http://grafana-loki-ingester:{{ .Vars.ingester.service.ports.http }}/config:
status: 200
body:
- /advertise_port.*{{ .Vars.loki.containerPorts.gossipRing }}/
http://grafana-loki-compactor:{{ .Vars.compactor.service.ports.http }}/compactor/ring:
status: 200
body:
- ACTIVE
addr:
tcp://grafana-loki-gossip-ring:{{ .Vars.loki.gossipRing.service.ports.http }}:
reachable: true
command:
check-logcli:
exec: logcli instant-query --addr=http://grafana-loki-querier:{{ .Vars.querier.service.ports.http }} '{app="grafana-loki"}'
exit-status: 0
check-user-info:
exec: id
exit-status: 0
stdout:
- uid={{ .Vars.querier.containerSecurityContext.runAsUser }}
- /groups=.*{{ .Vars.querier.podSecurityContext.fsGroup }}/
+41
View File
@@ -0,0 +1,41 @@
loki:
dataDir: "/bitnami/grafana-loki"
containerPorts:
http: 3101
gossipRing: 7946
gossipRing:
service:
ports:
http: 7946
compactor:
service:
ports:
http: 3100
distributor:
service:
ports:
http: 3100
ingester:
service:
ports:
http: 3100
querier:
podSecurityContext:
fsGroup: 1002
containerSecurityContext:
runAsUser: 1002
service:
ports:
http: 3100
memcachedchunks:
service:
ports:
memcached: 11212
memcachedfrontend:
service:
ports:
memcached: 11212
memcachedindexqueries:
service:
ports:
memcached: 11212
+7 -5
View File
@@ -22,7 +22,7 @@
"url": "{SHA_ARCHIVE}",
"path": "/bitnami/grafana-loki"
},
"runtime_parameters": "Z2F0ZXdheToKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDgwCiAgICB0eXBlOiBMb2FkQmFsYW5jZXIK",
"runtime_parameters": "bG9raToKICBkYXRhRGlyOiAiL2JpdG5hbWkvZ3JhZmFuYS1sb2tpIgogIGNvbnRhaW5lclBvcnRzOgogICAgaHR0cDogMzEwMQogICAgZ29zc2lwUmluZzogNzk0NgogIGdvc3NpcFJpbmc6CiAgICBzZXJ2aWNlOgogICAgICBwb3J0czoKICAgICAgICBodHRwOiA3OTQ2CmNvbXBhY3RvcjoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiAzMTAwCmdhdGV3YXk6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogODAKICAgIHR5cGU6IExvYWRCYWxhbmNlcgpkaXN0cmlidXRvcjoKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDMxMDAKaW5nZXN0ZXI6CiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiAzMTAwCnF1ZXJpZXI6CiAgcG9kU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZnNHcm91cDogMTAwMgogIGNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICAgIGVuYWJsZWQ6IHRydWUKICAgIHJ1bkFzVXNlcjogMTAwMgogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMApxdWVyeUZyb250ZW5kOgogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMApxdWVyeVNjaGVkdWxlcjoKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDMxMDAKcHJvbXRhaWw6CiAgZW5hYmxlZDogdHJ1ZQogIGNvbnRhaW5lclBvcnRzOgogICAgaHR0cDogODA4MQogIHBvZFNlY3VyaXR5Q29udGV4dDoKICAgIGVuYWJsZWQ6IHRydWUKICAgIGZzR3JvdXA6IDAKICBjb250YWluZXJTZWN1cml0eUNvbnRleHQ6CiAgICBlbmFibGVkOiB0cnVlCiAgICBydW5Bc1VzZXI6IDAKICBsb2dMZXZlbDogZGVidWcKICBzZXJ2aWNlOgogICAgdHlwZTogQ2x1c3RlcklQCiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMQogIHJiYWM6CiAgICBjcmVhdGU6IHRydWUKICBzZXJ2aWNlQWNjb3VudDoKICAgIGNyZWF0ZTogdHJ1ZQogICAgYXV0b21vdW50U2VydmljZUFjY291bnRUb2tlbjogdHJ1ZQptZW1jYWNoZWRjaHVua3M6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgbWVtY2FjaGVkOiAxMTIxMgptZW1jYWNoZWRmcm9udGVuZDoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBtZW1jYWNoZWQ6IDExMjEyCm1lbWNhY2hlZGluZGV4cXVlcmllczoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBtZW1jYWNoZWQ6IDExMjEyIA==",
"target_platform": {
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
"size": {
@@ -42,11 +42,12 @@
"action_id": "goss",
"params": {
"resources": {
"path": "/.vib/grafana-loki/goss/gateway"
"path": "/.vib/grafana-loki/goss/promtail"
},
"remote": {
"workload": "deploy-grafana-loki-gateway"
}
"workload": "ds-grafana-loki-promtail"
},
"vars_file": "vars.yaml"
}
},
{
@@ -57,7 +58,8 @@
},
"remote": {
"workload": "sts-grafana-loki-querier"
}
},
"vars_file": "vars.yaml"
}
},
{
+7 -5
View File
@@ -22,7 +22,7 @@
"url": "{SHA_ARCHIVE}",
"path": "/bitnami/grafana-loki"
},
"runtime_parameters": "Z2F0ZXdheToKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDgwCiAgICB0eXBlOiBMb2FkQmFsYW5jZXIK",
"runtime_parameters": "bG9raToKICBkYXRhRGlyOiAiL2JpdG5hbWkvZ3JhZmFuYS1sb2tpIgogIGNvbnRhaW5lclBvcnRzOgogICAgaHR0cDogMzEwMQogICAgZ29zc2lwUmluZzogNzk0NgogIGdvc3NpcFJpbmc6CiAgICBzZXJ2aWNlOgogICAgICBwb3J0czoKICAgICAgICBodHRwOiA3OTQ2CmNvbXBhY3RvcjoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiAzMTAwCmdhdGV3YXk6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogODAKICAgIHR5cGU6IExvYWRCYWxhbmNlcgpkaXN0cmlidXRvcjoKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDMxMDAKaW5nZXN0ZXI6CiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBodHRwOiAzMTAwCnF1ZXJpZXI6CiAgcG9kU2VjdXJpdHlDb250ZXh0OgogICAgZW5hYmxlZDogdHJ1ZQogICAgZnNHcm91cDogMTAwMgogIGNvbnRhaW5lclNlY3VyaXR5Q29udGV4dDoKICAgIGVuYWJsZWQ6IHRydWUKICAgIHJ1bkFzVXNlcjogMTAwMgogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMApxdWVyeUZyb250ZW5kOgogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMApxdWVyeVNjaGVkdWxlcjoKICBzZXJ2aWNlOgogICAgcG9ydHM6CiAgICAgIGh0dHA6IDMxMDAKcHJvbXRhaWw6CiAgZW5hYmxlZDogdHJ1ZQogIGNvbnRhaW5lclBvcnRzOgogICAgaHR0cDogODA4MQogIHBvZFNlY3VyaXR5Q29udGV4dDoKICAgIGVuYWJsZWQ6IHRydWUKICAgIGZzR3JvdXA6IDAKICBjb250YWluZXJTZWN1cml0eUNvbnRleHQ6CiAgICBlbmFibGVkOiB0cnVlCiAgICBydW5Bc1VzZXI6IDAKICBsb2dMZXZlbDogZGVidWcKICBzZXJ2aWNlOgogICAgdHlwZTogQ2x1c3RlcklQCiAgICBwb3J0czoKICAgICAgaHR0cDogMzEwMQogIHJiYWM6CiAgICBjcmVhdGU6IHRydWUKICBzZXJ2aWNlQWNjb3VudDoKICAgIGNyZWF0ZTogdHJ1ZQogICAgYXV0b21vdW50U2VydmljZUFjY291bnRUb2tlbjogdHJ1ZQptZW1jYWNoZWRjaHVua3M6CiAgZW5hYmxlZDogdHJ1ZQogIHNlcnZpY2U6CiAgICBwb3J0czoKICAgICAgbWVtY2FjaGVkOiAxMTIxMgptZW1jYWNoZWRmcm9udGVuZDoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBtZW1jYWNoZWQ6IDExMjEyCm1lbWNhY2hlZGluZGV4cXVlcmllczoKICBlbmFibGVkOiB0cnVlCiAgc2VydmljZToKICAgIHBvcnRzOgogICAgICBtZW1jYWNoZWQ6IDExMjEyIA==",
"target_platform": {
"target_platform_id": "{VIB_ENV_TARGET_PLATFORM}",
"size": {
@@ -42,11 +42,12 @@
"action_id": "goss",
"params": {
"resources": {
"path": "/.vib/grafana-loki/goss/gateway"
"path": "/.vib/grafana-loki/goss/promtail"
},
"remote": {
"workload": "deploy-grafana-loki-gateway"
}
"workload": "ds-grafana-loki-promtail"
},
"vars_file": "vars.yaml"
}
},
{
@@ -57,7 +58,8 @@
},
"remote": {
"workload": "sts-grafana-loki-querier"
}
},
"vars_file": "vars.yaml"
}
},
{