ansible - 确定为什么 parted ansible 模块似乎没有创建分区
问题描述
团队,
我必须在 ubuntu 20 的节点上创建一个分区,并且我正在使用 ansible parted 模块,但我看到它没有创建它,尽管结果是通过的。那么,谁能帮我弄清楚我是否没有使用正确的 item.item 来创建它?但如果这是问题所在,他们为什么 ansible 没有抱怨?
系统节点设备信息
root@node123:~# lsblk | grep nvme
nvme0n1 259:0 0 894.3G 0 disk
nvme1n1 259:1 0 894.3G 0 disk
├─nvme1n1p1 259:3 0 512M 0 part /boot/efi
└─nvme1n1p2 259:4 0 893.8G 0 part /
nvme2n1 259:2 0 894.3G 0 disk #<<<this one am trying to create partition
值.yaml
# Create partition and mount filesystems to use as service stroage
local_volume_mount_enabled: true
local_volume_mount_root_directory: /local-volumes
local_volume_mount_disks:
- device: /dev/nvme2n1
partitions:
- number: 1
start: 1GiB
end: 800GiB
storage_class: ssd-wkr
任务
- name: Fetch partitions info "{{ item.0.device }}"
parted: device={{ item.0.device }} unit=MiB
register: device_info_using_values
loop: "{{ local_volume_mount_disks|subelements('partitions') }}"
- debug:
var: device_info_using_values
ignore_errors: no
- debug:
msg: "{{ item.item[0].device }}"
ignore_errors: no
loop: "{{ device_info_using_values.results }}"
- name: Create partitions from live node device info "{{ item.item[0].device }}"
parted:
device: "{{ item.item[0].device }}"
number: "{{ item.item[0].partitions[0].number}}"
state: present
label: gpt
part_start: "{{ item.item[0].partitions[0].start }}"
part_end: "{{ item.item[0].partitions[0].end }}"
loop: "{{ device_info_using_values.results }}"
register: partitioned_device_live_info
- name: debug Info from device that is parted
debug:
var: partitioned_device_live_info
ignore_errors: no
- name: debug after create to get nvme2n1p1 info
debug:
msg: "{{ item.item.item[0].device }}"
ignore_errors: no
loop: "{{ partitioned_device_live_info.results }}"
- name: Create ext4 filesystem on partitions
filesystem:
fstype: ext4
dev: "{{ item.item.item[0].device }}"
loop: "{{ partitioned_device_live_info.results }}"
register: ext4_fs_result
- name: Info on ext4 result
debug:
var: ext4_fs_result
ignore_errors: no
输出
PLAY [Local Volume Provisioner and Mount] **************************************
TASK [local_volume_mount : apt-install parted] *********************************
Tuesday 23 March 2021 17:55:26 +0000 (0:00:00.166) 0:00:00.166 *********
ok: [node123]
TASK [local_volume_mount : Fetch partitions info "{{ item.0.device }}"] ********
Tuesday 23 March 2021 17:55:35 +0000 (0:00:08.418) 0:00:08.585 *********
ok: [node123] => (item=[{'device': '/dev/nvme2n1', 'partitions': [{'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}]}, {'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}])
TASK [local_volume_mount : debug] **********************************************
Tuesday 23 March 2021 17:55:35 +0000 (0:00:00.421) 0:00:09.006 *********
ok: [node123] => {
"device_info_using_values": {
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": false,
"disk": {
"dev": "/dev/nvme2n1",
"logical_block": 512,
"model": "SAMSUNG MZQLW960HMJP-00003",
"physical_block": 512,
"size": 915715.0,
"table": "loop",
"unit": "mib"
},
"failed": false,
"invocation": {
"module_args": {
"align": "optimal",
"device": "/dev/nvme2n1",
"flags": null,
"label": "msdos",
"name": null,
"number": null,
"part_end": "100%",
"part_start": "0%",
"part_type": "primary",
"state": "info",
"unit": "MiB"
}
},
"item": [
{
"device": "/dev/nvme2n1",
"partitions": [
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
]
},
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
],
"partitions": [
{
"begin": 0.0,
"end": 915715.0,
"flags": [],
"fstype": "ext4",
"name": "",
"num": 1,
"size": 915715.0,
"unit": "mib"
}
],
"script": "unit 'MiB' print"
}
]
}
}
TASK [local_volume_mount : debug] **********************************************
Tuesday 23 March 2021 17:55:35 +0000 (0:00:00.028) 0:00:09.035 *********
ok: [node123] => (item={'invocation': {'module_args': {'part_start': '0%', 'part_end': '100%', 'name': None, 'align': 'optimal', 'number': None, 'label': 'msdos', 'state': 'info', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'MiB'}}, 'partitions': [{'begin': 0.0, 'end': 915715.0, 'name': '', 'fstype': 'ext4', 'num': 1, 'flags': [], 'unit': 'mib', 'size': 915715.0}], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'loop', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'mib', 'size': 915715.0}, 'changed': False, 'script': "unit 'MiB' print", 'failed': False, 'item': [{'device': '/dev/nvme2n1', 'partitions': [{'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}]}, {'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}], 'ansible_loop_var': 'item'}) => {
"msg": "/dev/nvme2n1"
}
TASK [local_volume_mount : Create partitions from live node device info "{{ item.item[0].device }}"] ***
Tuesday 23 March 2021 17:55:35 +0000 (0:00:00.034) 0:00:09.069 *********
changed: [node123] => (item={'invocation': {'module_args': {'part_start': '0%', 'part_end': '100%', 'name': None, 'align': 'optimal', 'number': None, 'label': 'msdos', 'state': 'info', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'MiB'}}, 'partitions': [{'begin': 0.0, 'end': 915715.0, 'name': '', 'fstype': 'ext4', 'num': 1, 'flags': [], 'unit': 'mib', 'size': 915715.0}], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'loop', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'mib', 'size': 915715.0}, 'changed': False, 'script': "unit 'MiB' print", 'failed': False, 'item': [{'device': '/dev/nvme2n1', 'partitions': [{'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}]}, {'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}], 'ansible_loop_var': 'item'})
TASK [local_volume_mount : debug Info from device that is parted] **************
Tuesday 23 March 2021 17:55:36 +0000 (0:00:00.403) 0:00:09.473 *********
ok: [node123] => {
"partitioned_device_live_info": {
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"disk": {
"dev": "/dev/nvme2n1",
"logical_block": 512,
"model": "SAMSUNG MZQLW960HMJP-00003",
"physical_block": 512,
"size": 937692504.0,
"table": "gpt",
"unit": "kib"
},
"failed": false,
"invocation": {
"module_args": {
"align": "optimal",
"device": "/dev/nvme2n1",
"flags": null,
"label": "gpt",
"name": null,
"number": 1,
"part_end": "800GiB",
"part_start": "1GiB",
"part_type": "primary",
"state": "present",
"unit": "KiB"
}
},
"item": {
"ansible_loop_var": "item",
"changed": false,
"disk": {
"dev": "/dev/nvme2n1",
"logical_block": 512,
"model": "SAMSUNG MZQLW960HMJP-00003",
"physical_block": 512,
"size": 915715.0,
"table": "loop",
"unit": "mib"
},
"failed": false,
"invocation": {
"module_args": {
"align": "optimal",
"device": "/dev/nvme2n1",
"flags": null,
"label": "msdos",
"name": null,
"number": null,
"part_end": "100%",
"part_start": "0%",
"part_type": "primary",
"state": "info",
"unit": "MiB"
}
},
"item": [
{
"device": "/dev/nvme2n1",
"partitions": [
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
]
},
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
],
"partitions": [
{
"begin": 0.0,
"end": 915715.0,
"flags": [],
"fstype": "ext4",
"name": "",
"num": 1,
"size": 915715.0,
"unit": "mib"
}
],
"script": "unit 'MiB' print"
},
"partitions": [],
"script": "unit KiB mklabel gpt"
}
]
}
}
TASK [local_volume_mount : debug after create to get nvme2n1p1 info] ***********
Tuesday 23 March 2021 17:55:36 +0000 (0:00:00.029) 0:00:09.502 *********
ok: [node123] => (item={'invocation': {'module_args': {'part_start': '1GiB', 'part_end': '800GiB', 'name': None, 'align': 'optimal', 'number': 1, 'label': 'gpt', 'state': 'present', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'KiB'}}, 'partitions': [], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'gpt', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'kib', 'size': 937692504.0}, 'changed': True, 'script': 'unit KiB mklabel gpt', 'failed': False, 'item': {'invocation': {'module_args': {'part_start': '0%', 'part_end': '100%', 'name': None, 'align': 'optimal', 'number': None, 'label': 'msdos', 'state': 'info', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'MiB'}}, 'partitions': [{'begin': 0.0, 'end': 915715.0, 'name': '', 'fstype': 'ext4', 'num': 1, 'flags': [], 'unit': 'mib', 'size': 915715.0}], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'loop', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'mib', 'size': 915715.0}, 'changed': False, 'script': "unit 'MiB' print", 'failed': False, 'item': [{'device': '/dev/nvme2n1', 'partitions': [{'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}]}, {'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}], 'ansible_loop_var': 'item'}, 'ansible_loop_var': 'item'}) => {
"msg": "/dev/nvme2n1"
}
TASK [local_volume_mount : Create ext4 filesystem on partitions] ***************
Tuesday 23 March 2021 17:55:36 +0000 (0:00:00.039) 0:00:09.542 *********
changed: [node123] => (item={'invocation': {'module_args': {'part_start': '1GiB', 'part_end': '800GiB', 'name': None, 'align': 'optimal', 'number': 1, 'label': 'gpt', 'state': 'present', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'KiB'}}, 'partitions': [], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'gpt', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'kib', 'size': 937692504.0}, 'changed': True, 'script': 'unit KiB mklabel gpt', 'failed': False, 'item': {'invocation': {'module_args': {'part_start': '0%', 'part_end': '100%', 'name': None, 'align': 'optimal', 'number': None, 'label': 'msdos', 'state': 'info', 'part_type': 'primary', 'flags': None, 'device': '/dev/nvme2n1', 'unit': 'MiB'}}, 'partitions': [{'begin': 0.0, 'end': 915715.0, 'name': '', 'fstype': 'ext4', 'num': 1, 'flags': [], 'unit': 'mib', 'size': 915715.0}], 'disk': {'dev': '/dev/nvme2n1', 'physical_block': 512, 'table': 'loop', 'logical_block': 512, 'model': 'SAMSUNG MZQLW960HMJP-00003', 'unit': 'mib', 'size': 915715.0}, 'changed': False, 'script': "unit 'MiB' print", 'failed': False, 'item': [{'device': '/dev/nvme2n1', 'partitions': [{'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}]}, {'number': 1, 'start': '1GiB', 'end': '800GiB', 'storage_class': 'ssd-wkr'}], 'ansible_loop_var': 'item'}, 'ansible_loop_var': 'item'})
TASK [local_volume_mount : Info on ext4 result] ********************************
Tuesday 23 March 2021 17:55:39 +0000 (0:00:03.021) 0:00:12.563 *********
ok: [node123] => {
"ext4_fs_result": {
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"dev": "/dev/nvme2n1",
"force": false,
"fstype": "ext4",
"opts": null,
"resizefs": false
}
},
"item": {
"ansible_loop_var": "item",
"changed": true,
"disk": {
"dev": "/dev/nvme2n1",
"logical_block": 512,
"model": "SAMSUNG MZQLW960HMJP-00003",
"physical_block": 512,
"size": 937692504.0,
"table": "gpt",
"unit": "kib"
},
"failed": false,
"invocation": {
"module_args": {
"align": "optimal",
"device": "/dev/nvme2n1",
"flags": null,
"label": "gpt",
"name": null,
"number": 1,
"part_end": "800GiB",
"part_start": "1GiB",
"part_type": "primary",
"state": "present",
"unit": "KiB"
}
},
"item": {
"ansible_loop_var": "item",
"changed": false,
"disk": {
"dev": "/dev/nvme2n1",
"logical_block": 512,
"model": "SAMSUNG MZQLW960HMJP-00003",
"physical_block": 512,
"size": 915715.0,
"table": "loop",
"unit": "mib"
},
"failed": false,
"invocation": {
"module_args": {
"align": "optimal",
"device": "/dev/nvme2n1",
"flags": null,
"label": "msdos",
"name": null,
"number": null,
"part_end": "100%",
"part_start": "0%",
"part_type": "primary",
"state": "info",
"unit": "MiB"
}
},
"item": [
{
"device": "/dev/nvme2n1",
"partitions": [
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
]
},
{
"end": "800GiB",
"number": 1,
"start": "1GiB",
"storage_class": "ssd-wkr"
}
],
"partitions": [
{
"begin": 0.0,
"end": 915715.0,
"flags": [],
"fstype": "ext4",
"name": "",
"num": 1,
"size": 915715.0,
"unit": "mib"
}
],
"script": "unit 'MiB' print"
},
"partitions": [],
"script": "unit KiB mklabel gpt"
}
}
]
}
}
系统上的预期输出应
下面是由本地 parted 模块在命令行步骤上创建的
1 - parted /dev/nvme2n1
2 - mklabel gpt
3 - mkpart primary ext4 1MB 915715MB
4 - quit
上面的步骤 1-4 显示了我想要通过 ansible.
root@node123:~# lsblk | grep nvme
nvme0n1 259:0 0 894.3G 0 disk
nvme1n1 259:1 0 894.3G 0 disk
├─nvme1n1p1 259:3 0 512M 0 part /boot/efi
└─nvme1n1p2 259:4 0 893.8G 0 part /
nvme2n1 259:2 0 894.3G 0 disk
└─nvme2n1p1 259:6 0 852.8G 0 part
解决方案
推荐阅读
- python-3.x - 如何在 heroku shell 中运行具有多个选项的命令?
- python - 'function' 对象不可下标
- android - Ionic 5:如何使用指纹 AIO 保护移动应用程序
- python - 如何在没有点击事件的情况下在后端调用函数kivy
- javascript - 根据 int 确定应该有多少行/列
- google-cloud-platform - Bigtable 复制指南
- cucumber-jvm - 未定义注解类型的属性值 Before
- java - 在 android studio 中运行代码时出现错误
- azure-ad-b2c - Azure B2C 的命名约定
- c# - RabbitMQ + .NET C#:发布的消息永远不会在同一个程序中使用,为什么?