)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add troubleshooting docs for \"no valid host found\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In bare metal case this error happens much more often, add it in"},{"line_number":10,"context_line":"admin guide as part of troubleshooting document."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I155b5c7160fbefe61c6a7bcdc5aa51452c8b8ab7"},{"line_number":13,"context_line":"Closes-bug: #1503735"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a8ffd7b_3d75d231","line":10,"updated":"2015-11-30 19:23:58.000000000","message":"You\u0027re adding a new troubleshooting document, so I think it is worth mentioning that here.\n\nEg, I\u0027m fine with s/part of/part of a new/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"}],"doc/source/deploy/troubleshooting.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1f1321710e95e72a6d45d0c0dddde8686763b578","unresolved":false,"context_lines":[{"line_number":7,"context_line":"No Valid Host Found Error"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes ``/var/log/nova/nova-conductor.log`` contains the following error::"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_a4a4784a","line":10,"updated":"2015-11-12 12:39:07.000000000","message":"Log location can be different, let\u0027s have something like:\n\n Sometimes the nova conductor log (e.g. ``/var/log/nova/nova-conductor.log``)","commit_id":"52e1d540b28679c54a42507e170077229fb4f820"},{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"8e3aef8053bbd457a38ae3b05b8821c466aeebba","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"\"No valid host was found\" means that the Nova Scheduler could not find a bare"},{"line_number":15,"context_line":"metal node suitable for booting the new instance."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"This in turn usually means some mismatch between resources that Nova expects"},{"line_number":18,"context_line":"to find and resources that Ironic advertised to Nova."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa80f949_cfe727ab","line":15,"updated":"2015-11-03 17:15:32.000000000","message":"Perhaps also mention that when a nova boot fails this error may also appear when doing a node show for that instance.","commit_id":"52e1d540b28679c54a42507e170077229fb4f820"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1f1321710e95e72a6d45d0c0dddde8686763b578","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"A few things should be checked in this case:"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"#. Introspection should have succeeded for you before, or you should have"},{"line_number":23,"context_line":"   entered the required Ironic node properties manually."},{"line_number":24,"context_line":"   For each node in ``ironic node-list`` use"},{"line_number":25,"context_line":"   ::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_4466ec2a","line":22,"updated":"2015-11-12 12:39:07.000000000","message":"ironic documentation prefers to call it inspection, not introspection","commit_id":"52e1d540b28679c54a42507e170077229fb4f820"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1f1321710e95e72a6d45d0c0dddde8686763b578","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. Make sure that enough nodes are in ``available`` state according to"},{"line_number":41,"context_line":"   ``ironic node-list``. Nodes in ``manageable`` state usually mean they"},{"line_number":42,"context_line":"   have failed introspection."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#. Make sure nodes you\u0027re going to deploy to are not in maintenance mode."},{"line_number":45,"context_line":"   Again, use ``ironic node-list`` to check. A node automatically going to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_6469b0f8","line":42,"updated":"2015-11-12 12:39:07.000000000","message":"the last sentence is only correct for tripleo, please drop it","commit_id":"52e1d540b28679c54a42507e170077229fb4f820"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"1f1321710e95e72a6d45d0c0dddde8686763b578","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    ironic node-set-maintenance \u003cIRONIC-NODE-UUID\u003e off"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. It takes some time for nodes information to propagate from Ironic to Nova"},{"line_number":52,"context_line":"   after introspection. Our tooling usually accounts for it, but if you did"},{"line_number":53,"context_line":"   some steps manually, there may be a period of time when nodes are not"},{"line_number":54,"context_line":"   available to Nova yet. Check that"},{"line_number":55,"context_line":"   ::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da85f559_046c6406","line":52,"updated":"2015-11-12 12:39:07.000000000","message":"ditto about \"our tooling\", it\u0027s for tripleo. our users should always wait","commit_id":"52e1d540b28679c54a42507e170077229fb4f820"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"fc1fac41728cf51f18aa0919e7bd49e0958883e3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"No Valid Host Found Error"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes ``/var/log/nova/nova-conductor.log`` contains the following error::"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"da85f559_13623e17","line":10,"updated":"2015-11-13 05:49:04.000000000","message":"this is hard-code path, how about \"nova conductor log file nove-conductor.log\"?","commit_id":"67291e2d9a3aa192dc26e03781f987c6e2017d91"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"6cc5d5348e805623cf1e788ee81a68e6bd6b619a","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    nova hypervisor-stats"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"   correctly shows total amount of resources in your system."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba8a016a_19dc76e3","line":56,"updated":"2015-11-17 08:41:38.000000000","message":"I just got another case in recenty devstack env today, check the nova and ironic logs[1], and found for such case, the conductor space is not enough, will break image downloading step, and raise same \"NoValidHost\" exception from nova, so for such case, we have to check ironic conductor log also, to see if there is such \"Error in deploy of node ...\" error messages, make sense?\n\nAnd thinking about this issue, should we pre-check the space before download the images, to evaluate and raise it immediately, not just raise exception if all space consumed, of cause this is another issue I think.\n\n[1] http://paste.openstack.org/show/479089/","commit_id":"54b943e4951e529174353899c5ca15ea116a92d7"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f02cbe7df1fa2bd57d8f193ffc8c33bd0ba38792","unresolved":false,"context_lines":[{"line_number":7,"context_line":"No Valid Host Found Error"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nove-conductor.log\" contains the following error::"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_efdf4b0a","line":10,"updated":"2015-11-23 14:56:12.000000000","message":"nova-conductor.log :)","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"0b8d9e819671e7021f232fe2ab2af21ae9d5cf74","unresolved":false,"context_lines":[{"line_number":7,"context_line":"No Valid Host Found Error"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nove-conductor.log\" contains the following error::"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_d950f9d6","line":10,"updated":"2015-11-23 22:25:02.000000000","message":"this error is also returned from the nova API, eg. in response to a \"nova show \u003cUUID\u003e\" call where the instance failed to boot due to this error.","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f02cbe7df1fa2bd57d8f193ffc8c33bd0ba38792","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"#. Inspection should have succeeded for you before, or you should have"},{"line_number":23,"context_line":"   entered the required Ironic node properties manually."},{"line_number":24,"context_line":"   For each node in ``ironic node-list`` use"},{"line_number":25,"context_line":"   ::"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    ironic node-show \u003cIRONIC-NODE-UUID\u003e"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_cf94c7e9","line":24,"updated":"2015-11-23 14:56:12.000000000","message":"For each node in \"available\" state maybe?","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"0b8d9e819671e7021f232fe2ab2af21ae9d5cf74","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    nova flavor-show \u003cFLAVOR NAME\u003e"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"   to compare."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"#. Make sure that enough nodes are in ``available`` state according to"},{"line_number":41,"context_line":"   ``ironic node-list``."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_795eadea","line":38,"updated":"2015-11-23 22:25:02.000000000","message":"Note that Nova also contains a set of \"exact match\" filters -- if the deployer is using those, then the flavor and the node properties must match exactly.\n\nYou may also want to include some description here for matching flavor extra specs \u003c\u003d\u003e node.properties[\u0027capabilities\u0027]","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"0b8d9e819671e7021f232fe2ab2af21ae9d5cf74","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    nova hypervisor-stats"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"   correctly shows total amount of resources in your system."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. Make sure you have enough space for ironic conductor to download the Image."},{"line_number":59,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_996111ab","line":56,"updated":"2015-11-23 22:25:02.000000000","message":"you can also check \"nova hypervisor-list\" to see the status of individual ironic nodes as reported to Nova. You can correlate the nova \"hypervisor hostname\" to the ironic node uuid.","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"1af15f9592a757a7ced1f3ec64d6acfb09e3db4c","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. Make sure you have enough space for ironic conductor to download the Image."},{"line_number":59,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":60,"context_line":"   No space left on device\" error messages in ironic conductor log, it means"},{"line_number":61,"context_line":"   the conductor space is not enough and breaks the image downloading step."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_cc96ee93","line":60,"updated":"2015-11-24 06:19:06.000000000","message":"think here the \"..No space left on device...\" just a special case, and I mean for all error in deploy node, will case same \"no valid host found error\", so can we have generic information here?\n\n    If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e:\n[Errno 28] ...\", error message in ironic conductor log, means the\nconductor run some special error during deploymeng, so check the\nlog careful to fix or work around and try again.\n\nAnd need native speaker to have render these words also.","commit_id":"9b48b358444af6b1b4af6e3e375d4f3440d7a3f0"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"d09901da776a792724f33f216e9ba0f346b8704f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   nodes as reported to Nova. And you can correlate the nova \"hypervisor"},{"line_number":63,"context_line":"   hostname\" to the ironic node uuid."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#. Make sure you have enough space for ironic conductor to download the Image."},{"line_number":66,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":67,"context_line":"   ...\" error messages in ironic conductor log, it means the conductor run"},{"line_number":68,"context_line":"   into some special error during deployment. So you can check the log"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a8ffd7b_66dde541","line":65,"updated":"2015-11-25 08:16:13.000000000","message":"how about:\n\n    Check Ironic conductor log carefuly to see more conductor side \nerrors which will be the root cause for \u0027No Valid Host Found\u0027::","commit_id":"f5644bdbe80c00b420a7405aa7cf644ed7970ccc"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Troubleshooting Ironic"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"No Valid Host Found Error"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nova-conductor.log\" or messages returned"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_fdb42ad5","line":7,"updated":"2015-11-30 19:23:58.000000000","message":"The message is \u0027No valid host was found\u0027 right? So maybe this might be clearer as \"Nova returns \u0027No valid host was found\u0027 Error\"","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nova-conductor.log\" or messages returned"},{"line_number":11,"context_line":"from nova API contains the following error::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_ddea86ac","line":11,"updated":"2015-11-30 19:23:58.000000000","message":"s/contains/contain/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"b90881b91d01771d00cf2fa01f5082a319971252","unresolved":false,"context_lines":[{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nova-conductor.log\" or messages returned"},{"line_number":11,"context_line":"from nova API contains the following error::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_e519de7a","line":11,"in_reply_to":"9a8ffd7b_bf19a324","updated":"2015-12-01 02:47:50.000000000","message":"the verb is associated with the noun \u0027messages\u0027 which is plural. So \u0027messages contain\u0027, not \u0027messages contains\u0027.\n\nWell, the log file is singular. So maybe it is more consistent to s/messages/a message/\n\nWell, \u0027response\u0027 might be better than \u0027message\u0027.\n\nThis is why it is so hard to write ;)","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"d6550da6f491141002e124ab21fc09dad9e6d32b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Sometimes nova conductor log file \"nova-conductor.log\" or messages returned"},{"line_number":11,"context_line":"from nova API contains the following error::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    NoValidHost: No valid host was found. There are not enough hosts available."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_bf19a324","line":11,"in_reply_to":"9a8ffd7b_ddea86ac","updated":"2015-12-01 02:37:05.000000000","message":"Just wondering why not contains here?","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"#. Inspection should have succeeded for you before, or you should have"},{"line_number":24,"context_line":"   entered the required Ironic node properties manually."},{"line_number":25,"context_line":"   For each node with available state in ``ironic node-list`` use"},{"line_number":26,"context_line":"   ::"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    ironic node-show \u003cIRONIC-NODE-UUID\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_e158088d","line":25,"updated":"2015-11-30 19:23:58.000000000","message":"if we can assume the user is using the latest client and the correct microversion, we can do \u0027ironic node-list --provision-state available\u0027 to get that list of nodes.","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":30,"context_line":"   and make sure that ``properties`` JSON field has valid values for keys"},{"line_number":31,"context_line":"   ``cpus``, ``cpu_arch``, ``memory_mb`` and ``local_gb``."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"#. Nova flavor that you are using does not exceed the Ironic node properties"},{"line_number":34,"context_line":"   above for a required number of nodes. Use"},{"line_number":35,"context_line":"   ::"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_3de4f2aa","line":33,"updated":"2015-11-30 19:23:58.000000000","message":"s/Nova/The Nova/\n\nI am wondering if \u0027match\u0027 is better than \u0027exceed\u0027","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":31,"context_line":"   ``cpus``, ``cpu_arch``, ``memory_mb`` and ``local_gb``."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"#. Nova flavor that you are using does not exceed the Ironic node properties"},{"line_number":34,"context_line":"   above for a required number of nodes. Use"},{"line_number":35,"context_line":"   ::"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    nova flavor-show \u003cFLAVOR NAME\u003e"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_5df8d649","line":34,"updated":"2015-11-30 19:23:58.000000000","message":"what do you mean by \u0027a required number of nodes\u0027? Do you mean the number of nodes corresponding to the user doing \u0027nova boot\u0027? If so, I think it might be fine to just say something like the flavor doesn\u0027t match any properties of the available ironic nodes.","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    nova flavor-show \u003cFLAVOR NAME\u003e"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   to compare. If you\u0027re using exact match filters in nova scheduler, please"},{"line_number":40,"context_line":"   make sure the flavor and the node properties must match exactly. Regarding"},{"line_number":41,"context_line":"   the extra specs in flavor, you should make sure they are mapping to"},{"line_number":42,"context_line":"   ``node.properties[\u0027capabilities\u0027]``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_a1a20099","line":39,"updated":"2015-11-30 19:23:58.000000000","message":"I personally don\u0027t care if you use \u0027Nova Scheduler\u0027 or \u0027nova scheduler\u0027 (one of these might be more \u0027right\u0027 but I don\u0027 t know) but I do think whatever you use should be consistent throughout.","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    nova flavor-show \u003cFLAVOR NAME\u003e"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   to compare. If you\u0027re using exact match filters in nova scheduler, please"},{"line_number":40,"context_line":"   make sure the flavor and the node properties must match exactly. Regarding"},{"line_number":41,"context_line":"   the extra specs in flavor, you should make sure they are mapping to"},{"line_number":42,"context_line":"   ``node.properties[\u0027capabilities\u0027]``."},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_e1aec880","line":40,"updated":"2015-11-30 19:23:58.000000000","message":"s/must //","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"   to compare. If you\u0027re using exact match filters in nova scheduler, please"},{"line_number":40,"context_line":"   make sure the flavor and the node properties must match exactly. Regarding"},{"line_number":41,"context_line":"   the extra specs in flavor, you should make sure they are mapping to"},{"line_number":42,"context_line":"   ``node.properties[\u0027capabilities\u0027]``."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#. Make sure that enough nodes are in ``available`` state according to"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_e1e568dc","line":41,"updated":"2015-11-30 19:23:58.000000000","message":"s/are mapping/map/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   ``node.properties[\u0027capabilities\u0027]``."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#. Make sure that enough nodes are in ``available`` state according to"},{"line_number":45,"context_line":"   ``ironic node-list``."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"#. Make sure nodes you\u0027re going to deploy to are not in maintenance mode."},{"line_number":48,"context_line":"   Again, use ``ironic node-list`` to check. A node automatically going to"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_614df8c3","line":45,"updated":"2015-11-30 19:23:58.000000000","message":"ironic node-list --provision-state available","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    ironic node-set-maintenance \u003cIRONIC-NODE-UUID\u003e off"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"#. It takes some time for nodes information to propagate from Ironic to Nova"},{"line_number":55,"context_line":"   after inspection. Check that"},{"line_number":56,"context_line":"   ::"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    nova hypervisor-stats"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_b6647ce5","line":55,"updated":"2015-11-30 19:23:58.000000000","message":"Does \u0027inspection\u0027 mean using ironic-inspection, or do you mean it to be a general \u0027inspection\u0027? It takes time for changes in ironic to propagate to nova, regardless of any ironic-inspection related stuff or other stuff, so I\u0027d remove \u0027after inspection\u0027 unless you specifically want to mention it for some reason.\n\nYou could reword it to something like \u0027After making changes to nodes in ironic, it takes time for those changes to propagate from ironic to nova. Check that::\u0027","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":60,"context_line":"   correctly shows total amount of resources in your system. You can also"},{"line_number":61,"context_line":"   check ``nova hypervisor-list`` to see the status of individual ironic"},{"line_number":62,"context_line":"   nodes as reported to Nova. And you can correlate the nova \"hypervisor"},{"line_number":63,"context_line":"   hostname\" to the ironic node uuid."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#. Check Ironic conductor log carefully to see more conductor side"},{"line_number":66,"context_line":"   errors which will be the root cause for \"No valid host was found\"."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_1636a8b4","line":63,"updated":"2015-11-30 19:23:58.000000000","message":"s/uuid/UUID/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":62,"context_line":"   nodes as reported to Nova. And you can correlate the nova \"hypervisor"},{"line_number":63,"context_line":"   hostname\" to the ironic node uuid."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#. Check Ironic conductor log carefully to see more conductor side"},{"line_number":66,"context_line":"   errors which will be the root cause for \"No valid host was found\"."},{"line_number":67,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":68,"context_line":"   ...\" error messages in Ironic conductor log, it means the conductor run"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_d656e0cd","line":65,"updated":"2015-11-30 19:23:58.000000000","message":"This check is if none of the above helps/works, right? If so, you might want to preface this with something like \u0027If none of the above helped, \u0027.\n\ns/to see more conductor side/to see if there are any conductor-related/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":63,"context_line":"   hostname\" to the ironic node uuid."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#. Check Ironic conductor log carefully to see more conductor side"},{"line_number":66,"context_line":"   errors which will be the root cause for \"No valid host was found\"."},{"line_number":67,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":68,"context_line":"   ...\" error messages in Ironic conductor log, it means the conductor run"},{"line_number":69,"context_line":"   into some special error during deployment. So you can check the log"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_d624a061","line":66,"updated":"2015-11-30 19:23:58.000000000","message":"s/will be/are/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"#. Check Ironic conductor log carefully to see more conductor side"},{"line_number":66,"context_line":"   errors which will be the root cause for \"No valid host was found\"."},{"line_number":67,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":68,"context_line":"   ...\" error messages in Ironic conductor log, it means the conductor run"},{"line_number":69,"context_line":"   into some special error during deployment. So you can check the log"},{"line_number":70,"context_line":"   carefully to fix or work around and then try again."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_96e61815","line":67,"updated":"2015-11-30 19:23:58.000000000","message":"s/is such/are any/","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"fd128be36eb0017f438227e616bb9f8ced50a941","unresolved":false,"context_lines":[{"line_number":66,"context_line":"   errors which will be the root cause for \"No valid host was found\"."},{"line_number":67,"context_line":"   If there is such \"Error in deploy of node \u003cIRONIC-NODE-UUID\u003e: [Errno 28]"},{"line_number":68,"context_line":"   ...\" error messages in Ironic conductor log, it means the conductor run"},{"line_number":69,"context_line":"   into some special error during deployment. So you can check the log"},{"line_number":70,"context_line":"   carefully to fix or work around and then try again."}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a8ffd7b_96cdb888","line":69,"updated":"2015-11-30 19:23:58.000000000","message":"s/run into some special/ran into a specific/\n\nunless you really meant that the error is \u0027special\u0027?","commit_id":"7a96a615c9a921fa06edc40144f4b39734ae793d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"bd0ba76af6ccf1068659b4d7e3255a7d183fa727","unresolved":false,"context_lines":[{"line_number":67,"context_line":"   if there are any conductor-related errors which are the root cause for"},{"line_number":68,"context_line":"   \"No valid host was found\". If there are any \"Error in deploy of node"},{"line_number":69,"context_line":"   \u003cIRONIC-NODE-UUID\u003e: [Errno 28] ...\" error messages in Ironic conductor"},{"line_number":70,"context_line":"   log, it means the conductor run into a special error during deployment."},{"line_number":71,"context_line":"   So you can check the log carefully to fix or work around and then try"},{"line_number":72,"context_line":"   again."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a8ffd7b_c1634edc","line":70,"updated":"2015-12-01 14:10:53.000000000","message":"nit: s/run/ran/","commit_id":"c30879be2e1acdcefe8819b6c69ec294320cb415"}]}
