1. 25 Feb, 2022 3 commits
  2. 21 Feb, 2022 2 commits
  3. 18 Feb, 2022 1 commit
    • Takashi Kajinami's avatar
      Fix description of orchestrator parameters · 9d917cc1
      Takashi Kajinami authored
      - coordination_url is not driver URL but backend URL. Driver is
        determined according to the backend.
      
      - The parameter description should not use abbreviations, as these
        can confuse users.
      
      Change-Id: I16eb47e161ae826393d113082091c292d097fc03
      9d917cc1
  4. 07 Feb, 2022 1 commit
  5. 10 Jan, 2022 2 commits
  6. 28 Dec, 2021 1 commit
  7. 14 Dec, 2021 1 commit
  8. 13 Dec, 2021 5 commits
    • Zuul's avatar
      Merge "Fix quote API" · 0014fc50
      Zuul authored
      0014fc50
    • Zuul's avatar
      Merge "Adding two options in fetcher_keystone" · 76fcadcb
      Zuul authored
      76fcadcb
    • Zuul's avatar
      Merge "Add missing whitespace in log message" · a9355c8e
      Zuul authored
      a9355c8e
    • Rafael Weingärtner's avatar
      Fix quote API · 21a87304
      Rafael Weingärtner authored
      The quote API method has been broken for a while now. This patch fixes
      the API and makes it work again. To use it, one can issue the following
      command.
      
          curl -s -X POST "http://cloudkitty_server_and_port/v1/rating/quote" -H "Accept: application/json" -H "User-Agent: python-keystoneclient" -H "Content-Type: application/json" -H "X-Auth-Token: ${ACCESS_TOKEN_KEYSTONE}" -d '{"resources": [{"service": "<cloudkitty_service_name>", "volume": "<quantity_to_quote>", "desc": {"metadata": {"<field_name_used_to_define_price>": "<value_to_activate_a_price>"}}}]}'
      
      Change-Id: Ia6ef6543a5100445b203196d39b404bc74b75ba0
      Story: 2009022
      Task: 42744
      21a87304
    • Rafael Weingärtner's avatar
      Add support for multiple value filters · 76e98ffd
      Rafael Weingärtner authored
      The goal of this patch is to introduce support for multi-valued
      parameters. For instance, for the `type` parameter, even though the code
      was treating it as a possible list of types, the API would not allow a
      user to send multiple types.
      
      This patch enables users to send filters with multiple values, which can
      be useful for filtering by project_ids for instance, or different types
      (metric types).
      
      Change-Id: I59397b33d014709eb976c78d517f009b8a2be4cf
      76e98ffd
  9. 10 Dec, 2021 1 commit
  10. 02 Dec, 2021 1 commit
    • Rafael Weingärtner's avatar
      Introduce "response_format" for the V2 summary API · 6ba9d45e
      Rafael Weingärtner authored
      The V2 summary endpoint uses a quite unconventional data format in
      the response. Currently, the format is the following:
      
      ```
      {"total": <number of elements in the response>,
       "results": [array of arrays of data],
       "columns": [array of columns]}
      ```
      
      To process this, we need to find the index of a column in the column
      list, and with this index, we retrieve the data in the array of data
      that is found in the array of results. The proposal is to use the
      following format in the response.
      
      ```
      {"total": <number of elements in the response>,
       "results": [array of objects/dictionary]}
      ```
      
      With this new format, one does not need to consult the index of a
      column to retrieve data in one of the entries. We would only need to
      retrieve the data in the entry using its column name. Therefore, the
      coding feels more natural. To maintain compatibility, this new format
      would be only applied when an option is sent to CloudKitty via
      `response_format` option.
      
      Depends-on: https://review.opendev.org/c/openstack/cloudkitty/+/793973
      
      Change-Id: I5869d527e6e4655c653b6852d6fb7bebc9d71520
      6ba9d45e
  11. 29 Nov, 2021 3 commits
  12. 06 Oct, 2021 1 commit
    • Rafael Weingärtner's avatar
      Add active status fields in the storage state table · 2acaa5a4
      Rafael Weingärtner authored
      This patch adds active status fields in the storage state table
      (cloudkitty_storage_states). A boolean column called "active",
      which indicates if the CloudKitty scope is active for billing, and
      another one called "scope_activation_toggle_date" (timestamp field)
      to store the latest timestamp when the scope moved between the
      active/deactivated states. Then, during CloudKitty processing, we
      check the "active" column. If the resource is not active, we ignore
      it during the processing.
      
      Moreover, we introduce an API to allow operators to set the "active" field.
      The "scope_activation_toggle_date" will not be exposed for operators to
      change it. It is updated automatically according to the changes in the "active"
      field.
      
      This patch adds a new HTTP method to "/v2/scope" endpoint. We then use
      "patch" HTTP method to allow operators to patch a storage scope. The API
      will require the scope_id, and then, it takes into account some of the fields
      we allow operators to change, and "active" field is one of them.
      
      Change-Id: Ia02c2eeb98021c60549cb8deab6f2e964e573f1e
      Implements: https://review.opendev.org/c/openstack/cloudkitty-specs/+/770928/
      2acaa5a4
  13. 17 Sep, 2021 2 commits
  14. 06 Sep, 2021 1 commit
    • Thomas Goirand's avatar
      Set force_granularity: 300 in metrics.yml · b9f63a1a
      Thomas Goirand authored
      It appears that the default metrics.yml needs force_granularity: 300
      otherwise cloudkitty-processor will fail to process metrics from
      Gnocchi. As this is what at least I (in Debian) ship in packages, it
      would be nice to have a working default.
      
      Change-Id: I28b43d6131182252c0576d9323bbcdbfb1dbbd0a
      Story: 2008598
      Task: 41771
      b9f63a1a
  15. 18 Aug, 2021 1 commit
  16. 09 Aug, 2021 1 commit
  17. 26 Jul, 2021 1 commit
    • Pierre Riteau's avatar
      Custom query Gnocchi collector · bac19603
      Pierre Riteau authored
      This patch proposes a method for operators to customize the aggregation
      query executed against Gnocchi. By default, we use the following query:
      
      (aggregate RE_AGGREGATION_METHOD (metric METRIC_NAME AGGREGATION_METHOD))
      
      Therefore, this option enables operators to take full advantage of
      operations available in Gnocchi, such as any arithmetic operations,
      logical operations and many others. When using a custom aggregation
      query, one can use the placeholders `RE_AGGREGATION_METHOD`,
      `AGGREGATION_METHOD`, and `METRIC_NAME`: they will be replaced at
      runtime by values from the metric configuration.
      
      Different use cases can be addressed with the use of custom queries such
      as handling RadosGW usage data trimming, which causes a decrease in the
      usage data values; Libvirt attach/detach of disks, migration of VMs,
      start/stop of VMs, which will zero the usage data that are gathered by
      Ceilometer compute, and many other use cases where one might desire a
      more complex operation to be executed on the data before CloudKitty
      rates it.
      
      Change-Id: I3419075d6df165409cb1375ad11a5b3f7faa7471
      bac19603
  18. 22 Jul, 2021 1 commit
    • Takashi Kajinami's avatar
      Replace deprecated import of ABCs from collections · 10c23061
      Takashi Kajinami authored
      ABCs in collections should be imported from collections.abc and direct
      import from collections is deprecated since Python 3.3.
      This replaces that deprecated usage mentioned in method descriptions.
      
      Change-Id: I6864c6d84407ed9512917266ccb06a51bab5714a
      10c23061
  19. 12 Jul, 2021 1 commit
  20. 08 Jul, 2021 1 commit
  21. 29 Jun, 2021 1 commit
  22. 24 Jun, 2021 1 commit
  23. 23 Jun, 2021 1 commit
  24. 22 Jun, 2021 1 commit
  25. 18 Jun, 2021 1 commit
  26. 07 Jun, 2021 2 commits
    • Pierre Riteau's avatar
      setup.cfg: Replace dashes with underscores · ebbbebc1
      Pierre Riteau authored
      Setuptools v54.1.0 introduces a warning that the use of dash-separated
      options in 'setup.cfg' will not be supported in a future version [1].
      Get ahead of the issue by replacing the dashes with underscores. Without
      this, we see 'UserWarning' messages like the following on new enough
      versions of setuptools:
      
        UserWarning: Usage of dash-separated 'description-file' will not be
        supported in future versions. Please use the underscore name
        'description_file' instead
      
      [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
      
      Change-Id: I5e5e86149c0ea6be5553bf8911dfc729d0ec57bb
      ebbbebc1
    • Rafael Weingärtner's avatar
      Fix tests cases broken by flask >=2.0.1 · 885c9f07
      Rafael Weingärtner authored
      Flask has been updated in the requirements projects from OpenStack [1].
      This has broken some test cases that were mocking the root object
      "flask.request".
      
      Instead of mocking the root object, we address the issue by mocking only
      the needed methods and attributes. This facilitates the understanding of
      the unit test, and also helps people to pin-point problems right away.
      
      [1] https://review.opendev.org/c/openstack/requirements/+/793023
      
      Change-Id: I8703c7d3e69f35ef3e85234c27b4743242111f3d
      885c9f07
  27. 31 May, 2021 1 commit
  28. 19 May, 2021 1 commit