[v3] fff-gateway: Add sanity checks

Submitted by Fabian Blaese on Sept. 8, 2019, 1:09 p.m.

Details

Message ID 20190908130941.18203-1-fabian@blaese.de
State Accepted
Headers show

Commit Message

Fabian Blaese Sept. 8, 2019, 1:09 p.m.
This adds two checks:
- Does gateway config exist?
- Does gateway config version match?

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Tested-by: Fabian Bläse <fabian@blaese.de
---
Changes in v2:
- Add exit to gateway config check
- Fix incorrectly escaped apostrophe

Changes in v3:
- Move config_version option from gateway.version to gateway.meta
- Use uci show instead of undocumented use of uci get for existance test
- Remove '-q' from existance test to show uci error message (syntax errors for example)
---
 .../files/etc/gateway.d/01-version            | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 src/packages/fff/fff-gateway/files/etc/gateway.d/01-version

Patch hide | download patch | download mbox

diff --git a/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version b/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version
new file mode 100644
index 0000000..1553179
--- /dev/null
+++ b/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version
@@ -0,0 +1,19 @@ 
+configure() {
+	local expected_version=1
+	local config_version=$(uci -q get gateway.meta.config_version)
+
+	# check if gateway config exists
+	if ! uci show gateway > /dev/null; then
+		echo "ERROR: Gateway config could not be parsed or does not exist."
+
+		exit 1
+	fi
+
+	# check version of configuration
+	if [ "$config_version" != "$expected_version" ]; then
+		echo "ERROR: Invalid config version. Expected '$expected_version', got '$config_version'."
+		echo "Please check what has been changed and adjust your config appropriately."
+
+		exit 1
+	fi
+}

Comments

Robert Langhammer Sept. 8, 2019, 8:17 p.m.
Hi,

Reviewed-by: Robert Langhammer <rlanghammer@web.de>

Am 08.09.19 um 15:09 schrieb Fabian Bläse:
> This adds two checks:
> - Does gateway config exist?
> - Does gateway config version match?
>
> Signed-off-by: Fabian Bläse <fabian@blaese.de>
> Tested-by: Fabian Bläse <fabian@blaese.de
> ---
> Changes in v2:
> - Add exit to gateway config check
> - Fix incorrectly escaped apostrophe
>
> Changes in v3:
> - Move config_version option from gateway.version to gateway.meta
> - Use uci show instead of undocumented use of uci get for existance test
> - Remove '-q' from existance test to show uci error message (syntax errors for example)
> ---
>  .../files/etc/gateway.d/01-version            | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>  create mode 100644 src/packages/fff/fff-gateway/files/etc/gateway.d/01-version
>
> diff --git a/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version b/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version
> new file mode 100644
> index 0000000..1553179
> --- /dev/null
> +++ b/src/packages/fff/fff-gateway/files/etc/gateway.d/01-version
> @@ -0,0 +1,19 @@
> +configure() {
> +	local expected_version=1
> +	local config_version=$(uci -q get gateway.meta.config_version)
> +
> +	# check if gateway config exists
> +	if ! uci show gateway > /dev/null; then
> +		echo "ERROR: Gateway config could not be parsed or does not exist."
> +
> +		exit 1
> +	fi
> +
> +	# check version of configuration
> +	if [ "$config_version" != "$expected_version" ]; then
> +		echo "ERROR: Invalid config version. Expected '$expected_version', got '$config_version'."
> +		echo "Please check what has been changed and adjust your config appropriately."
> +
> +		exit 1
> +	fi
> +}
Fabian Blaese Sept. 29, 2019, 8:17 p.m.
applied.