diff --git a/roles/seafile/tasks/facts.yml b/roles/seafile/tasks/facts.yml index 5a054ff..9c7e944 100644 --- a/roles/seafile/tasks/facts.yml +++ b/roles/seafile/tasks/facts.yml @@ -34,7 +34,10 @@ tags: seafile - name: Set install mode to upgrade - set_fact: seafile_install_mode='upgrade' + block: + - set_fact: seafile_install_mode='upgrade' + - set_fact: seafile_current_major_version={{ seafile_current_version.stdout | regex_replace('^(\d+)\..*','\1') }} + - set_fact: seafile_new_major_version={{ seafile_version | regex_replace('^(\d+)\..*','\1') }} when: - seafile_version_file.stat.exists - seafile_current_version is defined diff --git a/roles/seafile/tasks/services.yml b/roles/seafile/tasks/services.yml index 489cad5..296d7c8 100644 --- a/roles/seafile/tasks/services.yml +++ b/roles/seafile/tasks/services.yml @@ -7,7 +7,7 @@ - seahub # Only start services when not upgrading, or upgrading from the same major version # On major version upgrades, we need to run upgrade scripts manually - when: seafile_install_mode != 'upgrade' or (seafile_current_version is defined and seafile_current_version | regex_replace('^(\d+)\..*','\\1') == seafile_version | regex_replace('^(\d+)\..*','\\1')) + when: seafile_install_mode != 'upgrade' or (seafile_current_major_version is defined and seafile_current_major_version == seafile_new_major_version) tags: seafile - name: Start and enable timers