描述 详细
查看日志,与 cinder-api 和 cinder-scheduler 执行方式类似,cinder-volume 也启动了一个 Flow 来完成 volume 创建工作,Flow 的名称为 volume_create_manager。
Jun 11 16 :51 :15 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
( 47 f4261d - b806 -421 b - ba0b -3 a8d632c5483 )
transitioned into state from state 'PENDING'
{{(pid=30229) _flow_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:145
volume_create_manager 首先执行 ExtractVolumeRefTask, OnFailureRescheduleTask, ExtractVolumeSpecTask, NotifyVolumeActionTask 来为 volume 创建做准备。它们的源码位置位于
Jun 11 16 :51 :15 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 3490974 d -592 b -43 dd - a1c2 - b27dc16810a6 ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 3490974 d -592 b -43 dd - a1c2 - b27dc16810a6 ) transitioned into state from state 'RUNNING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
Extracts volume reference for given volume id
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 449 b4b47 - d536 -4216-8881-21 e1b4e7ef8b ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 449 b4b47 - d536 -4216-8881-21 e1b4e7ef8b ) transitioned into state ' from state 'RUNNING' ...
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
Triggers a rescheduling request to be sent when reverting occurs.
在恢复发生时,触发重新scheduling请求
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( d66351f6 -0906-4800-83 af - c37087a8ef20 ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( d66351f6 -0906-4800-83 af - c37087a8ef20 ) transitioned into state from state 'RUNNING' ...
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
Extracts a spec of a volume to be created into a common structure
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create, create.start'
( c8c7b578 -72 c1 -4 bcb -9723- ec31b53c9097 ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create, create.start'
( c8c7b578 -72 c1 -4 bcb -9723- ec31b53c9097 ) transitioned into state from state 'RUNNING' ...
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
Performs a notification about the given volume when called
接下来 CreateVolumeFromSpecTask 执行 volume 创建任务Creates a volume from a provided specification
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 3 fa20d37 -5784-42 a6 -888 f -6 d801ef59072 ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :16 controller cinder - volume [29999]:
INFO cinder . volume . flows . manager . create_volume [None req-a6c9fadb-0364-...]
{'status': u'creating', 'volume_size': 1, 'volume_name': u'volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031'}
Jun 11 16 :51 :16 controller cinder - volume [29999]:
DEBUG oslo_concurrency . processutils [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Running cmd ( subprocess ) : sudo cinder - rootwrap / etc / cinder / rootwrap . conf env LC_ALL = C
stack - volumes - lvmdriver -1/ stack - volumes - lvmdriver -1- pool
{{(pid=30229) execute /usr/local/lib/python2.7/dist-packages/oslo_concurrency/processutils.py:372
Jun 11 16 :51 :29 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create'
( 3 fa20d37 -5784-42 a6 -888 f -6 d801ef59072 ) transitioned into state from state 'RUNNING' ...
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
因为 volume provider 为 LVM, CreateVolumeFromSpecTask 通过 lvcreate 命令在 VG stack-volumes-lvmdriver-1 中创建了一个 1G 的 LV,cinder-volume 将这个 LV 作为volume。 新创建的 LV 命名为“volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031”,其格式为“volume-<volume ID>”。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
root@controller:~# cinder list
+--------------------------------------+-----------+-------+------+-------------+----------+-------------+
| ID | Status | Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+-------+------+-------------+----------+-------------+
| | available | vol-1 | 1 | lvmdriver-1 | false | |
+--------------------------------------+-----------+-------+------+-------------+----------+-------------+
root@controller:~# lvdisplay
--- Logical volume ---
LV Name stack-volumes-lvmdriver-1-pool
VG Name stack-volumes-lvmdriver-1
LV UUID ww01ba-CepW-YeCG-RHfk-g0w4-oZfk-NQlmq9
LV Write Access read/write
LV Creation host, time controller, 2019-06-08 12:16:27 +0800
LV Pool metadata stack-volumes-lvmdriver-1-pool_tmeta
LV Pool data stack-volumes-lvmdriver-1-pool_tdata
LV Status available
# open 2
LV Size 22.80 GiB
Allocated pool data 0.00%
Allocated metadata 10.51%
Current LE 5837
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:2
--- Logical volume ---
LV Path volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031
LV Name
VG Name stack-volumes-lvmdriver-1
LV UUID YeeBPY-aEWW-lTwO-zMua-l7b8-edVu-Q1Sdrz
LV Write Access read/write
LV Creation host, time controller, 2019-06-11 16:51:25 +0800
LV Pool name stack-volumes-lvmdriver-1-pool
LV Status available
# open 0
LV Size
Mapped size 0.00%
Current LE 256
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:4
第一个Logical volume是安装完devstack就带的
最后,CreateVolumeOnFinishTask 完成扫尾工作On successful volume creation this will perform final volume actions
Jun 11 16 :51 :29 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create, create.end'
( 7 b0b8d49 - a629 -4 cde - a58b - f2d465399eec ) transitioned into state from state 'PENDING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:194
Jun 11 16 :51 :29 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
Task 'cinder.volume.flows.manager.create_volume. ;volume:create, create.end'
( 7 b0b8d49 - a629 -4 cde - a58b - f2d465399eec ) transitioned into state from state 'RUNNING'
{{(pid=30229) _task_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:183
至此,volume 成功创建,Flow volume_create_manager 结束。
Jun 11 16 :51 :29 controller cinder - volume [29999]:
DEBUG cinder . volume . manager [None req-a6c9fadb-0364-43da-bbf0-d333c549aa74 admin None]
( 47 f4261d - b806 -421 b - ba0b -3 a8d632c5483 )
transitioned into state from state 'RUNNING'
{{(pid=30229) _flow_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:145
查看dashboard
转载于:https://www.cnblogs.com/LeisureZhao/p/11185447.html