)]}'
{"specs/kilo/ceilometer-configuration-via-data-store.rst":[{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"2026de93644761ddd26bac9dc86d7dc9b63037bf","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Alternatives"},{"line_number":53,"context_line":"------------"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"There\u0027s no arguing that deployment tools such as Puppet, Chef, etc. support the"},{"line_number":56,"context_line":"population of configuration files on a reasonable scale. For small deployments"},{"line_number":57,"context_line":"it might be preferable to maintain a file-based configuration."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_febee863","line":55,"updated":"2014-11-25 10:22:58.000000000","message":"Probably it\u0027s good to have this \u0027initial\u0027 file-deployment anyway. For instance, we create initial file or use some default pipeline (let\u0027s name it pipeline here), but then we load all this info to the persistent datastore and have the opportunity to modify it via REST API. This will allow to use different deployment tools, but will have the flexibility as well. Probably it\u0027s good to describe this workflow somewhere in this spec","commit_id":"89bf449046c289cba47142c21f1db3d9965ed2ae"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"2026de93644761ddd26bac9dc86d7dc9b63037bf","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Relates to:"},{"line_number":176,"context_line":"https://blueprints.launchpad.net/ceilometer/+spec/dedicated-event-db"},{"line_number":177,"context_line":"https://blueprints.launchpad.net/ceilometer/+spec/merge-agent"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"Testing"},{"line_number":180,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a890539_0150b509","line":177,"updated":"2014-11-25 10:22:58.000000000","message":"This last BP looks like old one with only minor refactoring being done. Probably this goes more to the https://review.openstack.org/#/c/119077/ ?","commit_id":"89bf449046c289cba47142c21f1db3d9965ed2ae"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"54ac3081a5117090150d486d6b36eb682be9ad25","unresolved":false,"context_lines":[{"line_number":56,"context_line":"population of configuration files on a reasonable scale. For small deployments"},{"line_number":57,"context_line":"it might be preferable to maintain a file-based configuration. To this end we"},{"line_number":58,"context_line":"can support a configuration parameter enables a file-based configuration"},{"line_number":59,"context_line":"(likely to be the default for the sake of backward compatibility). "},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_4a860918","line":59,"updated":"2014-11-27 08:04:59.000000000","message":"nit, white space","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"74ef627a1ad700d00274a35926d0dbc8d44b872d","unresolved":false,"context_lines":[{"line_number":56,"context_line":"population of configuration files on a reasonable scale. For small deployments"},{"line_number":57,"context_line":"it might be preferable to maintain a file-based configuration. To this end we"},{"line_number":58,"context_line":"can support a configuration parameter enables a file-based configuration"},{"line_number":59,"context_line":"(likely to be the default for the sake of backward compatibility). "},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_2b117aaf","line":59,"in_reply_to":"5a890539_4a860918","updated":"2014-12-01 18:01:40.000000000","message":"Done","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"54ac3081a5117090150d486d6b36eb682be9ad25","unresolved":false,"context_lines":[{"line_number":81,"context_line":"GET /v2/meta/configuration"},{"line_number":82,"context_line":"    Return all configuration items"},{"line_number":83,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":84,"context_line":"    Return type: list(configuration)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"POST /v2/meta/configuration"},{"line_number":87,"context_line":"    Create a new configuration item"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_4adb6921","line":84,"updated":"2014-11-27 08:04:59.000000000","message":"Can you please elaborate more on what\u0027s each configuration looks like?","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"74ef627a1ad700d00274a35926d0dbc8d44b872d","unresolved":false,"context_lines":[{"line_number":81,"context_line":"GET /v2/meta/configuration"},{"line_number":82,"context_line":"    Return all configuration items"},{"line_number":83,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":84,"context_line":"    Return type: list(configuration)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"POST /v2/meta/configuration"},{"line_number":87,"context_line":"    Create a new configuration item"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_6b0b827d","line":84,"in_reply_to":"5a890539_4adb6921","updated":"2014-12-01 18:01:40.000000000","message":"Done, though I\u0027ll note that the initial goal is to simply duplicate the yaml content, along with db keys if needed to normalize.","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"54ac3081a5117090150d486d6b36eb682be9ad25","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The significant impact to the pipeline will be the (optional) sourcing of"},{"line_number":114,"context_line":"configuration data from the database."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Other end user impact"},{"line_number":117,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_aa0f6d87","line":114,"updated":"2014-11-27 08:04:59.000000000","message":"Some questions which needs more elaboration:\n\n1. Is there would be some kind of plugin driver framework to load configuration data for the pipeline, e.g. a driver to load data from the current file is one of them, and the other is the driver to load data from DB?\n\n2. When does the ceilometer agent load the configuration data to construct the polling tasks? Every time a configuration is changed through the restful API?\n\n3. When and how to \u0027retire\u0027 the PollingTasks derived from the old configuration when the configuration is changed runtime?","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"74ef627a1ad700d00274a35926d0dbc8d44b872d","unresolved":false,"context_lines":[{"line_number":111,"context_line":"---------------"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"The significant impact to the pipeline will be the (optional) sourcing of"},{"line_number":114,"context_line":"configuration data from the database."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Other end user impact"},{"line_number":117,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5a890539_89aa7518","line":114,"in_reply_to":"5a890539_aa0f6d87","updated":"2014-12-01 18:01:40.000000000","message":"Great questions: I\u0027ve answered this in part by noting the backwards compatibility with the file-based config and adding a note about needing to address the re-construction of the polling task, but as for specific \"how\" I think these are best answered in implementation stage.","commit_id":"d0e912d3f816b60033de0715e90fb8095b6098e1"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"079fc63bcd343e7597dc01277c63f8e3f8778fe1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Generally modeled on the Alarm api, at minimum the configuration api would"},{"line_number":78,"context_line":"consist of:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"GET /v2/meta/configuration"},{"line_number":81,"context_line":"    Return all configuration items"},{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_60ca416f","line":80,"updated":"2014-12-04 07:56:57.000000000","message":"Should the URL be \"/v2/meta/configurations\"? to follow RESTful API convention?","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"0562b4b3a3eda72c54755e0221fa19a8588ed430","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Generally modeled on the Alarm api, at minimum the configuration api would"},{"line_number":78,"context_line":"consist of:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"GET /v2/meta/configuration"},{"line_number":81,"context_line":"    Return all configuration items"},{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_630f2289","line":80,"updated":"2014-12-01 20:28:12.000000000","message":"does it make sense to have two paths? one for pipeline, another for trait definition? just wondering since they have noticeably different structures... or we can leave it to users and assume they should know what they are modifying/querying","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Generally modeled on the Alarm api, at minimum the configuration api would"},{"line_number":78,"context_line":"consist of:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"GET /v2/meta/configuration"},{"line_number":81,"context_line":"    Return all configuration items"},{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_6b454b16","line":80,"in_reply_to":"5a890539_60ca416f","updated":"2014-12-09 22:57:21.000000000","message":"Done in next patchset.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"e5c926cf5b4bd3f1b4587d85d32fff831aff0824","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Generally modeled on the Alarm api, at minimum the configuration api would"},{"line_number":78,"context_line":"consist of:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"GET /v2/meta/configuration"},{"line_number":81,"context_line":"    Return all configuration items"},{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_1f05e579","line":80,"in_reply_to":"5a890539_60ca416f","updated":"2014-12-09 19:32:42.000000000","message":"I think it would be good to have two separate URL. Also we agreed at summit we will start with pipeline and then eventually move to configuration file. So I think having something like:\nGET/PUT/POST/PATCH/DELETE v2/meta/pipelines\nand\nGET/PUT/POST/PATCH/DELETE v2/meta/configurations\nIt is a good approach.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Generally modeled on the Alarm api, at minimum the configuration api would"},{"line_number":78,"context_line":"consist of:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"GET /v2/meta/configuration"},{"line_number":81,"context_line":"    Return all configuration items"},{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_4b424f11","line":80,"in_reply_to":"5a890539_630f2289","updated":"2014-12-09 22:57:21.000000000","message":"Makes sense to me....will apply in next patchset.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"079fc63bcd343e7597dc01277c63f8e3f8778fe1","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"POST /v2/meta/configuration"},{"line_number":86,"context_line":"    Create a new configuration item"},{"line_number":87,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":88,"context_line":"    Return type: configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_00a97d8f","line":85,"updated":"2014-12-04 07:56:57.000000000","message":"ditto","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    Parameters: q - Filter rules for items to be returned"},{"line_number":83,"context_line":"    Return type: list(configuration)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"POST /v2/meta/configuration"},{"line_number":86,"context_line":"    Create a new configuration item"},{"line_number":87,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":88,"context_line":"    Return type: configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_ab46531f","line":85,"in_reply_to":"5a890539_00a97d8f","updated":"2014-12-09 22:57:21.000000000","message":"POST goes away when we move to user-defined id\u0027s.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"079fc63bcd343e7597dc01277c63f8e3f8778fe1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":88,"context_line":"    Return type: configuration"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"GET /v2/meta/configuration/(configuration_id)"},{"line_number":91,"context_line":"    Return this configuration item"},{"line_number":92,"context_line":"    Return type: configuration"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_20acb99e","line":90,"updated":"2014-12-04 07:56:57.000000000","message":"ditto","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":88,"context_line":"    Return type: configuration"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"GET /v2/meta/configuration/(configuration_id)"},{"line_number":91,"context_line":"    Return this configuration item"},{"line_number":92,"context_line":"    Return type: configuration"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_cb555fc7","line":90,"in_reply_to":"5a890539_20acb99e","updated":"2014-12-09 22:57:21.000000000","message":"Done in next patchset.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"079fc63bcd343e7597dc01277c63f8e3f8778fe1","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    Return this configuration item"},{"line_number":92,"context_line":"    Return type: configuration"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_4096254d","line":94,"updated":"2014-12-04 07:56:57.000000000","message":"ditto","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    Return this configuration item"},{"line_number":92,"context_line":"    Return type: configuration"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_eb505bd6","line":94,"in_reply_to":"5a890539_4096254d","updated":"2014-12-09 22:57:21.000000000","message":"Done in next patchset.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"0562b4b3a3eda72c54755e0221fa19a8588ed430","unresolved":false,"context_lines":[{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_435a2684","line":97,"updated":"2014-12-01 20:28:12.000000000","message":"does this mean we need to reload the entire configuration each time or can we just pass in an attribute?\n\nalso, could you add what the id is here? is it an internal id or osmething we can set?","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"ee7a86d94be0077bc83e0073906e55c00bafad26","unresolved":false,"context_lines":[{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_42006267","line":97,"in_reply_to":"3a961159_13687986","updated":"2014-12-10 09:12:29.000000000","message":"Phil, thanks for the answer here. Yeah, it looks like that group prefix composed from what agent is actually polling is a good idea here.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_13687986","line":97,"in_reply_to":"3a961159_b3f8c8e6","updated":"2014-12-09 22:57:21.000000000","message":"Gordon, see my note on PATCH below: we should be able to pass a single attribute. I think there\u0027s some value in user-defined ID\u0027s given that it would enhance usability in the use case that Dina mentioned (i.e. deployer wants to explicitly assign a configuration to an agent). \nDina, For initial deployment we will only support one config for polling, one for notifications. I have some thoughts around associating an agent/config using the agent group prefix, but that\u0027s out of scope for this initial setup.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":3012,"name":"Dina Belova","email":"dbelova@mirantis.com","username":"dbelova"},"change_message_id":"b467935f6f1cd782b38187521296f9a6f9c298d0","unresolved":false,"context_lines":[{"line_number":94,"context_line":"PUT /v2/meta/configuration/(configuration_id)"},{"line_number":95,"context_line":"    Modify this configuration item"},{"line_number":96,"context_line":"    Parameters: data(configuration) - a configuration within the request body"},{"line_number":97,"context_line":"    Retun type: configuration"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_b3f8c8e6","line":97,"in_reply_to":"5a890539_435a2684","updated":"2014-12-08 11:02:30.000000000","message":"actually good question, because different agents might have different pipeline! so basically we might need to store multiple pipelines, but have ONE api to manage them. How this will be achieved?","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"079fc63bcd343e7597dc01277c63f8e3f8778fe1","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"},{"line_number":101,"context_line":"associated publisher(s)."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_209af961","line":101,"updated":"2014-12-04 07:56:57.000000000","message":"In current pipeline.yaml, we have multiple sources and multiple sinks. Does this mean each configuration is actually 1 source plus multiple related sinks? If so, can we POST a single sink or single source?","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"},{"line_number":101,"context_line":"associated publisher(s)."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_eb9a1b6d","line":101,"in_reply_to":"3a961159_dfe51da9","updated":"2014-12-09 22:57:21.000000000","message":"Supporting PATCH makes sense to me, as it provides an easy mechanism for enforcing the 1:N source-to-sink relationship. As you noted, Fabio, we will validate structure (i.e. minimum required data set) on PUT and then on PATCH look at the merged value of PATCH+target config.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"e5c926cf5b4bd3f1b4587d85d32fff831aff0824","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"},{"line_number":101,"context_line":"associated publisher(s)."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_dfe51da9","line":101,"in_reply_to":"5a890539_209af961","updated":"2014-12-09 19:32:42.000000000","message":"If you POST a pipeline to the v2/meta/pipelines you will get a Location back with the id of the pipeline you created. This should be a valid pipeline with Source and Sinks otherwise you should get a 400 Bad Request.\nWhat you suggest will need to allow partial additions changes, like adding a new Sink would be:\nPOST v2/meta/pipelines/\u003cpipeline_id\u003e/sinks\nI personally think this is overkill.\nYou can always apply a PUT with a new Pipeline that has that change or even a PATCH if you just want to add something to the existing pipeline. Moreover, I am not so sure we should allow to have configs that have Sources pointing to non-existing sinks and sinks that are not connected to any source; and having separate POSTs will allow that.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Where \"configuration\" is the set of attributes currently defined in the"},{"line_number":100,"context_line":"pipeline.yaml. Generally: name, interval, associated transformer(s),"},{"line_number":101,"context_line":"associated publisher(s)."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_0b2da746","line":101,"in_reply_to":"5a890539_209af961","updated":"2014-12-09 22:57:21.000000000","message":"The idea here is to represent a pipeline configuration \"set\" as it\u0027s currently represented in the pipeline.yaml: is one source with 1:N sinks. See my note on PATCH below.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"0562b4b3a3eda72c54755e0221fa19a8588ed430","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Work Items"},{"line_number":171,"context_line":"----------"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"1. Database schema design"},{"line_number":174,"context_line":"2. API design"},{"line_number":175,"context_line":"3. Database pre-population, deployment, migration"},{"line_number":176,"context_line":"4. Updates to pipeline to read config via api or natively"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5a890539_83da4ee7","line":173,"updated":"2014-12-01 20:28:12.000000000","message":"any chance we can add proposed schema in the spec? i\u0027m curious what the schema is.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":7336,"name":"Phil Neal","email":"phil.neal@hp.com","username":"nealph"},"change_message_id":"7c80c93059256d4e1f5cca65f9fb65522e7b9cb0","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Work Items"},{"line_number":171,"context_line":"----------"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"1. Database schema design"},{"line_number":174,"context_line":"2. API design"},{"line_number":175,"context_line":"3. Database pre-population, deployment, migration"},{"line_number":176,"context_line":"4. Updates to pipeline to read config via api or natively"}],"source_content_type":"text/x-rst","patch_set":8,"id":"3a961159_b6634c19","line":173,"in_reply_to":"5a890539_83da4ee7","updated":"2014-12-09 22:57:21.000000000","message":"My concern in adding it here, Gordon, is given that (a) we\u0027re likely going to iterate multiple times on the schema and (b) it\u0027s just one piece of the spec,  it\u0027s going to be much better to do it outside of Gerrit.  My plan is to push it into the existing wiki and talk through it there. That should provide a public forum that\u0027s targeted to just those who want to weigh in on the db design.","commit_id":"013f6514d349cd15fed26ea91f3d021c945054ea"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"19ebbd3ce6b449b92336804f28a4f777e4d986e2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"configuration, we won\u0027t attempt to transition that in the Kilo timeframe. The"},{"line_number":47,"context_line":"migration of the pipeline configuration and event traits, being limited to Kilo"},{"line_number":48,"context_line":"and not having any specific implementation (beyond Pyaml), seem feasible to"},{"line_number":49,"context_line":"address."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_a99ee3b6","line":49,"range":{"start_line":49,"start_character":7,"end_line":49,"end_character":8},"updated":"2014-12-12 19:59:26.000000000","message":"is this spec just scoped to storing the pipeline def in a db... just wondering how the monitoring and reconfiguring of services will work depending on db updates... is that beyond scope?","commit_id":"bde03b09cffb15c6901859e14cb58b9ace2d857f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"4bc91f19577d92fde33315ad45274fc60a3c3058","unresolved":false,"context_lines":[{"line_number":46,"context_line":"configuration, we won\u0027t attempt to transition that in the Kilo timeframe. The"},{"line_number":47,"context_line":"migration of the pipeline configuration and event traits, being limited to Kilo"},{"line_number":48,"context_line":"and not having any specific implementation (beyond Pyaml), seem feasible to"},{"line_number":49,"context_line":"address."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_89df67d5","line":49,"range":{"start_line":49,"start_character":7,"end_line":49,"end_character":8},"in_reply_to":"3a961159_a99ee3b6","updated":"2014-12-12 20:16:24.000000000","message":"15:14 \u003c nealph_\u003e that\u0027s TBD, really. I want to tackle it, but it\u0027s officially out of scope...see line 32 \"lays the \n                 foundation for on-the-fly updates\". There\u0027s a spec coming around just now about monitoring the \n                 config file for changes (we had discussed this in Hong Kong briefly, IIRC) so at minimum there are \n                 some design dependencies around that.\n15:14 \u003c nealph_\u003e https://review.openstack.org/#/c/140232/","commit_id":"bde03b09cffb15c6901859e14cb58b9ace2d857f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"19ebbd3ce6b449b92336804f28a4f777e4d986e2","unresolved":false,"context_lines":[{"line_number":132,"context_line":"A second impact to the pipeline will be the need to reconstruct the polling"},{"line_number":133,"context_line":"tasks when a change to the configuration is made. The current long-running"},{"line_number":134,"context_line":"tasks will need to be stopped and re-started, while accounting for in-process"},{"line_number":135,"context_line":"tasks."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_299913c4","line":135,"updated":"2014-12-12 19:59:26.000000000","message":"i assume the config file method will always be an option? or do we expect the this db option to be only option eventually?","commit_id":"bde03b09cffb15c6901859e14cb58b9ace2d857f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"4bc91f19577d92fde33315ad45274fc60a3c3058","unresolved":false,"context_lines":[{"line_number":132,"context_line":"A second impact to the pipeline will be the need to reconstruct the polling"},{"line_number":133,"context_line":"tasks when a change to the configuration is made. The current long-running"},{"line_number":134,"context_line":"tasks will need to be stopped and re-started, while accounting for in-process"},{"line_number":135,"context_line":"tasks."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"Other end user impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a961159_894847b4","line":135,"in_reply_to":"3a961159_299913c4","updated":"2014-12-12 20:16:24.000000000","message":"conclusin: config file will live on.","commit_id":"bde03b09cffb15c6901859e14cb58b9ace2d857f"}]}
