truecharts / public

Community Helm Chart Repository
https://truecharts.org
GNU Affero General Public License v3.0
1.16k stars 615 forks source link

Deployment Chart Resource Limits are not updated from settings in the UI. #9754

Closed specter9mm closed 1 year ago

specter9mm commented 1 year ago

App Name

qbittorrent

SCALE Version

22.12.3

App Version

15.0.27

Application Events

Pod restarts, oom killer called in log files coming from pod.

Application Logs

Jun 18 18:38:00 poltergeist kernel: qbittorrent-nox invoked oom-killer: gfp_mask=0xcc0(GFP_KERNEL), order=0, oom_score_adj=999

Application Configuration

1 2 3 4 5 6 7 8

Describe the bug

When updating the resource limits in the UI, it does not apply the resource limits to the deployment.

To Reproduce

Edit the application, set custom memory resource limit different than default, save changes. k3s kubectl describe deployment will show you that the memory limit is set to 2Gi no matter what you set in the app config.

Expected Behavior

I expect the application settings in the Truenas UI to make changes to the deployment max resource config.

Screenshots

UI kubectl

Additional Context

Causing qbittorrent to cal oom-killer

I've read and agree with the following

PrivatePuffin commented 1 year ago

A limit of 2/2Gi, is no where specified in our code afaik. Also cannot reproduce.

Jorsher commented 1 year ago

I have a qbit container that keeps having qbit-nox killed by this 2gb limit as well. App setting doesn't have an effect.

nihues commented 1 year ago

Hello, can confirm, upgraded from 15.0.26 to 15.0.27 limits to 2gb here too.

15.0.26 with 8Gi: https://i.imgur.com/Z37avrz.png

15.0.27 nothing changed just upgrade from app: https://i.imgur.com/2ofuPhF.png

used "docker stats | grep qbit" to get results

stavros-k commented 1 year ago

This is very weird, because indeed the 2/2Gi is nowhere defined

Can you open Dev Tools in chrome, Click network
select `WS` in filters.

Refresh the page, a websocket connection will show.
Click that and you'll see messages flowing around.

Right before you click edit on the app, clear all messages so its easier to inspect new ones.

One of the messages will have the content that is sent.
Grab that piece from there please
nihues commented 1 year ago

