- 查看日誌,與 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]
Flow 'volume_create_manager' (47f4261d-b806-421b-ba0b-3a8d632c5483)
transitioned into state 'RUNNING' 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 建立作準備。它們的源碼位置位於
|
/opt/stack/cinder/cinder
/volume/flows/manager
/create_volume.py
|
|
|
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.ExtractVolumeRefTask;volume:create'
(3490974d-592b-43dd-a1c2-b27dc16810a6) transitioned into state 'RUNNING' 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.ExtractVolumeRefTask;volume:create'
(3490974d-592b-43dd-a1c2-b27dc16810a6) transitioned into state 'SUCCESS' 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.OnFailureRescheduleTask;volume:create'
(449b4b47-d536-4216-8881-21e1b4e7ef8b) transitioned into state 'RUNNING' 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.OnFailureRescheduleTask;volume:create'
(449b4b47-d536-4216-8881-21e1b4e7ef8b) transitioned into state 'SUCCESS' 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.ExtractVolumeSpecTask;volume:create'
(d66351f6-0906-4800-83af-c37087a8ef20) transitioned into state 'RUNNING' 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.ExtractVolumeSpecTask;volume:create'
(d66351f6-0906-4800-83af-c37087a8ef20) transitioned into state 'SUCCESS' 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.NotifyVolumeActionTask;volume:create, create.start'
(c8c7b578-72c1-4bcb-9723-ec31b53c9097) transitioned into state 'RUNNING' 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.NotifyVolumeActionTask;volume:create, create.start'
(c8c7b578-72c1-4bcb-9723-ec31b53c9097) transitioned into state 'SUCCESS' 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.CreateVolumeFromSpecTask;volume:create'
(3fa20d37-5784-42a6-888f-6d801ef59072) transitioned into state 'RUNNING' 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-...]
Volume 1ab8967e-45fb-4ff4-941f-2f1293bdc031: being created as raw with specification:
{'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 lvcreate -T -V 1g -n volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031
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.CreateVolumeFromSpecTask;volume:create'
(3fa20d37-5784-42a6-888f-6d801ef59072) transitioned into state 'SUCCESS' 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 |
+--------------------------------------+-----------+-------+------+-------------+----------+-------------+
| 1ab8967e-45fb-4ff4-941f-2f1293bdc031 | 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 /dev/stack-volumes-lvmdriver-1/volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031
LV Name volume-1ab8967e-45fb-4ff4-941f-2f1293bdc031
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 1.00 GiB
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.CreateVolumeOnFinishTask;volume:create, create.end'
(7b0b8d49-a629-4cde-a58b-f2d465399eec) transitioned into state 'RUNNING' 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.CreateVolumeOnFinishTask;volume:create, create.end'
(7b0b8d49-a629-4cde-a58b-f2d465399eec) transitioned into state 'SUCCESS' 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]
Flow 'volume_create_manager' (47f4261d-b806-421b-ba0b-3a8d632c5483)
transitioned into state 'SUCCESS' from state 'RUNNING'
{{(pid=30229) _flow_receiver /usr/local/lib/python2.7/dist-packages/taskflow/listeners/logging.py:145
|
|
- 查看dashboard
|
![](http://static.javashuo.com/static/loading.gif) |