obuspc: Disable on extender DUT

- uci-default script to detect based on env variable `netmode=extender`
  to disable obuspc.
This commit is contained in:
Vivek Kumar Dutta 2023-08-24 17:19:14 +05:30
parent ac51e3b0cd
commit 33b331d724
No known key found for this signature in database
GPG key ID: 65C818099F37097D
6 changed files with 46 additions and 24 deletions

View file

@ -5,13 +5,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=obuspc
PKG_VERSION:=1.0.1.2
PKG_VERSION:=1.0.1.3
LOCAL_DEV:=0
ifneq ($(LOCAL_DEV),1)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/obuspa-test-controller.git
PKG_SOURCE_VERSION:=2ae29195817e75ada7c030a03662e72dbaae8e77
PKG_SOURCE_VERSION:=93d30270f52b2beb75c348c7fc1aa9e3a74ada9a
PKG_MAINTAINER:=Vivek Dutta <vivek.dutta@iopsys.eu>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@ -63,11 +63,12 @@ define Package/obuspc/install
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_DIR) $(1)/etc/bbfdm/json
$(INSTALL_DIR) $(1)/etc/uci-defaults
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspc $(1)/usr/sbin/
$(INSTALL_BIN) ./files/etc/init.d/obuspc $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/obuspc $(1)/usr/sbin/uspc
$(INSTALL_BIN) ./files/etc/init.d/uspc $(1)/etc/init.d/
$(INSTALL_BIN) ./files/etc/uci-defaults/50-disable-on-extender $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/99-fix-agent-endpoint $(1)/etc/uci-defaults/
$(INSTALL_BIN) ./files/etc/uci-defaults/100-add-mosquitto-listener $(1)/etc/uci-defaults/
$(INSTALL_DATA) ./files/etc/config/obuspc $(1)/etc/config/
$(INSTALL_DATA) ./files/etc/config/uspc $(1)/etc/config/
endef
$(eval $(call BuildPackage,obuspc))

View file

@ -1,4 +1,4 @@
config obuspc 'global'
config global 'global'
option enabled '1'
option debug '1'
option log_level '1'

View file

@ -4,10 +4,10 @@ START=99
STOP=01
USE_PROCD=1
PROG=/usr/sbin/obuspc
CONFIGURATION=obuspc
PROG=/usr/sbin/uspc
CONFIGURATION=uspc
RESET_FILE="/tmp/usp/obuspc_param_reset.txt"
RESET_FILE="/tmp/usp/uspc_param_reset.txt"
SQL_DB_FILE="/tmp/usp/uspc.db"
BASEPATH=""
@ -24,7 +24,7 @@ global_init()
log()
{
echo "$*"|logger -t obuspc.init -p debug
echo "$*"|logger -t uspc.init -p debug
}
db_set_reset_file()
@ -336,7 +336,7 @@ boot() {
validate_global_section()
{
uci_validate_section ${CONFIGURATION} obuspc "${1}" \
uci_validate_section ${CONFIGURATION} uspc "${1}" \
'enabled:bool:1' \
'debug:bool:0' \
'prototrace:bool:0' \
@ -513,7 +513,7 @@ configure_mqtt_client() {
db_set
}
configure_obuspc() {
configure_uspc() {
local enabled trust_cert ifname interface debug prototrace log_level db_file log_dest
local client_cert
@ -573,7 +573,7 @@ register_service()
procd_open_instance ${CONFIGURATION}
procd_set_param command ${PROG}
configure_obuspc
configure_uspc
procd_set_param respawn \
"${respawn_threshold:-5}" \
"${respawn_timeout:-10}" "${respawn_retry:-3}"
@ -582,7 +582,7 @@ register_service()
}
start_service() {
local enabled
local enabled mode
config_load ${CONFIGURATION}
config_get_bool enabled global enabled 0
@ -606,5 +606,5 @@ reload_service() {
}
service_triggers() {
procd_add_reload_trigger "obuspc"
procd_add_reload_trigger "uspc"
}

View file

@ -1,13 +1,18 @@
#!/bin/sh
section_exist=$(uci -q get mosquitto.obuspc)
if [ -z "${section_exist}" ]; then
section=$(uci -q add mosquitto listener)
uci -q rename mosquitto.$section="obuspc"
# exit if running in an extender
enabled="$(uci -q get uspc.global.enabled)"
if [ "$enabled" -eq 0 ]; then
return 0;
fi
port=$(uci -q get obuspc.mqtt.BrokerPort)
uci -q set mosquitto.obuspc.enabled="1"
uci -q set mosquitto.obuspc.port=$port
uci -q set mosquitto.obuspc.allow_anonymous="1"
section_exist=$(uci -q get mosquitto.uspc)
if [ -z "${section_exist}" ]; then
uci set mosquitto.uspc=listener
fi
port=$(uci -q get uspc.mqtt.BrokerPort)
uci -q set mosquitto.uspc.enabled="1"
uci -q set mosquitto.uspc.port=$port
uci -q set mosquitto.uspc.allow_anonymous="1"
uci commit mosquitto

View file

@ -0,0 +1,10 @@
#!/bin/sh
#!/bin/sh
. /lib/functions.sh
mode="$(fw_printenv -n netmode)"
if [ "${mode}" == "extender" ]; then
uci set uspc.global.enabled=0
uci commit uspc
fi

View file

@ -2,6 +2,12 @@
. /lib/functions.sh
# exit if running in an extender
enabled="$(uci -q get uspc.global.enabled)"
if [ "$enabled" -eq 0 ]; then
return 0;
fi
get_oui_from_db()
{
db -q get device.deviceinfo.ManufacturerOUI
@ -25,7 +31,7 @@ fix_agent_endpoint()
AgentEndpointID="os::${oui}-${serial//+/%2B}"
fi
uci -q set obuspc.agent.EndpointID="${AgentEndpointID}"
uci -q set uspc.agent.EndpointID="${AgentEndpointID}"
}
fix_agent_endpoint