Upgrade again to test, I think this is the message (below) from chrome (I've REDACTED some parts), it's directly from upgrading to .26->.27.

After upgrade to .27 it's 2Gi again on the docker stats (and on k3s kubectl edit), but in the app "RAM" config it's 8Gi (as it was from .26). I've successful changed with k3s kubectl edit deploy to 8Gi and docker stats show 8Gi.

Changing the RAM on the app settings to any number revert back to 2Gi when deploy, but stays that number on the app RAM settings, tried some numbers and always come back to 2Gi when deploy.

{"msg": "changed", "collection": "chart.release.query", "id": "qbittorrent", "fields": {"name": "qbittorrent", "info": {"first_deployed": "2023-04-25T07:20:59.173142724-03:00", "last_deployed": "2023-06-22T17:08:49.899011704-03:00", "deleted": "", "description": "Upgrade complete", "status": "deployed", "notes": "\n# Welcome to using <qbittorrent>.\nThank you for installing thank you for choosing TrueCharts\n\n## Using <qbittorrent>## Connecting externally\nYou can use this Chart by opening one of the following links in your browser:- map[host:REDACTED path:/ port:10096 portalName:open protocol:https url:REDACTED:10096/ useNodeIP:false]\n## Documentation\nPlease check out the TrueCharts documentation on:\nhttps://truecharts.com\n\nOpenSource can only exist with your help, please consider supporting TrueCharts:\nhttps://truecharts.org/sponsor\n"}, "config": {"TZ": "America/Sao_Paulo", "additionalVolumeMounts": [{"mountPath": "/config/custom-cont-init.d", "name": "qbittorrent-scripts"}], "additionalVolumes": [{"emptyDir": {}, "name": "qbittorrent-scripts"}], "addons": {"codeserver": {"enabled": false}, "netshoot": {"enabled": false}, "vpn": {"configFile": "", "envList": [{"name": "VPN_TYPE", "value": "wireguard"}, {"name": "VPN_SERVICE_PROVIDER", "value": "airvpn"}, {"name": "WIREGUARD_PRIVATE_KEY", "value": "REDACTED"}, {"name": "FIREWALL_VPN_INPUT_PORTS", "value": "56178"}, {"name": "WIREGUARD_ADDRESSES", "value": "10.139.51.185/32,fd7d:76ee:e68f:a993:a05a:707:e044:3f82/128"}, {"name": "WIREGUARD_PRESHARED_KEY", "value": "REDACTED"}, {"name": "SERVER_COUNTRIES", "value": "Netherlands"}], "excludedNetworks_IPv4": ["192.168.0.0/16"], "excludedNetworks_IPv6": [], "killSwitch": true, "type": "gluetun"}}, "deviceList": [], "docs": {"confirmDocs": true}, "donateNag": {"confirmDonate": true}, "global": {"ixChartContext": {"isInstall": false, "isUpdate": false, "isUpgrade": true, "kubernetes_config": {"cluster_cidr": "172.16.0.0/16", "cluster_dns_ip": "172.17.0.10", "service_cidr": "172.17.0.0/16"}, "operation": "UPGRADE", "storageClassName": "ix-storage-class-qbittorrent", "upgradeMetadata": {"newChartVersion": "15.0.27", "oldChartVersion": "15.0.26", "preUpgradeRevision": 35}}, "stopAll": false}, "image": {"pullPolicy": "IfNotPresent", "repository": "tccr.io/truecharts/qbittorrent", "tag": "v4.5.3@sha256:bff6c96a4c81d9f788b135a3055f92bcfd922470598849608233eafddb158016"}, "ingress": {"main": {"advanced": false, "certificateIssuer": "cloudflare", "enabled": true, "entrypoint": "websecure", "hosts": [{"host": "REDACTED", "paths": [{"path": "/", "pathType": "Prefix"}]}], "ingressClassName": "", "middlewares": [], "tls": []}}, "ingressList": [], "ixCertificateAuthorities": {}, "ixCertificates": {}, "ixChartContext": {"isInstall": false, "isUpdate": false, "isUpgrade": true, "kubernetes_config": {"cluster_cidr": "172.16.0.0/16", "cluster_dns_ip": "172.17.0.10", "service_cidr": "172.17.0.0/16"}, "operation": "UPGRADE", "storageClassName": "ix-storage-class-qbittorrent", "upgradeMetadata": {"newChartVersion": "15.0.27", "oldChartVersion": "15.0.26", "preUpgradeRevision": 35}}, "ixExternalInterfacesConfiguration": [], "ixExternalInterfacesConfigurationNames": [], "ixVolumes": [], "networkPolicy": [], "persistence": {"config": {"autoPermissions": {"chmod": "775", "chown": false, "recursive": false}, "enabled": true, "hostPath": "/mnt/ssd/Docker/qbt", "mountPath": "/config", "readOnly": false, "setPermissions": false, "type": "hostPath"}}, "persistenceList": [{"enabled": true, "mountPath": "/torrents/downloads", "path": "/mnt/downloads/torrents", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "/torrents/filmes", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}, {"enabled": true, "mountPath": "REDACTED", "path": "REDACTED", "readOnly": false, "server": "192.168.70.20", "type": "nfs"}], "podOptions": {"expertPodOpts": false}, "portal": {"open": {"enabled": true}}, "release_name": "qbittorrent", "resources": {"limits": {"cpu": "4000m", "memory": "8Gi"}, "requests": {"cpu": "10m", "memory": "50Mi"}}, "scaleGPU": [], "securityContext": {"container": {"UMASK": "0022", "advanced": false, "readOnlyRootFilesystem": false, "runAsGroup": 568, "runAsUser": 568}, "pod": {"fsGroup": 568, "fsGroupChangePolicy": "OnRootMismatch", "supplementalGroups": []}}, "service": {"main": {"enabled": true, "loadBalancerIP": "", "ports": {"main": {"port": 10096, "targetPort": 8080}}, "type": "LoadBalancer"}, "torrent": {"enabled": true, "loadBalancerIP": "", "ports": {"torrent": {"enabled": true, "port": 56178, "protocol": "tcp"}, "torrentudp": {"enabled": true, "port": 6881, "protocol": "udp"}}, "type": "LoadBalancer"}}, "serviceexpert": false, "workload": {"main": {"podSpec": {"containers": {"main": {"advanced": false, "envList": [], "extraArgs": []}}}, "replicas": 1, "type": "Deployment"}}}, "hooks": [{"name": "qbittorrent-manifests", "kind": "ServiceAccount", "path": "qbittorrent/templates/common.yaml", "manifest": "apiVersion: v1\nkind: ServiceAccount\nmetadata:\n name: qbittorrent-manifests\n namespace: ix-qbittorrent\n annotations:\n \"helm.sh/hook\": pre-install, pre-upgrade\n \"helm.sh/hook-weight\": \"-7\"\n \"helm.sh/hook-delete-policy\": hook-succeeded,before-hook-creation,hook-failed\nautomountServiceAccountToken: false\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n# If you change this name, you must change it under _volumes.tpl", "events": ["pre-install", "pre-upgrade"], "last_run": {"started_at": "2023-06-22T17:08:50.102872419-03:00", "completed_at": "2023-06-22T17:08:50.122646178-03:00", "phase": "Succeeded"}, "weight": -7, "delete_policies": ["hook-succeeded", "before-hook-creation", "hook-failed"]}, {"name": "qbittorrent-manifests", "kind": "ClusterRole", "path": "qbittorrent/templates/common.yaml", "manifest": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRole\nmetadata:\n name: qbittorrent-manifests\n annotations:\n \"helm.sh/hook\": pre-install, pre-upgrade\n \"helm.sh/hook-weight\": \"-7\"\n \"helm.sh/hook-delete-policy\": hook-succeeded,before-hook-creation,hook-failed\nrules:\n - apiGroups: [\"*\"]\n resources: [\"*\"]\n verbs: [\"*\"]", "events": ["pre-install", "pre-upgrade"], "last_run": {"started_at": "2023-06-22T17:08:50.129417178-03:00", "completed_at": "2023-06-22T17:08:50.152768018-03:00", "phase": "Succeeded"}, "weight": -7, "delete_policies": ["hook-succeeded", "before-hook-creation", "hook-failed"]}, {"name": "qbittorrent-manifests", "kind": "ClusterRoleBinding", "path": "qbittorrent/templates/common.yaml", "manifest": "apiVersion: rbac.authorization.k8s.io/v1\nkind: ClusterRoleBinding\nmetadata:\n name: qbittorrent-manifests\n annotations:\n \"helm.sh/hook\": pre-install, pre-upgrade\n \"helm.sh/hook-weight\": \"-7\"\n \"helm.sh/hook-delete-policy\": hook-succeeded,before-hook-creation,hook-failed\nroleRef:\n apiGroup: rbac.authorization.k8s.io\n kind: ClusterRole\n name: qbittorrent-manifests\nsubjects:\n - kind: ServiceAccount\n name: qbittorrent-manifests\n namespace: ix-qbittorrent", "events": ["pre-install", "pre-upgrade"], "last_run": {"started_at": "2023-06-22T17:08:50.163254037-03:00", "completed_at": "2023-06-22T17:08:50.182559667-03:00", "phase": "Succeeded"}, "weight": -7, "delete_policies": ["hook-succeeded", "before-hook-creation", "hook-failed"]}, {"name": "qbittorrent-manifests", "kind": "Job", "path": "qbittorrent/templates/common.yaml", "manifest": "apiVersion: batch/v1\nkind: Job\nmetadata:\n name: qbittorrent-manifests\n namespace: ix-qbittorrent\n annotations:\n \"helm.sh/hook\": pre-install, pre-upgrade\n \"helm.sh/hook-weight\": \"-6\"\n \"helm.sh/hook-delete-policy\": hook-succeeded,before-hook-creation,hook-failed\nspec:\n template:\n spec:\n automountServiceAccountToken: true\n serviceAccountName: qbittorrent-manifests\n dnsConfig:\n options:\n - name: ndots\n value: \"1\"\n containers:\n - name: qbittorrent-manifests\n image: tccr.io/truecharts/kubectl:v1.26.0@sha256:323ab7aa3e7ce84c024df79d0f364282c1135499298f54be2ade46508a116c4b\n securityContext:\n runAsUser: 568\n runAsGroup: 568\n readOnlyRootFilesystem: true\n runAsNonRoot: true\n allowPrivilegeEscalation: false\n privileged: false\n seccompProfile:\n type: RuntimeDefault\n capabilities:\n add: []\n drop:\n - ALL\n resources:\n requests:\n cpu: 10m\n memory: 50Mi\n limits:\n cpu: 4000m\n memory: 8Gi\n livenessProbe:\n exec:\n command:\n - cat\n - /tmp/healthy\n initialDelaySeconds: 10\n failureThreshold: 60\n successThreshold: 1\n timeoutSeconds: 5\n periodSeconds: 10\n readinessProbe:\n exec:\n command:\n - cat\n - /tmp/healthy\n initialDelaySeconds: 10\n failureThreshold: 60\n successThreshold: 2\n timeoutSeconds: 5\n periodSeconds: 10\n startupProbe:\n exec:\n command:\n - cat\n - /tmp/healthy\n initialDelaySeconds: 10\n failureThreshold: 60\n successThreshold: 1\n timeoutSeconds: 2\n periodSeconds: 5\n command:\n - \"/bin/sh\"\n - \"-c\"\n - |\n /bin/sh <<'EOF'\n touch /tmp/healthy\n echo \"Installing manifests...\"\n kubectl apply --server-side --force-conflicts --grace-period 30 --v=4 -k https://github.com/truecharts/manifests/manifests || \\\n kubectl apply --server-side --force-conflicts --grace-period 30 -k https://github.com/truecharts/manifests/manifests || echo 'Job succeeded...'\n\n echo \"Install finished...\"\n echo \"Starting waits and checks...\"\n kubectl delete pod --field-selector=status.phase==Succeeded -n cnpg-system || echo \"Delete of Completed Pods failed...\"\n kubectl delete pod --field-selector=status.phase==Failed -n cnpg-system || echo \"Delete of Failed Pods failed...\"\n kubectl wait --namespace cnpg-system --for=condition=ready pod --selector=app.kubernetes.io/name=cloudnative-pg --timeout=60s || echo \"metallb-system wait failed...\"\n\n kubectl delete pod --field-selector=status.phase==Succeeded -n metallb-system || echo \"Delete of Completed Pods failed...\"\n kubectl delete pod --field-selector=status.phase==Failed -n metallb-system || echo \"Delete of Failed Pods failed...\"\n kubectl wait --namespace metallb-system --for=condition=ready pod --selector=app=metallb --timeout=60s || echo \"metallb-system wait failed...\"\n\n kubectl delete pod --field-selector=status.phase==Succeeded -n cert-manager || echo \"Delete of Completed Pods failed...\"\n kubectl delete pod --field-selector=status.phase==Failed -n cert-manager || echo \"Delete of Failed Pods failed...\"\n kubectl wait --namespace cert-manager --for=condition=ready pod --selector=app.kubernetes.io/instance=cert-manager --timeout=60s || echo \"cert-manager wait failed...\"\n\n cmctl check api --wait=1m || echo \"cmctl wait failed...\"\n\n echo \"Checks finished...\"\n EOF\n volumeMounts:\n - name: qbittorrent-manifests-temp\n mountPath: /tmp\n - name: qbittorrent-manifests-home\n mountPath: /home/apps/\n restartPolicy: Never\n volumes:\n - name: qbittorrent-manifests-temp\n emptyDir: {}\n - name: qbittorrent-manifests-home\n emptyDir: {}", "events": ["pre-install", "pre-upgrade"], "last_run": {"started_at": "2023-06-22T17:08:50.191041556-03:00", "completed_at": "2023-06-22T17:08:58.514889085-03:00", "phase": "Succeeded"}, "weight": -6, "delete_policies": ["hook-succeeded", "before-hook-creation", "hook-failed"]}, {"name": "qbittorrent-autopermissions", "kind": "Job", "path": "qbittorrent/templates/common.yaml", "manifest": "apiVersion: batch/v1\nkind: Job\nmetadata:\n name: qbittorrent-autopermissions\n labels:\n app: \"qbittorrent-15.0.27\"\n app.kubernetes.io/instance: \"qbittorrent\"\n app.kubernetes.io/managed-by: \"Helm\"\n app.kubernetes.io/name: \"qbittorrent\"\n app.kubernetes.io/version: \"4.5.3\"\n helm-revision: \"36\"\n helm.sh/chart: \"qbittorrent-15.0.27\"\n release: \"qbittorrent\"\n annotations:\n helm.sh/hook: \"pre-install, pre-upgrade\"\n helm.sh/hook-delete-policy: \"hook-succeeded,before-hook-creation,hook-failed\"\n helm.sh/hook-weight: \"3\"\nspec: \n backoffLimit: 5\n completionMode: NonIndexed\n completions: \n parallelism: 1\n ttlSecondsAfterFinished: 120\n template:\n metadata:\n labels:\n app: \"qbittorrent-15.0.27\"\n app.kubernetes.io/instance: \"qbittorrent\"\n app.kubernetes.io/managed-by: \"Helm\"\n app.kubernetes.io/name: \"qbittorrent\"\n app.kubernetes.io/version: \"4.5.3\"\n helm-revision: \"36\"\n helm.sh/chart: \"qbittorrent-15.0.27\"\n pod.name: \"autopermissions\"\n release: \"qbittorrent\"\n annotations:\n rollme: \"7TDzM\"\n spec:\n serviceAccountName: default\n automountServiceAccountToken: false\n runtimeClassName: \n hostNetwork: false\n hostPID: false\n shareProcessNamespace: false\n enableServiceLinks: false\n restartPolicy: Never\n dnsPolicy: ClusterFirst\n dnsConfig:\n options:\n - name: ndots\n value: \"1\"\n terminationGracePeriodSeconds: 60\n securityContext:\n fsGroup: 568\n fsGroupChangePolicy: OnRootMismatch\n supplementalGroups:\n - 568\n sysctls: []\n containers:\n - name: qbittorrent\n image: tccr.io/truecharts/alpine:v3.18.0@sha256:2042d13cae39c99cbac39447b686e7ad34509e32424efdf3ff9e2b324b6e6b34\n imagePullPolicy: IfNotPresent\n tty: false\n stdin: false\n command:\n - \"/bin/sh\"\n - \"-c\"\n args:\n - \"echo \\\"Starting auto permissions job...\\\"\\ntouch /tmp/healthy\\n\\necho \\\"Automatically correcting ownership and permissions...\\\"\\n echo \\\"Automatically correcting permissions for /mounts/config...\\\"\\n before=$(stat -c \\\"%a\\\" /mounts/config)\\n chmod 775 /mounts/config || echo \\\"Failed setting permissions using chmod...\\\"\\n echo \\\"Permissions after: [$before]\\\"\\n echo \\\"Permissions after: [$(stat -c \\\"%a\\\" /mounts/config)]\\\"\\n echo \\\"\\\"\\necho \\\"Finished auto permissions job...\\\"\"\n volumeMounts:\n - name: config\n mountPath: /mounts/config\n readOnly: false\n - name: devshm\n mountPath: /dev/shm\n readOnly: false\n - name: shared\n mountPath: /shared\n readOnly: false\n - name: tmp\n mountPath: /tmp\n readOnly: false\n - name: varlogs\n mountPath: /var/logs\n readOnly: false\n - name: varrun\n mountPath: /var/run\n readOnly: false\n livenessProbe:\n exec:\n command:\n - \"cat\"\n - \"/tmp/healthy\"\n initialDelaySeconds: 10\n failureThreshold: 5\n successThreshold: 1\n timeoutSeconds: 5\n periodSeconds: 10\n readinessProbe:\n exec:\n command:\n - \"cat\"\n - \"/tmp/healthy\"\n initialDelaySeconds: 10\n failureThreshold: 5\n successThreshold: 2\n timeoutSeconds: 5\n periodSeconds: 10\n startupProbe:\n exec:\n command:\n - \"cat\"\n - \"/tmp/healthy\"\n initialDelaySeconds: 10\n failureThreshold: 60\n successThreshold: 1\n timeoutSeconds: 2\n periodSeconds: 5\n resources:\n requests:\n cpu: 10m\n memory: 50Mi\n limits: \n cpu: 2000m \n memory: 2Gi\n securityContext:\n runAsNonRoot: false\n runAsUser: 0\n runAsGroup: 568\n readOnlyRootFilesystem: false\n allowPrivilegeEscalation: false\n privileged: false\n seccompProfile:\n type: RuntimeDefault\n capabilities:\n add:\n - CHOWN\n - DAC_OVERRIDE\n - FOWNER\n drop:\n - ALL\n env:\n - name: \"TZ\"\n value: \"America/Sao_Paulo\"\n - name: \"UMASK\"\n value: \"0022\"\n - name: \"UMASK_SET\"\n value: \"0022\"\n - name: \"NVIDIA_VISIBLE_DEVICES\"\n value: \"void\"\n - name: \"PUID\"\n value: \"568\"\n - name: \"USER_ID\"\n value: \"568\"\n - name: \"UID\"\n value: \"568\"\n - name: \"PGID\"\n value: \"568\"\n - name: \"GROUP_ID\"\n value: \"568\"\n - name: \"GID\"\n value: \"568\"\n volumes:\n - name: config\n hostPath:\n path: REDACTED\n - name: devshm\n emptyDir:\n medium: Memory\n - name: shared\n emptyDir: {}\n - name: tmp\n emptyDir: {}\n - name: varlogs\n emptyDir: {}\n - name: varrun\n emptyDir:\n medium: Memory", "events": ["pre-install", "pre-upgrade"], "last_run": {"started_at": "2023-06-22T17:08:58.523675714-03:00", "completed_at": "2023-06-22T17:09:03.061591324-03:00", "phase": "Succeeded"}, "weight": 3, "delete_policies": ["hook-succeeded", "before-hook-creation", "hook-failed"]}], "version": 36, "namespace": "ix-qbittorrent", "chart_metadata": {"name": "qbittorrent", "home": "https://truecharts.org/charts/stable/qbittorrent", "sources": ["https://github.com/truecharts/charts/tree/master/charts/stable/qbittorrent", "https://github.com/qbittorrent/qBittorrent"], "version": "15.0.27", "description": "qBittorrent is a cross-platform free and open-source BitTorrent client", "keywords": ["qbittorrent", "torrrent"], "maintainers": [{"name": "TrueCharts", "email": "info@truecharts.org", "url": "https://truecharts.org"}], "icon": "https://truecharts.org/img/hotlink-ok/chart-icons/qbittorrent.png", "apiVersion": "v2", "appVersion": "4.5.3", "annotations": {"truecharts.org/SCALE-support": "true", "truecharts.org/catagories": "- media\n"}, "kubeVersion": ">=1.16.0-0", "dependencies": [{"name": "common", "version": "12.14.2", "repository": "https://library-charts.truecharts.org", "enabled": true}], "type": "application", "latest_chart_version": "15.0.27"}, "id": "qbittorrent", "catalog": "TRUECHARTS", "catalog_train": "stable", "path": "/mnt/ssd/ix-applications/releases/qbittorrent", "dataset": "ssd/ix-applications/releases/qbittorrent", "status": "DEPLOYING", "used_ports": [{"port": 10096, "protocol": "TCP"}, {"port": 56178, "protocol": "TCP"}, {"port": 56178, "protocol": "UDP"}], "pod_status": {"desired": 1, "available": 0}, "update_available": false, "human_version": "4.5.3_15.0.27", "human_latest_version": "4.5.3_15.0.27", "container_images_update_available": false, "portals": {"open": ["REDACTED:10096/"]}}}

nicwisely commented 1 year ago

For what it's worth, I've been working with ksimm1 in the Discord support server, and he had me run a few commands to see if this issue was also affecting me. I have a new install of qBittorrent (version 15.0.27), and it does not have the 2GiB problem. Screenshots attached.

image image

specter9mm commented 1 year ago

I did try completely removing the app and reinstalling it, and got the identical problem. The server itself is by no means memory bound, 128GB ecc in it with plenty free. I haven't done anything custom to the k3s install.

specter9mm commented 1 year ago

This is interesting. sabnzbd is having the same issue, and I use gluetun on both. @nicwisely you wouldn't happen to have gluetun turned on would you?

nicwisely commented 1 year ago

This is interesting. sabnzbd is having the same issue, and I use gluetun on both. @nicwisely you wouldn't happen to have gluetun turned on would you?

I do have gluetun turned on. It confused the guys in my Discord thread as well lol.

nicwisely commented 1 year ago

This is interesting. sabnzbd is having the same issue, and I use gluetun on both. @nicwisely you wouldn't happen to have gluetun turned on would you?

Just to confirm, I restarted my qB app to make sure it wasn't a fluke from earlier this morning.

image image

I'm not sure how I can prove that gluetun is on except that when I run curl ipconfig.io from the app shell I get an IP different from my home address.

Interesting indeed.

PrivatePuffin commented 1 year ago

specter9mm commented Jun 19, 2023

Found the issue: You are not running on 2Gi on the main container, only on one of the additional containers, which is not affecting the main application at all,

Even so: I read something about "docker commands", docker commands cannot and should not be used on TrueNAS SCALE or kubernetes in any way. We have no influence about it either and is going to be removed from SCALE in a few months anyway...

Due to being barely repeatable, the log output being clear and other users not having the issue. I'm going to assume all the "bug" is, is a note/reference/setting in docker(shim), which is completely out of our control.

Jorsher commented 1 year ago

What directed me to this bug was qbittorrent-nox kept being killed by OOM because it was exceeding the 2Gi limit. May not affect most people but it does seem to affect the application.

Noted on outside the scope here, though. Thanks

stavros-k commented 1 year ago

Re-openning, I can replicate with helm template when autoperms is enabled

specter9mm commented 1 year ago

specter9mm commented Jun 19, 2023

Found the issue: You are not running on 2Gi on the main container, only on one of the additional containers, which is not affecting the main application at all,

Even so: I read something about "docker commands", docker commands cannot and should not be used on TrueNAS SCALE or kubernetes in any way. We have no influence about it either and is going to be removed from SCALE in a few months anyway...

Due to being barely repeatable, the log output being clear and other users not having the issue. I'm going to assume all the "bug" is, is a note/reference/setting in docker(shim), which is completely out of our control.

Sorry, I don't quite understand. Are you referencing the gluetun container? Also, in reference to "docker commands", besides the UI config I am running nothing custom. The only thing I have done in terms of command line is to manually edit the deployment to alleviate the issue.

PrivatePuffin commented 1 year ago

Re-openning, I can replicate with helm template when autoperms is enabled

Thx, locking this, as this does not need userinput anymore.