)]}'
{"doc/source/engine_dev_installation.rst":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    RABBIT_PASSWORD\u003d$ADMIN_PASSWORD"},{"line_number":31,"context_line":"    SERVICE_PASSWORD\u003d$ADMIN_PASSWORD"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    OS_IDENTITY_API_VERSION\u003d2"},{"line_number":34,"context_line":"    OS_AUTH_URL\u003d\"http://$KEYSTONE_IP:5000/v2.0\""},{"line_number":35,"context_line":"    OS_USERNAME\u003d$ADMIN_USER"},{"line_number":36,"context_line":"    OS_USER_DOMAIN_ID\u003ddefault"},{"line_number":37,"context_line":"    OS_PASSWORD\u003d$ADMIN_PASSWORD"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a77a97e_a953ec37","line":34,"range":{"start_line":33,"start_character":4,"end_line":34,"end_character":47},"updated":"2016-11-18 05:54:28.000000000","message":"ok, keystone v3 work doesn\u0027t land yet, https://review.openstack.org/#/c/394168/\n\nso setting v2 for now.","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    OS_IDENTITY_API_VERSION\u003d2"},{"line_number":34,"context_line":"    OS_AUTH_URL\u003d\"http://$KEYSTONE_IP:5000/v2.0\""},{"line_number":35,"context_line":"    OS_USERNAME\u003d$ADMIN_USER"},{"line_number":36,"context_line":"    OS_USER_DOMAIN_ID\u003ddefault"},{"line_number":37,"context_line":"    OS_PASSWORD\u003d$ADMIN_PASSWORD"},{"line_number":38,"context_line":"    OS_PROJECT_NAME\u003d$ADMIN_USER"},{"line_number":39,"context_line":"    OS_PROJECT_DOMAIN_ID\u003ddefault"},{"line_number":40,"context_line":"    OS_REGION_NAME\u003dRegionOne"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    SERVICE_HOST\u003d$SWIFT_IP"},{"line_number":43,"context_line":"    SWIFT_SERVICE_PROTOCOL\u003dhttp"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a77a97e_093940f2","line":40,"range":{"start_line":35,"start_character":4,"end_line":40,"end_character":28},"updated":"2016-11-18 05:54:28.000000000","message":"not sure for those settings but some of them are for v3?","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"::"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    OS_IDENTITY_API_VERSION\u003d2"},{"line_number":77,"context_line":"    OS_AUTH_URL\u003d\"http://$KEYSTONE_IP:5000/v2.0\""},{"line_number":78,"context_line":"    OS_USERNAME\u003d$ADMIN_USER"},{"line_number":79,"context_line":"    OS_USER_DOMAIN_ID\u003ddefault"},{"line_number":80,"context_line":"    OS_PASSWORD\u003d$ADMIN_PASSWORD"},{"line_number":81,"context_line":"    OS_PROJECT_NAME\u003d$ADMIN_USER"},{"line_number":82,"context_line":"    OS_PROJECT_DOMAIN_ID\u003ddefault"},{"line_number":83,"context_line":"    OS_REGION_NAME\u003dRegionOne"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"We now create the project and user:"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7a77a97e_0424c55d","line":83,"range":{"start_line":76,"start_character":4,"end_line":83,"end_character":28},"updated":"2016-11-18 05:54:28.000000000","message":"To describe the procedure, could we make those likely\n\n export OS_IDENTITY_API_VERSION\u003d2\n\nI think the difference from L33-40 is that is in localrc and this is written as command line, isn\u0027t it?","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"57d9493e04a2291466a04a37e9be247df29e843c","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"::"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    OS_IDENTITY_API_VERSION\u003d2"},{"line_number":77,"context_line":"    OS_AUTH_URL\u003d\"http://$KEYSTONE_IP:5000/v2.0\""},{"line_number":78,"context_line":"    OS_USERNAME\u003d$ADMIN_USER"},{"line_number":79,"context_line":"    OS_USER_DOMAIN_ID\u003ddefault"},{"line_number":80,"context_line":"    OS_PASSWORD\u003d$ADMIN_PASSWORD"},{"line_number":81,"context_line":"    OS_PROJECT_NAME\u003d$ADMIN_USER"},{"line_number":82,"context_line":"    OS_PROJECT_DOMAIN_ID\u003ddefault"},{"line_number":83,"context_line":"    OS_REGION_NAME\u003dRegionOne"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"We now create the project and user:"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5a74a57a_b5535716","line":83,"range":{"start_line":76,"start_character":4,"end_line":83,"end_character":28},"in_reply_to":"7a77a97e_0424c55d","updated":"2016-11-28 06:38:53.000000000","message":"Done","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/install_storlets.sh":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":"# echo \"Running hosts cluster_check playbook\""},{"line_number":5,"context_line":"ansible-playbook -s -i storlets_dynamic_inventory.py cluster_check.yml"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"echo \"Running hosts docker_cluster playbook\""},{"line_number":8,"context_line":"ansible-playbook -s -i storlets_dynamic_inventory.py docker_cluster.yml"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"echo \"Running the host_side_storlet_engine playbook\""},{"line_number":11,"context_line":"ansible-playbook -i storlets_dynamic_inventory.py host_side_storlet_engine.yml"}],"source_content_type":"text/x-sh","patch_set":14,"id":"7a77a97e_0497653a","line":8,"range":{"start_line":4,"start_character":0,"end_line":8,"end_character":71},"updated":"2016-11-18 05:54:28.000000000","message":"just a question, do we still need those running via sudo?","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/installation_vars.yml-sample":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"swift_endpoint_port: 8080"},{"line_number":34,"context_line":"swift_run_time_user: \u003cSWIFT_RUNTIME_USER\u003e"},{"line_number":35,"context_line":"swift_run_time_group: \u003cSWIFT_RUNTIME_GROUP\u003e"},{"line_number":36,"context_line":"swift_run_time_dir: \u003cSWIFT_RUNTIME_DIR\u003e"},{"line_number":37,"context_line":"docker_device: /home/docker_device"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"7a77a97e_647659d8","line":36,"range":{"start_line":36,"start_character":20,"end_line":36,"end_character":39},"updated":"2016-11-18 05:54:28.000000000","message":"it seems we can hard code the path instead of a variable, right?\n\nEither is fine though but I\u0027m wondering if we could avoid escape expression for the sed command in the prepare_storlets_install.sh if possible.","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/roles/create_default_tenant_docker_image/tasks/main.yml":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# TODO(eranr): Change the below to use Ansible os_project_facts"},{"line_number":17,"context_line":"- name: Get the tenant id from Keystone"},{"line_number":18,"context_line":"  shell: openstack --os-auth-url\u003d{{ keystone_public_url }} --os-username\u003d{{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} project list | grep {{ tenant_name }} | awk \u0027{print $2}\u0027"},{"line_number":19,"context_line":"  register: tenant_id"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"- name: create the tenant specific docker image step 1 - create repo dir"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a77a97e_642499c4","line":18,"range":{"start_line":18,"start_character":73,"end_line":18,"end_character":183},"updated":"2016-11-18 05:54:28.000000000","message":"speces after {{ and before }} to be consistent for others.","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"57d9493e04a2291466a04a37e9be247df29e843c","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# TODO(eranr): Change the below to use Ansible os_project_facts"},{"line_number":17,"context_line":"- name: Get the tenant id from Keystone"},{"line_number":18,"context_line":"  shell: openstack --os-auth-url\u003d{{ keystone_public_url }} --os-username\u003d{{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} project list | grep {{ tenant_name }} | awk \u0027{print $2}\u0027"},{"line_number":19,"context_line":"  register: tenant_id"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"- name: create the tenant specific docker image step 1 - create repo dir"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a74a57a_d55453ff","line":18,"range":{"start_line":18,"start_character":73,"end_line":18,"end_character":183},"in_reply_to":"7a77a97e_642499c4","updated":"2016-11-28 06:38:53.000000000","message":"Done","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/roles/deploy_default_tenant/tasks/main.yml":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#---------------------------------------------------------------------------"},{"line_number":15,"context_line":"# TODO(eranr): Change thebelow to use Ansible os_project_facts module"},{"line_number":16,"context_line":"- name: Get the defaut tenant id from Keystone"},{"line_number":17,"context_line":"  shell: openstack --os-auth-url\u003d{{ keystone_public_url }} --os-username\u003d {{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} project list | grep {{ storlets_default_tenant_name }} | awk \u0027{print $2}\u0027"},{"line_number":18,"context_line":"  register: tenant_id"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Print the tenant id whose container we are processing"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a77a97e_0e34e3db","line":17,"updated":"2016-11-18 05:54:28.000000000","message":"Same with my comment in / install/storlets/roles/create_default_tenant_docker_image/tasks/main.yml","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"57d9493e04a2291466a04a37e9be247df29e843c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#---------------------------------------------------------------------------"},{"line_number":15,"context_line":"# TODO(eranr): Change thebelow to use Ansible os_project_facts module"},{"line_number":16,"context_line":"- name: Get the defaut tenant id from Keystone"},{"line_number":17,"context_line":"  shell: openstack --os-auth-url\u003d{{ keystone_public_url }} --os-username\u003d {{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} project list | grep {{ storlets_default_tenant_name }} | awk \u0027{print $2}\u0027"},{"line_number":18,"context_line":"  register: tenant_id"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Print the tenant id whose container we are processing"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a74a57a_f5594f36","line":17,"in_reply_to":"7a77a97e_0e34e3db","updated":"2016-11-28 06:38:53.000000000","message":"Done","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/roles/enable_default_swift_account_for_storlets/tasks/main.yml":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"           docker_images"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: test if need to create member user"},{"line_number":67,"context_line":"  shell: openstack --os-auth-url\u003d{{keystone_public_url}} --os-username\u003d{{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} user list --project \"{{ storlets_default_tenant_name }}\" | grep \"{{ storlets_default_tenant_member_user }}\" | wc -l"},{"line_number":68,"context_line":"  register: member_user"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- debug: msg\u003d\"{{ member_user }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a77a97e_ae704fa5","line":67,"updated":"2016-11-18 05:54:28.000000000","message":"same and below","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"57d9493e04a2291466a04a37e9be247df29e843c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"           docker_images"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: test if need to create member user"},{"line_number":67,"context_line":"  shell: openstack --os-auth-url\u003d{{keystone_public_url}} --os-username\u003d{{keystone_admin_user}} --os-password\u003d{{keystone_admin_password}} --os-project-name\u003d{{keystone_admin_project}} user list --project \"{{ storlets_default_tenant_name }}\" | grep \"{{ storlets_default_tenant_member_user }}\" | wc -l"},{"line_number":68,"context_line":"  register: member_user"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- debug: msg\u003d\"{{ member_user }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a74a57a_5549235f","line":67,"in_reply_to":"7a77a97e_ae704fa5","updated":"2016-11-28 06:38:53.000000000","message":"Done","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/storlets/roles/host_storlet_engine_configure/tasks/main.yml":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"- name: restart swift"},{"line_number":45,"context_line":"  shell: swift-init --run-dir\u003d\"{{swift_run_time_dir}}\" all restart"},{"line_number":46,"context_line":"  ignore_errors: yes"},{"line_number":47,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a77a97e_8ea47308","line":47,"range":{"start_line":47,"start_character":1,"end_line":47,"end_character":14},"updated":"2016-11-18 05:54:28.000000000","message":"why do we need root permission here?\n\nin /install/storlets/roles/host_storlet_engine/tasks/main.yml,\nswift-init doesn\u0027t require it...","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"57d9493e04a2291466a04a37e9be247df29e843c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"- name: restart swift"},{"line_number":45,"context_line":"  shell: swift-init --run-dir\u003d\"{{swift_run_time_dir}}\" all restart"},{"line_number":46,"context_line":"  ignore_errors: yes"},{"line_number":47,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a74a57a_b57a7786","line":47,"range":{"start_line":47,"start_character":1,"end_line":47,"end_character":14},"in_reply_to":"7a77a97e_8ea47308","updated":"2016-11-28 06:38:53.000000000","message":"Done","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}],"install/swift/install_swift.sh":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"fi"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"FLAVOR\u003d$1"},{"line_number":14,"context_line":"if [ \"$FLAVOR\" !\u003d \"jenkins\" ] \u0026\u0026 [ \"$FLAVOR\" !\u003d \"dev\" ]; then"},{"line_number":15,"context_line":"    echo \"flavor must be either \\\"jenkins\\\" or \\\"dev\\\"\""},{"line_number":16,"context_line":"    exit 1"},{"line_number":17,"context_line":"fi"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"TARGET\u003d$2"}],"source_content_type":"text/x-sh","patch_set":14,"id":"7a77a97e_4ebdfbd6","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":10},"updated":"2016-11-18 05:54:28.000000000","message":"Can we make the flavor takes only \u0027dev\u0027 and it as optional?\n\nLooking at following code, the FLAVOR seems to be used only at L35 using password \u0027admin\u0027 if it\u0027s dev else delete the lines.\n\nSo that we don\u0027t want to keep \u0027jenkins\u0027 and any values are acceptable?","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"783cb0a2663b81bad19bc2a4d9461c314817d038","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SWIFT_IP\u003d$2"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"if [ \"$#\" -eq 3 ]; then"},{"line_number":23,"context_line":"    FLAVOR\u003d$3"},{"line_number":24,"context_line":"else"},{"line_number":25,"context_line":"    FLAVOR\u003d\u0027\u0027"},{"line_number":26,"context_line":"fi"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"DIR\u003d\"$( cd \"$( dirname \"${BASH_SOURCE[0]}\" )\" \u0026\u0026 pwd )\""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-sh","patch_set":22,"id":"5a74a57a_d50c53ee","line":26,"range":{"start_line":22,"start_character":0,"end_line":26,"end_character":2},"updated":"2016-11-28 06:38:45.000000000","message":"nits) FLAVOR\u003d${3:-\"dev\"}","commit_id":"d64a586e9b2f166c92520d5811e28d3519cb34c3"},{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"783cb0a2663b81bad19bc2a4d9461c314817d038","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    git clone git://github.com/openstack-dev/devstack.git $DEVSTACK_DIR"},{"line_number":35,"context_line":"    cp $DIR/localrc.sample $DEVSTACK_DIR/localrc"},{"line_number":36,"context_line":"    sed -i \u0027s/\u003cset ip!\u003e/\u0027$SWIFT_IP\u0027/g\u0027 $DEVSTACK_DIR/localrc"},{"line_number":37,"context_line":"    if [ $FLAVOR \u003d \u0027dev\u0027 ]; then"},{"line_number":38,"context_line":"        sed -i \u0027s/\u003cset db password!\u003e/admin/g\u0027 $DEVSTACK_DIR/localrc"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        sed -i \u0027/\u003cset db password!\u003e/d\u0027 $DEVSTACK_DIR/localrc"}],"source_content_type":"text/x-sh","patch_set":22,"id":"5a74a57a_f5b6aff7","line":37,"range":{"start_line":37,"start_character":16,"end_line":37,"end_character":18},"updated":"2016-11-28 06:38:45.000000000","message":"ok, bash seems to allow single equal to compare strings.","commit_id":"d64a586e9b2f166c92520d5811e28d3519cb34c3"}],"s2aio.sh":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"76c5d8d5110c69a287aa55836d62c11d7cb9018e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N \"\""},{"line_number":38,"context_line":"fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# TODO: move gcc to swift-installation"},{"line_number":41,"context_line":"#sudo apt-get install -y gcc --force-yes"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"if [ \"$TARGET\" \u003d\u003d \"docker\" ]; then"},{"line_number":44,"context_line":"    # install docker"}],"source_content_type":"text/x-sh","patch_set":14,"id":"7a77a97e_aecccfbb","line":41,"range":{"start_line":40,"start_character":0,"end_line":41,"end_character":40},"updated":"2016-11-18 05:54:28.000000000","message":"Not comment out but remove?\n\nOr it\u0027s ok to leave the line to ensure gcc installed?","commit_id":"dc321f46d7fd00dd04a1f8d43a3ee521ad8874b3"}]}
