运行ansible脚本时出错-“;Unicode对象没有属性";网站名称;

运行ansible脚本时出错-“;Unicode对象没有属性";网站名称;,ansible,ansible-playbook,Ansible,Ansible Playbook,我目前正在运行我创建的ansible galaxy项目。我试图做的是获取变量的一个属性,并将其设置为路径名。我在组变量中创建了一个名为websiteNames的文件,在该文件中,我有一个如下设置的变量- my_websites: - site_name: website2 site_url: website2.com - site_name: website1 site_url: website1.com - name: deploy public vhosts /

我目前正在运行我创建的ansible galaxy项目。我试图做的是获取变量的一个属性,并将其设置为路径名。我在组变量中创建了一个名为
websiteNames
的文件,在该文件中,我有一个如下设置的变量-

my_websites:

  - site_name: website2
    site_url: website2.com

  - site_name: website1
    site_url: website1.com
- name: deploy public vhosts /etc/httpd/conf.d
  template:  
    src: ../../websites/files/vhost.conf 
    dest: "/etc/httpd/conf.d/{{ item.site_name }}-public.conf" 
    owner: root 
    group: root 
    mode: 0644
  with_items: my_websites
我的ansible文件调用它是这样设置的-

my_websites:

  - site_name: website2
    site_url: website2.com

  - site_name: website1
    site_url: website1.com
- name: deploy public vhosts /etc/httpd/conf.d
  template:  
    src: ../../websites/files/vhost.conf 
    dest: "/etc/httpd/conf.d/{{ item.site_name }}-public.conf" 
    owner: root 
    group: root 
    mode: 0644
  with_items: my_websites
然而,当我试图运行实际的剧本时,我得到以下错误-
失败!=>{“failed”:true,“msg”:“'unicode object'没有属性'site_name'”}

如果有用的话,这里是模板文件中我调用变量的部分-

<VirtualHost *:80>
    DocumentRoot /var/www/html/{{ site_name }}/stuff
    ServerName {{ site_name }}

DocumentRoot/var/www/html/{{site_name}}/stuff
服务器名{{site_name}}
我需要在某个时候调用组cars
websiteNames
文件吗?似乎它不承认已添加了集团风险值


谢谢。

原来我遇到的问题是,我在主机文件中调用的组名为“myServers”,但组的名称是myu-var。我没有意识到组变量必须与原始主机变量具有相同的名称。

结果表明,我在主机文件中调用的组名为“myServers”,但组变量的名称是myu server。我没有意识到组变量必须与原始主机变量同名。

请提供
网站名
文件的完整路径。请记住,
with_items:my_websites
语法已被弃用,您应该使用
with_items:“{{my_websites}}”
。请给出
网站名
文件的完整路径。请记住,
with_items:my_websites
语法已被弃用,您应该使用
with_items:“{{my_websites}}”