)]}'
{"ansible/group_vars/all.yml":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"bb61b186b7d906d1a37219f07558e5a5f2736dcc","unresolved":false,"context_lines":[{"line_number":190,"context_line":"enable_central_logging: \"no\""},{"line_number":191,"context_line":"enable_mongodb: \"no\""},{"line_number":192,"context_line":"enable_manila: \"no\""},{"line_number":193,"context_line":"enable_etcd: \"no\""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"ironic_keystone_user: \"ironic\""},{"line_number":196,"context_line":"neutron_keystone_user: \"neutron\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a061dce_1e165755","line":193,"range":{"start_line":193,"start_character":0,"end_line":193,"end_character":17},"updated":"2016-04-08 13:54:42.000000000","message":"All enable_service variables are in globals, please add this also.","commit_id":"6acab2d6a56c7760ecf6e2fd2c3477e732d71a26"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"20f17a253c4dcd799c4f1f45eb3b12e37a6b5649","unresolved":false,"context_lines":[{"line_number":190,"context_line":"enable_central_logging: \"no\""},{"line_number":191,"context_line":"enable_mongodb: \"no\""},{"line_number":192,"context_line":"enable_manila: \"no\""},{"line_number":193,"context_line":"enable_etcd: \"no\""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"ironic_keystone_user: \"ironic\""},{"line_number":196,"context_line":"neutron_keystone_user: \"neutron\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a061dce_1f62c2ad","line":193,"range":{"start_line":193,"start_character":0,"end_line":193,"end_character":17},"in_reply_to":"9a061dce_1e165755","updated":"2016-04-08 19:06:56.000000000","message":"Done","commit_id":"6acab2d6a56c7760ecf6e2fd2c3477e732d71a26"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"9b5e3f30c2ee669ee37898a0e31437a9adcb9577","unresolved":false,"context_lines":[{"line_number":197,"context_line":"enable_mongodb: \"no\""},{"line_number":198,"context_line":"enable_murano: \"no\""},{"line_number":199,"context_line":"enable_swift: \"no\""},{"line_number":200,"context_line":"enable_etcd: \"no\""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"ironic_keystone_user: \"ironic\""},{"line_number":203,"context_line":"neutron_keystone_user: \"neutron\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a1b2928_fc590190","line":200,"range":{"start_line":200,"start_character":0,"end_line":200,"end_character":17},"updated":"2016-04-10 18:39:04.000000000","message":"please, put it in alphabetical order","commit_id":"25e88a3995e775c56dc917afe61ca22b78d31721"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"286fff5c59dc3c9818145bcc2122cd9083e1097a","unresolved":false,"context_lines":[{"line_number":197,"context_line":"enable_mongodb: \"no\""},{"line_number":198,"context_line":"enable_murano: \"no\""},{"line_number":199,"context_line":"enable_swift: \"no\""},{"line_number":200,"context_line":"enable_etcd: \"no\""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"ironic_keystone_user: \"ironic\""},{"line_number":203,"context_line":"neutron_keystone_user: \"neutron\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a1b2928_3f688bba","line":200,"range":{"start_line":200,"start_character":0,"end_line":200,"end_character":17},"in_reply_to":"7a1b2928_fc590190","updated":"2016-04-11 19:47:19.000000000","message":"Done","commit_id":"25e88a3995e775c56dc917afe61ca22b78d31721"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":272,"context_line":"####################"},{"line_number":273,"context_line":"# etcd"},{"line_number":274,"context_line":"####################"},{"line_number":275,"context_line":"etcd_cluster_token: \"etcd_cluster\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_dc2062fa","line":275,"updated":"2016-07-04 02:35:01.000000000","message":"shoudn\u0027t this use a random string?","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":272,"context_line":"####################"},{"line_number":273,"context_line":"# etcd"},{"line_number":274,"context_line":"####################"},{"line_number":275,"context_line":"etcd_cluster_token: \"etcd_cluster\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_0af19395","line":275,"in_reply_to":"1aa78d24_dc2062fa","updated":"2016-07-06 01:34:07.000000000","message":"In the updated PS, the token is generated like other password.","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"2498b5bb474ecf6e5f841efcde5cea8482fdfa3f","unresolved":false,"context_lines":[{"line_number":188,"context_line":"enable_ceph: \"no\""},{"line_number":189,"context_line":"enable_ceph_rgw: \"no\""},{"line_number":190,"context_line":"enable_cinder: \"no\""},{"line_number":191,"context_line":"enable_etcd: \"no\""},{"line_number":192,"context_line":"enable_heat: \"yes\""},{"line_number":193,"context_line":"enable_horizon: \"yes\""},{"line_number":194,"context_line":"enable_ironic: \"no\""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9ad45d7e_fde082ce","line":191,"updated":"2016-08-09 14:15:06.000000000","message":"I think this line has to be moved after enable_rabbitmq.","commit_id":"a9b928dbb7b56eaf8bd920590cbc1206bde9621e"}],"ansible/roles/etcd/defaults/main.yml":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"a7510e928d255fdd99ba5b44290287a49d5a42e8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"####################"},{"line_number":12,"context_line":"# etcd"},{"line_number":13,"context_line":"####################"},{"line_number":14,"context_line":"etcd_cluster_token: \"etcd_cluster\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_d643b440","line":14,"updated":"2016-06-23 15:49:10.000000000","message":"If this is used to uniqly identify the cluster, it shoudl be in all.yaml as a parameter and possibly commented out option in globals.yml otherwise two kolla clusters would collide","commit_id":"45ec0e625c83d17c5cedb51ee112246cb331bf39"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"e3947c4c76814da33e19df8ec838c65b287ac1c5","unresolved":false,"context_lines":[{"line_number":11,"context_line":"####################"},{"line_number":12,"context_line":"# etcd"},{"line_number":13,"context_line":"####################"},{"line_number":14,"context_line":"etcd_cluster_token: \"etcd_cluster\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_4fe6ed15","line":14,"in_reply_to":"3aaa91ec_d643b440","updated":"2016-06-24 05:13:37.000000000","message":"Done","commit_id":"45ec0e625c83d17c5cedb51ee112246cb331bf39"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"etcd\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"####################"},{"line_number":5,"context_line":"# Docker"},{"line_number":6,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_1c794afd","line":3,"updated":"2016-07-04 02:35:01.000000000","message":"nit: use two empty lines here.","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"etcd\""},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"####################"},{"line_number":5,"context_line":"# Docker"},{"line_number":6,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_2a328f5f","line":3,"in_reply_to":"1aa78d24_1c794afd","updated":"2016-07-06 01:34:07.000000000","message":"Done","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"}],"ansible/roles/etcd/tasks/bootstrap.yml":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"8b8bd1dfe785f25a4ffae938adc6d0043c401ca1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    name: \"etcd\""},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba0121b8_ef1d9ebe","line":7,"updated":"2016-03-29 11:54:23.000000000","message":"remove blank line","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"89900aa2e5b0ddc5225a99593efb66eb5cdcc0d7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    name: \"etcd\""},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba0121b8_b7e769e3","line":7,"in_reply_to":"ba0121b8_ef1d9ebe","updated":"2016-03-29 16:17:57.000000000","message":"Done","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"d80721be0f446c0b45a723c5b1393e40add8fc70","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    name: \"etcd\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ba0121b8_9b4a3dc4","line":6,"updated":"2016-03-30 01:01:01.000000000","message":"call this kolla_etcd, etcd is too generic and may be used by other host systems.  we don\u0027t want to conflict on namespaces.","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"903d97a460339a0f5a60bd7d17c9fed8905f1ee7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    name: \"etcd\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ba0121b8_211ca212","line":6,"in_reply_to":"ba0121b8_9b4a3dc4","updated":"2016-03-30 02:03:33.000000000","message":"Done","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"a07e75786af6aee1d6bcfbd1e0a839e9a0924920","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_d2d3ef5d","line":7,"updated":"2016-03-30 06:17:26.000000000","message":"Shouldn\u0027t there be a when condition here to make sure that this volume is created only when inventory_hostname is in the \"etcd\" group similar to how nova-compute\u0027s volume is created only when inventory_hostname is in the \"compute\" group ?\n\nhttps://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/bootstrap_service.yml#L27-L28","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"a18d5cdd5c290302fed86ce2d24da9823f27c82e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_d8c5220b","line":7,"in_reply_to":"ba0121b8_15a6b1ad","updated":"2016-04-02 01:56:13.000000000","message":"Thanks for the reply Hui.\n\nAre 9.2.212.54 and 9.2.212.55 the control nodes ?\n\nI see mariadb and memcached also run on single host in https://github.com/openstack/kolla/blob/master/ansible/site.yml, and do have the \"when:\" condition to check if inventory_hostname is in the right group when starting the container.\n\nmemcached:\nhttps://github.com/openstack/kolla/blob/master/ansible/site.yml#L41\nhttps://github.com/openstack/kolla/blob/master/ansible/roles/memcached/tasks/start.yml#L9\n\nmariadb:\nhttps://github.com/openstack/kolla/blob/master/ansible/site.yml#L47\nhttps://github.com/openstack/kolla/blob/master/ansible/roles/mariadb/tasks/start.yml#L14\n\nThat is why asked.  But, your output shows that the \"when:\" condition is not needed as the etcd container was started just on the control nodes.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"570c4af9f95033c8c79c781f31dcb472b831af7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_4c7fcadf","line":7,"in_reply_to":"ba0121b8_37badd0a","updated":"2016-04-01 02:43:19.000000000","message":"Hi, Vikram, regarding the kolla_etcd volume, there is no such etcd bootstrap container. The volume mounted to the container is usable in the container. In the nova-compute case, the extend_start.sh of nova-compute needs to chown of the mount volume [1]. That\u0027s why register is necessary for nova-compute. Is my understanding correct? Thanks. -Hui\n\n[1] https://github.com/openstack/kolla/blob/master/docker/nova/nova-compute/extend_start.sh#L6","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"d3c26c05e163744e14bb2e8427612e2ca97d2f65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_15a6b1ad","line":7,"in_reply_to":"ba0121b8_37badd0a","updated":"2016-03-31 02:47:15.000000000","message":"Hi, Vikram, thanks for your detailed comment. However, I still do not understand why we need this \"inventory_hostname in groups[\u0027etcd\u0027]\". Because in [1], the etcd role will only be run against control nodes, which is the parent of etcd group.\n\nIn contrast, the nova role [https://github.com/openstack/kolla/blob/master/ansible/site.yml#L90] runs on a group of hosts, that is why the \"\"inventory_hostname in groups[\u0027compute\u0027]\" is necessary.\n\nPlease see the log of my output. My control group has two nodes, and the etcd role only runs on those nodes. So I think the when condition is unnecessary. Please correct me. Thanks.\n\n[1] https://review.openstack.org/#/c/298451/5/ansible/site.yml\n[2] https://github.com/openstack/kolla/blob/master/ansible/site.yml#L90\n\n-----------\nTASK: [etcd | Copying over etcd-conf.sh] ************************************** \nok: [9.2.212.54]\nok: [9.2.212.55]\n\nTASK: [etcd | Creating etcd volume] ******************************************* \nok: [9.2.212.54]\nok: [9.2.212.55]\n\nTASK: [etcd | Starting etcd container] **************************************** \nok: [9.2.212.54]\nok: [9.2.212.55]","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"a18d5cdd5c290302fed86ce2d24da9823f27c82e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_7854d620","line":7,"in_reply_to":"ba0121b8_4c7fcadf","updated":"2016-04-02 01:56:13.000000000","message":"Hi Hui,\n\nYes, https://github.com/openstack/kolla/blob/master/docker/nova/nova-compute/extend_start.sh is run when the nova bootstrap container (bootstrap_nova_compute) is started.  More importantly, bootstrapping a container mounts all the required volumes.\n\nhttps://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/bootstrap_service.yml#L45-L47\n\nIn nova-compute\u0027s case, the chown is done for /var/lib/nova/ in https://github.com/openstack/kolla/blob/master/docker/nova/nova-compute/extend_start.sh#L6  to make sure that the user \"nova\" is the owner of  /var/lib/nova/  inside the container.\n\n  $ docker exec nova_libvirt ls -l /var/lib/nova\n  total 4\n  drwxr-xr-x 5 nova nova 4096 Mar 24 23:36 instances\n\nSo, if an etcd bootstrap container is not needed, and if you see all the volumes mounted properly with \"etcd\" user as the owner, then, yes, an etcd bootstrap container is not needed as there is nothing to bootstrap.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"6e8f0537a7333183b5c756945c84c6727e5f4990","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_b3020fb3","line":7,"in_reply_to":"ba0121b8_7854d620","updated":"2016-04-02 02:38:18.000000000","message":"Some output as you want:\nroot@vosklab11:~# docker exec etcd whoami\netcd\nroot@vosklab11:~# \nroot@vosklab11:~# docker exec etcd ls -ls /var/lib/etcd/\ntotal 4\n4 drwx------ 4 etcd etcd 4096 Apr  1 14:09 member","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"f0c7d915a3b73e5ee049abcf431bb8bd7350af37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1a122d0e_a9a1dbab","line":7,"in_reply_to":"ba0121b8_b3020fb3","updated":"2016-04-17 07:36:28.000000000","message":"Cool, thanks for the outputs!","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"66c582a4cf6f1500c7d7ee44c73c862349f0b35d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_ee27f9c7","line":7,"in_reply_to":"ba0121b8_b7b73485","updated":"2016-03-30 22:14:30.000000000","message":"Hi, Alicja,\nPlease see my reply above. Thanks.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"cf5075c1a72a3a46ad0e62d4df3713b7b56b17a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_37badd0a","line":7,"in_reply_to":"ba0121b8_ce24b5c6","updated":"2016-03-31 01:30:07.000000000","message":"Hi Hui,\n\nThis will work in an All-In-One deploy. But, in a multi-node deploy, we need to make sure that the kolla_etcd docker volume is created _only_ on the hosts in the \"etcd\" group.  I see you\u0027ve created the \"etcd\" group to be a parent of the \"control\" group in ansible/inventory/multinode in this patch set.\n\n  [etcd:children]\n  control\n\nThis means that the kolla_etcd docker volume must be created _only_ on the controllers, and not on other hosts (network, storage, compute) in the cloud.  That is why the \"when:\" condition is needed here.\n\nComing to registering the kolla_etcd volume.  In case of nova_compute volume, the variable nova_compute_volume is registered when the volume is created  (https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/bootstrap_service.yml#L26)  _because_  the nova_compute volume is mounted to /var/lib/nova/ inside the container  (https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/bootstrap_service.yml#L47)  when \"nova_compute_volume.changed\" is true  (https://github.com/openstack/kolla/blob/master/ansible/roles/nova/tasks/bootstrap_service.yml#L51).\n\nSo, isn\u0027t an \"etcd\" bootstrap container needed to mount the kolla_etcd volume inside container after it is created ?","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"66c582a4cf6f1500c7d7ee44c73c862349f0b35d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_ce24b5c6","line":7,"in_reply_to":"ba0121b8_d2d3ef5d","updated":"2016-03-30 22:14:30.000000000","message":"Hi, Vikram,\nThat condition is necessary because the nova role could be run on different groups, nova-api or nova-compute. Here the etcd group has only one type of nodes. So do you think we really need this condition? Thanks.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"ca125375ed87f775e74b1c997d6ee3fe908db635","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_b7b73485","line":7,"in_reply_to":"ba0121b8_d2d3ef5d","updated":"2016-03-30 12:38:55.000000000","message":"also shouldn\u0027t we register kolla_etcd_volume similar to https://github.com/openstack/kolla/blob/master/ansible/roles/common/tasks/bootstrap.yml#L7 ?","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"6e8f0537a7333183b5c756945c84c6727e5f4990","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_53f573c9","line":7,"in_reply_to":"ba0121b8_d8c5220b","updated":"2016-04-02 02:38:18.000000000","message":"Yes, these two nodes are control nodes. So do you think the \"when\" condition is unnecessary?","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Creating etcd volume"},{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_bc1d96bf","line":2,"updated":"2016-07-04 02:35:01.000000000","message":"no need to create the volume specificly.","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Creating etcd volume"},{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"create_volume\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_8a33c361","line":2,"in_reply_to":"1aa78d24_bc1d96bf","updated":"2016-07-06 01:34:07.000000000","message":"Done","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"}],"ansible/roles/etcd/tasks/config.yml":[{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"ca125375ed87f775e74b1c997d6ee3fe908db635","unresolved":false,"context_lines":[{"line_number":17,"context_line":"- name: Copying over etcd-conf.sh"},{"line_number":18,"context_line":"  template:"},{"line_number":19,"context_line":"    src: \"etcd-env.sh.j2\""},{"line_number":20,"context_line":"    dest: \"{{ node_config_directory }}/etcd/etcd-env.sh\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba0121b8_5464d647","line":20,"range":{"start_line":20,"start_character":39,"end_line":20,"end_character":44},"updated":"2016-03-30 12:38:55.000000000","message":"could you add with_items loop please?","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"583604099aa46be92d574f435b235dd62a40a0c1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"- name: Copying over etcd-conf.sh"},{"line_number":18,"context_line":"  template:"},{"line_number":19,"context_line":"    src: \"etcd-env.sh.j2\""},{"line_number":20,"context_line":"    dest: \"{{ node_config_directory }}/etcd/etcd-env.sh\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba0121b8_8e5d9d7b","line":20,"range":{"start_line":20,"start_character":39,"end_line":20,"end_character":44},"in_reply_to":"ba0121b8_5464d647","updated":"2016-03-30 22:09:18.000000000","message":"do we really need with_items here? Can anyone convince? Thanks.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"}],"ansible/roles/etcd/tasks/pull.yml":[{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"3756fcac86eb7a0930589b5c6b8e2bc24706f0eb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- name: Pulling etcd image"},{"line_number":2,"context_line":"  kolla_docker:"},{"line_number":3,"context_line":"    action: \"pull_image\""},{"line_number":4,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3aaa91ec_9e19bb7c","line":1,"updated":"2016-06-27 16:02:40.000000000","message":"\u0027---\u0027 is missing at the beginning of the file.","commit_id":"b0154e5214ff3f7c58391996cf80b23d9037050d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"56126eb12db3185b49c15394093ad3a9c117f0a9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- name: Pulling etcd image"},{"line_number":2,"context_line":"  kolla_docker:"},{"line_number":3,"context_line":"    action: \"pull_image\""},{"line_number":4,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3aaa91ec_f01f31b5","line":1,"in_reply_to":"3aaa91ec_9e19bb7c","updated":"2016-06-28 03:26:52.000000000","message":"Done","commit_id":"b0154e5214ff3f7c58391996cf80b23d9037050d"}],"ansible/roles/etcd/tasks/start.yml":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"af39dcf05c47e2783e45d21ac61d0472d9347677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_bce9e282","line":11,"updated":"2016-03-30 11:51:24.000000000","message":"here should have a condition \"when\"","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"66c582a4cf6f1500c7d7ee44c73c862349f0b35d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_4906df1d","line":11,"in_reply_to":"ba0121b8_bce9e282","updated":"2016-03-30 22:14:30.000000000","message":"I do not think we need when here, because etcd group containers only etcd nodes.","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"0067a6aaf7b831ac37d90a7fcc294a74a07e379b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9a061dce_4fcfdf28","line":22,"updated":"2016-04-07 05:23:44.000000000","message":"Should kolla_logs be mounted as well to collect etcd logs ?\n\n\n  kolla_logs:/var/log/kolla/","commit_id":"6acab2d6a56c7760ecf6e2fd2c3477e732d71a26"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"20f17a253c4dcd799c4f1f45eb3b12e37a6b5649","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9a061dce_7c167156","line":22,"in_reply_to":"9a061dce_4fcfdf28","updated":"2016-04-08 19:06:56.000000000","message":"Hi, Vikram,\nSince etcd does not support output log to a file [1][2], shall we add thing like this?\nIn addition, it seems that not all kolla roles has log into heka, e.g., kibana [3].\nTherefore, at this stage I think we do not need to mount /var/log/kolla for etcd. What do you think? Thanks. - Hui\n\n[1] https://github.com/coreos/etcd/blob/master/Documentation/configuration.md\n[2] https://groups.google.com/forum/#!topic/etcd-dev/bhjgI0Wrrbg\n[3] https://github.com/openstack/kolla/blob/master/ansible/roles/kibana/tasks/start.yml#L9","commit_id":"6acab2d6a56c7760ecf6e2fd2c3477e732d71a26"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"d5bccab44a8df8ea2f077a99110c4f55c547e6ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"9a061dce_ce02556f","line":22,"in_reply_to":"9a061dce_7c167156","updated":"2016-04-09 01:49:02.000000000","message":"Thanks a lot for the info!\nNo need to mount kolla_logs volume then as etcd does not log to a file.","commit_id":"6acab2d6a56c7760ecf6e2fd2c3477e732d71a26"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"a7510e928d255fdd99ba5b44290287a49d5a42e8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    action: \"start_container\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    environment:"},{"line_number":7,"context_line":"      ETCD_DATA_DIR: \"/var/lib/etcd\""},{"line_number":8,"context_line":"      ETCD_NAME: \"{{ ansible_hostname }}\""},{"line_number":9,"context_line":"      ETCD_ADVERTISE_CLIENT_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_client_port }}\""},{"line_number":10,"context_line":"      ETCD_LISTEN_CLIENT_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_client_port }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_96564ccc","line":7,"updated":"2016-06-23 15:49:10.000000000","message":"this is not typical of how we handle configuration.  configuration should be handled by files, not by environment variables.","commit_id":"45ec0e625c83d17c5cedb51ee112246cb331bf39"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"e3947c4c76814da33e19df8ec838c65b287ac1c5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    action: \"start_container\""},{"line_number":5,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":6,"context_line":"    environment:"},{"line_number":7,"context_line":"      ETCD_DATA_DIR: \"/var/lib/etcd\""},{"line_number":8,"context_line":"      ETCD_NAME: \"{{ ansible_hostname }}\""},{"line_number":9,"context_line":"      ETCD_ADVERTISE_CLIENT_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_client_port }}\""},{"line_number":10,"context_line":"      ETCD_LISTEN_CLIENT_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_client_port }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3aaa91ec_cfbc9dbd","line":7,"in_reply_to":"3aaa91ec_96564ccc","updated":"2016-06-24 05:13:37.000000000","message":"Please see my discussion with Michal Rostecki on Apr 6 3:03 AM.\n\nTo repeat, etcd does not support configuration file [1]. Compared to exporting these variables in a shell script, we think setting these etcd environment variable in docker command line is a better solution. Thanks.\n\n[1] https://github.com/coreos/etcd/blob/master/Documentation/op-guide/configuration.md","commit_id":"45ec0e625c83d17c5cedb51ee112246cb331bf39"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"2498b5bb474ecf6e5f841efcde5cea8482fdfa3f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"      ETCD_LISTEN_CLIENT_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_client_port }}\""},{"line_number":11,"context_line":"      ETCD_INITIAL_ADVERTISE_PEER_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_peer_port }}\""},{"line_number":12,"context_line":"      ETCD_LISTEN_PEER_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_peer_port }}\""},{"line_number":13,"context_line":"      ETCD_INITIAL_CLUSTER_TOKEN: \"{{ etcd_initial_cluster_token }}\""},{"line_number":14,"context_line":"      ETCD_INITIAL_CLUSTER: \"{% for host in groups[\u0027etcd\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}\u003d{{ internal_protocol }}://{{ hostvars[host][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_peer_port }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":15,"context_line":"      ETCD_INITIAL_CLUSTER_STATE: \"new\""},{"line_number":16,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9ad45d7e_a19ee8b5","line":13,"range":{"start_line":13,"start_character":38,"end_line":13,"end_character":64},"updated":"2016-08-09 14:15:06.000000000","message":"I am missing some kind of documentation where to get such a cluster token.","commit_id":"a9b928dbb7b56eaf8bd920590cbc1206bde9621e"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"2498b5bb474ecf6e5f841efcde5cea8482fdfa3f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      ETCD_LISTEN_PEER_URLS: \"{{ internal_protocol }}://{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_peer_port }}\""},{"line_number":13,"context_line":"      ETCD_INITIAL_CLUSTER_TOKEN: \"{{ etcd_initial_cluster_token }}\""},{"line_number":14,"context_line":"      ETCD_INITIAL_CLUSTER: \"{% for host in groups[\u0027etcd\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}\u003d{{ internal_protocol }}://{{ hostvars[host][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ etcd_peer_port }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":15,"context_line":"      ETCD_INITIAL_CLUSTER_STATE: \"new\""},{"line_number":16,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":17,"context_line":"    image: \"{{ etcd_image_full }}\""},{"line_number":18,"context_line":"    name: \"etcd\""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9ad45d7e_c1ff9cff","line":15,"updated":"2016-08-09 14:15:06.000000000","message":"Does this reset the etcd cluster when running an upgrade?","commit_id":"a9b928dbb7b56eaf8bd920590cbc1206bde9621e"}],"ansible/roles/etcd/templates/etcd-env.sh.j2":[{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"50c831e5e7b66f0cf04583e19673e1b99a835783","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#! /bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"ba0121b8_0ef0db8f","line":1,"updated":"2016-03-29 09:44:56.000000000","message":"minor, extra space not needed","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"89900aa2e5b0ddc5225a99593efb66eb5cdcc0d7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#! /bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"ba0121b8_d7ce5d59","line":1,"in_reply_to":"ba0121b8_0ef0db8f","updated":"2016-03-29 16:17:57.000000000","message":"Done","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"86635edb762553022d2e173f8a9853901e6e6e97","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"9a061dce_f9eebcb2","line":1,"updated":"2016-04-06 07:03:03.000000000","message":"IMO the 2nd solution is better. We\u0027re setting the env variables in kolla_docker everywhere for every service and  I\u0027d like to have a consistency.\n\nI don\u0027t understand what kind of debugging do you mean and how making a bash script with env variables may help with it.","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"cb276162c6cd8bf6b931dab107ee32bf052c913b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"9a061dce_0ed1db57","line":1,"updated":"2016-04-05 10:53:09.000000000","message":"Why you create a script for setting up environment? Probably playbook should do this when running container.","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"02c92aa70150816c4efeddaa6780843b37396a1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"9a061dce_f1471e75","line":1,"in_reply_to":"9a061dce_0ed1db57","updated":"2016-04-05 14:01:54.000000000","message":"etcd does not have a configuration file; instead it uses environment variables [1].\nI think there are two ways to set environment varialbes for the etcd in the container. (1) one is the way using a script (2) the other is to set these variables in the kolla_docker module.\n\nI choose one because it creates this configuration script that can be used for debugging. What do you think?\n\n[1] https://github.com/coreos/etcd/blob/master/Documentation/configuration.md","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"1a74310fd3e460552301a5b2fec257864dcff34e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"export ETCD_DATA_DIR\u003d\"/var/lib/etcd\""},{"line_number":4,"context_line":"export ETCD_NAME\u003d{{ ansible_hostname }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"9a061dce_a275ff98","line":1,"in_reply_to":"9a061dce_f9eebcb2","updated":"2016-04-06 20:53:10.000000000","message":"Done","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"}],"ansible/roles/etcd/templates/etcd.json.j2":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"85d799cc29c67e4767d8f0d068d1ee81a18c9ba6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"etcd\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"    ]"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":12,"id":"9a061dce_cea3754e","line":3,"range":{"start_line":3,"start_character":5,"end_line":3,"end_character":17},"updated":"2016-04-09 02:12:31.000000000","message":"Doesn\u0027t etcd need a config file like etcd.conf ?  Is it because the etcd environment variables (like ETCD_DATA_DIR, ETCD_NAME, etc) are set ansible/roles/etcd/tasks/start.yml ?","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"86ac1e12c638fab9107d7987dd6215ce8c456e64","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"etcd\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"    ]"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":12,"id":"1a122d0e_091e0f0c","line":3,"range":{"start_line":3,"start_character":5,"end_line":3,"end_character":17},"in_reply_to":"9a061dce_bd110c60","updated":"2016-04-17 07:33:41.000000000","message":"Thanks for the clarification!","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"ac669b6c2c5fdaa295b0b2ec27d51919be7a30b2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"etcd\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"    ]"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":12,"id":"9a061dce_bd110c60","line":3,"range":{"start_line":3,"start_character":5,"end_line":3,"end_character":17},"in_reply_to":"9a061dce_cea3754e","updated":"2016-04-10 04:00:42.000000000","message":"yes, etcd uses environment variables (please see my reply to Maucio earlier). so I removed the config_files in the updated patch.","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"}],"docker/etcd/Dockerfile.j2":[{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"5dae9642f930e6ee33ba7061b5ea69691a567a4c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}"},{"line_number":2,"context_line":"MAINTAINER {{ maintainer }}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":5,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"ba0121b8_4482c401","line":5,"range":{"start_line":4,"start_character":0,"end_line":5,"end_character":48},"updated":"2016-03-29 01:07:09.000000000","message":"Agreed, no need to download and install installed packages.  Could you check if the etcd package is installed in the base image on both Ubuntu and CentOS.  Also, should \"etcd\" be deployed as a separate container ?  If etcd is not installed in the base image, can\u0027t it be installed in kuryr\u0027s Dockerfile and run in the kuryr container itself?","commit_id":"6b290e46cd9b9f0cead1df4f4916f2ea62b59b4e"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"48d50e100b63b7aaead3566e6da699feaf630c20","unresolved":false,"context_lines":[{"line_number":2,"context_line":"MAINTAINER {{ maintainer }}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":5,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"ba0121b8_10792afd","line":5,"range":{"start_line":5,"start_character":40,"end_line":5,"end_character":43},"updated":"2016-03-28 22:20:42.000000000","message":"etcd is packaged in centos and i suspect ubuntu as well.  no reason to download the tarball of the installed bits...","commit_id":"6b290e46cd9b9f0cead1df4f4916f2ea62b59b4e"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"50c831e5e7b66f0cf04583e19673e1b99a835783","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ba0121b8_aefe0f69","line":13,"updated":"2016-03-29 09:44:56.000000000","message":"Does etcd have to run as root? If not can you add a USER line here please?","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"89900aa2e5b0ddc5225a99593efb66eb5cdcc0d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ba0121b8_772b11ec","line":13,"in_reply_to":"ba0121b8_aefe0f69","updated":"2016-03-29 16:17:57.000000000","message":"No. I will address this later. Thanks. -Hui","commit_id":"b1d7c41680977e8e773397198d12d4d5451c230c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"d80721be0f446c0b45a723c5b1393e40add8fc70","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}"},{"line_number":2,"context_line":"MAINTAINER {{ maintainer }}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":5,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":6,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":7,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ba0121b8_1b5bcd88","line":4,"updated":"2016-03-30 01:01:01.000000000","message":"etcd is available in centos in the epel repository\n\ni suspect it is available in some repository of ubuntu as well.  Copying the tarball from github is not acceptable - needs to be distro packaged please.\n\n[sdake@minime-03 ~]$ sudo yum list etcd\n[sudo] password for sdake: \nLoaded plugins: fastestmirror\nLoading mirror speeds from cached hostfile\n * base: centos-distro.cavecreek.net\n * epel: mirror.chpc.utah.edu\n * extras: ftp.osuosl.org\n * updates: centos.mirror.ndchost.com\nAvailable Packages\netcd.x86_64                          2.2.2-5.el7                          extras","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"75fde8999ae3507e41997f9c528556f756e6ac4e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}"},{"line_number":2,"context_line":"MAINTAINER {{ maintainer }}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":5,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":6,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":7,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ba0121b8_814f6ebc","line":4,"in_reply_to":"ba0121b8_1b5bcd88","updated":"2016-03-30 02:21:08.000000000","message":"Hi, Steven, it seems that etcd does not exit in ubuntu trusty, which is the ubuntu base image of kolla.\n\nhttp://packages.ubuntu.com/search?suite\u003dtrusty\u0026arch\u003dany\u0026searchon\u003dall\u0026keywords\u003detcd","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"903d97a460339a0f5a60bd7d17c9fed8905f1ee7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}"},{"line_number":2,"context_line":"MAINTAINER {{ maintainer }}"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":5,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":6,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":7,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ba0121b8_e1e0eafc","line":4,"in_reply_to":"ba0121b8_1b5bcd88","updated":"2016-03-30 02:03:33.000000000","message":"Thanks. that works. I will try to find the one for ubuntu.","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"d80721be0f446c0b45a723c5b1393e40add8fc70","unresolved":false,"context_lines":[{"line_number":9,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":10,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ba0121b8_3b50515e","line":12,"updated":"2016-03-30 01:01:01.000000000","message":"missing drop root","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"903d97a460339a0f5a60bd7d17c9fed8905f1ee7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":10,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"ba0121b8_41e8b6e2","line":12,"in_reply_to":"ba0121b8_3b50515e","updated":"2016-03-30 02:03:33.000000000","message":"will change and test.","commit_id":"4f8f44f28f7e5a5bb48c0d68b421b481ea41918e"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"ca125375ed87f775e74b1c997d6ee3fe908db635","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_c2cdc85e","line":23,"updated":"2016-03-30 12:38:55.000000000","message":"what about drooping root?","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"583604099aa46be92d574f435b235dd62a40a0c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ba0121b8_ce6cb537","line":23,"in_reply_to":"ba0121b8_c2cdc85e","updated":"2016-03-30 22:09:18.000000000","message":"Done","commit_id":"354e99b5f2a166ef8db62f4118dce11da07ba7a6"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"bbf868d0e9829bfabc1c15d2ed6468069791e09b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":18,"context_line":"    \u0026\u0026 mkdir /etc/etcd \\"},{"line_number":19,"context_line":"    \u0026\u0026 mkdir -p /var/lib/etcd /home/etcd \\"},{"line_number":20,"context_line":"    \u0026\u0026 chown -R etcd: /etc/etcd /home/etcd /var/lib/etcd"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_0e2f82a1","line":19,"range":{"start_line":18,"start_character":4,"end_line":19,"end_character":42},"updated":"2016-04-01 07:27:55.000000000","message":"could you merge this into one line?","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"91b33d5c3ec73bf7c62356c015691f1f6675a05a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":18,"context_line":"    \u0026\u0026 mkdir /etc/etcd \\"},{"line_number":19,"context_line":"    \u0026\u0026 mkdir -p /var/lib/etcd /home/etcd \\"},{"line_number":20,"context_line":"    \u0026\u0026 chown -R etcd: /etc/etcd /home/etcd /var/lib/etcd"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_643d6cc3","line":19,"range":{"start_line":18,"start_character":4,"end_line":19,"end_character":42},"in_reply_to":"ba0121b8_0e2f82a1","updated":"2016-04-01 14:20:41.000000000","message":"Done","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"bbf868d0e9829bfabc1c15d2ed6468069791e09b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0026\u0026 mkdir -p /var/lib/etcd /home/etcd \\"},{"line_number":20,"context_line":"    \u0026\u0026 chown -R etcd: /etc/etcd /home/etcd /var/lib/etcd"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"},{"line_number":23,"context_line":"RUN chmod 750 /etc/sudoers.d \\"},{"line_number":24,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/etcd_sudoers"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"{% endif %}"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_ac45bf43","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":44},"updated":"2016-04-01 07:27:55.000000000","message":"don\u0027t you need to do it for centos, too? you use /var/lib/etcd as docker volume","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"91b33d5c3ec73bf7c62356c015691f1f6675a05a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0026\u0026 mkdir -p /var/lib/etcd /home/etcd \\"},{"line_number":20,"context_line":"    \u0026\u0026 chown -R etcd: /etc/etcd /home/etcd /var/lib/etcd"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"},{"line_number":23,"context_line":"RUN chmod 750 /etc/sudoers.d \\"},{"line_number":24,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/etcd_sudoers"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"{% endif %}"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_5e23d755","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":44},"in_reply_to":"ba0121b8_ac45bf43","updated":"2016-04-01 14:20:41.000000000","message":"No, on centos, it is installed by yum. So etcd user has already\nbeen properly setup. And I have tested that works. But I added some additional code for centos source image.","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"bbf868d0e9829bfabc1c15d2ed6468069791e09b","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"RUN usermod -a -G kolla etcd"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"{{ include_footer }}"},{"line_number":35,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_6c11e751","line":32,"range":{"start_line":30,"start_character":0,"end_line":32,"end_character":28},"updated":"2016-04-01 07:27:55.000000000","message":"could you merge it into one RUN with \u0026\u0026?","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"91b33d5c3ec73bf7c62356c015691f1f6675a05a","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_extend_start"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"RUN usermod -a -G kolla etcd"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"{{ include_footer }}"},{"line_number":35,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"ba0121b8_c43c3895","line":32,"range":{"start_line":30,"start_character":0,"end_line":32,"end_character":28},"in_reply_to":"ba0121b8_6c11e751","updated":"2016-04-01 14:20:41.000000000","message":"Done","commit_id":"6e4feba959a52644f3851c3e8e0f072bb43ce5fe"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"95db5efc496d4a5b9f98991a1158762ca9721628","unresolved":false,"context_lines":[{"line_number":36,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start \\"},{"line_number":37,"context_line":"    \u0026\u0026 usermod -a -G kolla etcd"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"{{ include_footer }}"},{"line_number":40,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"ba0121b8_af28f486","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":9},"updated":"2016-04-01 17:53:45.000000000","message":"add a space between the lines","commit_id":"e89c13cd489f79737142652fe93dd30e930bf135"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"1e04b4127b98ca2edbea35204bccbd304a73cfbd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start \\"},{"line_number":37,"context_line":"    \u0026\u0026 usermod -a -G kolla etcd"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"{{ include_footer }}"},{"line_number":40,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"ba0121b8_b81b0e80","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":9},"in_reply_to":"ba0121b8_af28f486","updated":"2016-04-02 02:00:25.000000000","message":"Agreed.  For consistency.","commit_id":"e89c13cd489f79737142652fe93dd30e930bf135"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"2918d7aac711b8edcc755fdfc34e0c5215e8015b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"RUN chmod 755 /usr/local/bin/kolla_extend_start \\"},{"line_number":37,"context_line":"    \u0026\u0026 usermod -a -G kolla etcd"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"{{ include_footer }}"},{"line_number":40,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"ba0121b8_d3d6a326","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":9},"in_reply_to":"ba0121b8_b81b0e80","updated":"2016-04-02 02:36:55.000000000","message":"Done","commit_id":"e89c13cd489f79737142652fe93dd30e930bf135"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"30b6a3d6ad1833248b6fc23c6ac47796c41529a3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"},{"line_number":29,"context_line":"RUN chmod 750 /etc/sudoers.d \\"},{"line_number":30,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/etcd_sudoers"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"{% endif %}"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":12,"id":"9a061dce_87e83b18","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":44},"updated":"2016-04-09 18:33:41.000000000","message":"you need sudoers to do chown on bootstrap both for source and binary and for all base_distro types","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"ac669b6c2c5fdaa295b0b2ec27d51919be7a30b2","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"COPY etcd_sudoers /etc/sudoers.d/etcd_sudoers"},{"line_number":29,"context_line":"RUN chmod 750 /etc/sudoers.d \\"},{"line_number":30,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/etcd_sudoers"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"{% endif %}"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":12,"id":"9a061dce_dd084030","line":30,"range":{"start_line":28,"start_character":0,"end_line":30,"end_character":44},"in_reply_to":"9a061dce_87e83b18","updated":"2016-04-10 04:00:42.000000000","message":"Done","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"3756fcac86eb7a0930589b5c6b8e2bc24706f0eb","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"3aaa91ec_be763704","line":26,"range":{"start_line":25,"start_character":4,"end_line":26,"end_character":32},"updated":"2016-06-27 16:02:40.000000000","message":"useradd -m will do the same.","commit_id":"b0154e5214ff3f7c58391996cf80b23d9037050d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"56126eb12db3185b49c15394093ad3a9c117f0a9","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"3aaa91ec_b0dac9e7","line":26,"range":{"start_line":25,"start_character":4,"end_line":26,"end_character":32},"in_reply_to":"3aaa91ec_be763704","updated":"2016-06-28 03:26:52.000000000","message":"Hi, Alicja, thanks for the comment. However, I was trying to follow the kolla style of creating user home directory, such as [1] and [2].\nTo be consistent, I think we should use these lines. - Hui\n\n[1] https://github.com/openstack/kolla/blob/master/docker/glance/glance-base/Dockerfile.j2#L45-L49\n[2] https://github.com/openstack/kolla/blob/master/docker/horizon/Dockerfile.j2#L78-L79","commit_id":"b0154e5214ff3f7c58391996cf80b23d9037050d"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"49ced6b3c9ed2ff4e1d98c11417c3ceee49d0a45","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    {% endif %}"},{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_396542e1","line":19,"range":{"start_line":19,"start_character":11,"end_line":19,"end_character":13},"updated":"2016-07-02 19:21:26.000000000","message":"Additional space can be removed.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"bc14602b97161422a775e60c755d3d1ef9e983a5","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    {% endif %}"},{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_7dc4d591","line":19,"range":{"start_line":19,"start_character":11,"end_line":19,"end_character":13},"in_reply_to":"1aa78d24_396542e1","updated":"2016-07-02 23:10:30.000000000","message":"Done","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"49ced6b3c9ed2ff4e1d98c11417c3ceee49d0a45","unresolved":false,"context_lines":[{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_f9a9fae0","line":20,"range":{"start_line":20,"start_character":22,"end_line":20,"end_character":27},"updated":"2016-07-02 19:21:26.000000000","message":"Why do you not use the latest release (3.0) or at least the latest release of 2.3, which is 2.3.7 at the moment.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"bc14602b97161422a775e60c755d3d1ef9e983a5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L  https://github.com/coreos/etcd/releases/download/v2.3.0/etcd-v2.3.0-linux-amd64.tar.gz -o etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v2.3.0-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_5dc11980","line":20,"range":{"start_line":20,"start_character":22,"end_line":20,"end_character":27},"in_reply_to":"1aa78d24_f9a9fae0","updated":"2016-07-02 23:10:30.000000000","message":"Done","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"49ced6b3c9ed2ff4e1d98c11417c3ceee49d0a45","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_d99a3ec5","line":24,"updated":"2016-07-02 19:21:26.000000000","message":"This RUN could be merged with the previous one.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"bc14602b97161422a775e60c755d3d1ef9e983a5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v2.3.0-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_fd3605b3","line":24,"in_reply_to":"1aa78d24_d99a3ec5","updated":"2016-07-02 23:10:30.000000000","message":"The commands in this RUN have different purpose than the previous ones.\nSo I would separate them, rather than mixing them together.\nIn addition, this follows the pattern of other dockerfiles.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"49ced6b3c9ed2ff4e1d98c11417c3ceee49d0a45","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_795fca0e","line":26,"updated":"2016-07-02 19:21:26.000000000","message":"I think it makes sense to use the -m parameter of user add here.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"bc14602b97161422a775e60c755d3d1ef9e983a5","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":19,"id":"1aa78d24_3d41ad0c","line":26,"in_reply_to":"1aa78d24_795fca0e","updated":"2016-07-02 23:10:30.000000000","message":"Again, it follows the other patterns in other Dockerfiles. please see my earlier reply to Alicja  on Jun 27 11:26pm. Thanks.","commit_id":"049619a3d2fc10bc65176875958c26dcc994382f"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    {% endif %}"},{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"1aa78d24_9c26da14","line":19,"updated":"2016-07-04 02:35:01.000000000","message":"this is not installing from source. It is pre-complied binary install.\n\nhow about install the etcd from repo for centos and from the github pre-complied\nbinary for ubuntu. no need to have the source install logical","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    {% endif %}"},{"line_number":17,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RUN curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcdctl /usr/local/bin/"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"1aa78d24_4a143b9f","line":19,"in_reply_to":"1aa78d24_9c26da14","updated":"2016-07-06 01:34:07.000000000","message":"Do you mean move the git installation to a separate if condition?","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"1aa78d24_7c232e06","line":26,"updated":"2016-07-04 02:35:01.000000000","message":"useradd --user-group --create-home etcd will do all these.","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group etcd \\"},{"line_number":25,"context_line":"    \u0026\u0026 mkdir -p /home/etcd \\"},{"line_number":26,"context_line":"    \u0026\u0026 chown -R etcd: /home/etcd"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"{% endif %}"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"1aa78d24_aa3e7f25","line":26,"in_reply_to":"1aa78d24_7c232e06","updated":"2016-07-06 01:34:07.000000000","message":"Done","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"85b6f081c150d7bb34043426ca03487cfa689d7b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"RUN curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group --create-home etcd"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"1aa78d24_8e71f746","line":22,"updated":"2016-07-06 14:02:29.000000000","message":"1. you are install the etcd by using binary not source code. So just move this to the ubuntu section( because ubuntu has no such pakcages from the repo)\n\n2. Remove the download package at last to save image size.","commit_id":"d13784a1cdb2dd122213c4a10d67cc29437cd8b1"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"63c8b0212151cd530e1a146930404a4156c80911","unresolved":false,"context_lines":[{"line_number":19,"context_line":"RUN curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":20,"context_line":"    \u0026\u0026 tar xzvf etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":21,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":22,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcdctl /usr/local/bin/"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"RUN useradd --user-group --create-home etcd"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"1aa78d24_5438343d","line":22,"in_reply_to":"1aa78d24_8e71f746","updated":"2016-07-06 17:06:43.000000000","message":"Done","commit_id":"d13784a1cdb2dd122213c4a10d67cc29437cd8b1"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4046d3cbb8abb8d84063e328c5bfafc8e7dcec7d","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"RUN curl -L https://github.com/coreos/etcd/releases/download/v3.0.1/etcd-v3.0.1-linux-amd64.tar.gz -o etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":13,"context_line":"    \u0026\u0026 tar xzvf etcd-v3.0.1-linux-amd64.tar.gz \\"},{"line_number":14,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcd /usr/local/bin/ \\"},{"line_number":15,"context_line":"    \u0026\u0026 cp etcd-v3.0.1-linux-amd64/etcdctl /usr/local/bin/ \\"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"dada55a8_e033c411","line":12,"updated":"2016-07-24 18:51:35.000000000","message":"Can you please add a TODO here to remove this after switching to Ubuntu 16.04. Etcd package is available in Ubuntu 16.04.","commit_id":"a9b928dbb7b56eaf8bd920590cbc1206bde9621e"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"4af4d8575c20fe2f2bed9b267a6a2e7e85dcfb99","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/etcd_sudoers \\"},{"line_number":28,"context_line":"    \u0026\u0026 usermod -a -G kolla etcd"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"{{ include_footer }}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"USER etcd"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"bacf61ea_cc6aadb2","line":30,"updated":"2016-08-05 21:10:29.000000000","message":"Customisations are missing (e.g. https://review.openstack.org/#/c/347073/)","commit_id":"a9b928dbb7b56eaf8bd920590cbc1206bde9621e"}],"docker/etcd/extend_start.sh":[{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"86635edb762553022d2e173f8a9853901e6e6e97","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source /etc/etcd/etcd-env.sh"}],"source_content_type":"text/x-sh","patch_set":8,"id":"9a061dce_592c0802","line":3,"updated":"2016-04-06 07:03:03.000000000","message":"I will try to check it manually, but I only see that you\u0027re doing chown in Dockerfile, which doesn\u0027t affect mounted volume. Moreover, you created a etcd_sudoers file for chowning the volume and I don\u0027t see any place where you\u0027re using it.\n\nIf I\u0027m blind and don\u0027t see the chown during container run, then sorry.","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"cb276162c6cd8bf6b931dab107ee32bf052c913b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source /etc/etcd/etcd-env.sh"}],"source_content_type":"text/x-sh","patch_set":8,"id":"9a061dce_eed3c75d","line":3,"updated":"2016-04-05 10:53:09.000000000","message":"What about checking and chowning /var/lib/etcd? I think it should be done here. And I don\u0027t see any place in this patchset where you do this.","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"1a74310fd3e460552301a5b2fec257864dcff34e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source /etc/etcd/etcd-env.sh"}],"source_content_type":"text/x-sh","patch_set":8,"id":"9a061dce_226a8fb3","line":3,"in_reply_to":"9a061dce_592c0802","updated":"2016-04-06 20:53:10.000000000","message":"Done","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"02c92aa70150816c4efeddaa6780843b37396a1a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"source /etc/etcd/etcd-env.sh"}],"source_content_type":"text/x-sh","patch_set":8,"id":"9a061dce_5427d811","line":3,"in_reply_to":"9a061dce_eed3c75d","updated":"2016-04-05 14:01:54.000000000","message":"If you see my previous reply to Vikram, the permission of /var/lib/etcd has already been properly set when creating the volume. This is because if installed from yum binary, yum will chown to etcd. If installed from source, [1] set the permission.\nTherefore, there is no need to chown /var/lib/etcd.\n\n[1] https://review.openstack.org/#/c/298451/8/docker/etcd/Dockerfile.j2","commit_id":"25fbf01ceca5074e9b389e5b914af3107edcaad9"}],"etc/kolla/globals.yml":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"79fd77af84274322055a52c6d3cb91915041d163","unresolved":false,"context_lines":[{"line_number":99,"context_line":"#enable_heat: \"yes\""},{"line_number":100,"context_line":"#enable_magnum: \"no\""},{"line_number":101,"context_line":"#enable_swift: \"no\""},{"line_number":102,"context_line":"#enable_etcd: \"no\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"###################"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a061dce_6b621bda","line":102,"updated":"2016-04-09 00:07:41.000000000","message":"Please, rebase this patchset\n\nhttps://github.com/openstack/kolla/blob/master/etc/kolla/globals.yml#L108-L120","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"85d799cc29c67e4767d8f0d068d1ee81a18c9ba6","unresolved":false,"context_lines":[{"line_number":99,"context_line":"#enable_heat: \"yes\""},{"line_number":100,"context_line":"#enable_magnum: \"no\""},{"line_number":101,"context_line":"#enable_swift: \"no\""},{"line_number":102,"context_line":"#enable_etcd: \"no\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"###################"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a061dce_ee591990","line":102,"in_reply_to":"9a061dce_6b621bda","updated":"2016-04-09 02:12:31.000000000","message":"Good point, please rebase this patch set.","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"ac669b6c2c5fdaa295b0b2ec27d51919be7a30b2","unresolved":false,"context_lines":[{"line_number":99,"context_line":"#enable_heat: \"yes\""},{"line_number":100,"context_line":"#enable_magnum: \"no\""},{"line_number":101,"context_line":"#enable_swift: \"no\""},{"line_number":102,"context_line":"#enable_etcd: \"no\""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"###################"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9a061dce_d80fae2c","line":102,"in_reply_to":"9a061dce_ee591990","updated":"2016-04-10 04:00:42.000000000","message":"Done","commit_id":"f16ecd30a6c170a65645c4245faf31d546f0a11d"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"9b5e3f30c2ee669ee37898a0e31437a9adcb9577","unresolved":false,"context_lines":[{"line_number":118,"context_line":"#enable_mongodb: \"no\""},{"line_number":119,"context_line":"#enable_murano: \"no\""},{"line_number":120,"context_line":"#enable_swift: \"no\""},{"line_number":121,"context_line":"#enable_etcd: \"no\""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"###################"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a1b2928_3c541953","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":18},"updated":"2016-04-10 18:39:04.000000000","message":"please, put it in alphabetical order","commit_id":"25e88a3995e775c56dc917afe61ca22b78d31721"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"286fff5c59dc3c9818145bcc2122cd9083e1097a","unresolved":false,"context_lines":[{"line_number":118,"context_line":"#enable_mongodb: \"no\""},{"line_number":119,"context_line":"#enable_murano: \"no\""},{"line_number":120,"context_line":"#enable_swift: \"no\""},{"line_number":121,"context_line":"#enable_etcd: \"no\""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"###################"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7a1b2928_1f65cfe0","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":18},"in_reply_to":"7a1b2928_3c541953","updated":"2016-04-11 19:47:19.000000000","message":"Done","commit_id":"25e88a3995e775c56dc917afe61ca22b78d31721"}],"releasenotes/notes/etcd-docker-ansible-51baaa1322a0c5a8.yaml":[{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"45bb94bf6257a74920589c1b9fe68c5182e5cee1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add etcd docker container and ansible role implementation"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_3c11a6ad","line":4,"updated":"2016-07-04 02:35:01.000000000","message":"remove this empty line","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"06694f24ec59e3c466920e405099b2eba4c1876a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Add etcd docker container and ansible role implementation"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"1aa78d24_8a0aa377","line":4,"in_reply_to":"1aa78d24_3c11a6ad","updated":"2016-07-06 01:34:07.000000000","message":"Done","commit_id":"4c935bf9fa5fbc1487574d71c256e68e46de2d15"}]}
