zoukankan      html  css  js  c++  java
  • ansible roles例子

    #理解
    changed_when
    failed_when
    become
    become_user
    ansible_become
    ansible_become_user
    static
    
    
    #检查group_vars中某组是否存在主机
    - name: ensure only one monitoring host exists
      fail: msg="One, or no monitoring host may be specified."
      when: "groups.get('monitoring_servers', [])|length > 1"
    
    #如果不定义值,那么使用默认值
    - name: set deploy dir if not presented
      set_fact: deploy_dir="/home/{{deploy_user}}/deploy"
      when: deploy_dir is not defined
    
    #禁掉swap
    - name: disable swap
      shell: "([ $(swapon -s | wc -l) -ge 1 ] && (swapoff -a && echo disable)) || echo already"
      ignore_errors: yes
      register: swapoff_result
      changed_when: "swapoff_result.stdout.strip() == 'disable'"
    
    #当set_timezone定义,设置相应时区
    - name: set timezone to {{timezone}}
      timezone: name={{ timezone }}
      when: set_timezone
    
    #设置hostname
    - name: set hostname by ip
      hostname: name=ip-{{ ansible_default_ipv4.address | replace(".","-") }}
      register: hostname_set
      when:
        - set_hostname
        - "ansible_default_ipv4.address | replace('.','-') not in ansible_hostname"
    
    #设置/etc/hosts
    - name: inject hostname to hosts file
      lineinfile: dest=/etc/hosts line='127.0.0.1  ip-{{ ansible_default_ipv4.address | replace(".","-") }}'
      when: set_hostname
    
    '#修改文件中匹配到的某行
    - name:modify centos irqbalance configuration file
      lineinfile:
        dest=/etc/default/irqbalance
        regexp='(?<!_)ONESHOT='
        line='ONESHOT=yes'
      when:
        - tuning_irqbalance_value
        - centos_irq_config_file.stat.exists
    
    #检查umask
    - name: get umask
      shell: umask
      register: umask
      changed_when: False
    
    - name: does the system have a standard umask
      fail: 'The umask of the system ({{ umask.stdout.strip() }}) prevents successful installation. We suggest a standard umask such as 0022.'
      when: umask.stdout.strip()[-2:] not in ('00', '02', '20', '22')
    
    #根据facts值,检查系统版本
    - name: check system version
      fail:
        msg: "Red Hat Enterprise Linux/CentOS 6 is deprecated"
      when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version == '6"
    
    #检查文件挂载点
    - name: detemine which mountpoint depoly dir exists on
      shell: "df {{ deploy_dir }} | tail -n1 | awk '{print $NF}'"
      register: deploy_partition
      changed_when: False
    
    #抓取log
    - name: fetch pd log file
      fetch:
        src: "{{ log_dir }}/{{ inventory_hostname }}-pd.tar.gz"
        dest: "{{ fetch_tmp_dir }}/{{ inventory_hostname }}/"
        flat: yes
        validate_checksum: no
      when: "'pd_servers' in group_names"
    
    #下载tidb二进制
    - name: download tidb binary
      get_url:
        url: "{{ item.url }}"
        dest: "{{ doenloads_dir }}/{{ item.name }}-{{ item.version }}.tar.gz"
        checksum: "{{ item.checksum | default(omit) }}"
        force: yes
        validate_certs: no
      register: get_url_result
      until: "'OK' in get_url_result.msg or 'file already exists' in get_url_result.msg"
      retries: 4
      delay: "{{ retry_stagger | random + 3 }}"
      with_items: "{{ tidb_packages }}"
      when: has_outband_network
    
    #debug
    - debug:
        msg: "run command on server: {{ disk_randread_iops.cmd }}"
  • 相关阅读:
    Codeforces Round #631 (Div. 2)
    Codeforces Round #500 (Div. 2) [based on EJOI]
    KMP+状态机
    状态机模型
    最短编辑距离
    stringstream读入-最优乘车
    多重背包
    Codeforces:B. New Year and Ascent Sequence
    查找目录下所有文件使用到的宏
    QProcess调用外部程序并带参执行
  • 原文地址:https://www.cnblogs.com/nineep/p/9065874.html
Copyright © 2011-2022 走看看