)]}'
{"diskimage-create/diskimage-create.sh":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"33a75e6405a06da78d87e476d276c3175af90a49","unresolved":false,"context_lines":[{"line_number":343,"context_line":"if [ \"$AMP_DISABLE_SSHD\" -eq 1 ]; then"},{"line_number":344,"context_line":"    AMP_element_sequence\u003d\"$AMP_element_sequence remove-sshd\""},{"line_number":345,"context_line":"fi"},{"line_number":346,"context_line":"# Add exabgp-speaker element"},{"line_number":347,"context_line":"AMP_element_sequence\u003d\"$AMP_element_sequence exabgp-speaker\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"# Allow full elements override"}],"source_content_type":"text/x-sh","patch_set":21,"id":"df87a7cf_3d3a78cb","line":346,"updated":"2017-12-09 01:25:08.000000000","message":"So, this adds this to *every image*. I guess that\u0027s what you intend? I mean, for people not using active-active, should this not be installed maybe? It seems to install a service that\u0027s going to run without any way to have it off in SINGLE / ACTIVE_STANDBY...","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"7259cb24fa8d77e557116a51f6b1e588489a82bb","unresolved":false,"context_lines":[{"line_number":343,"context_line":"if [ \"$AMP_DISABLE_SSHD\" -eq 1 ]; then"},{"line_number":344,"context_line":"    AMP_element_sequence\u003d\"$AMP_element_sequence remove-sshd\""},{"line_number":345,"context_line":"fi"},{"line_number":346,"context_line":"# Add exabgp-speaker element"},{"line_number":347,"context_line":"AMP_element_sequence\u003d\"$AMP_element_sequence exabgp-speaker\""},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"# Allow full elements override"}],"source_content_type":"text/x-sh","patch_set":21,"id":"df87a7cf_2e11dc52","line":346,"in_reply_to":"df87a7cf_3d3a78cb","updated":"2017-12-09 06:39:38.000000000","message":"Since choosing different images requires the flavor framework - at this point our strategy is to make \"fat\" images which contain all necessary elements for all kinds of purposes. There will probably be an addition which makes our image too fat ro be included everywhere -- but exabgp isn\u0027t that.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/README.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Element to install exabgp-speaker"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f436f4f_ac5edae6","line":1,"range":{"start_line":1,"start_character":19,"end_line":1,"end_character":33},"updated":"2017-08-17 21:12:02.000000000","message":"This could be a bit more descriptive of what it does.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Element to install exabgp-speaker"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f287b81_de7f3ca9","line":1,"range":{"start_line":1,"start_character":19,"end_line":1,"end_character":33},"in_reply_to":"9f436f4f_ac5edae6","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"0d34544fcf0e4eb5efb36b63fb65f36190ea11b8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Element to install exabgp-speaker"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"ExaBGP is a highly flexible BGP speaker that allows to control BGP"},{"line_number":4,"context_line":"announcements programmatically. Exabgp is used to announce ECMP anycast routes"},{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_8a4b8b57","line":4,"updated":"2017-12-06 08:39:28.000000000","message":"Should we use consistent name reference for ExaBGP?","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6f59fb551c096666ef669939a1ba42dfd6443d44","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Element to install exabgp-speaker"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"ExaBGP is a highly flexible BGP speaker that allows to control BGP"},{"line_number":4,"context_line":"announcements programmatically. Exabgp is used to announce ECMP anycast routes"},{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_1e77c0a2","line":4,"in_reply_to":"df87a7cf_8a4b8b57","updated":"2017-12-06 09:09:29.000000000","message":"Done","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"0d34544fcf0e4eb5efb36b63fb65f36190ea11b8","unresolved":false,"context_lines":[{"line_number":3,"context_line":"ExaBGP is a highly flexible BGP speaker that allows to control BGP"},{"line_number":4,"context_line":"announcements programmatically. Exabgp is used to announce ECMP anycast routes"},{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."},{"line_number":8,"context_line":"Exabgp does not redistribute kernel routes"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_aa468f4e","line":6,"updated":"2017-12-06 08:39:28.000000000","message":"Should we use consistent name reference for ExaBGP?","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6f59fb551c096666ef669939a1ba42dfd6443d44","unresolved":false,"context_lines":[{"line_number":3,"context_line":"ExaBGP is a highly flexible BGP speaker that allows to control BGP"},{"line_number":4,"context_line":"announcements programmatically. Exabgp is used to announce ECMP anycast routes"},{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."},{"line_number":8,"context_line":"Exabgp does not redistribute kernel routes"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_3e7ac487","line":6,"in_reply_to":"df87a7cf_aa468f4e","updated":"2017-12-06 09:09:29.000000000","message":"Done","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"0d34544fcf0e4eb5efb36b63fb65f36190ea11b8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."},{"line_number":8,"context_line":"Exabgp does not redistribute kernel routes"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_4a77c3a1","line":8,"updated":"2017-12-06 08:39:28.000000000","message":"Should we use consistent name reference for ExaBGP?","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6f59fb551c096666ef669939a1ba42dfd6443d44","unresolved":false,"context_lines":[{"line_number":5,"context_line":"into the network fabric for active/active load distribution of Amphora"},{"line_number":6,"context_line":"instances. Exabgp is used to announce ECMP anycast routes into the L3 network"},{"line_number":7,"context_line":"fabric for active/active load distribution of Amphora instances."},{"line_number":8,"context_line":"Exabgp does not redistribute kernel routes"}],"source_content_type":"text/x-rst","patch_set":20,"id":"df87a7cf_fe73fcaf","line":8,"in_reply_to":"df87a7cf_4a77c3a1","updated":"2017-12-06 09:09:29.000000000","message":"Done","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"}],"elements/exabgp-speaker/element-deps":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"sysctl"},{"line_number":2,"context_line":"install-static"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9f436f4f_0c2046b0","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":6},"updated":"2017-08-17 21:12:02.000000000","message":"Are you using this?  I don\u0027t see it in your patch.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9f436f4f_4c3e4edb","line":3,"updated":"2017-08-17 21:12:02.000000000","message":"missing pip-and-virtualenv","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"install-static"},{"line_number":2,"context_line":"pip-and-virtualenv"},{"line_number":3,"context_line":"source-repositories"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"df87a7cf_f25d1679","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":19},"updated":"2017-12-09 23:37:22.000000000","message":"These both probably aren\u0027t necessary since exabgp is in the requirements.txt","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[{"line_number":1,"context_line":"install-static"},{"line_number":2,"context_line":"pip-and-virtualenv"},{"line_number":3,"context_line":"source-repositories"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"df87a7cf_b54d333f","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":19},"in_reply_to":"df87a7cf_f25d1679","updated":"2017-12-12 18:06:11.000000000","message":"Done","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0c8aa5e0d4ed247bd299629c4835efebf7c26319","unresolved":false,"context_lines":[{"line_number":1,"context_line":"dib-init-system"},{"line_number":2,"context_line":"install-static"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"df7087c5_b9a9db7c","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":15},"updated":"2018-03-13 23:17:21.000000000","message":"You don\u0027t seem to be using this","commit_id":"0145017447f7c81a2d942b3540eefa254c51d1dd"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"2a2577a9e8cc22440b88d16f1f0df6dff7b595e4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"dib-init-system"},{"line_number":2,"context_line":"install-static"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"df7087c5_fdcaba9e","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":15},"in_reply_to":"df7087c5_b9a9db7c","updated":"2018-03-15 06:23:55.000000000","message":"Done","commit_id":"0145017447f7c81a2d942b3540eefa254c51d1dd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0c8aa5e0d4ed247bd299629c4835efebf7c26319","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"df7087c5_599bdf64","line":3,"updated":"2018-03-13 23:17:21.000000000","message":"You need package-installs here","commit_id":"0145017447f7c81a2d942b3540eefa254c51d1dd"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"2a2577a9e8cc22440b88d16f1f0df6dff7b595e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":29,"id":"df7087c5_1dce8eb3","line":3,"in_reply_to":"df7087c5_599bdf64","updated":"2018-03-15 06:23:55.000000000","message":"Done","commit_id":"0145017447f7c81a2d942b3540eefa254c51d1dd"}],"elements/exabgp-speaker/init-scripts/systemd/exabgp.service":[{"author":{"_account_id":22730,"name":"kowsalya palaniappan","email":"kousalya.mkousi@gmail.com","username":"kowsalya"},"change_message_id":"4054ef0f451d63419208ecef33dd5d5a2c237e7e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"ConditionPathExists\u003d/var/lib/octavia/exabgp/exabgp.conf"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"ExecStartPre\u003d/usr/local/bin/exabgp --test --root /var/lib/octavia/exabgp --env /var/lib/octavia/exabgp/exabgp.env /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":8,"context_line":"ExecStart\u003d/usr/local/bin/exabgp --root /var/lib/octavia/exabgp --env /var/lib/octavia/exabgp/exabgp.env /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":9,"context_line":"ExecReload\u003d/bin/kill -USR1 $MAINPID"},{"line_number":10,"context_line":"Restart\u003dalways"}],"source_content_type":"application/octet-stream","patch_set":27,"id":"5f93b717_7d8fbc74","line":7,"updated":"2018-01-30 20:53:52.000000000","message":"in CentOS, exabgp executable is in /usr/bin , so exabgp service is not getting started due to wrong path","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"3cfd9e47b517e07d037e3149324f5d252809bfdc","unresolved":false,"context_lines":[{"line_number":4,"context_line":"ConditionPathExists\u003d/var/lib/octavia/exabgp/exabgp.conf"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"ExecStartPre\u003d/usr/local/bin/exabgp --test --root /var/lib/octavia/exabgp --env /var/lib/octavia/exabgp/exabgp.env /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":8,"context_line":"ExecStart\u003d/usr/local/bin/exabgp --root /var/lib/octavia/exabgp --env /var/lib/octavia/exabgp/exabgp.env /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":9,"context_line":"ExecReload\u003d/bin/kill -USR1 $MAINPID"},{"line_number":10,"context_line":"Restart\u003dalways"}],"source_content_type":"application/octet-stream","patch_set":27,"id":"5f93b717_06d4d7e7","line":7,"in_reply_to":"5f93b717_7d8fbc74","updated":"2018-02-02 11:26:56.000000000","message":"Moved this file to agent code and converted to jinja template to support different distribution flavors.","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"}],"elements/exabgp-speaker/init-scripts/sysv/exabgp":[{"author":{"_account_id":22730,"name":"kowsalya palaniappan","email":"kousalya.mkousi@gmail.com","username":"kowsalya"},"change_message_id":"4054ef0f451d63419208ecef33dd5d5a2c237e7e","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# Process name ( For display )"},{"line_number":16,"context_line":"NAME\u003dexabgp"},{"line_number":17,"context_line":"# Daemon name, where is the actual executable"},{"line_number":18,"context_line":"DAEMON\u003d/usr/local/bin/exabgp"},{"line_number":19,"context_line":"# pid file for the daemon"},{"line_number":20,"context_line":"PIDFILE\u003d/var/run/exabgp.pid"},{"line_number":21,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":27,"id":"5f93b717_fda2ecfb","line":18,"range":{"start_line":18,"start_character":22,"end_line":18,"end_character":28},"updated":"2018-01-30 20:53:52.000000000","message":"On CentOS, exabgp executable is in /usr/bin which causes problems when starting exabgp daemon","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"3cfd9e47b517e07d037e3149324f5d252809bfdc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# Process name ( For display )"},{"line_number":16,"context_line":"NAME\u003dexabgp"},{"line_number":17,"context_line":"# Daemon name, where is the actual executable"},{"line_number":18,"context_line":"DAEMON\u003d/usr/local/bin/exabgp"},{"line_number":19,"context_line":"# pid file for the daemon"},{"line_number":20,"context_line":"PIDFILE\u003d/var/run/exabgp.pid"},{"line_number":21,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":27,"id":"5f93b717_66b03bde","line":18,"range":{"start_line":18,"start_character":22,"end_line":18,"end_character":28},"in_reply_to":"5f93b717_fda2ecfb","updated":"2018-02-02 11:26:56.000000000","message":"Moved this file to agent code and made this file has jinja template to handle different flavors","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"}],"elements/exabgp-speaker/init-scripts/upstart/exabgp.conf":[{"author":{"_account_id":22730,"name":"kowsalya palaniappan","email":"kousalya.mkousi@gmail.com","username":"kowsalya"},"change_message_id":"4054ef0f451d63419208ecef33dd5d5a2c237e7e","unresolved":false,"context_lines":[{"line_number":6,"context_line":"respawn"},{"line_number":7,"context_line":"respawn limit 2 2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"exec exabgp --config-file /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"post-start script"},{"line_number":12,"context_line":"    PID\u003d`status exabgp | egrep -oi \u0027([0-9]+)$\u0027 | head -n1`"}],"source_content_type":"text/plain","patch_set":27,"id":"5f93b717_dd3ff0b1","line":9,"range":{"start_line":9,"start_character":14,"end_line":9,"end_character":20},"updated":"2018-01-30 20:53:52.000000000","message":"--config-file is not a valid option","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"3cfd9e47b517e07d037e3149324f5d252809bfdc","unresolved":false,"context_lines":[{"line_number":6,"context_line":"respawn"},{"line_number":7,"context_line":"respawn limit 2 2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"exec exabgp --config-file /var/lib/octavia/exabgp/exabgp.conf"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"post-start script"},{"line_number":12,"context_line":"    PID\u003d`status exabgp | egrep -oi \u0027([0-9]+)$\u0027 | head -n1`"}],"source_content_type":"text/plain","patch_set":27,"id":"5f93b717_c6302f59","line":9,"range":{"start_line":9,"start_character":14,"end_line":9,"end_character":20},"in_reply_to":"5f93b717_dd3ff0b1","updated":"2018-02-02 11:26:56.000000000","message":"Removed this option and moved this file to agent code.","commit_id":"e67440b1822d30c7f0bad88e5ed486c9a5a82ca6"}],"elements/exabgp-speaker/post-install.d/77-exabgp":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_a79955d1","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":52},"updated":"2017-08-17 21:12:02.000000000","message":"Please add this to the main octavia requirements.txt amphora section.  We use it to track required packages.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_6c447275","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":45},"updated":"2017-08-17 21:12:02.000000000","message":"You need to configure your element to get this file:\nhttps://github.com/openstack/octavia/blob/master/elements/amphora-agent/source-repository-amphora-agent#L3","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7f287b81_f1f229e3","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":52},"in_reply_to":"9f436f4f_a79955d1","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_4c9c0e5d","line":7,"updated":"2017-08-17 21:12:02.000000000","message":"install-static should create this for you.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7f287b81_3111d105","line":7,"in_reply_to":"9f436f4f_4c9c0e5d","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"},{"line_number":11,"context_line":"cp /tmp/exabgp.conf /etc/exabgp"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /etc/exabgp/run/exabgp.in"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_ac2ffaa5","line":10,"updated":"2017-08-17 21:12:02.000000000","message":"Again, should not be using tmp, why not install directly into the target directory?","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"mkdir /etc/exabgp"},{"line_number":8,"context_line":"mkdir /etc/exabgp/run"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"},{"line_number":11,"context_line":"cp /tmp/exabgp.conf /etc/exabgp"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /etc/exabgp/run/exabgp.in"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7f287b81_910405c8","line":10,"in_reply_to":"9f436f4f_ac2ffaa5","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"},{"line_number":11,"context_line":"cp /tmp/exabgp.conf /etc/exabgp"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /etc/exabgp/run/exabgp.in"},{"line_number":14,"context_line":"mkfifo /etc/exabgp/run/exabgp.out"},{"line_number":15,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_e71abd6d","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":6},"updated":"2017-08-17 21:12:02.000000000","message":"Technically should include \"coreutils\" in package-installs.yaml","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"},{"line_number":11,"context_line":"cp /tmp/exabgp.conf /etc/exabgp"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /etc/exabgp/run/exabgp.in"},{"line_number":14,"context_line":"mkfifo /etc/exabgp/run/exabgp.out"},{"line_number":15,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"9f436f4f_ecaaa26f","line":13,"updated":"2017-08-17 21:12:02.000000000","message":"These should be in /var/run/exabgp","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"cp /tmp/exabgp.env /etc/exabgp"},{"line_number":11,"context_line":"cp /tmp/exabgp.conf /etc/exabgp"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /etc/exabgp/run/exabgp.in"},{"line_number":14,"context_line":"mkfifo /etc/exabgp/run/exabgp.out"},{"line_number":15,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"7f287b81_d16ccd9d","line":13,"in_reply_to":"9f436f4f_ecaaa26f","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"0d34544fcf0e4eb5efb36b63fb65f36190ea11b8","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":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"}],"source_content_type":"application/x-shellscript","patch_set":20,"id":"df87a7cf_ca6af3b1","line":2,"updated":"2017-12-06 08:39:28.000000000","message":"We should also check whether debug flag was set or not?\n\nif [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then\n    set -x\nfi","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6f59fb551c096666ef669939a1ba42dfd6443d44","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":"set -o pipefail"},{"line_number":5,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"}],"source_content_type":"application/x-shellscript","patch_set":20,"id":"df87a7cf_7e5fec0d","line":2,"in_reply_to":"df87a7cf_ca6af3b1","updated":"2017-12-06 09:09:29.000000000","message":"Done","commit_id":"b858ec82a83abc78687fdf02cb8a2a5853cf9f45"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"33a75e6405a06da78d87e476d276c3175af90a49","unresolved":false,"context_lines":[{"line_number":6,"context_line":"set -eu"},{"line_number":7,"context_line":"set -o pipefail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"mkdir -p /var/lib/octavia/exabgp/run"},{"line_number":12,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"df87a7cf_1dcd3465","line":9,"updated":"2017-12-09 01:25:08.000000000","message":"Err, exabgp is in requirements.txt now, why do we need to do this?","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[{"line_number":6,"context_line":"set -eu"},{"line_number":7,"context_line":"set -o pipefail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"mkdir -p /var/lib/octavia/exabgp/run"},{"line_number":12,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"df87a7cf_32685e1b","line":9,"in_reply_to":"df87a7cf_1dcd3465","updated":"2017-12-09 23:37:22.000000000","message":"+1","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[{"line_number":6,"context_line":"set -eu"},{"line_number":7,"context_line":"set -o pipefail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"pip install -U -c  /opt/upper-constraints.txt exabgp"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"mkdir -p /var/lib/octavia/exabgp/run"},{"line_number":12,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"df87a7cf_e63d1dbb","line":9,"in_reply_to":"df87a7cf_32685e1b","updated":"2017-12-12 18:06:11.000000000","message":"Done","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"mkdir -p /var/lib/octavia/exabgp/run"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /var/lib/octavia/exabgp/run/exabgp.in"},{"line_number":14,"context_line":"mkfifo /var/lib/octavia/exabgp/run/exabgp.out"}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"df87a7cf_32cdbe30","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":45},"updated":"2017-12-09 23:37:22.000000000","message":"We should use --mode to restrict the permissions to these pipes.  We should also set the owner/group.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"mkdir -p /var/lib/octavia/exabgp/run"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"mkfifo /var/lib/octavia/exabgp/run/exabgp.in"},{"line_number":14,"context_line":"mkfifo /var/lib/octavia/exabgp/run/exabgp.out"}],"source_content_type":"application/x-shellscript","patch_set":21,"id":"df87a7cf_7549eb5d","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":45},"in_reply_to":"df87a7cf_32cdbe30","updated":"2017-12-12 18:06:11.000000000","message":"Adding -m 0600","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/source-repository-exabgp-speaker":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"a48328852fa358c3bdcf6e8adcea60f738aed888","unresolved":false,"context_lines":[{"line_number":1,"context_line":"upper-constraints file /opt/upper-constraints.txt https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"5f4e5783_61d54843","line":1,"updated":"2017-10-12 04:46:27.000000000","message":"need to do more research on this. Wonder what happens if we release Queens and if it will lock to the Queens constraints -- while we work on Rocky","commit_id":"25a78dcf2f84626de5917a804748f79eb19543c7"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"upper-constraints file /opt/upper-constraints.txt https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"df87a7cf_5275e2f8","line":1,"updated":"2017-12-09 23:37:22.000000000","message":"This isn\u0027t really necessary. You added exabgp to the requirements.txt, so it will get installed with the amphora-agent.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[{"line_number":1,"context_line":"upper-constraints file /opt/upper-constraints.txt https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt"}],"source_content_type":"application/octet-stream","patch_set":21,"id":"df87a7cf_4b65f21c","line":1,"in_reply_to":"df87a7cf_5275e2f8","updated":"2017-12-12 18:06:11.000000000","message":"Done","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/static/etc/exabgp/exabgp.conf":[{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"6c909d8d2d8abd8d0a702bfb2376da744c6909ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"template {"},{"line_number":2,"context_line":"    neighbor anycast_lb {"},{"line_number":3,"context_line":"        router-id {{exabgp_primary_ip}};"},{"line_number":4,"context_line":"        local-address {{exabgp_primary_ip}};"}],"source_content_type":"text/plain","patch_set":11,"id":"7f515b1d_c2e9aa1a","line":1,"updated":"2017-09-25 14:25:08.000000000","message":"shouldn\u0027t the template be somewhere else?","commit_id":"98f8ab1258e878fde6e8e03e6f804f93761cbde3"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"template {"},{"line_number":2,"context_line":"    neighbor anycast_lb {"},{"line_number":3,"context_line":"        router-id {{exabgp_primary_ip}};"},{"line_number":4,"context_line":"        local-address {{exabgp_primary_ip}};"}],"source_content_type":"text/plain","patch_set":11,"id":"7f515b1d_633e78db","line":1,"in_reply_to":"7f515b1d_c2e9aa1a","updated":"2017-09-25 15:45:17.000000000","message":"I will move it to agent/templates","commit_id":"98f8ab1258e878fde6e8e03e6f804f93761cbde3"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"6de854580cc7e8183a9e02d5f68d615a985fa533","unresolved":false,"context_lines":[{"line_number":1,"context_line":"template {"},{"line_number":2,"context_line":"    neighbor anycast_lb {"},{"line_number":3,"context_line":"        router-id {{exabgp_primary_ip}};"},{"line_number":4,"context_line":"        local-address {{exabgp_primary_ip}};"}],"source_content_type":"text/plain","patch_set":11,"id":"7f515b1d_dd718f0e","line":1,"in_reply_to":"7f515b1d_c2e9aa1a","updated":"2017-09-25 14:55:20.000000000","message":"We should probably drop the use of template in the exabgp config and just write out the neighbor statement(s) below.","commit_id":"98f8ab1258e878fde6e8e03e6f804f93761cbde3"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"df87a7cf_d2e8127d","updated":"2017-12-09 23:37:22.000000000","message":"Should we be putting this in /etc/exabgp when it is really a template?  Shouldn\u0027t this go into the amphora backend agent code templates and get written out to the /etc/exabgp/exabgp.conf when rendered?","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"df87a7cf_3550430b","in_reply_to":"df87a7cf_d2e8127d","updated":"2017-12-12 18:06:11.000000000","message":"I agree, I have added this file in octavia/amphorae/backends/agent/api_server/templates/exabgp.conf.j2\nI will remove this file.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"043fe03d4a4d648fed22ab0c9b499cc659e4d28d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"df87a7cf_a8dfff0a","in_reply_to":"df87a7cf_d2e8127d","updated":"2017-12-11 18:57:06.000000000","message":"It looks like a similar template is in the amphora-agent patch.  I think this is not needed.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/static/etc/exabgp/exabgp.env":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[exabgp.api]"},{"line_number":2,"context_line":"ack \u003d true"},{"line_number":3,"context_line":"chunk \u003d 1"},{"line_number":4,"context_line":"cli \u003d true"},{"line_number":5,"context_line":"compact \u003d false"},{"line_number":6,"context_line":"encoder \u003d json"},{"line_number":7,"context_line":"respawn \u003d true"}],"source_content_type":"application/x-envoy","patch_set":21,"id":"df87a7cf_b25d4e48","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":10},"updated":"2017-12-09 23:37:22.000000000","message":"Do we use this? If not we can probably disable it and remove the mkfifo dependency.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"cf27d701035ac4917fdbd035e60499817f5db470","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[exabgp.api]"},{"line_number":2,"context_line":"ack \u003d true"},{"line_number":3,"context_line":"chunk \u003d 1"},{"line_number":4,"context_line":"cli \u003d true"},{"line_number":5,"context_line":"compact \u003d false"},{"line_number":6,"context_line":"encoder \u003d json"},{"line_number":7,"context_line":"respawn \u003d true"}],"source_content_type":"application/x-envoy","patch_set":21,"id":"df87a7cf_35ecc328","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":10},"in_reply_to":"df87a7cf_b25d4e48","updated":"2017-12-12 18:06:11.000000000","message":"We are using CLI, that\u0027s the only way for us to talk to ExaBGP.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/static/etc/systemd/system/exabgp.service":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Environment\u003dexabgp_daemon_daemonize\u003dfalse"},{"line_number":8,"context_line":"ExecStartPre\u003d/usr/local/bin/exabgp --test --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":9,"context_line":"ExecStart\u003d/usr/local/bin/exabgp --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":10,"context_line":"ExecReload\u003d/bin/kill -USR1 $MAINPID"},{"line_number":11,"context_line":"Restart\u003dalways"},{"line_number":12,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9f436f4f_a72cb54a","line":9,"updated":"2017-08-17 21:12:02.000000000","message":"Should this be advertising on the lb-mgmt-net or does this need to be in the netns?","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4204fdcaa43de03b161627882ecb39da36fe4509","unresolved":false,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Environment\u003dexabgp_daemon_daemonize\u003dfalse"},{"line_number":8,"context_line":"ExecStartPre\u003d/usr/local/bin/exabgp --test --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":9,"context_line":"ExecStart\u003d/usr/local/bin/exabgp --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":10,"context_line":"ExecReload\u003d/bin/kill -USR1 $MAINPID"},{"line_number":11,"context_line":"Restart\u003dalways"},{"line_number":12,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f287b81_ffe9b619","line":9,"in_reply_to":"7f287b81_cccc19be","updated":"2017-08-25 16:45:59.000000000","message":"Ok, I just wanted to make sure it was setup the way you envisioned and to understand the design.  I am fine waiting until someone needs it inside the netns before adding the config setting.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"8f991f1f970bd2c412914733252d45a01d9f133c","unresolved":false,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Environment\u003dexabgp_daemon_daemonize\u003dfalse"},{"line_number":8,"context_line":"ExecStartPre\u003d/usr/local/bin/exabgp --test --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":9,"context_line":"ExecStart\u003d/usr/local/bin/exabgp --root /etc/exabgp --env /etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"},{"line_number":10,"context_line":"ExecReload\u003d/bin/kill -USR1 $MAINPID"},{"line_number":11,"context_line":"Restart\u003dalways"},{"line_number":12,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7f287b81_cccc19be","line":9,"in_reply_to":"9f436f4f_a72cb54a","updated":"2017-08-25 14:34:54.000000000","message":"For our use case we want the peering to happen over the lb-mgmt-net. However, I can\u0027t rule out that there won\u0027t be other designs that want the bgp peering to happen inside the amphora haproxy namespace.  One solution we could do is make a configuration option, something like \"bgp_peer_netns\u003dTrue\", and if set to true the peering happens in the namespace. Thoughts?","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"41c5a744dbca4fd36331664e4ca81f4a9b1638e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"df87a7cf_92ddaae1","updated":"2017-12-09 23:37:22.000000000","message":"How can we install this service is the config file is a template? Wouldn\u0027t it start (or try to start) with a bad configuration file?\nShouldn\u0027t the process that writes out the valid configuration file also create the service file? This way it is only running if it is needed.","commit_id":"fad74cca870142fbd4b6bcbacded02aa16b04b63"}],"elements/exabgp-speaker/static/tmp/exabgp.conf":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9f436f4f_2c930a5f","updated":"2017-08-17 21:12:02.000000000","message":"These files should not be deployed to /tmp.\nPlease see https://security.openstack.org/guidelines/dg_using-temporary-files-securely.html","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    neighbor anycast_lb {"},{"line_number":8,"context_line":"#        router-id 127.0.0.1 "},{"line_number":9,"context_line":"#        local-address  127.0.0.1"},{"line_number":10,"context_line":"        local-as 65030.00100;"},{"line_number":11,"context_line":"        peer-as 65272;"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"        family {"}],"source_content_type":"text/plain","patch_set":4,"id":"9f436f4f_87bf71cf","line":10,"updated":"2017-08-17 21:12:02.000000000","message":"So I expect some of this will need to be parameterized.  \nIs all of this static across all amps or is some of it per-amp?  That will help decide if it should be done via the amp config file/configdrive or via the controller/agent.","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":20279,"name":"Jason Niesz","email":"Jason.Niesz@walmart.com","username":"jniesz"},"change_message_id":"39e62813eb87385766f6d8524f5a5b4b390ce396","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    neighbor anycast_lb {"},{"line_number":8,"context_line":"#        router-id 127.0.0.1 "},{"line_number":9,"context_line":"#        local-address  127.0.0.1"},{"line_number":10,"context_line":"        local-as 65030.00100;"},{"line_number":11,"context_line":"        peer-as 65272;"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"        family {"}],"source_content_type":"text/plain","patch_set":4,"id":"7f287b81_6ccbe571","line":10,"in_reply_to":"9f436f4f_87bf71cf","updated":"2017-08-25 14:39:36.000000000","message":"Yes, you are correct. The router-id, local-address,local-as, and peer-as should all be parameters. The address family should also be a parameter, as it could be \"ipv6\".","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"}],"elements/exabgp-speaker/static/tmp/exabgp.env":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d3b0cdc04e4d82a3b746fca884b0c1f318ad798c","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"[exabgp.tcp]"},{"line_number":53,"context_line":"acl \u003d false"},{"line_number":54,"context_line":"#bind \u003d \u0027127.0.0.1\u0027"},{"line_number":55,"context_line":"delay \u003d 0"},{"line_number":56,"context_line":"once \u003d false"},{"line_number":57,"context_line":"port \u003d 179"}],"source_content_type":"application/x-envoy","patch_set":4,"id":"9f436f4f_27f7a5d7","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":19},"updated":"2017-08-17 21:12:02.000000000","message":"remove this","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"28bfc8a717dcada4816892044723cc01bac7de5b","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"[exabgp.tcp]"},{"line_number":53,"context_line":"acl \u003d false"},{"line_number":54,"context_line":"#bind \u003d \u0027127.0.0.1\u0027"},{"line_number":55,"context_line":"delay \u003d 0"},{"line_number":56,"context_line":"once \u003d false"},{"line_number":57,"context_line":"port \u003d 179"}],"source_content_type":"application/x-envoy","patch_set":4,"id":"7f287b81_a756915b","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":19},"in_reply_to":"9f436f4f_27f7a5d7","updated":"2017-09-25 15:45:17.000000000","message":"Done","commit_id":"dc7bd7cb05e7a4420743caf7126f83cc4c886522"}],"requirements.txt":[{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"15373688e4d16590f272b267a902557695772f13","unresolved":false,"context_lines":[{"line_number":38,"context_line":"taskflow\u003e\u003d2.7.0 # Apache-2.0"},{"line_number":39,"context_line":"diskimage-builder!\u003d1.6.0,!\u003d1.7.0,!\u003d1.7.1,\u003e\u003d1.1.2 # Apache-2.0"},{"line_number":40,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":41,"context_line":"exabgp\u003e\u003d4.0.2 # BSD"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#for the amphora api"},{"line_number":44,"context_line":"Flask!\u003d0.11,\u003c1.0,\u003e\u003d0.10 # BSD"}],"source_content_type":"text/plain","patch_set":23,"id":"df87a7cf_3eff7735","line":41,"updated":"2017-12-13 12:31:32.000000000","message":"This should not violate global constraint,\nwhich is:\nexabgp\u003e\u003d4.0.1","commit_id":"09cbc434a7d0da79c6440d57a01fac2edb5ce279"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"98fa065c3b42e05ffd857cf87ad299e82f423803","unresolved":false,"context_lines":[{"line_number":38,"context_line":"taskflow\u003e\u003d2.7.0 # Apache-2.0"},{"line_number":39,"context_line":"diskimage-builder!\u003d1.6.0,!\u003d1.7.0,!\u003d1.7.1,\u003e\u003d1.1.2 # Apache-2.0"},{"line_number":40,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":41,"context_line":"exabgp\u003e\u003d4.0.2 # BSD"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#for the amphora api"},{"line_number":44,"context_line":"Flask!\u003d0.11,\u003c1.0,\u003e\u003d0.10 # BSD"}],"source_content_type":"text/plain","patch_set":25,"id":"df87a7cf_d46890bb","line":41,"updated":"2017-12-14 11:55:31.000000000","message":"Looks like we somehow stuck at 4.0.1 in ci:\nexabgp\u003e\u003d4.0.1","commit_id":"a18fc6c5e70f14e777826258e1e1843b6372b067"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"6082ff02a7cb946e961fb8062ee573930333514e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"taskflow\u003e\u003d2.7.0 # Apache-2.0"},{"line_number":39,"context_line":"diskimage-builder!\u003d1.6.0,!\u003d1.7.0,!\u003d1.7.1,\u003e\u003d1.1.2 # Apache-2.0"},{"line_number":40,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":41,"context_line":"exabgp\u003e\u003d4.0.2 # BSD"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"#for the amphora api"},{"line_number":44,"context_line":"Flask!\u003d0.11,\u003c1.0,\u003e\u003d0.10 # BSD"}],"source_content_type":"text/plain","patch_set":25,"id":"df87a7cf_badb737b","line":41,"in_reply_to":"df87a7cf_d46890bb","updated":"2017-12-14 13:24:48.000000000","message":"Done","commit_id":"a18fc6c5e70f14e777826258e1e1843b6372b067"},{"author":{"_account_id":2245,"name":"Jacky Hu","email":"hudayou@hotmail.com","username":"hudayou"},"change_message_id":"6a2aaa2a78a5e5a27424f871b920b4399725ef76","unresolved":false,"context_lines":[{"line_number":39,"context_line":"diskimage-builder!\u003d1.6.0,!\u003d1.7.0,!\u003d1.7.1,\u003e\u003d1.1.2 # Apache-2.0"},{"line_number":40,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":41,"context_line":"castellan\u003e\u003d0.16.0 # Apache-2.0"},{"line_number":42,"context_line":"exabgp\u003e\u003d4.0.1 # BSD"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#for the amphora api"},{"line_number":45,"context_line":"Flask!\u003d0.11,\u003c1.0,\u003e\u003d0.10 # BSD"}],"source_content_type":"text/plain","patch_set":28,"id":"5f93b717_fc14dcea","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":13},"updated":"2018-02-02 12:58:49.000000000","message":"should be \u003e\u003d4.0.4 according to the ci\n2018-02-02 11:37:25.107450 | ubuntu-xenial | Requirement for package exabgp : Requirement(package\u003du\u0027exabgp\u0027, location\u003d\u0027\u0027, specifiers\u003d\u0027\u003e\u003d4.0.1\u0027, markers\u003du\u0027\u0027, comment\u003du\u0027# BSD\u0027, extras\u003dfrozenset([])) does not match openstack/requirements value : set([Requirement(package\u003d\u0027exabgp\u0027, location\u003d\u0027\u0027, specifiers\u003d\u0027\u003e\u003d4.0.4\u0027, markers\u003d\u0027\u0027, comment\u003d\u0027# BSD\u0027, extras\u003dfrozenset([]))])","commit_id":"ebc5052b9fad312e32324018b66a0f4cdbb5b760"},{"author":{"_account_id":23889,"name":"Santhosh Fernandes","email":"santhosh.fernandes@gmail.com","username":"santhosh-fernandes"},"change_message_id":"fb56974a8dd2ff6ff9e45837e7316bd20ccdc962","unresolved":false,"context_lines":[{"line_number":39,"context_line":"diskimage-builder!\u003d1.6.0,!\u003d1.7.0,!\u003d1.7.1,\u003e\u003d1.1.2 # Apache-2.0"},{"line_number":40,"context_line":"futures\u003e\u003d3.0.0;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027 # BSD"},{"line_number":41,"context_line":"castellan\u003e\u003d0.16.0 # Apache-2.0"},{"line_number":42,"context_line":"exabgp\u003e\u003d4.0.1 # BSD"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"#for the amphora api"},{"line_number":45,"context_line":"Flask!\u003d0.11,\u003c1.0,\u003e\u003d0.10 # BSD"}],"source_content_type":"text/plain","patch_set":28,"id":"3fa0c359_fcf5a984","line":42,"range":{"start_line":42,"start_character":8,"end_line":42,"end_character":13},"in_reply_to":"5f93b717_fc14dcea","updated":"2018-02-04 07:49:31.000000000","message":"Done","commit_id":"ebc5052b9fad312e32324018b66a0f4cdbb5b760"}]}
