)]}'
{"doc/source/multiple-environments.rst":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":5,"context_line":"Sometimes it can be useful to support deployment of multiple environments from"},{"line_number":6,"context_line":"a single Kayobe configuration. Most commonly this is to support a deployment"},{"line_number":7,"context_line":"pipeline, such as the traditional development, test, staging and production"},{"line_number":8,"context_line":"combination. It is possible to include multiple environments  within a single"},{"line_number":9,"context_line":"Kayobe configuration, each providing its own Ansible inventory and variables."},{"line_number":10,"context_line":"This section describes how to use multiple environments with Kayobe."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"edd9b03b_1afd2d91","line":8,"range":{"start_line":8,"start_character":13,"end_line":8,"end_character":15},"updated":"2021-01-13 18:04:57.000000000","message":"Since the Wallaby release...","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"Sometimes it can be useful to support deployment of multiple environments from"},{"line_number":6,"context_line":"a single Kayobe configuration. Most commonly this is to support a deployment"},{"line_number":7,"context_line":"pipeline, such as the traditional development, test, staging and production"},{"line_number":8,"context_line":"combination. It is possible to include multiple environments  within a single"},{"line_number":9,"context_line":"Kayobe configuration, each providing its own Ansible inventory and variables."},{"line_number":10,"context_line":"This section describes how to use multiple environments with Kayobe."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"277a4e9b_2279b5ae","line":8,"range":{"start_line":8,"start_character":13,"end_line":8,"end_character":15},"in_reply_to":"edd9b03b_1afd2d91","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Each environment includes its own independent inventory. There is currently no"},{"line_number":65,"context_line":"sharing between inventories. This means that all required groups and group"},{"line_number":66,"context_line":"variables must be defined in each inventory. This can be done using symbolic"},{"line_number":67,"context_line":"links to avoid duplication of data. The following layout (ignoring"},{"line_number":68,"context_line":"non-inventory files) shows how this would be accomplished."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"c71ef863_7b745439","line":66,"range":{"start_line":66,"start_character":45,"end_line":66,"end_character":76},"updated":"2021-01-13 18:04:57.000000000","message":"Symbolic links can be used to avoid...","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Each environment includes its own independent inventory. There is currently no"},{"line_number":65,"context_line":"sharing between inventories. This means that all required groups and group"},{"line_number":66,"context_line":"variables must be defined in each inventory. This can be done using symbolic"},{"line_number":67,"context_line":"links to avoid duplication of data. The following layout (ignoring"},{"line_number":68,"context_line":"non-inventory files) shows how this would be accomplished."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"79aa7529_3d4ad071","line":66,"range":{"start_line":66,"start_character":45,"end_line":66,"end_character":76},"in_reply_to":"c71ef863_7b745439","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":97,"context_line":"(``$KAYOBE_CONFIG_PATH/*.yml``) are shared between all environments. Each"},{"line_number":98,"context_line":"environment can override these extra variables through environment-specific"},{"line_number":99,"context_line":"extra variables files"},{"line_number":100,"context_line":"(``$KAYOBE_INVENTORY_PATH/environments/\u003cenvironment\u003e/*.yml``)."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"This means that all configuration in shared extra variable files must apply to"},{"line_number":103,"context_line":"all environments. Where configuration differs between environments, move the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f9426911_1910415b","line":100,"range":{"start_line":100,"start_character":11,"end_line":100,"end_character":20},"updated":"2021-01-13 18:04:57.000000000","message":"CONFIG","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":97,"context_line":"(``$KAYOBE_CONFIG_PATH/*.yml``) are shared between all environments. Each"},{"line_number":98,"context_line":"environment can override these extra variables through environment-specific"},{"line_number":99,"context_line":"extra variables files"},{"line_number":100,"context_line":"(``$KAYOBE_INVENTORY_PATH/environments/\u003cenvironment\u003e/*.yml``)."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"This means that all configuration in shared extra variable files must apply to"},{"line_number":103,"context_line":"all environments. Where configuration differs between environments, move the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d69d348b_e286068f","line":100,"range":{"start_line":100,"start_character":11,"end_line":100,"end_character":20},"in_reply_to":"f9426911_1910415b","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"For example, to add environment-specific DNS configuration for variables in"},{"line_number":107,"context_line":"``dns.yml``, we recommend creating a group variables file for the ``all`` group"},{"line_number":108,"context_line":"in the inventory, at ``$KAYOBE_INVENTORY_PATH/group_vars/all/dns``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. code-block:: text"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9bb0b804_5932f10d","line":108,"range":{"start_line":108,"start_character":31,"end_line":108,"end_character":40},"updated":"2021-01-13 18:04:57.000000000","message":"CONFIG","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":104,"context_line":"configuration to extra variables files under each environment."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"For example, to add environment-specific DNS configuration for variables in"},{"line_number":107,"context_line":"``dns.yml``, we recommend creating a group variables file for the ``all`` group"},{"line_number":108,"context_line":"in the inventory, at ``$KAYOBE_INVENTORY_PATH/group_vars/all/dns``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. code-block:: text"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7f1ed2fd_51acf242","line":108,"range":{"start_line":107,"start_character":13,"end_line":108,"end_character":66},"updated":"2021-01-13 18:04:57.000000000","message":"Doesn\u0027t match the example. To use group_vars, would you need to use an intermediate variable?\n\ndns.yml: my_var: \"{{ my_var_per_env }}\"\ninventory: my_var_per_env: production-value","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"configuration to extra variables files under each environment."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"For example, to add environment-specific DNS configuration for variables in"},{"line_number":107,"context_line":"``dns.yml``, we recommend creating a group variables file for the ``all`` group"},{"line_number":108,"context_line":"in the inventory, at ``$KAYOBE_INVENTORY_PATH/group_vars/all/dns``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. code-block:: text"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3d4782ba_df95fbcf","line":108,"range":{"start_line":107,"start_character":13,"end_line":108,"end_character":66},"in_reply_to":"7f1ed2fd_51acf242","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":"For example, to add environment-specific DNS configuration for variables in"},{"line_number":107,"context_line":"``dns.yml``, we recommend creating a group variables file for the ``all`` group"},{"line_number":108,"context_line":"in the inventory, at ``$KAYOBE_INVENTORY_PATH/group_vars/all/dns``."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. code-block:: text"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"c20e8a7d_ef5d37ff","line":108,"range":{"start_line":108,"start_character":31,"end_line":108,"end_character":40},"in_reply_to":"9bb0b804_5932f10d","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Networking is an area in which configuration is typically specific to an"},{"line_number":124,"context_line":"environment. There are two main global configuration files that need to be"},{"line_number":125,"context_line":"considered: ``networks.yml`` and ``network-allocation.yml``."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Move the environment-specific parts of this configuration to environment-specific extra variables files:"},{"line_number":128,"context_line":"variables files:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"4ee1eea8_c4930f9a","line":125,"range":{"start_line":125,"start_character":35,"end_line":125,"end_character":57},"updated":"2021-01-13 18:04:57.000000000","message":"This one must be per-environment, since that is where kayobe will write it. You could set ip_allocation_filename, but that\u0027s a bit internal. Similar for console-allocation.yml.","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Networking is an area in which configuration is typically specific to an"},{"line_number":124,"context_line":"environment. There are two main global configuration files that need to be"},{"line_number":125,"context_line":"considered: ``networks.yml`` and ``network-allocation.yml``."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Move the environment-specific parts of this configuration to environment-specific extra variables files:"},{"line_number":128,"context_line":"variables files:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bc28b21f_b8c321e4","line":125,"range":{"start_line":125,"start_character":35,"end_line":125,"end_character":57},"in_reply_to":"4ee1eea8_c4930f9a","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":125,"context_line":"considered: ``networks.yml`` and ``network-allocation.yml``."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Move the environment-specific parts of this configuration to environment-specific extra variables files:"},{"line_number":128,"context_line":"variables files:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"``networks.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/networks.yml``"},{"line_number":131,"context_line":"``network-allocation.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/network-allocation.yml``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"a7b94964_e0a9c27c","line":128,"range":{"start_line":128,"start_character":0,"end_line":128,"end_character":16},"updated":"2021-01-13 18:04:57.000000000","message":"?","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":127,"context_line":"Move the environment-specific parts of this configuration to environment-specific extra variables files:"},{"line_number":128,"context_line":"variables files:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"``networks.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/networks.yml``"},{"line_number":131,"context_line":"``network-allocation.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/network-allocation.yml``"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Other network configuration that may differ between environments includes DNS"},{"line_number":134,"context_line":"(``dns.yml``)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ee030e03_5886f389","line":131,"range":{"start_line":130,"start_character":0,"end_line":131,"end_character":103},"updated":"2021-01-13 18:04:57.000000000","message":"These render on a single line","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Move the environment-specific parts of this configuration to environment-specific extra variables files:"},{"line_number":128,"context_line":"variables files:"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"``networks.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/networks.yml``"},{"line_number":131,"context_line":"``network-allocation.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/network-allocation.yml``"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Other network configuration that may differ between environments includes DNS"},{"line_number":134,"context_line":"(``dns.yml``)."}],"source_content_type":"text/x-rst","patch_set":4,"id":"ae1c941f_c04ebdc3","line":131,"range":{"start_line":130,"start_character":0,"end_line":131,"end_character":103},"in_reply_to":"ee030e03_5886f389","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":131,"context_line":"``network-allocation.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/network-allocation.yml``"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Other network configuration that may differ between environments includes DNS"},{"line_number":134,"context_line":"(``dns.yml``)."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Other Configuration"},{"line_number":137,"context_line":"^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":4,"id":"effc81ca_a9a188bb","line":134,"updated":"2021-01-13 18:04:57.000000000","message":"Should we cover things that tend to go in group_vars such as interface names?","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":131,"context_line":"``network-allocation.yml`` -\u003e ``$KAYOBE_CONFIG_PATH/environments/\u003cenvironment\u003e/network-allocation.yml``"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Other network configuration that may differ between environments includes DNS"},{"line_number":134,"context_line":"(``dns.yml``)."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Other Configuration"},{"line_number":137,"context_line":"^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9d8d627d_7284ddf9","line":134,"in_reply_to":"effc81ca_a9a188bb","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":140,"context_line":"environment. This is done via the ``overcloud.yml`` file documented in"},{"line_number":141,"context_line":":ref:`control-plane-service-placement`."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"When using baremetal compute node, allocation of TCP ports for serial console"},{"line_number":144,"context_line":"functionality is typically specific to an environment"},{"line_number":145,"context_line":"(``console-allocation.yml``). This file is automatically managed by Kayobe,"},{"line_number":146,"context_line":"like the ``network-allocation.yml`` file."}],"source_content_type":"text/x-rst","patch_set":4,"id":"0266e79a_51f7d2c8","line":143,"range":{"start_line":143,"start_character":29,"end_line":143,"end_character":33},"updated":"2021-01-13 18:04:57.000000000","message":"nodes","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":140,"context_line":"environment. This is done via the ``overcloud.yml`` file documented in"},{"line_number":141,"context_line":":ref:`control-plane-service-placement`."},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"When using baremetal compute node, allocation of TCP ports for serial console"},{"line_number":144,"context_line":"functionality is typically specific to an environment"},{"line_number":145,"context_line":"(``console-allocation.yml``). This file is automatically managed by Kayobe,"},{"line_number":146,"context_line":"like the ``network-allocation.yml`` file."}],"source_content_type":"text/x-rst","patch_set":4,"id":"357f5232_cf065022","line":143,"range":{"start_line":143,"start_character":29,"end_line":143,"end_character":33},"in_reply_to":"0266e79a_51f7d2c8","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":162,"context_line":"----------------------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"It may be beneficial to define variables in a file shared by multiple"},{"line_number":165,"context_line":"environments, but still set variable to different values based on the"},{"line_number":166,"context_line":"environment. The Kayobe environment in use can be retrieve within Ansible via"},{"line_number":167,"context_line":"the ``kayobe_environment`` variable. For example, some variables from"},{"line_number":168,"context_line":"``$KAYOBE_CONFIG_PATH/networks.yml`` could be shared in the following way:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"234eb8c8_294fc6a7","line":165,"range":{"start_line":165,"start_character":28,"end_line":165,"end_character":36},"updated":"2021-01-13 18:04:57.000000000","message":"variables","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":162,"context_line":"----------------------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"It may be beneficial to define variables in a file shared by multiple"},{"line_number":165,"context_line":"environments, but still set variable to different values based on the"},{"line_number":166,"context_line":"environment. The Kayobe environment in use can be retrieve within Ansible via"},{"line_number":167,"context_line":"the ``kayobe_environment`` variable. For example, some variables from"},{"line_number":168,"context_line":"``$KAYOBE_CONFIG_PATH/networks.yml`` could be shared in the following way:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"93ea85bc_854d8f68","line":165,"range":{"start_line":165,"start_character":28,"end_line":165,"end_character":36},"in_reply_to":"234eb8c8_294fc6a7","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bbab14d2482a3aae0c30d40a5a465c6a2e44b04e","unresolved":true,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"It may be beneficial to define variables in a file shared by multiple"},{"line_number":165,"context_line":"environments, but still set variable to different values based on the"},{"line_number":166,"context_line":"environment. The Kayobe environment in use can be retrieve within Ansible via"},{"line_number":167,"context_line":"the ``kayobe_environment`` variable. For example, some variables from"},{"line_number":168,"context_line":"``$KAYOBE_CONFIG_PATH/networks.yml`` could be shared in the following way:"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"4d132060_dd1bfa7f","line":166,"range":{"start_line":166,"start_character":50,"end_line":166,"end_character":58},"updated":"2021-01-13 18:04:57.000000000","message":"retrieved","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"a99a69f0e4cba6a8588e94ab6002477626bc214f","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"It may be beneficial to define variables in a file shared by multiple"},{"line_number":165,"context_line":"environments, but still set variable to different values based on the"},{"line_number":166,"context_line":"environment. The Kayobe environment in use can be retrieve within Ansible via"},{"line_number":167,"context_line":"the ``kayobe_environment`` variable. For example, some variables from"},{"line_number":168,"context_line":"``$KAYOBE_CONFIG_PATH/networks.yml`` could be shared in the following way:"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"2fd6f508_2028489e","line":166,"range":{"start_line":166,"start_character":50,"end_line":166,"end_character":58},"in_reply_to":"4d132060_dd1bfa7f","updated":"2021-03-09 15:28:09.000000000","message":"Done","commit_id":"e2f9a88fd8c4140d781092ad6067a12674f29d5b"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"380f659d50fb2e5a6c465e18a7cd52ca6e17283e","unresolved":true,"context_lines":[{"line_number":148,"context_line":"Kolla Configuration"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Like Ansible inventories, Kolla configuration is currently independent in each"},{"line_number":152,"context_line":"environment. Similarly, symbolic links can be used to share common variable"},{"line_number":153,"context_line":"definitions. It is advised to ensure that the Kolla ``passwords.yml`` file is"},{"line_number":154,"context_line":"different in each environment to avoid sharing any credentials."}],"source_content_type":"text/x-rst","patch_set":6,"id":"99f5f239_93362697","line":151,"updated":"2021-03-30 10:43:21.000000000","message":"Aren\u0027t the inventories merged now? So not completely independent?","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4b8ac9e41c1ff35de12d2a39448b4c219e1b29c4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"Kolla Configuration"},{"line_number":149,"context_line":"-------------------"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Like Ansible inventories, Kolla configuration is currently independent in each"},{"line_number":152,"context_line":"environment. Similarly, symbolic links can be used to share common variable"},{"line_number":153,"context_line":"definitions. It is advised to ensure that the Kolla ``passwords.yml`` file is"},{"line_number":154,"context_line":"different in each environment to avoid sharing any credentials."}],"source_content_type":"text/x-rst","patch_set":6,"id":"c7b16bf8_883489e3","line":151,"in_reply_to":"99f5f239_93362697","updated":"2021-04-02 13:02:17.000000000","message":"Done","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"739a681b5dd0bc9dcbb0d8498ce9a7e8b789235c","unresolved":true,"context_lines":[{"line_number":156,"context_line":"Custom Ansible Playbooks and Hooks"},{"line_number":157,"context_line":"----------------------------------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Ansible playbooks and hooks are currently shared across all environments."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Dynamic Variable Definitions"},{"line_number":162,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"badc89ce_6e7e778d","line":159,"updated":"2021-03-31 09:31:56.000000000","message":"Currently ansible.cfg, for each of kayobe and kolla-ansible is also shared.","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4b8ac9e41c1ff35de12d2a39448b4c219e1b29c4","unresolved":false,"context_lines":[{"line_number":156,"context_line":"Custom Ansible Playbooks and Hooks"},{"line_number":157,"context_line":"----------------------------------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Ansible playbooks and hooks are currently shared across all environments."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Dynamic Variable Definitions"},{"line_number":162,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d12a1ce2_bb10d850","line":159,"in_reply_to":"42b9a365_bd05c920","updated":"2021-04-02 13:02:17.000000000","message":"Done","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6e6374cf72128bff29d1cde87fbcc6b1be0077c0","unresolved":true,"context_lines":[{"line_number":156,"context_line":"Custom Ansible Playbooks and Hooks"},{"line_number":157,"context_line":"----------------------------------"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Ansible playbooks and hooks are currently shared across all environments."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Dynamic Variable Definitions"},{"line_number":162,"context_line":"----------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"42b9a365_bd05c920","line":159,"in_reply_to":"badc89ce_6e7e778d","updated":"2021-03-31 09:38:33.000000000","message":"And custom galaxy requirements.yml","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"739a681b5dd0bc9dcbb0d8498ce9a7e8b789235c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3311b472_cdf4ce12","line":252,"range":{"start_line":244,"start_character":0,"end_line":252,"end_character":0},"updated":"2021-03-31 09:31:56.000000000","message":"I think it copies everything now.","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4b8ac9e41c1ff35de12d2a39448b4c219e1b29c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a289ce6c_bb4fd3be","line":252,"range":{"start_line":244,"start_character":0,"end_line":252,"end_character":0},"in_reply_to":"3311b472_cdf4ce12","updated":"2021-04-02 13:02:17.000000000","message":"Done","commit_id":"f8d9861c55532a265c24b1ecba3ec5267af60e41"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70af849d541942b5b3a755005f7eb7259c701a65","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Working With Multiple Environments"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Sometimes it can be useful to support deployment of multiple environments from"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5aa45e85_dda545a7","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":34},"updated":"2021-04-02 18:54:45.000000000","message":"nit: this shows up in the top level contents. Just \u0027Multiple Environments\u0027 might be a bit more succinct.\n\nRelated: need a better way of organising the advanced docs.","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c351a7d7052411da29cdbb2003a704b38e1691d9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":2,"context_line":"Working With Multiple Environments"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"Sometimes it can be useful to support deployment of multiple environments from"}],"source_content_type":"text/x-rst","patch_set":10,"id":"03527aa2_e77fe633","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":34},"in_reply_to":"5aa45e85_dda545a7","updated":"2021-04-09 14:59:54.000000000","message":"Done","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"70af849d541942b5b3a755005f7eb7259c701a65","unresolved":true,"context_lines":[{"line_number":62,"context_line":"Ansible Inventories"},{"line_number":63,"context_line":"-------------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Each environment can include its own inventory, which override any variable"},{"line_number":66,"context_line":"declaration done in the shared inventory. Typically, a shared inventory may be"},{"line_number":67,"context_line":"used to define groups and group variables, while hosts and host variables would"},{"line_number":68,"context_line":"be set in enviroment inventories. The following layout (ignoring non-inventory"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ca895479_42934415","line":65,"range":{"start_line":65,"start_character":54,"end_line":65,"end_character":62},"updated":"2021-04-02 18:54:45.000000000","message":"nit: overrides","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c351a7d7052411da29cdbb2003a704b38e1691d9","unresolved":false,"context_lines":[{"line_number":62,"context_line":"Ansible Inventories"},{"line_number":63,"context_line":"-------------------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Each environment can include its own inventory, which override any variable"},{"line_number":66,"context_line":"declaration done in the shared inventory. Typically, a shared inventory may be"},{"line_number":67,"context_line":"used to define groups and group variables, while hosts and host variables would"},{"line_number":68,"context_line":"be set in enviroment inventories. The following layout (ignoring non-inventory"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bab2b324_fbf9af88","line":65,"range":{"start_line":65,"start_character":54,"end_line":65,"end_character":62},"in_reply_to":"ca895479_42934415","updated":"2021-04-09 14:59:54.000000000","message":"Done","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"74d83480a14f940796b5f4237ca95f1e6ebf527c","unresolved":true,"context_lines":[{"line_number":155,"context_line":"Custom Ansible Playbooks and Hooks"},{"line_number":156,"context_line":"----------------------------------"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The current files and directories are currently shared across all environments:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* Ansible playbooks, roles and requirements file under"},{"line_number":161,"context_line":"  ``$KAYOBE_CONFIG_PATH/ansible``"}],"source_content_type":"text/x-rst","patch_set":10,"id":"af6faef9_301be99f","line":158,"range":{"start_line":158,"start_character":4,"end_line":158,"end_character":11},"updated":"2021-04-02 18:48:02.000000000","message":"following?","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c351a7d7052411da29cdbb2003a704b38e1691d9","unresolved":false,"context_lines":[{"line_number":155,"context_line":"Custom Ansible Playbooks and Hooks"},{"line_number":156,"context_line":"----------------------------------"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"The current files and directories are currently shared across all environments:"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"* Ansible playbooks, roles and requirements file under"},{"line_number":161,"context_line":"  ``$KAYOBE_CONFIG_PATH/ansible``"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3cf7a078_22fa72b6","line":158,"range":{"start_line":158,"start_character":4,"end_line":158,"end_character":11},"in_reply_to":"af6faef9_301be99f","updated":"2021-04-09 14:59:54.000000000","message":"Done","commit_id":"13d402d8d1dc7bbca2f3b7a395584d6f239e853e"}]}
