-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle Docker Compose configuration entirely with environment variables #282
base: master
Are you sure you want to change the base?
Conversation
…nsor into all-config-with-env
Updated from old "docker-compose"
…-config-with-env
env.template
Outdated
@@ -89,12 +88,22 @@ SSL_CA_PATH=scos_test_ca.crt | |||
SSL_CERT_PATH=sensor01.pem | |||
SSL_KEY_PATH=sensor01.pem | |||
|
|||
# Device made available to SCOS Plugins, e.g. for getting SMART data | |||
SSD_DEVICE="$(lsblk -I 8 -npdo KNAME)" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This command isn't returning anything on the sensors or my laptop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replaced with a plaintext default value which can be changed when configuring a sensor.
Note also that I made changes in scos-actions (NTIA/scos-actions#126) which will result in a default value of /dev/nvme0n1
being used by the SEA action if the environment variable is not provided.
@@ -95,7 +94,7 @@ services: | |||
- SYS_ADMIN # required for ^ with NVMe drives | |||
devices: | |||
- /dev/bus/usb:/dev/bus/usb:rw | |||
- /dev/nvme0n1:/dev/nvme0n1:ro | |||
- ${SSD_DEVICE}:/dev/nvme0n1:ro |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if this would work if the SSD_DEVICE is a SATA device which is then mapped to an nvme device in the container? Perhaps it would be better to use ${SSD_DEVICE} for both then pass the SSD_DEVICE environment variable to scos-actions to get the path?
Resolves #279 by adding new environment variables
SSD_DEVICE
andAPI_SHM_SIZE
.Now,
SSD_DEVICE
is used to map the/dev/nvme0n1
device in the API container, which is used by the SEA edge compute action to get diagnostic SSD SMART data. The default value is dynamically retrieved using the commandlsblk -I 8 -npdo KNAME
which should work in most cases, and resolves to/dev/nvme0n1
for SEA sensors. This default could cause missing metadata when using the SEA action if theSSD_DEVICE
is not an SSD. The default setting will also cause SCOS Sensor to fail to start if multiple devices are returned bylsblk -I 8 -npdo KNAME
.API_SHM_SIZE
is used to set the shared memory in the API container, and a default is provided keeping it at 16 GB. This is used to provide sufficient shared memory to the Ray package for parallel processing of large IQ captures.If merged after #289, the following need to be added to the environment variables documentation in the wiki:
/dev/shm
) in the API container. Thisis currently used to allocate shared memory for parallel processing of IQ data with Ray.
/dev/sda/
) which is mapped to/dev/nvme0n1
withinthe API container. This is currently only used to retrieve SSD SMART diagnostics (in
SCOS Actions).