Name: infra-ansible
Version: %{_version}
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Contains ansible playbook and roles for Akraino rec blueprint
License: %{_platform_licence}
Source0: %{name}-%{version}.tar.gz
root_disk: "{{ by_path_disks['os'] }}"
all_disk_size_for_volume_group_vg: "1"
-first_part_size: 50
-second_part_percentage: "{{ rootdisk_vg_percentage }}"
-root_disk_left_size: "{{ root_disk_total_size.stdout | int - first_part_size | int }}"
-second_part_size: "{{ root_disk_left_size | float * second_part_percentage | float }}"
+root_disk_free_size: "{{ root_disk_info.disk.size|float - sys_part.end|float }}"
+lvm_part_size: "{{ root_disk_free_size|float * rootdisk_vg_percentage|float }}"
-second_part_start: "{{ first_part_size }}"
-second_part_end: "{{first_part_size | int + second_part_size | int }}"
-third_part_start: "{{ second_part_end }}"
+lvm_part_number: "{{ sys_part_number|int + 1 }}"
+lvm_part_start: "{{ sys_part.end }}"
+lvm_part_end: "{{ lvm_part_start|float + lvm_part_size|float }}"
+
+instance_part_number: "{{ sys_part_number|int + 2 }}"
+instance_part_start: "{{ lvm_part_end }}"
- name: Remove interface configuration which use dhcp
shell: rm -f $(grep -li BOOTPROTO.*dhcp /etc/sysconfig/network-scripts/ifcfg-* | sort -u)
+- name : Get system disk info
+ parted:
+ device: "{{root_disk}}"
+ unit: GB
+ register: root_disk_info
+
+- debug:
+ msg: "root_disk_info: {{root_disk_info}}"
+
+- set_fact:
+ sys_part: "{{ root_disk_info.partitions|selectattr('num', 'equalto', 1)|first }}"
+ sys_part_number: 1
+ when: root_disk_info.disk.table == "msdos"
+
- set_fact:
- root_disk_part1: "{% if root_disk == default_rootdisk_device %}{{root_disk}}{{first_part_number}}{% else %}{{root_disk}}-part{{first_part_number}}{% endif %}"
+ sys_part: "{{ root_disk_info.partitions|selectattr('num', 'equalto', 3)|first }}"
+ sys_part_number: 3
+ when: root_disk_info.disk.table == "gpt"
+
+- debug:
+ msg: "sys_part = {{root_disk}}{{sys_part_number}}: {{sys_part}}"
- name: get volume pools
shell: dmsetup ls | awk '{print $1}'
- name: delete temporary partition
parted:
device: "{{root_disk}}"
- number: "{{delete_partition}}"
+ number: "{{ sys_part_number|int + 1 }}"
state: absent
when: delete_partition is defined
-- name: system disk total size
- shell: parted {{root_disk}} unit GB print | grep "Disk /dev/" | awk '{print $3}' | tr -d 'a-z,A-Z'
- register: root_disk_total_size
-
-- debug:
- msg: "root_disk_total_size.stdout {{ root_disk_total_size.stdout }}"
-
- name: configure root volume groups
include: root_disk_volume_groups.yml
vars:
- part_start: "{{second_part_start}}GiB"
- part_end: "{{second_part_end}}GB"
- phy_disk_part_number: 2
create_disk_part: True
-- name: system disk first partition size
- shell: parted {{root_disk_part1}} unit GB print | grep "Disk /dev/" | awk '{print $3}' | tr -d 'a-z,A-Z'
- register: first_part
-
-- debug:
- msg: "first_part.stdout {{ first_part.stdout }}"
-
- name: configure instance disk partition
parted:
device: "{{root_disk}}"
- number: 3
- part_start: "{{third_part_start}}GB"
+ number: "{{instance_part_number}}"
+ part_start: "{{instance_part_start}}GB"
flags: [ lvm ]
state: present
when: rootdisk_vg_percentage != all_disk_size_for_volume_group_vg
# limitations under the License.
- set_fact:
- root_disk_part3: "{% if root_disk == default_rootdisk_device %}{{root_disk}}3{% else %}{{root_disk}}-part3{% endif %}"
+ instance_disk_part: "{% if root_disk == default_rootdisk_device %}{{root_disk}}{{instance_part_number}}{% else %}{{root_disk}}-part{{instance_part_number}}{% endif %}"
- debug:
- msg: "root disk part3: {{ root_disk_part3 }}"
+ msg: "instance partition: {{ instance_disk_part }}"
- name: get volume pools
shell: dmsetup ls | awk '/volumes/ {print $1}'
- item != "VG"
- name: remove physical volume (if any)
- shell: pvremove {{ root_disk_part3 }}
+ shell: pvremove {{ instance_disk_part }}
ignore_errors: yes
- name: get volume groups
- name: Create Partition for LVMs
parted:
device: "{{root_disk}}"
- number: "{{phy_disk_part_number}}"
+ number: "{{lvm_part_number}}"
+ unit: "GB"
+ label: "{{root_disk_info.disk.table}}"
flags: [ lvm ]
state: present
- part_start: "{{part_start}}"
- part_end: "{{part_end}}"
+ part_start: "{{lvm_part_start}}GB"
+ part_end: "{{lvm_part_end}}GB"
when:
- create_disk_part | bool
- - rootdisk_vg_percentage != all_disk_size_for_volume_group_vg
-
-- name: Create Partition for LVMs
- parted:
- device: "{{root_disk}}"
- number: "{{phy_disk_part_number}}"
- flags: [ lvm ]
- state: present
- part_start: "{{part_start}}"
- when:
- - create_disk_part | bool
- - rootdisk_vg_percentage == all_disk_size_for_volume_group_vg
- set_fact:
- vg_disk: "{% if root_disk == default_rootdisk_device %}{{root_disk}}{{phy_disk_part_number}}{% else %}{{root_disk}}-part{{phy_disk_part_number}}{% endif %}"
+ vg_disk: "{% if root_disk == default_rootdisk_device %}{{root_disk}}{{lvm_part_number}}{% else %}{{root_disk}}-part{{lvm_part_number}}{% endif %}"
- debug:
msg: "{{vg_disk}}"