)]}'
{"ansible/roles/cumulus-switch/README.md":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"13c6b0d15d6cb8b00c0b4ee926af9c812b257bfb","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                - \"mtu 9000\""},{"line_number":71,"context_line":"              post:"},{"line_number":72,"context_line":"                - \"add bridge bridge ports swp2\""},{"line_number":73,"context_line":"            bridge:"},{"line_number":74,"context_line":"              type: bridge"},{"line_number":75,"context_line":"              config:"},{"line_number":76,"context_line":"              - \"vids 100,200\""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"9fdfeff1_cb660dee","line":73,"range":{"start_line":73,"start_character":12,"end_line":73,"end_character":18},"updated":"2019-02-14 14:09:32.000000000","message":"micronit: Could we call this bridge1 or something to make the `post` command examples above a little clearer?","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c3ec1e96d243277be91cbd7b23bdd0d90c043467","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                - \"mtu 9000\""},{"line_number":71,"context_line":"              post:"},{"line_number":72,"context_line":"                - \"add bridge bridge ports swp2\""},{"line_number":73,"context_line":"            bridge:"},{"line_number":74,"context_line":"              type: bridge"},{"line_number":75,"context_line":"              config:"},{"line_number":76,"context_line":"              - \"vids 100,200\""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"9fb8cfa7_efd30cd4","line":73,"range":{"start_line":73,"start_character":12,"end_line":73,"end_character":18},"in_reply_to":"5fc1f717_f86c0508","updated":"2019-06-10 12:13:53.000000000","message":"I double-checked in Cumulus, the NCLU interface mandates that a bridge is named bridge if it is VLAN-aware.\n\ncumulus@cumulus:~$ net add bridge \n    \u003cinterface\u003e  :  Name of a VLAN Unaware Bridge Interface\n    lo           :  interface\n    eth0         :  interface\n    swp1         :  interface\n    swp2         :  LLDP peer cumulus\n    swp3         :  LLDP peer cumulus\n    alias        :  description/alias\n    bridge       :  Name of the VLAN Aware Bridge (must be bridge)\n\nThis is probably because you cannot have more than one VLAN-aware bridge on a given switch, though I agree that it makes the commands very confusing!\n\nI will try to make a nicer example with a VLAN unaware bridge, or with another type of interface.","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"990145fb76309294ce61ce35562ce0166af23d86","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                - \"mtu 9000\""},{"line_number":71,"context_line":"              post:"},{"line_number":72,"context_line":"                - \"add bridge bridge ports swp2\""},{"line_number":73,"context_line":"            bridge:"},{"line_number":74,"context_line":"              type: bridge"},{"line_number":75,"context_line":"              config:"},{"line_number":76,"context_line":"              - \"vids 100,200\""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"5fc1f717_f86c0508","line":73,"range":{"start_line":73,"start_character":12,"end_line":73,"end_character":18},"in_reply_to":"9fdfeff1_cb660dee","updated":"2019-04-09 16:59:29.000000000","message":"Every single documentation page I\u0027ve seen from Cumulus names their bridge `bridge`. See for example https://docs.cumulusnetworks.com/display/DOCS/VLAN-aware+Bridge+Mode#VLAN-awareBridgeMode-ConfigureaVLAN-awareBridge","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"06d017fd803d4d86c3c58f35bf30c43c85c7ca2e","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                - \"mtu 9000\""},{"line_number":71,"context_line":"              post:"},{"line_number":72,"context_line":"                - \"add bridge bridge ports swp2\""},{"line_number":73,"context_line":"            bridge:"},{"line_number":74,"context_line":"              type: bridge"},{"line_number":75,"context_line":"              config:"},{"line_number":76,"context_line":"              - \"vids 100,200\""},{"line_number":77,"context_line":"              - \"pvid 1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Author Information"},{"line_number":80,"context_line":"------------------"}],"source_content_type":"text/x-gfm","patch_set":1,"id":"9fdfeff1_1da3fbb3","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":24},"updated":"2019-02-14 12:31:31.000000000","message":"Is it a problem that the bridge interface config could be added after the \u0027post\u0027 config for swp1 and swp2?","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"990145fb76309294ce61ce35562ce0166af23d86","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                - \"mtu 9000\""},{"line_number":71,"context_line":"              post:"},{"line_number":72,"context_line":"                - \"add bridge bridge ports swp2\""},{"line_number":73,"context_line":"            bridge:"},{"line_number":74,"context_line":"              type: bridge"},{"line_number":75,"context_line":"              config:"},{"line_number":76,"context_line":"              - \"vids 100,200\""},{"line_number":77,"context_line":"              - \"pvid 1\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Author Information"},{"line_number":80,"context_line":"------------------"}],"source_content_type":"text/x-gfm","patch_set":1,"id":"5fc1f717_38504d32","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":24},"in_reply_to":"9fdfeff1_1da3fbb3","updated":"2019-04-09 16:59:29.000000000","message":"It shouldn\u0027t be a problem, as `net add bridge bridge ports swp1` implies the creation of the bridge. See https://docs.cumulusnetworks.com/display/DOCS/VLAN-aware+Bridge+Mode#VLAN-awareBridgeMode-ConfigureaVLAN-awareBridge","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"}],"ansible/roles/cumulus-switch/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"06d017fd803d4d86c3c58f35bf30c43c85c7ca2e","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Interface configuration. Dict mapping switch interface names to configuration"},{"line_number":6,"context_line":"# dicts. Each dict contains a \u0027description\u0027 item and a \u0027config\u0027 item which"},{"line_number":7,"context_line":"# should contain a list of per-interface configuration."},{"line_number":8,"context_line":"cumulus_switch_interface_config: {}"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fdfeff1_3dd83f51","line":7,"updated":"2019-02-14 12:31:31.000000000","message":"nit: mention type, pre, post","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"}],"ansible/roles/cumulus-switch/templates/cumulus-config.j2":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"13c6b0d15d6cb8b00c0b4ee926af9c812b257bfb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{ line }}"},{"line_number":4,"context_line":"{% endfor %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"{% for interface, config in cumulus_switch_interface_config.items() %}"},{"line_number":7,"context_line":"{% if config.pre is defined %}"},{"line_number":8,"context_line":"{% for line in config.pre %}"},{"line_number":9,"context_line":"{{ line }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fdfeff1_8b1a45c3","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":67},"updated":"2019-02-14 14:09:32.000000000","message":"The order of items in this for loop aren\u0027t guaranteed to be the same as the order in which the user adds them to the dict right? If that\u0027s the case I imagine that could be confusing for a user who has config which needs to be applied in some sort of order, or does the switch apply it all at once?","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d8c7fb94a6e5dcf7383a0f762c7db86996c77421","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{ line }}"},{"line_number":4,"context_line":"{% endfor %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"{% for interface, config in cumulus_switch_interface_config.items() %}"},{"line_number":7,"context_line":"{% if config.pre is defined %}"},{"line_number":8,"context_line":"{% for line in config.pre %}"},{"line_number":9,"context_line":"{{ line }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fdfeff1_3e27c3c9","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":67},"in_reply_to":"9fdfeff1_5e8ac7be","updated":"2019-02-15 10:21:03.000000000","message":"Alternatively we could write out all the .pre lines, then all the .config lines, then all the .post lines.","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"4d893b38b88445b3fc450c7f303aa3e255904724","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{ line }}"},{"line_number":4,"context_line":"{% endfor %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"{% for interface, config in cumulus_switch_interface_config.items() %}"},{"line_number":7,"context_line":"{% if config.pre is defined %}"},{"line_number":8,"context_line":"{% for line in config.pre %}"},{"line_number":9,"context_line":"{{ line }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fdfeff1_5e8ac7be","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":67},"in_reply_to":"9fdfeff1_8b1a45c3","updated":"2019-02-15 10:14:12.000000000","message":"+1 - its not entirely clear from the nclu docs, but \"A single, multi-line string with jinja2 formatting. This string will be broken by lines, and each line will be run through net\", which makes me think order matters. Maybe cumulus_switch_interface_config should be a list of dicts?","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"990145fb76309294ce61ce35562ce0166af23d86","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{ line }}"},{"line_number":4,"context_line":"{% endfor %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"{% for interface, config in cumulus_switch_interface_config.items() %}"},{"line_number":7,"context_line":"{% if config.pre is defined %}"},{"line_number":8,"context_line":"{% for line in config.pre %}"},{"line_number":9,"context_line":"{{ line }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_3bc04750","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":67},"in_reply_to":"9fdfeff1_8b1a45c3","updated":"2019-04-09 16:59:29.000000000","message":"This is a general problem with Kayobe physical network configuration. With the code in main.yml, Cumulus will try to apply all changes in one transaction: https://review.openstack.org/#/c/636941/1/ansible/roles/cumulus-switch/tasks/main.yml\n\nHowever, some operations require a specific state to be present. For example, an interface needs to be removed from a bridge before being added to a bond. This is why I added the \"pre\" commands, in which a manual commit can be included.","commit_id":"2d2873decfd9e2f22400622233a14778680e183a"}]}
