)]}'
{"openstack-firstapp/doc/source/section1.rst":[{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"432969006f58a50c29fe8fa7d53dbdcfce101fae","unresolved":false,"context_lines":[{"line_number":20,"context_line":"~~~~~~~~~~~~~~~~~~~~"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Deploying applications in a cloud environment can be very different"},{"line_number":23,"context_line":"from the traditional siloed approachyou see in traditional IT, so in"},{"line_number":24,"context_line":"addition to learning to deploy applications on OpenStack, you will"},{"line_number":25,"context_line":"also learn some best practices for cloud application"},{"line_number":26,"context_line":"development. Overall, this guide covers the following:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab921fb_cea3dc4e","line":23,"updated":"2015-04-22 23:28:33.000000000","message":"Add a space between \"approach\" and \"you\"","commit_id":"808b09ea015f9921fc2e3cead3ffa600d326d246"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":44,"context_line":"This tutorial actually involves two applications; the first, a fractal"},{"line_number":45,"context_line":"generator, simply uses mathematical equations to generate"},{"line_number":46,"context_line":"images. We\u0027ll provide that application to you in its entirety, because"},{"line_number":47,"context_line":"really, it\u0027s just an excuse; the real application we will be showing"},{"line_number":48,"context_line":"you is the code that enables you to make use of OpenStack to run"},{"line_number":49,"context_line":"it. That application includes:"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_d0ba2be1","line":47,"updated":"2015-04-23 19:49:44.000000000","message":"1) What is a better word for excuse?  Is the fractal program a test for a minimal cloud installation?\n2) Use of Contractions?\n3) You may want to provide a bullet listing for the two applications and provide links to the code and a rationale for each application?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  machine instances on which the Fractals application runs.)"},{"line_number":53,"context_line":"* Cloud-related architecture decisions, such as breaking individual"},{"line_number":54,"context_line":"  functions out into micro-services and modularizing them."},{"line_number":55,"context_line":"* Scaling up and down to customize the amount of available resources."},{"line_number":56,"context_line":"* Object and block storage for file and database persistence."},{"line_number":57,"context_line":"* Orchestration services to automatically adjust to the environment."},{"line_number":58,"context_line":"* Networking customization for better performance and segregation."}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_90995371","line":55,"updated":"2015-04-23 19:49:44.000000000","message":"Scaling what up and down?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* Object and block storage for file and database persistence."},{"line_number":57,"context_line":"* Orchestration services to automatically adjust to the environment."},{"line_number":58,"context_line":"* Networking customization for better performance and segregation."},{"line_number":59,"context_line":"* A few other crazy things we think ordinary folks won\u0027t want to do ;)."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Choosing your OpenStack SDK"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_f0aacf6f","line":59,"updated":"2015-04-23 19:49:44.000000000","message":"Come up with a clever description for these other crazy topics.  They sound interesting.","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Future versions of this book will cover completing these tasks with"},{"line_number":66,"context_line":"various toolkits, such as the OpenStack SDK, and using various"},{"line_number":67,"context_line":"languages, such as Java or Ruby. For now, however, this initial"},{"line_number":68,"context_line":"incarnation focuses on using Python with Apache Libcloud. That said,"},{"line_number":69,"context_line":"if you\u0027re not a master Python programmer, don\u0027t despair; the code is"},{"line_number":70,"context_line":"fairly straightforward, and should be readable to anyone with a"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_b09a1713","line":67,"updated":"2015-04-23 19:49:44.000000000","message":"1) Future versions of this guide\n2) and using programming languages\n3)  This guide currently focuses on Python with Apache Libcloud.","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":68,"context_line":"incarnation focuses on using Python with Apache Libcloud. That said,"},{"line_number":69,"context_line":"if you\u0027re not a master Python programmer, don\u0027t despair; the code is"},{"line_number":70,"context_line":"fairly straightforward, and should be readable to anyone with a"},{"line_number":71,"context_line":"programming background."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"If you\u0027re a developer for an alternate toolkit and would like to see this book"},{"line_number":74,"context_line":"support it, great!  Please feel free to submit alternate code snippets, or to"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_308727b7","line":71,"updated":"2015-04-23 19:49:44.000000000","message":"don\u0027t despair?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"If you\u0027re a developer for an alternate toolkit and would like to see this book"},{"line_number":74,"context_line":"support it, great!  Please feel free to submit alternate code snippets, or to"},{"line_number":75,"context_line":"contact any of the authors or members of the Documentation team to coordinate."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Although this guide (initially) covers only Libcloud, you actually have several"},{"line_number":78,"context_line":"choices when it comes to building an application for an OpenStack cloud."}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_500dfb3c","line":75,"updated":"2015-04-23 19:49:44.000000000","message":"1) Is this a guide, book, or tutorial?\n2) How to handle contact info for the authors/OpenStack Documentation team?  Should this information be in another location in the guide?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":74,"context_line":"support it, great!  Please feel free to submit alternate code snippets, or to"},{"line_number":75,"context_line":"contact any of the authors or members of the Documentation team to coordinate."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Although this guide (initially) covers only Libcloud, you actually have several"},{"line_number":78,"context_line":"choices when it comes to building an application for an OpenStack cloud."},{"line_number":79,"context_line":"These choices include:"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_a3041315","line":77,"updated":"2015-04-23 19:49:44.000000000","message":"Remove the word initially?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":104,"context_line":"We assume you already have access to an OpenStack cloud.  You should"},{"line_number":105,"context_line":"have a project (tenant) with a quota of at least six instances. The"},{"line_number":106,"context_line":"Fractals application itself runs in Ubuntu, Debian, and Fedora-based"},{"line_number":107,"context_line":"and openSUSE-based distributions, so you\u0027ll need to be creating"},{"line_number":108,"context_line":"instances using one of these operating systems."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Interact with the cloud itself, you will also need to have"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_8357cf01","line":107,"updated":"2015-04-23 19:49:44.000000000","message":"1) The Fractals application runs in one of the supported operating systems.\n2) I guess you could list them again if needed","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":107,"context_line":"and openSUSE-based distributions, so you\u0027ll need to be creating"},{"line_number":108,"context_line":"instances using one of these operating systems."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Interact with the cloud itself, you will also need to have"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":".. only:: dotnet"},{"line_number":113,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_a379b395","line":110,"updated":"2015-04-23 19:49:44.000000000","message":"To interact with","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":".. only:: dotnet"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"      `OpenStack SDK for Microsoft .NET 0.9.1 or better installed"},{"line_number":115,"context_line":"      \u003chttps://www.nuget.org/packages/OpenStack-SDK-DotNet\u003e`_."},{"line_number":116,"context_line":"      .. warning:: This document has not yet been completed for the .NET SDK."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_a3a093f5","line":114,"updated":"2015-04-23 19:49:44.000000000","message":".NET 0.9.1 or higher installed","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":187,"context_line":"        http://controller:5000"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"How you\u0027ll interact with OpenStack"},{"line_number":191,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Throughout this tutorial, you\u0027ll be interacting with your OpenStack cloud"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_03bf3ffc","line":190,"updated":"2015-04-23 19:49:44.000000000","message":"Use of contractions?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":431,"context_line":"       for instance in instances:"},{"line_number":432,"context_line":"           print(instance)"},{"line_number":433,"context_line":""},{"line_number":434,"context_line":"Before we move on, there\u0027s one more thing you must do."},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"Destroying an instance"},{"line_number":437,"context_line":"~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_a37e53e2","line":434,"updated":"2015-04-23 19:49:44.000000000","message":"What specifically is the thing you must do?\nAre you suggesting that the user destroys the instance that was just created or\nare you showing the user how to check for instances no longer needed?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":475,"context_line":"sections, but for now, simply create these resources so you can feed"},{"line_number":476,"context_line":"them to the instance:"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"* A key pair. To access your instance, you must import an SSH public key"},{"line_number":479,"context_line":"  into OpenStack to create a key pair. OpenStack installs this key pair on the"},{"line_number":480,"context_line":"  new instance. Typically, your public key is written to"},{"line_number":481,"context_line":"  :code:`.ssh/id_rsa.pub`. If you do not have an SSH public key file, follow"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_83b6af88","line":478,"updated":"2015-04-23 19:49:44.000000000","message":"* Create a key pair","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":480,"context_line":"  new instance. Typically, your public key is written to"},{"line_number":481,"context_line":"  :code:`.ssh/id_rsa.pub`. If you do not have an SSH public key file, follow"},{"line_number":482,"context_line":"  the instructions `here \u003chttps://help.github.com/articles/generating-ssh-keys/\u003e`_"},{"line_number":483,"context_line":"  first. We\u0027ll cover this in depth in section 2."},{"line_number":484,"context_line":""},{"line_number":485,"context_line":".. only:: fog"},{"line_number":486,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_63eddb8a","line":483,"updated":"2015-04-23 19:49:44.000000000","message":"Should section 2 be capitalized?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":500,"context_line":"       \u003cKeyPair name\u003ddemokey fingerprint\u003daa:bb:cc... driver\u003dOpenStack\u003e"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"* Network access. By default, OpenStack filters all traffic. You must"},{"line_number":503,"context_line":"  create a security group that allows HTTP and SSH access and apply it to"},{"line_number":504,"context_line":"  your instance. We\u0027ll go into more detail in section 2."},{"line_number":505,"context_line":""},{"line_number":506,"context_line":".. only:: fog"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_23aec32e","line":503,"updated":"2015-04-23 19:49:44.000000000","message":"* Create a security group","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":513,"context_line":""},{"line_number":514,"context_line":"    .. literalinclude:: ../../samples/libcloud/section1.py"},{"line_number":515,"context_line":"        :start-after: step-10"},{"line_number":516,"context_line":"        :end-before: step-11"},{"line_number":517,"context_line":""},{"line_number":518,"context_line":"* Userdata. During instance creation, userdata may be provided to OpenStack to"},{"line_number":519,"context_line":"  configure instances after they boot. The userdata is applied to an instance"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_03829f94","line":516,"updated":"2015-04-23 19:49:44.000000000","message":"* Provide user data","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":623,"context_line":"Next steps"},{"line_number":624,"context_line":"~~~~~~~~~~"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"Don\u0027t worry if you don\u0027t understand every part of what just"},{"line_number":627,"context_line":"happened. As we move on to :doc:`/section2`, we\u0027ll go into these"},{"line_number":628,"context_line":"concepts in more detail."},{"line_number":629,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_8657dd01","line":626,"updated":"2015-04-23 19:49:44.000000000","message":"In Section 2 :doc:`/section2`, we will go into more detail of ....","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":638,"context_line":"* :doc:`/section9`: to see all the crazy things we think ordinary"},{"line_number":639,"context_line":"  folks won\u0027t want to do ;)"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"Full example code"},{"line_number":642,"context_line":"~~~~~~~~~~~~~~~~~"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"Here\u0027s every code snippet into a single file, in case you want to run"}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_c674b59d","line":641,"updated":"2015-04-23 19:49:44.000000000","message":"Use the word sample or example?","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"},{"author":{"_account_id":15293,"name":"Karen Bradshaw","email":"kbhawkey@gmail.com","username":"karenb"},"change_message_id":"7c299d74a2efd1eda79e5e873d369d600860d5f6","unresolved":false,"context_lines":[{"line_number":644,"context_line":"Here\u0027s every code snippet into a single file, in case you want to run"},{"line_number":645,"context_line":"it all in one, or you are so experienced you don\u0027t need instruction ;)"},{"line_number":646,"context_line":"If you are going to use this, don\u0027t forget to set your authentication"},{"line_number":647,"context_line":"information and the flavor and image ID."},{"line_number":648,"context_line":""},{"line_number":649,"context_line":".. only:: libcloud"},{"line_number":650,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"bab921fb_66f849e6","line":647,"updated":"2015-04-23 19:49:44.000000000","message":"We have provided the sample code in a single file.  Before running this program, confirm that you have set your authentication information and the flavor and image ID.","commit_id":"f874ca38502468c7ac113b09c10785f26b1a0bc0"}]}
