Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Commit

Permalink
fix: increase default size of the dynamic-plugins-root volume from 1G…
Browse files Browse the repository at this point in the history
…i to 2Gi (#238)

* fix: increase default size of the dynamic-plugins-root volume from 1Gi to 2Gi

This applies the same fix done in the Helm Chart [1].

As depicted in [2], the init container might fail with insufficient
space error:
```
======= Installing dynamic plugin ./dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic
==> Grabbing package archive through `npm pack`
 Traceback (most recent call last):
  File "/opt/app-root/src/install-dynamic-plugins.py", line 304, in <module> main()
   File "/opt/app-root/src/install-dynamic-plugins.py", line 230, in main
    raise InstallException(f'Error while installing plugin \{ package } with \'npm pack\' : ' + completed.stderr.decode('utf-8')) __main__.InstallException: Error while installing plugin /opt/app-root/src/dynamic-plugins/dist/backstage-plugin-scaffolder-backend-module-github-dynamic with 'npm pack' : npm notice npm notice New major version of npm available! 9.8.1 -> 10.4.0 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v10.4.0> npm notice Run `npm install -g [email protected]` to update! npm notice npm ERR! code ENOSPC npm ERR! syscall open npm ERR! path /dynamic-plugins-root/backstage-plugin-scaffolder-backend-module-github-dynamic-0.2.0-next.3.tgz npm ERR! errno -28 npm ERR! nospc ENOSPC: no space left on device, open '/dynamic-plugins-root/backstage-plugin-scaffolder-backend-module-github-dynamic-0.2.0-next.3.tgz' npm ERR! nospc There appears to be insufficient space on your system to finish. npm ERR! nospc Clear up some disk space and try again.
```

[1] redhat-developer/rhdh-chart#5
[2] https://issues.redhat.com/browse/RHIDP-1332

* Add test
  • Loading branch information
rm3l authored Feb 27, 2024
1 parent 47ed61c commit 9fad82f
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ data:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storage: 2Gi
name: dynamic-plugins-root
- name: dynamic-plugins-npmrc
secret:
Expand Down
2 changes: 1 addition & 1 deletion config/manager/default-config/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ spec:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storage: 2Gi
name: dynamic-plugins-root
- name: dynamic-plugins-npmrc
secret:
Expand Down
12 changes: 11 additions & 1 deletion controllers/backstage_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
"k8s.io/utils/pointer"
Expand Down Expand Up @@ -299,8 +300,17 @@ var _ = Describe("Backstage controller", func() {
By("Checking the Volumes in the Backstage Deployment", func() {
Expect(found.Spec.Template.Spec.Volumes).To(HaveLen(4))

_, ok := findVolume(found.Spec.Template.Spec.Volumes, "dynamic-plugins-root")
dpRootVol, ok := findVolume(found.Spec.Template.Spec.Volumes, "dynamic-plugins-root")
Expect(ok).To(BeTrue(), "No volume found with name: dynamic-plugins-root")
Expect(dpRootVol.Ephemeral).ShouldNot(BeNil())
Expect(dpRootVol.Ephemeral.VolumeClaimTemplate).ShouldNot(BeNil())
storage := dpRootVol.Ephemeral.VolumeClaimTemplate.Spec.Resources.Requests.Storage()
Expect(storage).ShouldNot(BeNil())
q, pErr := resource.ParseQuantity("1Gi")
Expect(pErr).ShouldNot(HaveOccurred())
// https://issues.redhat.com/browse/RHIDP-1332: storage size should be > 1Gi
Expect(storage.Cmp(q)).To(Equal(1),
"storage size for dynamic-plugins-root volume is currently %v, but it should be more than %v", storage, q)

_, ok = findVolume(found.Spec.Template.Spec.Volumes, "dynamic-plugins-npmrc")
Expect(ok).To(BeTrue(), "No volume found with name: dynamic-plugins-npmrc")
Expand Down

0 comments on commit 9fad82f

Please sign in to comment.