Failed to install ACS via Ansible. Perhaps because of the Python version.

cancel
Showing results for 
Search instead for 
Did you mean: 
a_vargas_hito
Member II

Failed to install ACS via Ansible. Perhaps because of the Python version.

Hi... I'm installing ACS using Ansible as per: https://docs.alfresco.com/content-services/community/install/ansible/

I am doing the installation on a CentOS 7 server and I am signed with SUDO.

When executing the command:

 

[root@dalfresco alfresco-ansible-deployment-1.1.1]# ansible-playbook playbooks/acs.yml -i inventory_local.yml -e "@community-extra-vars.yml"

 

 

The following activities are displayed:

PLAY [Database Role]...
TASK [Gathering Facts]...
TASK [common : Include OS-specific variables]...
TASK [common : Include nexus credentials for local testing]...
TASK [common : Ensure a list of packages installed]...
TASK [common : Create alfresco group]...
TASK [common : Create alfresco user]...
TASK [common : Create binaries, configuration, data, logs and download folders]...
TASK [../roles/postgres : Include OS specific variables]...
TASK [../roles/postgres : Prepare package manager]...
TASK [../roles/postgres : Install rpm repository]...
TASK [../roles/postgres : Install packages] ************************************** ************************************************** ************************************************** *******
fatal: [database_1]: FAILED! => {"msg": "[u'postgresql{{ dependencies_version.postgres_major_version }}-server', u'postgresql{{ dependencies_version.postgres_major_version }}', u\"python{{ '3' if ansible_python_version.split(' .')[0] == '3' }}-psycopg2\"]: the inline if-expression on line 1 evaluated to false and no else section was defined."}

PLAY RECAP ************************************************ ************************************************** ************************************************** ******************************
database_1 : ok=10 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

It is the second time that I execute it, in the first it reported changes:

PLAY RECAP ************************************************ ************************************************** ************************************************** ******************************
database_1 : ok=10 changed=4 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

And I installed Python 3 in case that was the problem, but no. The installation stops at the same point.

Any ideas how it can be fixed?

Thanks...

 

4 Replies
alxgomz
Alfresco Employee

Re: Failed to install ACS via Ansible. Perhaps because of the Python version.

Hi @a_vargas_hito,

This issue has been resolved in latest Ansible playbook: https://github.com/Alfresco/alfresco-ansible-deployment/commit/97a4ba938ec7e2b01b2dd88c6d0269ec48ec7...

Please use the newly released 2.0.0 version. Note 2.0.0 requires Ansible 2.12 and python 3 (from the top of my head)

Edit: I just realized the Community doc page has not been updated and still points to 1.1.1 which is pretty old now. Either use the git repo tag v2.0.0 or follow this link to get the zip: https://nexus.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/alfresco-a...

meiqiu
Member II

Re: Failed to install ACS via Ansible. Perhaps because of the Python version.

Hi@alxgomz 

Yesterday, i have met the same problem of this blog up on the top. and I just did as u said , first i download the version 2.0.0 of Ansible playbook, then unzip the file and re-excute :

 

ansible-playbook playbooks/acs.yml -i inventory_local.yml -e "@community-extra-vars.yml"

and there is an error shows up, error msg :

ERROR! 'notify' is not a valid attribute for a Block

The error appears to be in '/home/download/alfresco-ansible-deployment-2.0.0/roles/nginx/tasks/vhosts.yml': line 37, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Vhosts config
  ^ here

I really want to use Alfresco to manage our information , and i have tryed a lot of times(that's because i'm not good at these tech stuff), so , now i'm stack. can u plz help me to fix . thanks a lot ……

 

For better understanding, this is all command and msg down below(i omit some steps such as  install ansible cause i think it already did when i tryed yesterday):

[root@localhost download]# ls
alfresco-ansible-deployment-1.1.1  alfresco-ansible-deployment-1.1.1.zip  alfresco-ansible-deployment-2.0.0  alfresco-ansible-deployment-2.0.0.zip
[root@localhost download]# cd alfresco-ansible-deployment-1.1.1
[root@localhost alfresco-ansible-deployment-1.1.1]# ansible-playbook playbooks/acs.yml -i inventory_local.yml -e "@community-extra-vars.yml"

