サンプルAnsible/Playbook/sample

最小構成のCentOS7マシン(f-c2.sybyl.local)があって、それに調整を施してみる。

まずホストを登録する

[root@c ~]# vi /etc/ansible/hosts
 :
f-c2
 
[root@c ~]#

そして接続テストを行う

[saber@c ansible]$ ansible f-c2 -m ping --user root --ask-pass
SSH password:
f-c2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
[saber@c ansible]$

接続は成功の様子

*表記のため「}}」は「} }」としてます。

- hosts:  g01.sybyl.local
  # samba-ad domainの参加パスワード
  vars_prompt:
  - name: samba_pass
    prompt: "samba administrator's password"
    private: yes
 
  # 実行するtaksを明記
  tasks:
 
  # yum 関連
  - name: yum参照先を追記
    lineinfile: dest=/etc/yum/pluginconf.d/fastestmirror.conf line="prefer=ftp.riken.jp"
  - name: yum clean
    shell: yum clean plugins
  - name: install common packages
    yum: name={{ item } } state=latest
    with_items:
     - epel-release
     - nfs-utils
     - tcsh
     - rsh
     - rsh-server
     - openmpi
     - libpng12
     - compat-libtiff3
     - libtiff
     - evince
     - texlive-latex
     - ghostscript
     - texlive-latex-bin-bin
     - samba-common-tools
     - sssd
     - krb5-workstation
     - sysstat
     - xorg-x11-xauth
     - lm_sensors
     - nvme-cli
     - bash-completion
     - vim-enhanced
     - net-snmp
     - emacs
     - ImageMagick
     - gnuplot
     - fltk-fluid
  - name: yum update
    yum: name=*  state=latest
  - name: install epel packages
    yum: name={{ item } } state=latest
    with_items:
     - iftop
     - hddtemp
     - xpdf
  - name: install 'Development tools'
    yum: name="@Development tools" state=present
 
  # cuda関連
  - name: cudaインストールファイルの転送
    copy: 
      src=cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64.rpm
      dest=/root/cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64.rpm
      owner=root
      group=root
  - name: cudaインストール
    yum: name=/root/cuda-repo-rhel7-8-0-local-8.0.44-1.x86_64.rpm state=present
  - name: install cuda
    yum: name=cuda state=latest
 
  # PBSPro関連
  - name: pbspro ファイル転送
    copy: src=pbspro-execution-14.1.0-0.x86_64.rpm dest=/root/
  - name: pbspro インストール
    yum: name: /root/pbspro-execution-14.1.0-0.x86_64.rpm state: present
 
  - name: pbspro設定(pbs.conf)
    replace: dest=/etc/pbs.conf regexp='CHANGE_THIS_TO_PBS_PRO_SERVER_HOSTNAME' replace='pbs.sybyl.local'
  - name: pbspro設定(pbs_environment)
    lineinfile: dest=/var/lib/pbs/pbs_environment line="TZ=Asia/Tokyo"
  - name: pbspro設定 client
    replace: dest=/var/lib/pbs/mom_priv/config regexp='CHANGE_THIS_TO_PBS_PRO_SERVER_HOSTNAME' replace='pbs.sybyl.local'
 
  # filesystem
  - name: fstab修正
    blockinfile:
      dest: /etc/fstab
      content: |
         nfs:/home /home nfs rw,hard,intr 0 0
         nfs:/Appl /Appl nfs ro,hard,intr 0 0
         nfs:/data /data nfs rw,hard,intr 0 0
  - name: make nfs mount point 
    file: path=/{{ item } } state=directory owner=root group=root mode=0755
    with_items:
       - Appl
       - data
    follow: yes
 
  # セキュリティー関係
  - name: firewalldを停止
    systemd: name=firewalld enabled=no state=stopped
  - name: selinuxを無効化
    replace: dest=/etc/selinux/config regexp='SELINUX=enforcing' replace='SELINUX=disabled'
 
  # ntp関係
  - name: chronyの停止
    systemd: name=chronyd enabled=no state=stopped
  - name: chronyの削除
    yum: name=chrony state=removed
  - name: ntpのインストール
    yum: name=ntp state=latest
  - name: ntpの設定
    copy:
      dest: /etc/ntp.conf
      content: |
       keys /etc/ntp/keys
       server 192.168.0.3
  - name: step-tickersの設定
    copy:
      dest: /etc/ntp/step-tickers
      content: 192.168.0.3
  - name: ntpの起動
    systemd: name=ntpd enabled=yes state=start
  - name: ntpdateの起動
    systemd: name=ntpdate enabled=yes state=start
 
 
  - name: stat hosts
    stat: path=/etc/hosts
    register: hosts_stat
 
  - name: stat smb
    stat: path=/etc/samba/smb.conf
    register: smb_stat
 
  - name: hostsファイルバックアップ
    command: mv -f /etc/hosts /etc/hosts.old
    when: hosts_stat.stat.exists
 
  - name: smbファイルバックアップ
    command: mv -f /etc/samba/smb.conf /etc/samba/smb.conf.old
    when: smb_stat.stat.exists
 
  - name: hosts作成
    copy:
      dest: /etc/hosts
      content: |
         127.0.0.1     localhost.localdomain localhost
         192.168.0.100 c100.sybyl.local c100
 
  - name: hosts.equiv作成
    copy:
      dest: /etc/hosts.equiv
      content: |
         + +
 
  - name: smb.conf作成
    copy:
      dest: /etc/samba/smb.conf
      content: |
        [global]
        workgroup = SYBYL
        security = ADS
        realm = SYBYL.LOCAL
        log file = /var/log/samba/%m.log
        kerberos method = secrets and keytab
        client signing = yes
        client use spnego = yes
  - name: stat keytab
    stat: path=/etc/krb5.keytab
    register: keytab_stat
  - name: samba ad参加
    command: net ads join osName=CentOS -Uadministrator%{{samba_pass} }
    when: not keytab_stat.stat.exists
  - name: sssd.conf作成
    copy:
      dest: /etc/sssd/sssd.conf
      content: |
        [sssd]
        services = nss, pam
        config_file_version = 2
        domains = sybyl.local
        [domain/sybyl.local]
        id_provider = ad
        access_provider = ad
        enumerate = True
        krb5_keytab = /etc/krb5.keytab
        ldap_id_mapping = False
        ldap_sasl_authid = {{ ansible_hostname } }$@SYBYL.LOCAL
      mode: 0600
  - name: 認証設定
    command: authconfig --enablesssd --enablesssdauth --update
  - name: 認証設定
    systemd:
      name: sssd
      enabled: yes
 
  - name: sshd末尾に追加
    lineinfile: >-
       dest=/etc/ssh/sshd_config
       state=present
       backrefs=yes
       regexp='{{ item.regexp } }'
       line='{{ item.line } }'
    with_items:
    - regexp: '^#HostbasedAuthentication no'
      line: 'HostbasedAuthentication yes'
    - regexp: '^GSSAPICleanupCredentials no'
      line: 'GSSAPICleanupCredentials yes'
 
  - name: rshとrexecを有効に
    command: systemctl enable rsh.socket rexec.socket
 
 
  - name: pbspro
    copy: 
      src=~/rpmbuild/RPMS/x86_64/pbspro-execution-14.1.2-0.x86_64.rpm
      dest=/root/pbspro-execution-14.1.2-0.x86_64.rpm
      owner=root
      group=root
      mode=0755
  - name: pbsproインストール
    yum:
      name: /root/pbspro-execution-14.1.2-0.x86_64.rpm
      state: present
  - name: pbspro設定(pbs.conf)
    replace: dest=/etc/pbs.conf regexp='CHANGE_THIS_TO_PBS_PRO_SERVER_HOSTNAME' replace='pbspro.sybyl.local'
  - name: pbspro設定(pbs_environment)
    lineinfile: dest=/var/lib/pbs/pbs_environment   line="TZ=Asia/Tokyo"
  - name: pbspro設定 client
    replace: dest=/var/lib/pbs/mom_priv/config regexp='CHANGE_THIS_TO_PBS_PRO_SERVER_HOSTNAME' replace='pbspro.sybyl.local'
 
 
  - name: profile history設定
    blockinfile:
      path: /etc/profile
      block: |
    with_items:
        HISTSIZE=1000
        HISTTIMEFORMAT='%Y/%m/%d %H:%M:%S '
        HISTIGNORE="history:pwd:which:ls"
        if [ "\$HISTCONTROL" = "ignorespace" ] ; then
        export HISTCONTROL=ignoreboth
        else
        export HISTCONTROL=ignoredups
        fi
        export HISTSIZE HISTCONTROL HISTTIMEFORMAT HISTIGNORE
 
  - name: root bashrc
    lineinfile: dest=/root/.bashrc line="alias less='less -X'"
 
  - name: root env
    lineinfile: dest=/root/.vimrc  line="set t_ti= t_te="
最新の60件
2025-04-27 2025-04-26 2025-04-25 2025-04-24 2025-04-17 2025-04-15 2025-04-13 2025-04-02 2025-04-01 2025-03-31 2025-03-29 2025-03-28 2025-03-27 2025-03-26 2025-03-23 2025-03-22 2025-03-20 2025-03-17 2025-03-16 2025-03-15 2025-03-06 2025-03-03 2025-03-01 2025-02-18 2025-02-17 2025-02-14 2025-02-12 2025-02-03 2025-02-02 2025-01-27 2025-01-26 2025-01-25 2025-01-24 2025-01-23

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-07-04 (水) 09:18:39