---
- name: 配置Nomad客户端节点
  hosts: nomad_nodes:!semaphore
  become: yes
  vars:
    nomad_config_dir: /etc/nomad.d
  
  tasks:
    - name: 创建Nomad配置目录
      file:
        path: "{{ nomad_config_dir }}"
        state: directory
        owner: root
        group: root
        mode: '0755'
    
    - name: 复制Nomad客户端配置
      copy:
        content: |
          datacenter = "dc1"
          data_dir = "/opt/nomad/data"
          log_level = "INFO"
          bind_addr = "0.0.0.0"
          
          server {
            enabled = false
          }
          
          client {
            enabled = true
            servers = ["100.116.158.95:4647"]
            host_volume "fnsync" {
              path = "/mnt/fnsync"
              read_only = false
            }
          }
          
          addresses {
            http = "{{ ansible_host }}"
            rpc  = "{{ ansible_host }}"
            serf = "{{ ansible_host }}"
          }
          
          advertise {
            http = "{{ ansible_host }}:4646"
            rpc  = "{{ ansible_host }}:4647"
            serf = "{{ ansible_host }}:4648"
          }
          
          consul {
            address = "100.116.158.95:8500"
          }
        dest: "{{ nomad_config_dir }}/nomad.hcl"
        owner: root
        group: root
        mode: '0644'
    
    - name: 启动Nomad服务
      systemd:
        name: nomad
        state: restarted
        enabled: yes
        daemon_reload: yes
    
    - name: 检查Nomad服务状态
      command: systemctl status nomad
      register: nomad_status
      changed_when: false
    
    - name: 显示Nomad服务状态
      debug:
        var: nomad_status.stdout_lines