)]}'
{"magnum/cmd/conductor.py":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"4b1a37985909b5b897e55d515bbe6118eafe0145","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                   \u0027Location of template to build a k8s cluster. \u0027)),"},{"line_number":41,"context_line":"    ]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"cfg.CONF.register_opts(k8s_heat_opts, group\u003d\u0027k8s_heat\u0027)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_06b34eea","line":43,"updated":"2015-04-10 06:42:29.000000000","message":"What about adding this parameter to https://github.com/openstack/magnum/blob/master/magnum/conductor/handlers/bay_k8s_heat.py#L31-L44","commit_id":"566ca050c410f68d559549978e8a41d3127df580"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"6f5425a06f46a2e5c883184d413809c46bf6d51b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                   \u0027Location of template to build a k8s cluster. \u0027)),"},{"line_number":41,"context_line":"    ]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"cfg.CONF.register_opts(k8s_heat_opts, group\u003d\u0027k8s_heat\u0027)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aa53dc9_86e07e97","line":43,"in_reply_to":"9aa53dc9_06b34eea","updated":"2015-04-10 06:53:09.000000000","message":"Ooops, will add their.","commit_id":"566ca050c410f68d559549978e8a41d3127df580"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"a4090ad52f1e48f61da730b96c51ca00250afa11","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"k8s_heat_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027template_path\u0027,"},{"line_number":37,"context_line":"               default\u003dpaths.basedir_def(\u0027templates/heat-kubernetes/\u0027"},{"line_number":38,"context_line":"                                         \u0027kubecluster.yaml\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_8c32ddf0","line":35,"updated":"2015-04-10 07:48:37.000000000","message":"Does this file still need update? Why?","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"55fe175a8a8622a4e3fbb15cf9c86a83ed7e2207","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"k8s_heat_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027template_path\u0027,"},{"line_number":37,"context_line":"               default\u003dpaths.basedir_def(\u0027templates/heat-kubernetes/\u0027"},{"line_number":38,"context_line":"                                         \u0027kubecluster.yaml\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aa53dc9_8cc65d66","line":35,"updated":"2015-04-10 08:04:49.000000000","message":"I think the option will be depulicated with this option:\n\nhttps://github.com/openstack/magnum/blob/master/magnum/conductor/template_definition.py#L29-L35","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"46a3d0ceffca3533c20244e89954422e96e783ad","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"k8s_heat_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027template_path\u0027,"},{"line_number":37,"context_line":"               default\u003dpaths.basedir_def(\u0027templates/heat-kubernetes/\u0027"},{"line_number":38,"context_line":"                                         \u0027kubecluster.yaml\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_790380b9","line":35,"in_reply_to":"7aaa499b_1ba114aa","updated":"2015-04-11 00:47:15.000000000","message":"[k8s_heat]template_path  is deprecated by [bay] k8s_atomic_template_path, which means we can use both of them in the config file ,  but we can only use cfg.CONF.bay.k8s_atomic_template_path in the code. \n\nbug1442477 is happening because we still use the cfg.CONF.k8s_heat.template_path to check the template file, need to replace to cfg.CONF.bay.k8s_atomic_template_path I think.","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":668,"name":"Adrian Otto","email":"aotto@aotto.com","username":"aotto"},"change_message_id":"693fab07dbbc48b1d41da923f0998a8e6ceb5178","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"k8s_heat_opts \u003d ["},{"line_number":36,"context_line":"    cfg.StrOpt(\u0027template_path\u0027,"},{"line_number":37,"context_line":"               default\u003dpaths.basedir_def(\u0027templates/heat-kubernetes/\u0027"},{"line_number":38,"context_line":"                                         \u0027kubecluster.yaml\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_1ba114aa","line":35,"in_reply_to":"9aa53dc9_8cc65d66","updated":"2015-04-10 22:05:18.000000000","message":"If it is a duplicate, then why is this bug happening? If the bug invalid?\n\nhttps://bugs.launchpad.net/magnum/+bug/1442477","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":15697,"name":"Fang Fenghua","email":"fang_fenghua@hotmail.com","username":"F"},"change_message_id":"161f60cd53d50a0e745a4c37dbca5754bada4f25","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    ]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"cfg.CONF.register_opts(k8s_heat_opts, group\u003d\u0027k8s_heat\u0027)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def main():"},{"line_number":47,"context_line":"    cfg.CONF(sys.argv[1:], project\u003d\u0027magnum\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_d5ced082","line":44,"updated":"2015-04-11 23:49:56.000000000","message":"Use k8s_atomic_template_path will got the error to.\n2015-04-12 07:34:02.250 CRITICAL magnum [-] NoSuchOptError: no such option in group k8s_heat: k8s_atomic_template_path\n\n2015-04-12 07:34:02.250 TRACE magnum Traceback (most recent call last):\n2015-04-12 07:34:02.250 TRACE magnum   File \"/usr/bin/magnum-conductor\", line 10, in \u003cmodule\u003e\n2015-04-12 07:34:02.250 TRACE magnum     sys.exit(main())\n\nJust change the key name we will need add option too.","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":15697,"name":"Fang Fenghua","email":"fang_fenghua@hotmail.com","username":"F"},"change_message_id":"161f60cd53d50a0e745a4c37dbca5754bada4f25","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":60,"context_line":"    ]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if not os.path.isfile(cfg.CONF.k8s_heat.template_path):"},{"line_number":63,"context_line":"        LOG.error(_LE(\"The Heat template %s is not found.  Install template.\")"},{"line_number":64,"context_line":"                       % (cfg.CONF.k8s_heat.template_path))"},{"line_number":65,"context_line":"        exit(-1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_959f285f","line":62,"updated":"2015-04-11 23:49:56.000000000","message":"@Hongbin Lu I agree with you! Also I don\u0027t think let process exit is good.We can report some error then the end-user can place the file to cfg.CONF.k8s_heat.template_path and then retry the reqeust.","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"87cb1482960ca91ba69b777ff3d846a786dec2af","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":60,"context_line":"    ]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if not os.path.isfile(cfg.CONF.k8s_heat.template_path):"},{"line_number":63,"context_line":"        LOG.error(_LE(\"The Heat template %s is not found.  Install template.\")"},{"line_number":64,"context_line":"                       % (cfg.CONF.k8s_heat.template_path))"},{"line_number":65,"context_line":"        exit(-1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_c1728e7c","line":62,"updated":"2015-04-12 14:53:05.000000000","message":"I have also discussed this with Diga via IRC, template_path is already deprecated, so we can use k8s_atomic_template_path and k8s_coreos_template_path here.\n\nhttps://github.com/openstack/magnum/blob/master/magnum/conductor/template_definition.py#L29-L40\n\n\u003cdiga\u003e https://github.com/openstack/magnum/blob/master/magnum/conductor/template_definition.py#L29-L35\n\u003cdiga\u003e  I think we should remove this code from conductor, https://github.com/openstack/magnum/blob/master/magnum/cmd/conductor.py#L50\n\u003cdiga\u003e because now template_path is replaced with k8s_atomic_template_path \u0026 k8s_coreos_template_path\n\u003cjay-lau-513\u003e imho, we should check k8s_atomic_template_path and k8s_coreos_template_path\n\u003cjay-lau-513\u003e in conductor.py\n\u003cjay-lau-513\u003e thoughts?\n\u003cdiga\u003e okay","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"48cb1705c1a439c4a4c518b735e637233a735e31","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if not os.path.isfile(cfg.CONF.k8s_heat.template_path):"},{"line_number":63,"context_line":"        LOG.error(_LE(\"The Heat template %s is not found.  Install template.\")"},{"line_number":64,"context_line":"                       % (cfg.CONF.k8s_heat.template_path))"},{"line_number":65,"context_line":"        exit(-1)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    server \u003d service.Service(cfg.CONF.conductor.topic,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aaa499b_afa09391","line":64,"updated":"2015-04-11 17:52:21.000000000","message":"I think a better fix is to move Line 62-65 to magnum/conductor/template_definition, so that we don\u0027t need to re-declare the config here.","commit_id":"dc3dd5fb41906dddd4812693582860d84afa91dc"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"1b0fe11e9b9531dde466a5a54ca40d58ee118c16","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":48,"context_line":"    ]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if (not os.path.isfile(cfg.CONF.bay.k8s_atomic_template_path)"},{"line_number":51,"context_line":"         and not os.path.isfile(cfg.CONF.bay.k8s_coreos_template_path)):"},{"line_number":52,"context_line":"        LOG.error(_LE(\"The Heat template for both k8s atomic \""},{"line_number":53,"context_line":"                      \"%(atomic_template)s and coreos (coreos_template)%s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_47d8cb53","line":50,"updated":"2015-04-13 04:41:39.000000000","message":"Why not use cfg.CONF.k8s_heat.cluster_type option to check the corresponding template path.\n\nIf fedora-atomic : check whether cfg.CONF.bay.k8s_atomic_template_path is exist or not.\n\nIf coreos:   check whether cfg.CONF.bay.k8s_coreos_template_path is exist or not.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"cf215f74257676f69463aad85f7db1c2cf07c291","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":48,"context_line":"    ]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if (not os.path.isfile(cfg.CONF.bay.k8s_atomic_template_path)"},{"line_number":51,"context_line":"         and not os.path.isfile(cfg.CONF.bay.k8s_coreos_template_path)):"},{"line_number":52,"context_line":"        LOG.error(_LE(\"The Heat template for both k8s atomic \""},{"line_number":53,"context_line":"                      \"%(atomic_template)s and coreos (coreos_template)%s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_c7929b57","line":50,"in_reply_to":"7aaa499b_47d8cb53","updated":"2015-04-13 04:51:42.000000000","message":"@Lan - This is decision should be taken at template_definition side not at cmd/conductor, that work is still in progress.\nThis patch is necessary because there is no template check found due to this magnum-conducor is failing.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"97b62afecad6003d06f3ae38d50e0c50aa3c6b6c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":48,"context_line":"    ]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if (not os.path.isfile(cfg.CONF.bay.k8s_atomic_template_path)"},{"line_number":51,"context_line":"         and not os.path.isfile(cfg.CONF.bay.k8s_coreos_template_path)):"},{"line_number":52,"context_line":"        LOG.error(_LE(\"The Heat template for both k8s atomic \""},{"line_number":53,"context_line":"                      \"%(atomic_template)s and coreos (coreos_template)%s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_e7d117fd","line":50,"in_reply_to":"7aaa499b_c7929b57","updated":"2015-04-13 05:08:38.000000000","message":"@Digambar, I agree that the template_definition side make this decision is better. But I am doubt the necessary of this patch, although no templates were found, but the conductor should still can be running because we can do some other operations such as:  create pod on an existed bay, container operations and so on.\n\nThe templates only affect the creation(update) of bay, not all functions of conductor IIUC.  If there is already a check at template_definition side, no need here I think.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"7072fdd588f1d300dbaad02c5a1b89241449949a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":48,"context_line":"    ]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if (not os.path.isfile(cfg.CONF.bay.k8s_atomic_template_path)"},{"line_number":51,"context_line":"         and not os.path.isfile(cfg.CONF.bay.k8s_coreos_template_path)):"},{"line_number":52,"context_line":"        LOG.error(_LE(\"The Heat template for both k8s atomic \""},{"line_number":53,"context_line":"                      \"%(atomic_template)s and coreos (coreos_template)%s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_471d6b72","line":50,"in_reply_to":"7aaa499b_e702373e","updated":"2015-04-13 05:37:58.000000000","message":"Yes, you are right that creation(update) is very important all the time.\nBut if we use \"fedora-atomic\", and only k8s_coreos_template_path is exist (k8s_atomic_template_path is not), the conductor service can be running but the creation(update) is also be affected.\n\nSince we can check template found more accurate here, why not ?","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"9ce0df88f1e2fa7c9038be4b78484bbf907e6d22","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        bay_k8s_heat.Handler()"},{"line_number":48,"context_line":"    ]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    if (not os.path.isfile(cfg.CONF.bay.k8s_atomic_template_path)"},{"line_number":51,"context_line":"         and not os.path.isfile(cfg.CONF.bay.k8s_coreos_template_path)):"},{"line_number":52,"context_line":"        LOG.error(_LE(\"The Heat template for both k8s atomic \""},{"line_number":53,"context_line":"                      \"%(atomic_template)s and coreos (coreos_template)%s \""}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_e702373e","line":50,"in_reply_to":"7aaa499b_e7d117fd","updated":"2015-04-13 05:24:28.000000000","message":"There is no template check found at template_definition side, that;s the reason we required this check at cmd/conductor side. But creation(update) is very important at all the time, right.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":15697,"name":"Fang Fenghua","email":"fang_fenghua@hotmail.com","username":"F"},"change_message_id":"631e9fc23953d7ae8d464651fc862e610dc69b27","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                      \"can not be found. Install template.\") %"},{"line_number":55,"context_line":"                  {\u0027atomic_template\u0027: cfg.CONF.bay.k8s_atomic_template_path,"},{"line_number":56,"context_line":"                   \u0027coreos_template\u0027: cfg.CONF.bay.k8s_coreos_template_path})"},{"line_number":57,"context_line":"        exit(-1)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    server \u003d service.Service(cfg.CONF.conductor.topic,"},{"line_number":60,"context_line":"                             cfg.CONF.conductor.host, endpoints)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_8703730f","line":57,"updated":"2015-04-13 05:38:07.000000000","message":"I agree with Lan Qi Song that it din\u0027t need exit magnum-conductor.When can claim a error,then user and place template\nto corret dir.Also it\u0027s like that user must use fedora-atomic.Maybe we just need core-os.Did we just test   cfg.CONF.bay.k8s_atomic_template_path  exist  is googd?","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"c3f92a329f2f9e1757fa074c90a57d9c6189fc54","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                      \"can not be found. Install template.\") %"},{"line_number":55,"context_line":"                  {\u0027atomic_template\u0027: cfg.CONF.bay.k8s_atomic_template_path,"},{"line_number":56,"context_line":"                   \u0027coreos_template\u0027: cfg.CONF.bay.k8s_coreos_template_path})"},{"line_number":57,"context_line":"        exit(-1)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    server \u003d service.Service(cfg.CONF.conductor.topic,"},{"line_number":60,"context_line":"                             cfg.CONF.conductor.host, endpoints)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_6274d59b","line":57,"in_reply_to":"7aaa499b_8703730f","updated":"2015-04-13 05:44:12.000000000","message":"Actually, this was introduced by bug 1410473 , I\u0027m adding sdake here to get more comments. Thanks.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"c8aaec243320504e2c5e11b1b078ed9b1ae80319","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                  {\u0027atomic_template\u0027: cfg.CONF.bay.k8s_atomic_template_path,"},{"line_number":56,"context_line":"                   \u0027coreos_template\u0027: cfg.CONF.bay.k8s_coreos_template_path})"},{"line_number":57,"context_line":"        exit(-1)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    server \u003d service.Service(cfg.CONF.conductor.topic,"},{"line_number":60,"context_line":"                             cfg.CONF.conductor.host, endpoints)"},{"line_number":61,"context_line":"    server.serve()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_f7765e3d","line":58,"updated":"2015-04-13 11:38:04.000000000","message":"+1 to Lan\u0027s comment that magnum-conductor should not exit when templates are not found as there are other operation also that can be done without template.\nIt should affect during bay creation.","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"859059f45576de3b0baf41850080c1964a98edea","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                  {\u0027atomic_template\u0027: cfg.CONF.bay.k8s_atomic_template_path,"},{"line_number":56,"context_line":"                   \u0027coreos_template\u0027: cfg.CONF.bay.k8s_coreos_template_path})"},{"line_number":57,"context_line":"        exit(-1)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    server \u003d service.Service(cfg.CONF.conductor.topic,"},{"line_number":60,"context_line":"                             cfg.CONF.conductor.host, endpoints)"},{"line_number":61,"context_line":"    server.serve()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_7f2b3931","line":58,"in_reply_to":"7aaa499b_f7765e3d","updated":"2015-04-13 17:13:45.000000000","message":"this patch does not introduce exit.  I have filed a bug not to exit the conductor process if templates not found.  I had not considered the other use cases of wanting an operational server if the templates are not present.\n\nhttps://bugs.launchpad.net/magnum/+bug/1443558","commit_id":"1df02fd9b1cf3c998dce314cc4e79d81fda1152f"}]}
