)]}'
{"doc/source/dev/manual_install.rst":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"d1609d57fb97d747f89e57f7d568aac3bcbbde97","unresolved":false,"context_lines":[{"line_number":161,"context_line":"to install and configure Trove guestagent in the instance."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"NOTE: For now there is no way to pass valid trove-guestagent.conf to instances created with cloudinit."},{"line_number":164,"context_line":"So recommended way is to generate proper trove-guestagent.conf in cloudinit script."},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"As alternative one may consider creating custom image with pre-installed and pre-configured Trove in it."},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAASn%2F%2Fmbo%3D","line":164,"updated":"2013-09-02 18:04:23.000000000","message":"https://github.com/openstack/trove/commit/a1f7bae5f07c443f8cd6edcae234dda99fb7f234\n\nYou can pass in the guestagent config.","commit_id":"3e1bda7afafe2468b7f116531270554f1b2cf440"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"95bdf1812c92e7a2c31ece469f058dec55adfdc9","unresolved":false,"context_lines":[{"line_number":43,"context_line":"4.1 Gather info"},{"line_number":44,"context_line":"------------------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"TODO: Requirements below (e.g. admin credentials) are obviously excessive. Try to use regular account."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The following information about existing environment is required:"},{"line_number":49,"context_line":"- Keystone host and port(s)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAASn%2F%2FgYk%3D","line":46,"updated":"2013-09-04 00:18:09.000000000","message":"Should this be a markup comment?","commit_id":"8bcfc8129b531192b14caa3c306293c677853bb5"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"95bdf1812c92e7a2c31ece469f058dec55adfdc9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"- Cinder URL"},{"line_number":53,"context_line":"- Swift URL"},{"line_number":54,"context_line":"- RabbitMQ URL, user Id, password"},{"line_number":55,"context_line":"- Trove\u0027s MySQL connection string"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"4.2 Install dependencies"},{"line_number":58,"context_line":"------------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAASn%2F%2FgYo%3D","line":55,"updated":"2013-09-04 00:18:09.000000000","message":"These are not showing up as a list","commit_id":"8bcfc8129b531192b14caa3c306293c677853bb5"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"95bdf1812c92e7a2c31ece469f058dec55adfdc9","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"4.2 Install dependencies"},{"line_number":58,"context_line":"------------------------"},{"line_number":59,"context_line":"- On local PC:"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"$sudo apt-get install build-essential libxslt1-dev qemu-utils mysql-client git python-dev python-pexpect python-mysqldb"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAASn%2F%2FgX8%3D","line":59,"updated":"2013-09-04 00:18:09.000000000","message":"id prefer to see these as sub headings like dev/install.html, and below put the code in a code block","commit_id":"8bcfc8129b531192b14caa3c306293c677853bb5"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"95bdf1812c92e7a2c31ece469f058dec55adfdc9","unresolved":false,"context_lines":[{"line_number":58,"context_line":"------------------------"},{"line_number":59,"context_line":"- On local PC:"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"$sudo apt-get install build-essential libxslt1-dev qemu-utils mysql-client git python-dev python-pexpect python-mysqldb"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- Some packages in Ubuntu repo are outdated -- so install latest from sources"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"AAAASn%2F%2FgX4%3D","line":61,"updated":"2013-09-04 00:18:09.000000000","message":"code block. this goes for all the steps here","commit_id":"8bcfc8129b531192b14caa3c306293c677853bb5"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"3e8091ac5d561d08a4c412622e8b7081b3592b95","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    #wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Convert downloaded image into uncompressed qcow2::"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    #qemu-img convert -O qcow2 precise.qcow2 precise-server-cloudimg-amd64-disk1.img"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"* Upload converted image into Glance::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAASn%2F%2FOzY%3D","line":197,"updated":"2013-09-09 16:23:04.000000000","message":"Seems sequence of parameters is wrong","commit_id":"c979652fcdc2aba7af891b2c4920583fc81ac823"},{"author":{"_account_id":8601,"name":"Dmitriy Ukhlov","email":"dukhlov@mirantis.com","username":"dukhlov"},"change_message_id":"3e8091ac5d561d08a4c412622e8b7081b3592b95","unresolved":false,"context_lines":[{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Convert downloaded image into uncompressed qcow2::"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    #qemu-img convert -O qcow2 precise.qcow2 precise-server-cloudimg-amd64-disk1.img"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"* Upload converted image into Glance::"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"AAAASn%2F%2FOy0%3D","line":198,"updated":"2013-09-09 16:23:04.000000000","message":"#qemu-img convert -O qcow2 precise-server-cloudimg-amd64-disk1.img precise.qcow2\n\nthis works for me. Please check","commit_id":"c979652fcdc2aba7af891b2c4920583fc81ac823"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Objectives"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This document is aimed to provide step-by-step guide for manual installation of Trove with existing OpenStack"},{"line_number":11,"context_line":"environment for development purposes."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9VU%3D","line":10,"updated":"2013-09-16 16:07:24.000000000","message":"...to provide a step-by-step guide...\n\n...with an existing Openstack environment...","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Objectives"},{"line_number":8,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"This document is aimed to provide step-by-step guide for manual installation of Trove with existing OpenStack"},{"line_number":11,"context_line":"environment for development purposes."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F69I%3D","line":10,"in_reply_to":"AAAAS3%2F%2F9VU%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This document is aimed to provide step-by-step guide for manual installation of Trove with existing OpenStack"},{"line_number":11,"context_line":"environment for development purposes."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9VQ%3D","line":13,"updated":"2013-09-16 16:07:24.000000000","message":"This document...","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This document is aimed to provide step-by-step guide for manual installation of Trove with existing OpenStack"},{"line_number":11,"context_line":"environment for development purposes."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F69E%3D","line":13,"in_reply_to":"AAAAS3%2F%2F9VQ%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9UY%3D","line":15,"updated":"2013-09-16 16:07:24.000000000","message":"This document...\n\nI think we can spare the room and spell out \"high availability\" here.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The document does not cover OpenStack setup."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F69A%3D","line":15,"in_reply_to":"AAAAS3%2F%2F9UY%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9T8%3D","line":17,"updated":"2013-09-16 16:07:24.000000000","message":"\"of many\" doesn\u0027t need to be called out as a parenthetical here.\n\nI think \"get things running\" reads better than \"make things running.\"","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The document does not cover production-specific moments like HA or security."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F684%3D","line":17,"in_reply_to":"AAAAS3%2F%2F9T8%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Requirements"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9TY%3D","line":20,"updated":"2013-09-16 16:07:24.000000000","message":"\"may\" is hypothetical, but \"certainly will\" is definite. Let\u0027s keep once sense.\n\nBut since Trove is under active development, and this document is part of Trove, I think this disclaimer is null anyway. If the steps change, so should this document. I say remove this line entirely.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Requirements"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F68s%3D","line":20,"in_reply_to":"AAAAS3%2F%2F9JI%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":7850,"name":"Kevin Conway","email":"kevinjacobconway@gmail.com","username":"kevinconway"},"change_message_id":"68cb6d36f90669df2e782c64bb9b4a28837790f9","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Requirements"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9JI%3D","line":20,"in_reply_to":"AAAAS3%2F%2F9TY%3D","updated":"2013-09-16 16:14:59.000000000","message":"\u003e Let\u0027s keep one sense.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The document does not cover all possible configurations. It only provides one (of many) possible way to make things"},{"line_number":18,"context_line":"running."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Since Trove is under active development the document may (and it certainly will) get outdated."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Requirements"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F68w%3D","line":20,"in_reply_to":"AAAAS3%2F%2F9TY%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Requirements"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9TQ%3D","line":26,"updated":"2013-09-16 16:07:24.000000000","message":"\"freshly\" is the adverb form to modify \"installed\".\n\n...services. This will be referred to as the \"local PC\".","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Requirements"},{"line_number":24,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F68k%3D","line":26,"in_reply_to":"AAAAS3%2F%2F9TQ%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9S4%3D","line":28,"updated":"2013-09-16 16:07:24.000000000","message":"Openstack Grizzly environment.\n\nIf we\u0027re not certain about Devstack\u0027s feasibility here, and we haven\u0027t tested it, it\u0027s not worth mentioning at all.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F68Q%3D","line":28,"in_reply_to":"AAAAS3%2F%2F9S4%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Ss%3D","line":29,"updated":"2013-09-16 16:07:24.000000000","message":"All of Grizzly\u0027s services...from the local PC.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":26,"context_line":"- PC with fresh installed Ubuntu 12.04 to run Trove services (Will be referred as \"local PC\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F68E%3D","line":29,"in_reply_to":"AAAAS3%2F%2F9Ss%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Sg%3D","line":31,"updated":"2013-09-16 16:07:24.000000000","message":"- AMQP service provided by RabbitMQ.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":28,"context_line":"- Running Grizzly environment (DevStack may be ok but has not been tested)."},{"line_number":29,"context_line":"  All Grizzly\u0027s services must be accessible directly from local PC"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F678%3D","line":31,"in_reply_to":"AAAAS3%2F%2F9Sg%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9SU%3D","line":33,"updated":"2013-09-16 16:07:24.000000000","message":"...from the local PC.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- RabbitMQ as AMPQ implementation"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F674%3D","line":33,"in_reply_to":"AAAAS3%2F%2F9SU%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Trove\u0027s database must be accessible from VMs"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9R0%3D","line":35,"updated":"2013-09-16 16:07:24.000000000","message":"Please spell out virtual machines at least once. This appears to be the first use of it; after that it\u0027s appropriate to abbreviate it.\nIt may also help to explain \"accessible\" here. Do you mean from the context of network availability?","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- MySQL database for Trove\u0027s internal needs, accessible from local PC"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Trove\u0027s database must be accessible from VMs"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F67o%3D","line":35,"in_reply_to":"AAAAS3%2F%2F9R0%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Trove\u0027s database must be accessible from VMs"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- VMs must be accessible from local PC (same network)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Rg%3D","line":37,"updated":"2013-09-16 16:07:24.000000000","message":"Again, is this a network concern? I think it\u0027s worth explaining.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- Though it is not required by OpenStack itself, all OpenStack services must be accessible from VMs"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- Trove\u0027s database must be accessible from VMs"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- VMs must be accessible from local PC (same network)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F67c%3D","line":37,"in_reply_to":"AAAAS3%2F%2F9Rg%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    # sudo apt-get install build-essential libxslt1-dev qemu-utils mysql-client git python-dev python-pexpect python-mysqldb"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* Some packages in Ubuntu repo are outdated -- so install latest from sources::"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    # cd ~"},{"line_number":77,"context_line":"    # wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.8.tar.gz"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9RE%3D","line":74,"updated":"2013-09-16 16:07:24.000000000","message":"...outdated, so install their latest version from source::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    # sudo apt-get install build-essential libxslt1-dev qemu-utils mysql-client git python-dev python-pexpect python-mysqldb"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* Some packages in Ubuntu repo are outdated -- so install latest from sources::"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    # cd ~"},{"line_number":77,"context_line":"    # wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.8.tar.gz"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F67Y%3D","line":74,"in_reply_to":"AAAAS3%2F%2F9RE%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # cd ~"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* Note \u0027--user\u0027 above -- we installed packages in user\u0027s home dir, in #HOME/.local/bin, so we need to add it to path::"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    # echo PATH\u003d\"$HOME/.local/bin:$PATH\" \u003e\u003e ~/.profile"},{"line_number":93,"context_line":"    # . ~/.profile"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Q0%3D","line":90,"updated":"2013-09-16 16:07:24.000000000","message":"I think that should be $HOME.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # cd ~"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"* Note \u0027--user\u0027 above -- we installed packages in user\u0027s home dir, in #HOME/.local/bin, so we need to add it to path::"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    # echo PATH\u003d\"$HOME/.local/bin:$PATH\" \u003e\u003e ~/.profile"},{"line_number":93,"context_line":"    # . ~/.profile"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F67U%3D","line":90,"in_reply_to":"AAAAS3%2F%2F9Q0%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":142,"context_line":"-----------------"},{"line_number":143,"context_line":"Prepare OpenStack"},{"line_number":144,"context_line":"-----------------"},{"line_number":145,"context_line":"* Create a tenant \u0027trove\u0027 and user \u0027trove\u0027 with password \u0027trove\u0027 to be used with Trove. (You can use values of your choice)::"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # keystone --os-username \u003cOpenStackAdminUsername\u003e --os-password \u003cOpenStackAdminPassword\u003e"},{"line_number":148,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9QU%3D","line":145,"updated":"2013-09-16 16:07:24.000000000","message":"...used with Trove. These values are not required to all be \u0027trove\u0027; you can instead choose your own values for the name, tenant, and password.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":142,"context_line":"-----------------"},{"line_number":143,"context_line":"Prepare OpenStack"},{"line_number":144,"context_line":"-----------------"},{"line_number":145,"context_line":"* Create a tenant \u0027trove\u0027 and user \u0027trove\u0027 with password \u0027trove\u0027 to be used with Trove. (You can use values of your choice)::"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # keystone --os-username \u003cOpenStackAdminUsername\u003e --os-password \u003cOpenStackAdminPassword\u003e"},{"line_number":148,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F67M%3D","line":145,"in_reply_to":"AAAAS3%2F%2F9QU%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"},{"line_number":163,"context_line":"        service-create --name trove --type database"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Create endpoint that points to localhost (Pay attention on quotes (\u0027))::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # keystone --os-username \u003cOpenStackAdminUsername\u003e --os-password \u003cOpenStackAdminPassword\u003e"},{"line_number":168,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9QA%3D","line":165,"updated":"2013-09-16 16:07:24.000000000","message":"* Create an endpoint that points to localhost. Pay attention to the use of quotes (\u0027)::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"},{"line_number":163,"context_line":"        service-create --name trove --type database"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Create endpoint that points to localhost (Pay attention on quotes (\u0027))::"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    # keystone --os-username \u003cOpenStackAdminUsername\u003e --os-password \u003cOpenStackAdminPassword\u003e"},{"line_number":168,"context_line":"        --os-tenant-name \u003cOpenStackAdminTenant\u003e --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66g%3D","line":165,"in_reply_to":"AAAAS3%2F%2F9QA%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Samples of the above are available in $TROVE/trove/etc/trove/ as *.conf.sample files."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"If vanilla Ubuntu image used as a source image for Trove instances then it is cloudinit script\u0027s responsibility"},{"line_number":191,"context_line":"to install and run Trove guestagent in the instance."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"As alternative one may consider creating custom image with pre-installed and pre-configured Trove in it."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Pw%3D","line":190,"updated":"2013-09-16 16:07:24.000000000","message":"If a vanilla Ubuntu image...instances, then it is the cloudinit script\u0027s reponsibility","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Samples of the above are available in $TROVE/trove/etc/trove/ as *.conf.sample files."},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"If vanilla Ubuntu image used as a source image for Trove instances then it is cloudinit script\u0027s responsibility"},{"line_number":191,"context_line":"to install and run Trove guestagent in the instance."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"As alternative one may consider creating custom image with pre-installed and pre-configured Trove in it."}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66c%3D","line":190,"in_reply_to":"AAAAS3%2F%2F9Pw%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":190,"context_line":"If vanilla Ubuntu image used as a source image for Trove instances then it is cloudinit script\u0027s responsibility"},{"line_number":191,"context_line":"to install and run Trove guestagent in the instance."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"As alternative one may consider creating custom image with pre-installed and pre-configured Trove in it."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"-------------"},{"line_number":196,"context_line":"Prepare image"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Pk%3D","line":193,"updated":"2013-09-16 16:07:24.000000000","message":"As an alternative, you may consider creating a custom image...","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":190,"context_line":"If vanilla Ubuntu image used as a source image for Trove instances then it is cloudinit script\u0027s responsibility"},{"line_number":191,"context_line":"to install and run Trove guestagent in the instance."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"As alternative one may consider creating custom image with pre-installed and pre-configured Trove in it."},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"-------------"},{"line_number":196,"context_line":"Prepare image"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66U%3D","line":193,"in_reply_to":"AAAAS3%2F%2F9Pk%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":195,"context_line":"-------------"},{"line_number":196,"context_line":"Prepare image"},{"line_number":197,"context_line":"-------------"},{"line_number":198,"context_line":"* As source image for trove instances we will use cloud-init - enabled vanilla Ubuntu image::"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    # wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Pc%3D","line":198,"updated":"2013-09-16 16:07:24.000000000","message":"* As the source image for trove instances, we will use a cloudinit-enabled vanilla Ubuntu image::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":195,"context_line":"-------------"},{"line_number":196,"context_line":"Prepare image"},{"line_number":197,"context_line":"-------------"},{"line_number":198,"context_line":"* As source image for trove instances we will use cloud-init - enabled vanilla Ubuntu image::"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    # wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66I%3D","line":198,"in_reply_to":"AAAAS3%2F%2F9Pc%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    # wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Convert downloaded image into uncompressed qcow2::"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # qemu-img convert -O qcow2 precise-server-cloudimg-amd64-disk1.img precise.qcow2"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9PM%3D","line":202,"updated":"2013-09-16 16:07:24.000000000","message":"* Convert the downloaded image to uncompressed qcow2::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    # wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Convert downloaded image into uncompressed qcow2::"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # qemu-img convert -O qcow2 precise-server-cloudimg-amd64-disk1.img precise.qcow2"},{"line_number":205,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66E%3D","line":202,"in_reply_to":"AAAAS3%2F%2F9PM%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # qemu-img convert -O qcow2 precise-server-cloudimg-amd64-disk1.img precise.qcow2"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* Upload converted image into Glance::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    # glance --os-username trove --os-password trove --os-tenant-name trove --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"},{"line_number":209,"context_line":"        image-create --name trove-image --public --container-format ovf --disk-format qcow2 --owner trove \u003c precise.qcow2"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9PI%3D","line":206,"updated":"2013-09-16 16:07:24.000000000","message":"* Upload the converted image to Glance::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # qemu-img convert -O qcow2 precise-server-cloudimg-amd64-disk1.img precise.qcow2"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* Upload converted image into Glance::"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"    # glance --os-username trove --os-password trove --os-tenant-name trove --os-auth-url http://\u003cKeystoneIp\u003e:35357/v2.0"},{"line_number":209,"context_line":"        image-create --name trove-image --public --container-format ovf --disk-format qcow2 --owner trove \u003c precise.qcow2"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F66A%3D","line":206,"in_reply_to":"AAAAS3%2F%2F9PI%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":211,"context_line":"----------------"},{"line_number":212,"context_line":"Prepare database"},{"line_number":213,"context_line":"----------------"},{"line_number":214,"context_line":"* Initialize database::"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e db_wipe trove_test.sqlite mysql fake"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Os%3D","line":214,"updated":"2013-09-16 16:07:24.000000000","message":"* Initialize the database::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":211,"context_line":"----------------"},{"line_number":212,"context_line":"Prepare database"},{"line_number":213,"context_line":"----------------"},{"line_number":214,"context_line":"* Initialize database::"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e db_wipe trove_test.sqlite mysql fake"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F654%3D","line":214,"in_reply_to":"AAAAS3%2F%2F9Os%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e db_wipe trove_test.sqlite mysql fake"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* Setup trove to use uploaded image (Enter the following in a single line, note quotes (\u0027) and backquotes(`))::"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e image_update mysql"},{"line_number":221,"context_line":"        `nova --os-username trove --os-password trove --os-tenant-name trove"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9OQ%3D","line":218,"updated":"2013-09-16 16:07:24.000000000","message":"...to use the uploaded image. Enter the following...and backquotes (`)::\n\nThe second sentence can stand on its own, it\u0027s not an aside.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e db_wipe trove_test.sqlite mysql fake"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"* Setup trove to use uploaded image (Enter the following in a single line, note quotes (\u0027) and backquotes(`))::"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"    # trove-manage --config-file\u003d\u003cPathToTroveConf\u003e image_update mysql"},{"line_number":221,"context_line":"        `nova --os-username trove --os-password trove --os-tenant-name trove"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65s%3D","line":218,"in_reply_to":"AAAAS3%2F%2F9OQ%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    # trove-taskmanager --config-file\u003d\u003cPathToTroveTaskmanagerConf\u003e \u0026"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Try executing trove command -- get instance list (The following two commands must be executed one after another quick -- consider using a script)::"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    # trove-cli --username\u003dtrove --apikey\u003dtrove --tenant\u003dtrove --auth_url\u003dhttp://\u003cKeystoneIp\u003e:35357/v2.0/tokens auth login"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9N4%3D","line":235,"updated":"2013-09-16 16:07:24.000000000","message":"* Try executing a trove command, like get-instance. You must first issue an \"auth login\" to obtain an API key.::","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    # trove-taskmanager --config-file\u003d\u003cPathToTroveTaskmanagerConf\u003e \u0026"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"* Try executing trove command -- get instance list (The following two commands must be executed one after another quick -- consider using a script)::"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    # trove-cli --username\u003dtrove --apikey\u003dtrove --tenant\u003dtrove --auth_url\u003dhttp://\u003cKeystoneIp\u003e:35357/v2.0/tokens auth login"},{"line_number":238,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65U%3D","line":235,"in_reply_to":"AAAAS3%2F%2F9N4%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":243,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"-------------"},{"line_number":246,"context_line":"No instance IP\u0027s in the output of \u0027trove-cli instance get\u0027"},{"line_number":247,"context_line":"-------------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"If Trove instance is created properly, is in ACTIVE state and is known for sure to work"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9Nc%3D","line":246,"updated":"2013-09-16 16:07:24.000000000","message":"\"IPs\" is the plural of IP.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":243,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"-------------"},{"line_number":246,"context_line":"No instance IP\u0027s in the output of \u0027trove-cli instance get\u0027"},{"line_number":247,"context_line":"-------------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"If Trove instance is created properly, is in ACTIVE state and is known for sure to work"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65M%3D","line":246,"in_reply_to":"AAAAS3%2F%2F9Nc%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":246,"context_line":"No instance IP\u0027s in the output of \u0027trove-cli instance get\u0027"},{"line_number":247,"context_line":"-------------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"If Trove instance is created properly, is in ACTIVE state and is known for sure to work"},{"line_number":250,"context_line":"but there is no IP addresses of the instance in the output of \u0027trove-cli instance get\u0027"},{"line_number":251,"context_line":"then make sure the following lines are added to trove.conf::"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9NI%3D","line":249,"updated":"2013-09-16 16:07:24.000000000","message":"...is in the state ACTIVE, and is known for sure to be working, but there are no IP addresses for the instance in the output of \u0027trove-cli instance get \u003cid\u003e\u0027, then make sure...","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":246,"context_line":"No instance IP\u0027s in the output of \u0027trove-cli instance get\u0027"},{"line_number":247,"context_line":"-------------"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"If Trove instance is created properly, is in ACTIVE state and is known for sure to work"},{"line_number":250,"context_line":"but there is no IP addresses of the instance in the output of \u0027trove-cli instance get\u0027"},{"line_number":251,"context_line":"then make sure the following lines are added to trove.conf::"},{"line_number":252,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65I%3D","line":249,"in_reply_to":"AAAAS3%2F%2F9NI%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":253,"context_line":"    add_addresses \u003d True"},{"line_number":254,"context_line":"    network_label_regex \u003d ^NETWORK_NAME$"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"where NETWORK_NAME should be replaced with real name of nova network to which the instance is connected to."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"A possible way to find out network name is to execute \u0027nova list\u0027 command. The output will list"},{"line_number":259,"context_line":"all OpenStack instances in the tenant and will include information about networks in the form::"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9NA%3D","line":256,"updated":"2013-09-16 16:07:24.000000000","message":"...of the nova network to which the instance is connected.","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":253,"context_line":"    add_addresses \u003d True"},{"line_number":254,"context_line":"    network_label_regex \u003d ^NETWORK_NAME$"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"where NETWORK_NAME should be replaced with real name of nova network to which the instance is connected to."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"A possible way to find out network name is to execute \u0027nova list\u0027 command. The output will list"},{"line_number":259,"context_line":"all OpenStack instances in the tenant and will include information about networks in the form::"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65E%3D","line":256,"in_reply_to":"AAAAS3%2F%2F9NA%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":1375,"name":"Ed Cranford","email":"ed.cranford@gmail.com","username":"ed--cranford"},"change_message_id":"c8ac5cf0fd1e40a78cba9a5c5debfd94bc351d50","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"where NETWORK_NAME should be replaced with real name of nova network to which the instance is connected to."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"A possible way to find out network name is to execute \u0027nova list\u0027 command. The output will list"},{"line_number":259,"context_line":"all OpenStack instances in the tenant and will include information about networks in the form::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    NETWORK_NAME\u003dIP_ADDRESS"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F9MY%3D","line":258,"updated":"2013-09-16 16:07:24.000000000","message":"One possible way to find the nova network name is to execute the \u0027nova list\u0027 command. The output will list all Openstack instances for the tenant, including nework information. Look for\n\n    NETWORK_NAME\u003dIP_ADDRESS","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"93b7314e19090d871f435c1c9b54c4adcf5a2733","unresolved":false,"context_lines":[{"line_number":255,"context_line":""},{"line_number":256,"context_line":"where NETWORK_NAME should be replaced with real name of nova network to which the instance is connected to."},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"A possible way to find out network name is to execute \u0027nova list\u0027 command. The output will list"},{"line_number":259,"context_line":"all OpenStack instances in the tenant and will include information about networks in the form::"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    NETWORK_NAME\u003dIP_ADDRESS"}],"source_content_type":"text/x-rst","patch_set":14,"id":"AAAAS3%2F%2F65A%3D","line":258,"in_reply_to":"AAAAS3%2F%2F9MY%3D","updated":"2013-09-17 07:42:37.000000000","message":"Done","commit_id":"8cb32f78da130da42d8532835041c5b10db14dd5"}]}
