From f8792a8d6e1770368901c8a6f766829334bef69e Mon Sep 17 00:00:00 2001 From: default Date: Mon, 7 Aug 2023 18:38:59 +0000 Subject: [PATCH] popo --- odoo-tecnativa/hooks/init | 1 - odoo-tecnativa/lib/common | 15 +++++++++++++++ odoo-tecnativa/metadata.yml | 18 ++++++++++-------- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/odoo-tecnativa/hooks/init b/odoo-tecnativa/hooks/init index 564c577..4b75993 100755 --- a/odoo-tecnativa/hooks/init +++ b/odoo-tecnativa/hooks/init @@ -28,7 +28,6 @@ done ## workers management workers=$(options-get workers 2>/dev/null) || true workers=${workers:-1} -version=$(options-get version 2>/dev/null) || true modules=$(options-get modules 2>/dev/null | yaml_get_values ,) || true if [ -z "$modules" ]; then diff --git a/odoo-tecnativa/lib/common b/odoo-tecnativa/lib/common index 3b84d86..482d825 100644 --- a/odoo-tecnativa/lib/common +++ b/odoo-tecnativa/lib/common @@ -9,3 +9,18 @@ get_odoo_uid() { info "openerp uid from ${DARKYELLOW}$SERVICE_NAME${NORMAL} is '$odoo_uid'" echo "$odoo_uid" } + +get_odoo_version() { + local odoo_version + odoo_version=$(cached_cmd_on_base_image "$SERVICE_NAME" \ + "python -c 'import odoo; print(odoo.cli.server.__version__)'" + ) || { + debug "Failed to query for odoo version in ${DARKYELLOW}$SERVICE_NAME${NORMAL} base image." + return 1 + } + info "odoo version from ${DARKYELLOW}$SERVICE_NAME${NORMAL} is '$odoo_version'" + echo "${odoo_version%%.*}" +} +export -f get_odoo_version + + diff --git a/odoo-tecnativa/metadata.yml b/odoo-tecnativa/metadata.yml index 21130dc..0d7a64d 100644 --- a/odoo-tecnativa/metadata.yml +++ b/odoo-tecnativa/metadata.yml @@ -63,14 +63,16 @@ uses: - !bash-stdout | workers=$(relation-base-compose-get workers 2>/dev/null) workers=${workers:-1} - version=$(relation-base-compose-get version 2>/dev/null) - if [ "$workers" -gt 1 ] && [ $version -lt 16]; then - echo "ProxyPass /longpolling/ http://${MASTER_BASE_SERVICE_NAME}:8072/longpolling/" - echo "ProxyPassReverse /longpolling/ http://${MASTER_BASE_SERVICE_NAME}:8072/longpolling/" - fi - if [ "$workers" -gt 1 ] && [ $version -ge 16]; then - echo "ProxyPass /websocket/ http://${MASTER_BASE_SERVICE_NAME}:8072/websocket/" - echo "ProxyPassReverse /websocket/ http://${MASTER_BASE_SERVICE_NAME}:8072/websocket/" + version=$(cached_cmd_on_base_image "$MASTER_BASE_SERVICE_NAME" \ + "python -c 'import odoo; print(odoo.cli.server.__version__)'") || exit 1 + if [ "$workers" -gt 1 ]; then + if [ "${version%.*}" -lt 15 ]; then + echo "ProxyPass /longpolling/ http://${MASTER_BASE_SERVICE_NAME}:8072/longpolling/" + echo "ProxyPassReverse /longpolling/ http://${MASTER_BASE_SERVICE_NAME}:8072/longpolling/" + else + echo "ProxyPass /websocket ws://${MASTER_BASE_SERVICE_NAME}:8072/websocket" + echo "ProxyPassReverse /websocket ws://${MASTER_BASE_SERVICE_NAME}:8072/websocket" + fi fi backup: constraint: recommended