| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- ---
- - name: Install DRBD
- apt:
- name: drbd-utils
- state: present
- update_cache: yes
- - name: Check patrition
- shell: ls {{ drbd_disk}}{{ drbd_patrition_number }}
- register: result
- failed_when: False
- changed_when: False
- - name: Create patrition
- shell: echo -en "o\nn\np\n{{ drbd_patrition_number }}\n\n\nw\n" | fdisk {{ drbd_disk }}
- register: result
- when: result.rc == 2 and drbd_patrition_number != "" and drbd_patrition_number != none
- failed_when:
- - "'Syncing disks' not in result.stdout"
- - "'Created a new partition' not in result.stdout"
- - name: Check DRBD status
- command: drbdadm status {{ drbd_resource_name }}
- register: result
- changed_when: False
- failed_when: False
- - name: Create mount point
- file:
- path: "{{ mount_point }}"
- state: directory
- - name: Unmount
- mount:
- path: "{{ mount_point }}"
- state: unmounted
- - name: Create config
- template:
- src: resource.res.j2
- dest: /etc/drbd.d/{{ drbd_resource_name }}.res
- - name: Down resource
- shell: drbdadm down {{ drbd_resource_name }}
- when: result.rc == 0
- #- name: Check config
- # command: drbdadm dump all
- - name: Find metadata on disk
- shell: drbdmeta 0 v08 {{ drbd_disk }}{{ drbd_patrition_number }} internal check-resize
- register: find_metadata
- changed_when: False
- failed_when: False
- - name: Create metadata
- #command: drbdmeta 0 v08 {{ drbd_disk }}{{ drbd_patrition_number }} internal create-md 2 --force
- command: drbdadm create-md --force {{ drbd_resource_name }}
- when: find_metadata.rc != 0
- - name: Up resource
- command: drbdadm up {{ drbd_resource_name }}
- - name: Find Primary
- shell: drbdadm status {{ drbd_resource_name }} | grep Primary
- register: result_primary
- changed_when: False
- failed_when: False
- # - name: Check DRBD role
- # shell: drbdadm status {{ drbd_resource_name }} | grep "{{ drbd_resource_name }} role:" | awk -F ":" '{print $2}'
- # register: result
- # changed_when: False
- # failed_when: False
- # - debug: var=result
- # failed_when: True
- - name: Resync resource
- command: drbdadm primary --force {{ drbd_resource_name }}
- # drbdadm new-current-uuid --clear-bitmap shared/0
- when: result_primary.rc != 0
- run_once: true
- - name: Check status
- shell: drbdadm status | grep {{ drbd_resource_name }}
- register: drbd_status
- - name: Create FS
- shell: mkfs.{{ drbd_fs }} {{ drbd_device }}
- when: "'Primary' in drbd_status.stdout"
- - name: Mount
- mount:
- path: "{{ mount_point }}"
- src: "{{ drbd_device }}"
- fstype: "{{ drbd_fs }}"
- state: mounted
- when: "'Primary' in drbd_status.stdout"
|