diff --git a/Dell_iDRAC_fan_controller.sh b/Dell_iDRAC_fan_controller.sh index 46dac84..9486ac2 100644 --- a/Dell_iDRAC_fan_controller.sh +++ b/Dell_iDRAC_fan_controller.sh @@ -90,21 +90,12 @@ function gracefull_exit () { exit 0 } -# Help debugging when people are posting their output -# /!\ This function only works when started in local mode /!\ +# Helps debugging when people are posting their output function get_Dell_server_model () { - # Check that the Docker host IPMI device (the iDRAC) has been exposed to the Docker container - if [ ! -e "/dev/mem" ]; then - echo "/!\ Could not open device at /dev/mem, check that you added the device to your Docker container or stop using local mode. Exiting." >&2 - exit 1 - fi - apt-get install dmidecode -qq > /dev/null 2>&1 - - SERVER_MANUFACTURER=$(dmidecode -s system-manufacturer) - SERVER_MODEL=$(dmidecode -s system-product-name) + IPMI_FRU_content=$(ipmitool fru 2>/dev/null) # FRU stands for "Field Replaceable Unit" - apt-get remove --purge dmidecode -qq > /dev/null - apt-get clean -qq + SERVER_MANUFACTURER=$(echo "$IPMI_FRU_content" | grep "Product Manufacturer" | awk -F ': ' '{print $2}') + SERVER_MODEL=$(echo "$IPMI_FRU_content" | grep "Product Name" | awk -F ': ' '{print $2}') } # Trap the signals for container exit and run gracefull_exit function diff --git a/README.md b/README.md index e261f7e..044465f 100644 --- a/README.md +++ b/README.md @@ -81,9 +81,7 @@ docker run -d \ -e CPU_TEMPERATURE_THRESHOLD= \ -e CHECK_INTERVAL= \ -e DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE= \ - --cap-add SYS_RAWIO \ --device=/dev/ipmi0:/dev/ipmi0:rw \ - --device=/dev/mem:/dev/mem:ro \ tigerblue77/dell_idrac_fan_controller:latest ``` @@ -114,8 +112,6 @@ services: Dell_iDRAC_fan_controller: image: tigerblue77/dell_idrac_fan_controller:latest container_name: Dell_iDRAC_fan_controller - cap_add: - - SYS_RAWIO # Required for dmidecode to work restart: unless-stopped environment: - IDRAC_HOST=local @@ -125,7 +121,6 @@ services: - DISABLE_THIRD_PARTY_PCIE_CARD_DELL_DEFAULT_COOLING_RESPONSE= devices: - /dev/ipmi0:/dev/ipmi0:rw - - /dev/mem:/dev/mem:rw # Required for dmidecode to work ``` 2. to use with LAN iDRAC: