)]}'
{"id":"openstack%2Fpuppet-openstacklib~466292","triplet_id":"openstack%2Fpuppet-openstacklib~master~I51e9e50adc21fcb5ec0450fe3d0e4ec5f741d4da","project":"openstack/puppet-openstacklib","branch":"master","topic":"etcd","hashtags":[],"change_id":"I51e9e50adc21fcb5ec0450fe3d0e4ec5f741d4da","subject":"WIP - Implement etcd driver for openstack_config provider","status":"ABANDONED","created":"2017-05-19 14:00:52.000000000","updated":"2017-09-26 21:50:19.000000000","total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e909a2090e02e20ff1342ba7ac82a6bd2e34893d","_number":466292,"virtual_id_number":466292,"owner":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"date":"2017-05-29 19:28:10.000000000","_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},{"value":-1,"date":"2017-05-29 19:45:37.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},{"date":"2017-05-29 19:56:11.000000000","_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":-1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2017-05-19 14:11:57.000000000","updated_by":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"reviewer":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"state":"REVIEWER"},{"updated":"2017-05-19 20:02:12.000000000","updated_by":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"reviewer":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"state":"REVIEWER"},{"updated":"2017-05-25 19:53:38.000000000","updated_by":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"reviewer":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"state":"REVIEWER"},{"updated":"2017-05-29 19:45:37.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2017-05-29 19:56:11.000000000","updated_by":{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},"reviewer":{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"897157a8cc3438743fd1eb4b4087f0a055ff816a","author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"date":"2017-05-19 14:00:52.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"517c1e571f48ab4bcc50643b0244de061c6bc4f2","author":{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},"date":"2017-05-19 14:19:56.000000000","message":"Patch Set 1:\n\nBuild Failed \n\n* master.puppet-openstack.fuel.noop https://ci.fuel-infra.org/job/master.puppet-openstack.fuel.noop/9658/ : FAILURE\n\n* master.puppet-openstack.fuel-library.pkgs.ubuntu.review_in_fuel_library https://ci.fuel-infra.org/job/master.puppet-openstack.fuel-library.pkgs.ubuntu.review_in_fuel_library/7479/ : FAILURE\n\n* master.puppet-openstack.fuel-library.pkgs.ubuntu.smoke_neutron https://ci.fuel-infra.org/job/master.puppet-openstack.fuel-library.pkgs.ubuntu.smoke_neutron/9543/ : FAILURE","accounts_in_message":[],"_revision_number":1},{"id":"72a7441fcceebcfd50bede3e7966ebe0a31a3dd0","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-05-19 14:28:20.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-puppet-openstacklib-puppet-lint http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-lint/99588dd/ : SUCCESS in 2m 13s\n- gate-puppet-openstacklib-puppet-syntax-4-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-syntax-4-centos-7/3329b16/ : SUCCESS in 2m 09s\n- gate-puppet-openstacklib-puppet-unit-4.5-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-unit-4.5-centos-7/c34b3e1/ : FAILURE in 2m 52s\n- gate-puppet-openstacklib-puppet-unit-latest-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-unit-latest-centos-7/37efcc7/ : FAILURE in 3m 00s (non-voting)\n- gate-puppet-openstacklib-puppet-beaker-rspec-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-beaker-rspec-centos-7/305a5d4/ : FAILURE in 5m 27s\n- gate-puppet-openstacklib-puppet-beaker-rspec-ubuntu-xenial-nv http://logs.openstack.org/92/466292/1/check/gate-puppet-openstacklib-puppet-beaker-rspec-ubuntu-xenial-nv/5f36487/ : FAILURE in 6m 47s (non-voting)\n- gate-puppet-openstack-integration-4-scenario001-tempest-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario001-tempest-centos-7/9b06874/ : FAILURE in 7m 14s\n- gate-puppet-openstack-integration-4-scenario002-tempest-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario002-tempest-centos-7/1ce6593/ : FAILURE in 4m 39s\n- gate-puppet-openstack-integration-4-scenario003-tempest-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario003-tempest-centos-7/04bcc4d/ : FAILURE in 4m 36s\n- gate-puppet-openstack-integration-4-scenario004-tempest-centos-7 http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/362fecb/ : FAILURE in 4m 12s\n- gate-puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-nv http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial-nv/663049c/ : FAILURE in 1m 57s (non-voting)\n- gate-puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial-nv http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial-nv/a02d11f/ : FAILURE in 2m 35s (non-voting)\n- gate-puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial-nv http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial-nv/12b8a66/ : FAILURE in 2m 54s (non-voting)\n- gate-puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-nv http://logs.openstack.org/92/466292/1/check/gate-puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial-nv/fbaeb0e/ : FAILURE in 2m 24s (non-voting)\n- gate-tripleo-ci-centos-7-nonha-multinode-oooq http://logs.openstack.org/92/466292/1/check/gate-tripleo-ci-centos-7-nonha-multinode-oooq/7b07d33/ : FAILURE in 15m 52s","accounts_in_message":[],"_revision_number":1},{"id":"bb61d8d08d8c64cc17cf14254a17e6eeae9dcf3f","author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"date":"2017-05-19 20:02:12.000000000","message":"Patch Set 1:\n\nThanks for this, very interesting!\n\nOne question I have (keep in mind I don\u0027t know much about etcd yet...) is how can we detect when config has changed in this model?\n\nIn the current containerized tripleo architecture we decouple generating the config (which gets written to e.g /var/lib/config-data/keystone on the host, and is then bound into the container) from the definition of the container itself (e.g what we need to launch it).\n\nThat approach works well, but it means you need to calculate a hash of the directory contents every time you generate config, so you can detect when the container needs to be restarted - how would that work in this model?","accounts_in_message":[],"_revision_number":1},{"id":"96aad9124eed998d21a3500827b2ebe73a7cf8f8","author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"date":"2017-05-23 19:53:33.000000000","message":"Patch Set 1:\n\n\u003e One question I have (keep in mind I don\u0027t know much about etcd yet...) is how can we detect when config has changed in this model?\n\nThe provider will a method for exists? that will query etcd to see if a key exist with the parameter, and if the value is already the good one. It will make deployments idempotent. In the case of configuration change, the provider will see that the value doesn\u0027t exist yet or is not the right one, so Puppet will update it in etcd.\n\n\u003e In the current containerized tripleo architecture we decouple generating the config (which gets written to e.g /var/lib/config-data/keystone on the host, and is then bound into the container) from the definition of the container itself (e.g what we need to launch it).\n\u003eThat approach works well, but it means you need to calculate a hash of the directory contents every time you generate config, so you can detect when the container needs to be restarted - how would that work in this model?\n\nWhat you want is mutable config.\nSee this spec that did that for logging options:\nhttp://specs.openstack.org/openstack/oslo-specs/specs/newton/reconfigurable-oslo-logging.html#mutable-logging\nSo in theory, mutable options can be used for any option in an application that supports the hook.\nWe need to check the current status of this work: https://review.openstack.org/#/q/project:openstack/oslo.config+message:%22mutable%22\nAlso see the etherpad from Boston where we discussed about this one:\nhttps://etherpad.openstack.org/p/BOS-forum-Queens-Goals","accounts_in_message":[],"_revision_number":1},{"id":"6fc160231e2239b64e89acf7321519c44592d261","author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"date":"2017-05-25 19:53:38.000000000","message":"Patch Set 1:\n\n\u003e What you want is mutable config.\n \u003e See this spec that did that for logging options:\n \u003e http://specs.openstack.org/openstack/oslo-specs/specs/newton/reconfigurable-oslo-logging.html#mutable-logging\n \u003e So in theory, mutable options can be used for any option in an\n \u003e application that supports the hook.\n \u003e We need to check the current status of this work: https://review.openstack.org/#/q/project:openstack/oslo.config+message:%22mutable%22\n \u003e Also see the etherpad from Boston where we discussed about this\n \u003e one:\n \u003e https://etherpad.openstack.org/p/BOS-forum-Queens-Goals\n\nThis is not as simple as the etherpad folks seem to think (although mriedem correctly points out that you can\u0027t just flip a bit).  Mutable config is intentionally a whitelist because it\u0027s unsafe to assume that you can just change a config value and have that change reflected sanely in the application.  The logging case is a major one, where you need to re-create all of the loggers in the application with the appropriate level.  Other examples are any config value that gets read once and then used repeatedly inside the application.  If the application only reads the value once, it doesn\u0027t matter if you allow it to change in the config object.  Potentially worse is a value that gets read periodically such that different parts of the application may end up with different views of the config.  An example here would be the oslo.concurrency lock_path.  You don\u0027t want to change that on the fly because it means any locks currently being held are invalidated and a second locker can come in and take them from the new location.\n\nTLDR: Mutable config is not a cure-all for the problem of determining when you need to restart an application.  Some configs simply require a restart.","accounts_in_message":[],"_revision_number":1},{"id":"ca7f9ac348f836118899adfb217901c43e300849","author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"date":"2017-05-29 19:27:32.000000000","message":"Patch Set 2: Patch Set 1 was rebased","accounts_in_message":[],"_revision_number":1},{"id":"ed2eb516a7f1331cb450c433bd550268b9b7e210","author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"date":"2017-05-29 19:28:10.000000000","message":"Patch Set 2:\n\nAck Ben. Thanks for the clarification.","accounts_in_message":[],"_revision_number":2},{"id":"9795c147cd7221d21c941b891e1a11ae761f4c98","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2017-05-29 19:45:37.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing\n\n- gate-puppet-openstacklib-puppet-lint http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-lint/1702237/ : SUCCESS in 1m 21s\n- gate-puppet-openstacklib-puppet-syntax-4-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-syntax-4-centos-7/3bbc52c/ : SUCCESS in 2m 39s\n- gate-puppet-openstacklib-puppet-unit-4.5-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-unit-4.5-centos-7/d23e71b/ : SUCCESS in 9m 21s\n- gate-puppet-openstacklib-puppet-unit-latest-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-unit-latest-centos-7/52987c6/ : SUCCESS in 7m 45s (non-voting)\n- gate-puppet-openstacklib-puppet-beaker-rspec-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-beaker-rspec-centos-7/f23524f/ : FAILURE in 8m 47s\n- gate-puppet-openstacklib-puppet-beaker-rspec-ubuntu-xenial http://logs.openstack.org/92/466292/2/check/gate-puppet-openstacklib-puppet-beaker-rspec-ubuntu-xenial/72bda57/ : FAILURE in 6m 39s\n- gate-puppet-openstack-integration-4-scenario001-tempest-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario001-tempest-centos-7/c089fc1/ : FAILURE in 5m 09s\n- gate-puppet-openstack-integration-4-scenario002-tempest-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario002-tempest-centos-7/c664810/ : FAILURE in 4m 48s\n- gate-puppet-openstack-integration-4-scenario003-tempest-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario003-tempest-centos-7/790d871/ : FAILURE in 3m 15s\n- gate-puppet-openstack-integration-4-scenario004-tempest-centos-7 http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/e86fb9c/ : FAILURE in 3m 58s\n- gate-puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario001-tempest-ubuntu-xenial/3cf2292/ : FAILURE in 1m 44s\n- gate-puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario002-tempest-ubuntu-xenial/1a86097/ : FAILURE in 2m 19s\n- gate-puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario003-tempest-ubuntu-xenial/33fa039/ : FAILURE in 1m 45s\n- gate-puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial http://logs.openstack.org/92/466292/2/check/gate-puppet-openstack-integration-4-scenario004-tempest-ubuntu-xenial/ae3e91f/ : FAILURE in 1m 45s\n- gate-tripleo-ci-centos-7-nonha-multinode-oooq http://logs.openstack.org/92/466292/2/check/gate-tripleo-ci-centos-7-nonha-multinode-oooq/fdc6999/ : FAILURE in 14m 38s","accounts_in_message":[],"_revision_number":2},{"id":"7b7b6fa19474528a3fded2820721dbc41b1f4d65","author":{"_account_id":8971,"name":"Fuel CI","username":"fuel-ci","inactive":true,"tags":["SERVICE_USER"]},"date":"2017-05-29 19:56:11.000000000","message":"Patch Set 2:\n\nBuild Failed \n\n* master.puppet-openstack.fuel.noop https://ci.fuel-infra.org/job/master.puppet-openstack.fuel.noop/9759/ : FAILURE\n\n* master.puppet-openstack.fuel-library.pkgs.ubuntu.review_in_fuel_library https://ci.fuel-infra.org/job/master.puppet-openstack.fuel-library.pkgs.ubuntu.review_in_fuel_library/7580/ : FAILURE\n\n* master.puppet-openstack.fuel-library.pkgs.ubuntu.smoke_neutron https://ci.fuel-infra.org/job/master.puppet-openstack.fuel-library.pkgs.ubuntu.smoke_neutron/9644/ : FAILURE","accounts_in_message":[],"_revision_number":2},{"id":"3c9928e5bd2d7c6c4a62f607956dd3cbe4db2d25","author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"date":"2017-06-20 15:34:54.000000000","message":"Abandoned\n\nno interest in this feature for now","accounts_in_message":[],"_revision_number":2},{"id":"7ccabda604e6e4fa5cccdea801ac57e9cdae0d96","author":{"_account_id":26983,"email":"davissp14@gmail.com"},"date":"2017-09-26 21:50:19.000000000","message":"Patch Set 2:\n\n\"I\u0027ve been playing with ruby-etcdv3 this week and found some limitations\nto the module.\"\n\nCurious on what limitations you\u0027re talking about, if there\u0027s anything you need from the driver that it doesn\u0027t currently provide, please submit an issue and we can see what we can do about getting it added!","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"dcc541fcbe8c2553746bf6c6720e65eb25b12e1f","revisions":{"ef019eb73bf845240ff6fcb39bfb6907b52a7cfd":{"kind":"REWORK","_number":1,"created":"2017-05-19 14:00:52.000000000","uploader":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"ref":"refs/changes/92/466292/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/puppet-openstacklib","ref":"refs/changes/92/466292/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/1"}}},"commit":{"parents":[{"commit":"16d87ac0688aed1b6b04633c7ce5b532f212a82b","subject":"Bump modules to next minor with -dev","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/16d87ac0688aed1b6b04633c7ce5b532f212a82b"}]}],"author":{"name":"Emilien Macchi","email":"emilien@redhat.com","date":"2017-05-19 13:50:25.000000000","tz":-240},"committer":{"name":"Emilien Macchi","email":"emilien@redhat.com","date":"2017-05-19 13:50:25.000000000","tz":-240},"subject":"WIP - Implement etcd driver for openstack_config provider","message":"WIP - Implement etcd driver for openstack_config provider\n\noslo.config is about to support key/value backends to store\nconfiguration parameters, instead of configuration files:\nhttps://review.openstack.org/#/c/454897\n\nWhile some projects might use this new feature (TripleO, etc), we need a\ntransition to manage the previous data binding in Puppet catalogs and\npush the parameters into etcd instead of classic configuration files.\n\nI\u0027ve been playing with ruby-etcdv3 this week and found some limitations\nto the module.\nThis patch is a very first draft of what could be done today.\n\nOn the TODO list:\n* Complete the exists? method to make Puppet catalog idempotent when\n  managing etcd k/v.\n  This task might imply some work in ruby-etcdv3 and/or some etcd/util\n  work in openstacklib.\n* Refactor the openstack_config provider to not depend on inifile\n  anymore.\n* Add provider options to configure the etcd url \u0026 credentials.\n* Write methods that we had with the config file provider (e.g. ensuring\n  a parameter is absent, which would be removing the key from etcd).\n* Write unit \u0026 functional tests.\n\nChange-Id: I51e9e50adc21fcb5ec0450fe3d0e4ec5f741d4da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/ef019eb73bf845240ff6fcb39bfb6907b52a7cfd"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/ef019eb73bf845240ff6fcb39bfb6907b52a7cfd"}]},"branch":"refs/heads/master"},"dcc541fcbe8c2553746bf6c6720e65eb25b12e1f":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2017-05-29 19:27:32.000000000","uploader":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"ref":"refs/changes/92/466292/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/puppet-openstacklib","ref":"refs/changes/92/466292/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/puppet-openstacklib refs/changes/92/466292/2"}}},"commit":{"parents":[{"commit":"f7d43fd8325a51be8ad4c36242cbdf28f8cebe38","subject":"Update tox configuration","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/f7d43fd8325a51be8ad4c36242cbdf28f8cebe38"}]}],"author":{"name":"Emilien Macchi","email":"emilien@redhat.com","date":"2017-05-19 13:50:25.000000000","tz":-240},"committer":{"name":"Emilien Macchi","email":"emilien@redhat.com","date":"2017-05-29 19:27:32.000000000","tz":0},"subject":"WIP - Implement etcd driver for openstack_config provider","message":"WIP - Implement etcd driver for openstack_config provider\n\noslo.config is about to support key/value backends to store\nconfiguration parameters, instead of configuration files:\nhttps://review.openstack.org/#/c/454897\n\nWhile some projects might use this new feature (TripleO, etc), we need a\ntransition to manage the previous data binding in Puppet catalogs and\npush the parameters into etcd instead of classic configuration files.\n\nI\u0027ve been playing with ruby-etcdv3 this week and found some limitations\nto the module.\nThis patch is a very first draft of what could be done today.\n\nOn the TODO list:\n* Complete the exists? method to make Puppet catalog idempotent when\n  managing etcd k/v.\n  This task might imply some work in ruby-etcdv3 and/or some etcd/util\n  work in openstacklib.\n* Refactor the openstack_config provider to not depend on inifile\n  anymore.\n* Add provider options to configure the etcd url \u0026 credentials.\n* Write methods that we had with the config file provider (e.g. ensuring\n  a parameter is absent, which would be removing the key from etcd).\n* Write unit \u0026 functional tests.\n\nChange-Id: I51e9e50adc21fcb5ec0450fe3d0e4ec5f741d4da\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/dcc541fcbe8c2553746bf6c6720e65eb25b12e1f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/puppet-openstacklib/commit/dcc541fcbe8c2553746bf6c6720e65eb25b12e1f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
