include_role 没有将变量传递给角色

时间:2021-02-01 14:54:48

标签: ansible

我在 Ansible 文档中找到了为使用 include_role 执行的角色指定要设置的变量的示例。自己尝试此操作时,角色失败并显示错误。

在主要剧本中:

  - name: Install Mysql
    include_role:
      name: mysql
    vars:
      app_name: pantrio

在 mysql/tasks/main.yml 中:

- name: Install Mysql
  apt:
    name: mysql-server
    state: present

- name: Make sure pymysql is installed
  apt:
    name: python-pymysql
    state: present

- name: Create a new database with name [app_name]
  community.mysql.mysql_db:
    login_unix_socket: /var/run/mysqld/mysqld.sock
    name: "{{ app_name }}"
    state: present

错误:

TASK [mysql : Create a new database with name [app_name]] **********************
fatal: [192.168.33.77]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'app_name' is undefined

The error appears to be in '/ansible/roles/mysql/tasks/main.yml': line 12, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Create a new database with name [app_name]
  ^ here
"}

我做错了什么?

0 个答案:

没有答案