首页 > 解决方案 > Ansible AWX 工作流程

问题描述

我是 ansible 和 AWX 的新手。我的项目取得了良好的进展,但我被一个部分卡住了,希望你们能提供帮助。

我有一个工作流模板如下

  1. 部署虚拟机
  2. 获取已部署 VM 的 IP 并创建临时主机配置
  3. 更改部署的机器主机名

我遇到困难的地方是,当我在下一个模板启动时创建主机名时,主机名组丢失了。我认为这是因为某种运行空间。如何移动这些信息?我需要这个,因为稍后我想进入更复杂的流程。

到目前为止我所拥有的:

1.

 - name: Deploy VM from Template
      hosts: xenservers
      tasks:
       - name: Deploy VM
         shell: xe vm-install new-name-label="{{ vm_name }}" template="{{ vm_template }}"
       - name: Start VM  
         shell: xe vm-start vm="{{ vm_name }}"
---
- name: Get VM IP
  hosts: xenservers
  remote_user: root
  tasks:
    - name: Get IP
      shell: xe vm-list name-label="{{ vm_name }}" params=networks | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -1
      register: vm_ip
      until: vm_ip.stdout != ""
      retries: 15
      delay: 5

在这里,我设置了主机,这在模板本地工作,但是当它继续移动时失败。我在一个任务和一个游戏中试过这个。

- name: Add host to group 
      add_host:
      name: "{{ vm_ip.stdout }}"
      groups: deploy_vm
        - hosts: deploy_vm
- name: Set hosts
  hosts: deployed_vm
  tasks:
     - name: Set a hostname
       hostname:
        name: "{{ vm_name }}"
       when: ansible_distribution == 'Rocky Linux'

谢谢

标签: ansibleansible-awx

解决方案


推荐阅读