1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382
|
.. raw:: html
<style> .roadmap-not-started {background: #EF9A9A} </style>
<style> .roadmap-started {background: #FFF59D} </style>
<style> .roadmap-review {background: #90CAF9} </style>
<style> .roadmap-done {background: #A5D6A7} </style>
<style> .roadmap-good-first-contribution {background: #80DEEA} </style>
.. role:: roadmap-not-started
.. role:: roadmap-started
.. role:: roadmap-review
.. role:: roadmap-done
.. role:: roadmap-good-first-contribution
=========
Roadmap
=========
This is the roadmap for planned changes in CloudKitty. Changes are split into:
* Continuous
* Short-term (planned for the next release)
* Mid-term (ideally for the next release, else for release R+2)
* Long-term (for changes that will definitely not happen
during the next release).
.. note:: This document must be kept up-to-date. Any newly planned feature
should be added. The statuses of the existing features should be
updated regularly. At each release, it is the CloudKitty's PTL's
responsibility to remove the changes that have been merged during
the previous release.
How to edit this document
=========================
The first two columns should not need to be modified. If there are several
assignees to a change, you can either specify each person individually or
write the word ``multiple`` in the ``Assignees`` column.
Status columns can be in four states:
* :roadmap-not-started:`Not started`
* :roadmap-started:`Started`
* :roadmap-review:`Review`
* :roadmap-done:`Done`
See the source file of this document for highlighting syntax
(``doc/source/developer/roadmap.rst``).
Continuous effort
=================
Some points deserve continuous effort. These are not tied to a specific
release, but are some of the most important aspects of the project. Some of
these can be good first contributions.
* **Welcoming and mentoring new contributors.** Reviewers should be especially
kind when reviewing a person's first contribution. Don't assume that they
know the "developer workflow" document and OpenStack guidelines by heart,
and point them to the right resources if needed.
* **Improving the documentation.** This includes migrating documentation to
the new format (adopt a user-profile and component-based layout), but also
adding information you figured out by yourself and couldn't find in the
existing documentation (for example: notes for specific configuration
options, some examples, additional explanations on some notions that may be
difficult to grasp for newcomers...).
* **Improving the troubleshooting documentation.** The creation of this
documentation is part of the mid-term effort (see below). It will be
especially useful for new users.
:roadmap-good-first-contribution:`Good first contribution`
* **Adding tests.** There are *never* enough tests, so don't be shy and feel
free to improve the current unit tests or add some scenarios to the tempest
plugin.
:roadmap-good-first-contribution:`Good first contribution`
Short-term effort
=================
.. list-table::
:header-rows: 1
* - Planned Change
- Assignees
- Spec status
- Implementation status
- Short summary
* - Adding the v2 API
- peschk_l
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- The new API of CloudKitty, to which all new endpoints will be added.
* - Support local timezones
- peschk_l
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- Currently, CloudKitty converts all dates to UTC and is not
timezone-aware. This must be changed in order to get a better user
experience.
* - Add a Prometheus scope fetcher
- jferrieu
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- A scope fetcher that will work in a similar way to the Gnocchi fetcher
(retrieving all values for a given metadata field on a set of metrics).
* - Add support for the v2 API to the client
- peschk_l
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- Add the necessary base to the client to start supporting v2 API
endpoints.
* - Add a v2 API endpoint allowing to reset the state of a scope
- jferrieu
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- This will allow to delete all the data for a specific scope after a
given date, and reset the state of this scope to that date.
* - Add a V2 API endpoint allowing to retrieve rating information
- Multiple
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- This will be an improved version of the ``/summary`` endpoint available
in the v1 API. It will allow grouping of data on any groupby attribute.
* - Add a v2 API endpoint allowing to generate reports
- jferrieu
- :roadmap-started:`Started`
- :roadmap-not-started:`Not started`
- This will be a replacement for ``cloudkitty-writer``.
Mid-term effort
===============
.. list-table::
:header-rows: 1
* - Planned Change
- Assignees
- Spec status
- Implementation status
- Short summary
* - Creating a new rating module
- Multiple
- :roadmap-started:`Started`
- :roadmap-not-started:`Not started`
- This module will add support for validity periods on rating rules,
rulesets and will allow rule creation in a declarative way.
* - Add a second v2 storage backend
- peschk_l
- :roadmap-review:`Review:` https://review.opendev.org/#/c/673461/
- :roadmap-not-started:`Not started`
- An alternative to InfluxDB, with support for clustering. For now,
Elasticsearch has been retained.
* - Add a troubleshooting documentation
- Multiple
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- A documentation providing responses, checklists and tutorials to the
most frequently asked questions on the ``#cloudkitty`` IRC channel.
Long-term effort
================
.. list-table::
:header-rows: 1
* - Planned Change
- Assignees
- Spec status
- Implementation status
- Short summary
* - Complete migration of the v1 API into v2
- Multiple
- :roadmap-started:`Started`
- :roadmap-not-started:`Not started`
- Making every (if not deprecated) endpoint of the v1 API available in
the v2 API.
* - Adding authentication middlewares to the API in case it is used without
keystone.
- Undefined
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- This would allow support for RBAC outside of an openstack context.
API Migration status
====================
.. note:: v1 API endpoints which are not listed below will not be migrated.
.. list-table::
:header-rows: 1
* - v1 endpoint
- Spec
- Endpoint
- Client
- Tempest tests
* - ``GET /v1/info/config``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/info/metric``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/modules``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``PUT /v1/rating/modules``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/quote``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/report/summary``
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- :roadmap-not-started:`Not started`
* - ``GET /v1/storage/dataframes``
- :roadmap-done:`Done`
- :roadmap-done:`Done`
- :roadmap-review:`Review: https://review.opendev.org/#/c/681660/`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/pyscripts/scripts``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/module_config/pyscripts/scripts``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``PUT /v1/rating/module_config/pyscripts/scripts``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``DELETE /v1/rating/module_config/pyscripts/scripts``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/types``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/services``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/module_config/hashmap/services``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``DELETE /v1/rating/module_config/hashmap/services``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/fields``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/module_config/hashmap/fields``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``DELETE /v1/rating/module_config/hashmap/fields``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/mappings``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/module_config/hashmap/mappings``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``PUT /v1/rating/module_config/hashmap/mappings``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``DELETE /v1/rating/module_config/hashmap/mappings``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/mappings/group``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/groups``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``POST /v1/rating/module_config/hashmap/groups``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``DELETE /v1/rating/module_config/hashmap/groups``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/groups/mappings``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
* - ``GET /v1/rating/module_config/hashmap/groups/thresholds``
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
- :roadmap-not-started:`Not started`
|