[openstack-dev] [nova] Adding success message to succeed actions
John Garbutt
john at johngarbutt.com
Mon Jun 15 13:50:41 UTC 2015
On 15 June 2015 at 08:03, 郑振宇 <zheng.zhenyu at outlook.com> wrote:
> Hi All,
>
> When querying instance actions using API: nova instance-action-list, nova
> will response with a table show in below:
> root at controller:~# nova instance-action-list
> fcbba82f-60a1-4785-84f2-88bcf2da7e7e
> +--------+-------------------------------------------------+---------+----------------------------+
> | Action | Request_ID
> | Message | Start_Time |
> +--------+-------------------------------------------------+---------+----------------------------+
> | create | req-78e63d14-5177-4bcf-8d94-7a60af4f276f | - |
> 2015-06-11T07:36:20.000000 |
> +--------+-------------------------------------------------+---------+----------------------------+
> this instance has been successfully created and we can see that the message
> about this action is empty.
> root at controller:~# nova list
> +--------------------------------------------+--------+--------+------------+-------------+--------------------------+
> | ID | Name |
> Status | Task State | Power State | Networks |
> +--------------------------------------------+--------+--------+------------+-------------+--------------------------+
> | fcbba82f-60a1-4785-84f2-88bcf2da7e7e | test_1 | ACTIVE | -
> | Running | sample_network=20.20.0.7 |
> +--------------------------------------------+--------+--------+------------+-------------+--------------------------+
>
> On the other hand, when an action uses nova-scheduler and the action fails
> before or within nova-scheduler, the message of response table will also be
> empty. For example, when an instance failed to be created when there are no
> valid host (an oversized flavor has been chosen), querying instance action
> using nova instance-action-list will show the below table:
>
> root at controller:~# nova instance-action-list
> 101756c5-6d6b-412b-9cc6-1628fa7c0b9c
> +--------+-----------------------------------------------------+---------+----------------------------+
> | Action | Request_ID
> | Message | Start_Time |
> +--------+-----------------------------------------------------+---------+----------------------------+
> | create | req-88d93eeb-fad9-4039-8ba6-1d2f01a0605d | - |
> 2015-06-12T04:03:10.000000 |
> +--------+-----------------------------------------------------+---------+----------------------------+
>
> root at controller:~# nova list
> +-----------------------------------------------+------------+--------+------------+-------------+--------------------------+
> | ID | Name
> | Status | Task State | Power State | Networks |
> +----------------------------------------------+------------+--------+------------+-------------+--------------------------+
> | 101756c5-6d6b-412b-9cc6-1628fa7c0b9c | event_test | ERROR | - |
> NOSTATE | |
> | fcbba82f-60a1-4785-84f2-88bcf2da7e7e | test_1 | ACTIVE | - |
> Running | sample_network=20.20.0.7 |
> +----------------------------------------------+------------+--------+------------+-------------+--------------------------+
>
> but other failed action will have an error message:
>
> root at controller:/var/log/nova# nova instance-action-list
> 4525360f-75da-4d5e-bed7-a21e62212eab
> +--------+------------------------------------------+---------+----------------------------+
> | Action | Request_ID | Message | Start_Time
> |
> +--------+------------------------------------------+---------+----------------------------+
> | create | req-7be58a31-0243-43a1-8a21-45ad1e90d279 | - |
> 2015-06-12T07:38:05.000000 |
> | resize | req-120f3379-313c-471e-b6e5-4d8d6a7d1357 | Error |
> 2015-06-15T06:36:38.000000 |
> +--------+------------------------------------------+---------+----------------------------+
>
> As we can see from the above example, we can not identify such failed
> actions from others only using nova instance-action-list API.
>
> I suggest we adding success messages to succeed actions and/or adding error
> messages to the above mentioned failed actions to fix this problem.
This is a big known weak point in the Nova API right now.
My gut tells me we should add an extra status field for
Pending/Success/Failure, rather than making users parse a string
message.
This general area is being revisited as part of the "tasks" topic that
we mention here:
http://specs.openstack.org/openstack/nova-specs/priorities/liberty-priorities.html#priorities-without-a-clear-plan
It would be great if you could submit a backlog spec to describe this
issue, so we don't loose that when we draw up the bigger plans:
http://specs.openstack.org/openstack/nova-specs/specs/backlog/index.html
It would be even better if you are happy to help with Tasks effort.
Although we are not quite yet in a position which people can help out
with that, although I do hope we can get there soon.
Thanks,
John
More information about the OpenStack-dev
mailing list