-
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?
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 has worked when testing using my Linux laptop with a SATA SSD (/dev/sda
on the host)
Resolves #279 by adding new environment variables
SSD_DEVICE
andAPI_SHM_SIZE
.Now,
SSD_DEVICE
is used to provide the host's storage device path to the API container. This environment variable is used by the SEA edge compute action to get diagnostic SSD SMART data. The default included in theenv.template
file is/dev/nvme0n1
. This default could cause missing metadata when using the SEA action if theSSD_DEVICE
is not an SSD. SCOS Actions handling of this new environment variable was added in 11.1.0 (NTIA/scos-actions#126).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.After merging this, 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).