)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"5d273f9f2666890e185247f7b790c6b1c8401008","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    init_pubsub"},{"line_number":62,"context_line":"    source $DEST/dragonflow/devstack/zmq_pubsub_driver"},{"line_number":63,"context_line":"fi"},{"line_number":64,"context_line":"if is_service_enabled df-redis-publisher-service ; then"},{"line_number":65,"context_line":"    DF_PUB_SUB\u003d\"True\""},{"line_number":66,"context_line":"    source $DEST/dragonflow/devstack/redis_pubsub_driver"},{"line_number":67,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":12,"id":"ba0121b8_87c05b7e","line":64,"updated":"2016-04-03 07:18:04.000000000","message":"redis is broker based, and therefore does not use a publisher-service. Consider renaming to e.g. df-redis-publisher or df-redis-pubsub.","commit_id":"f8315d9f700ec740bf76887bea86493d1665992b"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"1b955aa86aa1b5992c99299176e24a9937fbeb6a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    init_pubsub"},{"line_number":62,"context_line":"    source $DEST/dragonflow/devstack/zmq_pubsub_driver"},{"line_number":63,"context_line":"fi"},{"line_number":64,"context_line":"if is_service_enabled df-redis-publisher-service ; then"},{"line_number":65,"context_line":"    init_pubsub"},{"line_number":66,"context_line":"    source $DEST/dragonflow/devstack/redis_pubsub_driver"},{"line_number":67,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"9a061dce_c06939c0","line":64,"range":{"start_line":64,"start_character":22,"end_line":64,"end_character":49},"updated":"2016-04-06 08:42:05.000000000","message":"one question this is not really a service because redis does not need single publisher per machine","commit_id":"d66df3508735e8c4bfed0a0dcaa3be752b8e113e"}],"devstack/redis_driver":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"cd2001f518187aac7bff796349bb214efc5949c6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# - nb_db_driver_stop_server"},{"line_number":10,"context_line":"# - nb_db_driver_clean"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"REDIS_VERSION\u003d3.0.6"},{"line_number":13,"context_line":"RUBY_VERSION\u003d2.3"},{"line_number":14,"context_line":"REDIS_SERVER_LIST\u003d$REMOTE_DB_IP"},{"line_number":15,"context_line":"REMOTE_PORT_START\u003d$REMOTE_DB_PORT"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_389a1264","line":12,"range":{"start_line":12,"start_character":14,"end_line":12,"end_character":19},"updated":"2016-03-28 01:36:15.000000000","message":"the current stable is 3.0.7. why use 3.0.6 for df?","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cae207fce409f624f888909ccdef50b2d3183472","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        echo \"Installing rediscluster\""},{"line_number":39,"context_line":"        if [ ! -f \"$DEST/redis/redis-$REDIS_VERSION/redis\" ]; then"},{"line_number":40,"context_line":"            mkdir -p $DEST/redis"},{"line_number":41,"context_line":"            wget http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz -O $DEST/redis/redis-$REDIS_VERSION.tar.gz"},{"line_number":42,"context_line":"            tar xzvf $DEST/redis/redis-$REDIS_VERSION.tar.gz -C $DEST/redis"},{"line_number":43,"context_line":"            cd $DEST/redis/redis-$REDIS_VERSION"},{"line_number":44,"context_line":"            make"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_d2049c7f","line":41,"updated":"2016-03-27 14:01:09.000000000","message":"Can\u0027t the installation of redis and ruby be done via the package manager?","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cae207fce409f624f888909ccdef50b2d3183472","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            mkdir -p $DEST/redis"},{"line_number":41,"context_line":"            wget http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz -O $DEST/redis/redis-$REDIS_VERSION.tar.gz"},{"line_number":42,"context_line":"            tar xzvf $DEST/redis/redis-$REDIS_VERSION.tar.gz -C $DEST/redis"},{"line_number":43,"context_line":"            cd $DEST/redis/redis-$REDIS_VERSION"},{"line_number":44,"context_line":"            make"},{"line_number":45,"context_line":"            sudo apt-get install tcl"},{"line_number":46,"context_line":"            make test"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_b2076880","line":43,"updated":"2016-03-27 14:01:09.000000000","message":"Consider using pushd here, so that you can use popd when you leave this function.","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"cd2001f518187aac7bff796349bb214efc5949c6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            mkdir -p $DEST/redis"},{"line_number":41,"context_line":"            wget http://download.redis.io/releases/redis-$REDIS_VERSION.tar.gz -O $DEST/redis/redis-$REDIS_VERSION.tar.gz"},{"line_number":42,"context_line":"            tar xzvf $DEST/redis/redis-$REDIS_VERSION.tar.gz -C $DEST/redis"},{"line_number":43,"context_line":"            cd $DEST/redis/redis-$REDIS_VERSION"},{"line_number":44,"context_line":"            make"},{"line_number":45,"context_line":"            sudo apt-get install tcl"},{"line_number":46,"context_line":"            make test"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_78a48aa5","line":43,"in_reply_to":"da0c15f0_b2076880","updated":"2016-03-28 01:36:15.000000000","message":"+1","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cae207fce409f624f888909ccdef50b2d3183472","unresolved":false,"context_lines":[{"line_number":83,"context_line":"function nb_db_driver_start_server {"},{"line_number":84,"context_line":"    create\u003d"},{"line_number":85,"context_line":"    if is_service_enabled df-redis-server ; then"},{"line_number":86,"context_line":"        if is_ubuntu; then"},{"line_number":87,"context_line":"            #to acquire if should recreate cluster"},{"line_number":88,"context_line":"            for redisserver in $REDIS_SERVER_LIST; do"},{"line_number":89,"context_line":"                for port in $REDIS_PORT; do"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_12361452","line":86,"updated":"2016-03-27 14:01:09.000000000","message":"Can\u0027t we add support for fedora?","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"cae207fce409f624f888909ccdef50b2d3183472","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                done"},{"line_number":92,"context_line":"            done"},{"line_number":93,"context_line":"         #start redis"},{"line_number":94,"context_line":"         for redisserver in $REDIS_SERVER_LIST; do"},{"line_number":95,"context_line":"             for port in $REDIS_PORT; do"},{"line_number":96,"context_line":"                 echo $redisserver:$port"},{"line_number":97,"context_line":"                 [ \"$create\" ] \u0026\u0026 {"}],"source_content_type":"application/x-shellscript","patch_set":3,"id":"da0c15f0_f238c03f","line":94,"updated":"2016-03-27 14:01:09.000000000","message":"The indentation in this function is wrong.","commit_id":"3c3bfba6313faa41d51b134871a9b9c6733dc1a0"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b499d706e1171bb2e0e29d174e666dc8311e38f1","unresolved":false,"context_lines":[{"line_number":70,"context_line":"}"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"function nb_db_driver_install_client {"},{"line_number":73,"context_line":"    pwd"},{"line_number":74,"context_line":"    sudo pip install redis"},{"line_number":75,"context_line":"}"},{"line_number":76,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"ba0121b8_27634f1c","line":73,"updated":"2016-03-29 04:44:05.000000000","message":"What is this call for?","commit_id":"04f67f757ca839fcfd54996a1674c34293a26dd6"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"b499d706e1171bb2e0e29d174e666dc8311e38f1","unresolved":false,"context_lines":[{"line_number":86,"context_line":"function nb_db_driver_start_server {"},{"line_number":87,"context_line":"    create\u003d"},{"line_number":88,"context_line":"    if is_service_enabled df-redis-server ; then"},{"line_number":89,"context_line":"        if is_ubuntu; then"},{"line_number":90,"context_line":"            #to acquire if should recreate cluster"},{"line_number":91,"context_line":"            for redisserver in $REDIS_SERVER_LIST; do"},{"line_number":92,"context_line":"                for port in $REDIS_PORT; do"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"ba0121b8_0768cbf4","line":89,"updated":"2016-03-29 04:44:05.000000000","message":"Can\u0027t we add support for fedora?","commit_id":"04f67f757ca839fcfd54996a1674c34293a26dd6"},{"author":{"_account_id":13070,"name":"Eran Gampel","email":"eran@gampel.net","username":"Gampel"},"change_message_id":"2676eaeb6951ee9f7c16806245a65642c27c5ae2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"function nb_db_driver_start_server {"},{"line_number":86,"context_line":"    create\u003d"},{"line_number":87,"context_line":"    if is_service_enabled df-redis-server ; then"},{"line_number":88,"context_line":"        if is_ubuntu; then"},{"line_number":89,"context_line":"            #to acquire if should recreate cluster"},{"line_number":90,"context_line":"            for redisserver in $REDIS_SERVER_LIST; do"},{"line_number":91,"context_line":"                for port in $REDIS_PORT; do"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"ba0121b8_bd3e47b6","line":88,"range":{"start_line":88,"start_character":8,"end_line":88,"end_character":26},"updated":"2016-03-29 08:47:40.000000000","message":"As @omer commented in last patch we need to add at least fedora support as well","commit_id":"adb7e167e03022cdf47196dbed733a621e298134"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"4d64a2f89b5126ef3d48e1f108dfef345ea64c35","unresolved":false,"context_lines":[{"line_number":13,"context_line":"RUBY_VERSION\u003d2.3"},{"line_number":14,"context_line":"REDIS_SERVER_LIST\u003d$REMOTE_DB_IP"},{"line_number":15,"context_line":"REMOTE_PORT_START\u003d$REMOTE_DB_PORT"},{"line_number":16,"context_line":"NODE_COUNT_END\u003d5"},{"line_number":17,"context_line":"REMOTE_PORT_END\u003d`expr $REMOTE_PORT_START + $NODE_COUNT_END`"},{"line_number":18,"context_line":"REDIS_PORT\u003d`seq $REMOTE_PORT_START $REMOTE_PORT_END`"},{"line_number":19,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba0121b8_ab1cec13","line":16,"updated":"2016-03-30 14:01:30.000000000","message":"Consider setting the default node count to 1.","commit_id":"a1bb66493eff0b52906d13abfd64009bd3bc7cb9"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"2eef2074dc0db87993c409bd7a6614abc93a3844","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            sudo make install"},{"line_number":69,"context_line":"            #apt-get install ruby"},{"line_number":70,"context_line":"            sudo gem source -r https://rubygems.org/"},{"line_number":71,"context_line":"            sudo gem install redis"},{"line_number":72,"context_line":"            popd"},{"line_number":73,"context_line":"        fi"},{"line_number":74,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba0121b8_cb0df538","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":34},"updated":"2016-03-30 09:53:10.000000000","message":"ERROR:  Could not find a valid gem \u0027redis\u0027 (\u003e\u003d 0) in any repository\n\ndo you encounter this problem?","commit_id":"a1bb66493eff0b52906d13abfd64009bd3bc7cb9"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"546c24139e7aa352ac7526323612001e40a34c6d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            sudo make install"},{"line_number":69,"context_line":"            #apt-get install ruby"},{"line_number":70,"context_line":"            sudo gem source -r https://rubygems.org/"},{"line_number":71,"context_line":"            sudo gem install redis"},{"line_number":72,"context_line":"            popd"},{"line_number":73,"context_line":"        fi"},{"line_number":74,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba0121b8_6424c1ae","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":34},"in_reply_to":"ba0121b8_3d7dc5e7","updated":"2016-03-30 14:27:41.000000000","message":"i don\u0027t think relying on ruby to build redis cluster is a good idea. it installs ruby runtime and lots of packages in my machine that generally i don\u0027t need them at all. is there any other ways that can do the job?","commit_id":"a1bb66493eff0b52906d13abfd64009bd3bc7cb9"},{"author":{"_account_id":20298,"name":"feipeng","email":"feipeng1@huawei.com","username":"feipeng"},"change_message_id":"15639ef383ab52f8081b9b0141dd9963c0ee0a93","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            sudo make install"},{"line_number":69,"context_line":"            #apt-get install ruby"},{"line_number":70,"context_line":"            sudo gem source -r https://rubygems.org/"},{"line_number":71,"context_line":"            sudo gem install redis"},{"line_number":72,"context_line":"            popd"},{"line_number":73,"context_line":"        fi"},{"line_number":74,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba0121b8_f6b1bce2","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":34},"in_reply_to":"ba0121b8_cb0df538","updated":"2016-03-30 10:24:57.000000000","message":"it is depend on gem source，if source is not ok，it may failed.I do not find a stable source for gem install.:(","commit_id":"a1bb66493eff0b52906d13abfd64009bd3bc7cb9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"96408799fcc4355fa577450c712d8557ebd238f2","unresolved":false,"context_lines":[{"line_number":68,"context_line":"            sudo make install"},{"line_number":69,"context_line":"            #apt-get install ruby"},{"line_number":70,"context_line":"            sudo gem source -r https://rubygems.org/"},{"line_number":71,"context_line":"            sudo gem install redis"},{"line_number":72,"context_line":"            popd"},{"line_number":73,"context_line":"        fi"},{"line_number":74,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba0121b8_3d7dc5e7","line":71,"range":{"start_line":71,"start_character":12,"end_line":71,"end_character":34},"in_reply_to":"ba0121b8_f6b1bce2","updated":"2016-03-30 12:50:26.000000000","message":"I think the issue is the \u0027sudo gem source -r https://rubygems.org/\u0027","commit_id":"a1bb66493eff0b52906d13abfd64009bd3bc7cb9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"81b4301cc916af6fe6835f058de10739fcf87479","unresolved":false,"context_lines":[{"line_number":20,"context_line":"function configure_redis {"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    pushd /opt/redis3/conf"},{"line_number":23,"context_line":"    sudo sh -c \"echo ulimit -SHn 40960 \u003e\u003e /etc/profile\""},{"line_number":24,"context_line":"    sudo sh -c \"echo 1 \u003e /proc/sys/net/ipv4/tcp_tw_reuse\""},{"line_number":25,"context_line":"    sudo sh -c \"echo never \u003e /sys/kernel/mm/transparent_hugepage/enabled\""},{"line_number":26,"context_line":"    sudo sh -c \"echo 2048 \u003e /proc/sys/net/core/somaxconn\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba0121b8_4a740367","line":23,"updated":"2016-03-31 07:20:46.000000000","message":"I get the error:\n\"-bash: ulimit: open files: cannot modify limit: Operation not permitted\"\n\nHave you considered other options, e.g. prlimit?","commit_id":"a689809d45f28ae5c95e95d37b51de27f28f845a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"2ab1e0d26ae634d17e087cf0b460a46472716478","unresolved":false,"context_lines":[{"line_number":20,"context_line":"function configure_redis {"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    pushd /opt/redis3/conf"},{"line_number":23,"context_line":"    sudo sh -c \"echo ulimit -SHn 40960 \u003e\u003e /etc/profile\""},{"line_number":24,"context_line":"    sudo sh -c \"echo 1 \u003e /proc/sys/net/ipv4/tcp_tw_reuse\""},{"line_number":25,"context_line":"    sudo sh -c \"echo never \u003e /sys/kernel/mm/transparent_hugepage/enabled\""},{"line_number":26,"context_line":"    sudo sh -c \"echo 2048 \u003e /proc/sys/net/core/somaxconn\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba0121b8_0a0debe7","line":23,"in_reply_to":"ba0121b8_4a740367","updated":"2016-03-31 07:21:45.000000000","message":"Additionally, these global system changes have to be undone in unstack.","commit_id":"a689809d45f28ae5c95e95d37b51de27f28f845a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"5d273f9f2666890e185247f7b790c6b1c8401008","unresolved":false,"context_lines":[{"line_number":20,"context_line":"function configure_redis {"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    pushd /opt/redis3/conf"},{"line_number":23,"context_line":"    sudo sh -c \"echo ulimit -SHn 40960 \u003e\u003e /etc/profile\""},{"line_number":24,"context_line":"    sudo sh -c \"echo 1 \u003e /proc/sys/net/ipv4/tcp_tw_reuse\""},{"line_number":25,"context_line":"    sudo sh -c \"echo never \u003e /sys/kernel/mm/transparent_hugepage/enabled\""},{"line_number":26,"context_line":"    sudo sh -c \"echo 2048 \u003e /proc/sys/net/core/somaxconn\""}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"ba0121b8_073bab9d","line":23,"updated":"2016-04-03 07:18:04.000000000","message":"This operation has side effects on the system - after running devstack, I get many \u0027-bash: ulimit: open files: cannot modify limit: Operation not permitted\u0027 errors.\n\nIn general, please verify which of these system-wide changes are a must. e.g. the ulimit change can be avoided (using e.g. prlimit), and I think the redis changes the maximum number of open files anyway (but that needs verification).","commit_id":"f8315d9f700ec740bf76887bea86493d1665992b"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"76de1c9ffbd8881917227597e1737b22148cdc57","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    for redisserver in $REDIS_SERVER_LIST; do"},{"line_number":30,"context_line":"        for port in $REDIS_PORT; do"},{"line_number":31,"context_line":"            echo \"shutdown redis: \"$redisserver:$port"},{"line_number":32,"context_line":"            sudo cp redis.conf /opt/redis3/conf/redis-$port.conf"},{"line_number":33,"context_line":"            sudo sed -i \"s/6379/$port/g\" redis-$port.conf"},{"line_number":34,"context_line":"            sudo sed -i \"s/dump.rdb/dump-$port.rdb/g\" redis-$port.conf"},{"line_number":35,"context_line":"            sudo sed -i \"s/# cluster-enabled yes/cluster-enabled yes/g\" redis-$port.conf"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a061dce_c0a499a7","line":32,"range":{"start_line":32,"start_character":31,"end_line":32,"end_character":48},"updated":"2016-04-06 09:12:29.000000000","message":"can be deleted","commit_id":"d66df3508735e8c4bfed0a0dcaa3be752b8e113e"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"76de1c9ffbd8881917227597e1737b22148cdc57","unresolved":false,"context_lines":[{"line_number":41,"context_line":"}"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"function nb_db_driver_install_server {"},{"line_number":44,"context_line":"    if is_service_enabled df-redis-server ; then"},{"line_number":45,"context_line":"        echo \"Installing rediscluster\""},{"line_number":46,"context_line":"        if [ ! -f \"$DEST/redis/redis-$REDIS_VERSION/redis\" ]; then"},{"line_number":47,"context_line":"            mkdir -p $DEST/redis"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"9a061dce_3b830458","line":44,"range":{"start_line":44,"start_character":26,"end_line":44,"end_character":41},"updated":"2016-04-06 09:12:29.000000000","message":"what is the difference between df-redis and df-redis-server?","commit_id":"d66df3508735e8c4bfed0a0dcaa3be752b8e113e"}]}
