使用enix.mongodb Ansible Galaxy角色安装特定的MongoDB版本

时间:2020-07-28 10:33:50

标签: ansible-galaxy

我想使用anix.mongodb角色修改Ansible剧本以安装特定版本的MongoDB。根据文档,我可以设置一个mongodb__version角色变量来执行此操作。我尝试更新ansible剧本,但不喜欢我指定它的方式。

- hosts: development_ec2
  remote_user: ubuntu
  become: yes

  pre_tasks:
   - name: Update all apt packages
     apt: update_cache=yes

  roles:
    - role: geerlingguy.nodejs
    - role: geerlingguy.git
    - role: geerlingguy.docker
    - role: geerlingguy.helm
    - role: enix.mongodb:
              mongodb__version: 4.0

应该在哪里以及如何指定它?有一个requirements.yml文件,其中还指定了角色。

roles:
  - name: geerlingguy.nodejs
    version: 5.1.1
  - name: geerlingguy.git
    version: 2.1.0
  - name: geerlingguy.docker
    version: 2.7.0
  - name: enix.mongodb
    version: 1.1.0
  - name: geerlingguy.helm
    version: 1.0.0

以下是我运行剧本时遇到的错误:

ERROR! We were unable to read either as JSON nor YAML, these are the errors we got from 
each:
JSON: No JSON object could be decoded

Syntax Error while loading YAML.
  mapping values are not allowed in this context

The error appears to be in '/home/ubuntu/tc-ansible/playbooks/development.yml': line 14,
column 25, but may be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

    - role: geerlingguy.helm
    - role: enix.mongodb:
                        ^ here

非常感谢。

1 个答案:

答案 0 :(得分:0)

对于那些可能经过那里而仍在寻找MongoDB版本的人,您可以尝试以下方法:

  roles:
    - role: enix.mongodb
      mongodb__version: 4.4
相关问题