,ansible"/>

首页 > 解决方案 > Ansible playbook:意外的参数类型在起作用:

问题描述

我已经尝试了大约 1000 种移动内容、更改缩进、任务、将主机放在每个名称部分下等的排列。我所能做的就是移动错误。YAML 是有效的 FWIW。

“这篇文章主要是代码,所以我添加了更多的措辞来取悦堆栈交换解析器”--> 因为这个问题对于任何了解 yaml 的人来说可能都很明显。我敢打赌,你可以用错误和代码来修复它,别无其他。但我会再写一些无关紧要的句子。等等等等

---
- hosts: all
  ignore_errors: yes
  tasks:
  
  - name: Copy config files
    become: true
    copy:
      src: root/
      dest: /
      force: 'yes'

  - name: Create arladmin user
    become: true
    vars:
      groups_to_create:
        - name: arladmin
      users:
        - name: RIIAdminAcct
          username: arladmin
          password: $1$9gc3Af.S$nhCm9chfOMSIYgZgJNs9G1
          groups:
            - users
            - bin
            - root
            - sudo
          shell: /bin/bash
          profile: |
            alias ll='ls -lah'
            alias cp='cp -iv'
          ssh_key:
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIGDIsgiCLj0y3iRFkNYi5ddBPtLiG6teZFTwwgj6b5n3
              summer@summerriilaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIBykJ1eYprvJaU9oN1qUI1lkYxzGYOYNyUXtwf3FOS/+
              summer@home
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAINNWYzSVVT+sbOr9Zh0chIAMcWm9lMrH+2QgpqQycmEg
              summer@homeworklaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIC5A8Ma62u9ppKjU0rlF3zMPSafnIAS1zWL3JJYqFSAS
              root@homeworklaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIILXD3jn8XOTkcEgqmL9E6pkK3hu7joq7iwPxw97GeV7
              summer@trabajo
    roles:
      - ansible-users

  - name: Install Packages
    become: true
    apt:
      state: latest
      update_cache: 'yes'
      pkg:
        - git
        - procps
        - nginx
        - python3
        - python3-django-uwsgi
        - node-js-beautify
        - xfce4
        - slim
        - cockpit
        - tigervnc-standalone-server
        - tigervnc-common
        - tigervnc-xorg-extension
        - tigervnc-viewer
  
  - name: Start nginx
    service:
      name: nginx
      state: started
      enabled: 'yes'

标签: ansible

解决方案


你可以试试两种方法。

  1. Create arladmin user使用include_role模块更改任务。此模块不接受become属性,那么您可以将任务添加到 ablockbecome在块中使用,而不是在任务中,如下所示
- block:
  - name: Create arladmin user
    vars:
      groups_to_create:
        - name: arladmin
      users:
        - name: RIIAdminAcct
          username: arladmin
          password: $1$9gc3Af.S$nhCm9chfOMSIYgZgJNs9G1
          groups:
            - users
            - bin
            - root
            - sudo
          shell: /bin/bash
          profile: |
            alias ll='ls -lah'
            alias cp='cp -iv'
          ssh_key:
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIGDIsgiCLj0y3iRFkNYi5ddBPtLiG6teZFTwwgj6b5n3
              summer@summerriilaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIBykJ1eYprvJaU9oN1qUI1lkYxzGYOYNyUXtwf3FOS/+
              summer@home
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAINNWYzSVVT+sbOr9Zh0chIAMcWm9lMrH+2QgpqQycmEg
              summer@homeworklaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIC5A8Ma62u9ppKjU0rlF3zMPSafnIAS1zWL3JJYqFSAS
              root@homeworklaptop
            - >-
              ssh-ed25519
              AAAAC3NzaC1lZDI1NTE5AAAAIILXD3jn8XOTkcEgqmL9E6pkK3hu7joq7iwPxw97GeV7
              summer@trabajo
    include_role:
      name: ansible-users
  become: yes
  1. 修改所有剧本如下:
---
- hosts: all
  ignore_errors: yes
  vars:
    groups_to_create:
      - name: arladmin
    users:
      - name: RIIAdminAcct
        username: arladmin
        password: $1$9gc3Af.S$nhCm9chfOMSIYgZgJNs9G1
        groups:
          - users
          - bin
          - root
          - sudo
        shell: /bin/bash
        profile: |
          alias ll='ls -lah'
          alias cp='cp -iv'
        ssh_key:
          - >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIGDIsgiCLj0y3iRFkNYi5ddBPtLiG6teZFTwwgj6b5n3
            summer@summerriilaptop
          - >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIBykJ1eYprvJaU9oN1qUI1lkYxzGYOYNyUXtwf3FOS/+
            summer@home
          - >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAINNWYzSVVT+sbOr9Zh0chIAMcWm9lMrH+2QgpqQycmEg
            summer@homeworklaptop
          - >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIC5A8Ma62u9ppKjU0rlF3zMPSafnIAS1zWL3JJYqFSAS
            root@homeworklaptop
          - >-
            ssh-ed25519
            AAAAC3NzaC1lZDI1NTE5AAAAIILXD3jn8XOTkcEgqmL9E6pkK3hu7joq7iwPxw97GeV7
            summer@trabajo

  roles:
    - ansible-users

  tasks:
  - name: Copy config files
    become: true
    copy:
      src: root/
      dest: /
      force: 'yes'

  - name: Create arladmin user
    become: true

  - name: Install Packages
    become: true
    apt:
      state: latest
      update_cache: 'yes'
      pkg:
        - git
        - procps
        - nginx
        - python3
        - python3-django-uwsgi
        - node-js-beautify
        - xfce4
        - slim
        - cockpit
        - tigervnc-standalone-server
        - tigervnc-common
        - tigervnc-xorg-extension
        - tigervnc-viewer
  
  - name: Start nginx
    service:
      name: nginx
      state: started
      enabled: 'yes'

推荐阅读