PLAY [Database Role] ************************************************************************************************************************************************************************

TASK [Gathering Facts] **********************************************************************************************************************************************************************
ok: [database_1]

TASK [common : Include OS specific variables] ***********************************************************************************************************************************************
ok: [database_1] => (item=/home/download/alfresco-ansible-deployment-1.1.1/roles/common/tasks/../vars/CentOS7.yml)

TASK [common : Include nexus credentials for local testing] *********************************************************************************************************************************
ok: [database_1]

TASK [common : Ensure a list of packages installed] *****************************************************************************************************************************************
ok: [database_1] => (item=sudo)
ok: [database_1] => (item=unzip)
ok: [database_1] => (item=tar)
ok: [database_1] => (item=libselinux-python)
ok: [database_1] => (item=libsemanage-python)
ok: [database_1] => (item=gpg)

TASK [common : Create alfresco group] *******************************************************************************************************************************************************
ok: [database_1]

TASK [common : Create alfresco user] ********************************************************************************************************************************************************
ok: [database_1]

TASK [common : Create binaries, configuration, data, logs and download folders] *************************************************************************************************************
ok: [database_1] => (item=/opt/alfresco)
ok: [database_1] => (item=/var/opt/alfresco)
ok: [database_1] => (item=/etc/opt/alfresco)
ok: [database_1] => (item=/var/log/alfresco)
ok: [database_1] => (item=/tmp/ansible_artefacts)

TASK [../roles/postgres : Include OS specific variables] ************************************************************************************************************************************
ok: [database_1] => (item=/home/download/alfresco-ansible-deployment-1.1.1/roles/postgres/tasks/../vars/CentOS7.yml)

TASK [../roles/postgres : Prepare package manager] ******************************************************************************************************************************************
included: /home/download/alfresco-ansible-deployment-1.1.1/roles/postgres/tasks/yum_repo.yml for database_1

TASK [../roles/postgres : Install rpm repository] *******************************************************************************************************************************************
ok: [database_1]

TASK [../roles/postgres : Install packages] *************************************************************************************************************************************************
fatal: [database_1]: FAILED! => {"msg": "[u'postgresql{{ dependencies_version.postgres_major_version }}-server', u'postgresql{{ dependencies_version.postgres_major_version }}', u\"python{{ '3' if ansible_python_version.split('.')[0] == '3' }}-psycopg2\"]: the inline if-expression on line 1 evaluated to false and no else section was defined."}

PLAY RECAP **********************************************************************************************************************************************************************************
database_1                 : ok=10   changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0

[root@localhost alfresco-ansible-deployment-1.1.1]# cd -
/home/download
[root@localhost download]# cd alfresco-ansible-deployment-2.0.0
[root@localhost alfresco-ansible-deployment-2.0.0]# ansible-playbook playbooks/acs.yml -i inventory_local.yml -e "@community-extra-vars.yml"
ERROR! 'notify' is not a valid attribute for a Block

The error appears to be in '/home/download/alfresco-ansible-deployment-2.0.0/roles/nginx/tasks/vhosts.yml': line 37, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Vhosts config
  ^ here
[root@localhost alfresco-ansible-deployment-2.0.0]#

 

alxgomz
Alfresco Employee

Re: Failed to install ACS via Ansible. Perhaps because of the Python version.

Hi @meiqiu

This error occurs because your ansible version is too old and doesn't support using the `notify` attribute in `block`. This is only allowed as of Ansibe 2.11 and in order to stick to what's tested with this playbook I would even stick to Ansible 2.12...

Actually I just double checked and the community documentation for deploying with Ansible is really outdated. I would avoid using.

Instead you can use the github doc: https://github.com/Alfresco/alfresco-ansible-deployment/blob/master/docs/deployment-guide.md#getting...

and use the most recent release: https://github.com/Alfresco/alfresco-ansible-deployment/releases

meiqiu
Member II

Re: Failed to install ACS via Ansible. Perhaps because of the Python version.

I wanna say : I've got a feeling that u will be my hero Smiley Happy

And I will follow your guide and try in last few days , hope everything goes right , thanks