Cannot update description for a Keystone service

Bug #1419031 reported by Yaroslav Lobankov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
Low
Alexander Makarov

Bug Description

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.1"
  api: "1.0"
  build_number: "101"
  build_id: "2015-02-05_22-55-01"
  nailgun_sha: "d6c6d63600e3b36606be332b23a0c5490a00fbcf"
  python-fuelclient_sha: "521c2491f7f04f31d8c85db68499cd193d4904e3"
  astute_sha: "cf25925680814745facc7ffaf1e0b08eed6f9cb5"
  fuellib_sha: "bc99ea769cd67121f91f49c48dffca58e3f53fdf"
  ostf_sha: "6c046b69d29021524906109f18092363505ee222"
  fuelmain_sha: ""

ENVIRONMENT:
Ubuntu, HA mode with one controller, Neutron with GRE segmentation, Cinder LVM

HOW TO REPRODUCE:
1. Get Keystone token.

Execute the following commands in your terminal.
2. Create new service with description "description-1":

$ curl -X POST http://<public_controller_IP>:5000/v3/services -H 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>' -d '{"service": {"enabled": true, "type": "type-1", "name": "service-1", "description": "description-1"}}'
Response body:
{"service": {"name": "service-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"}, "enabled": true, "type": "type-1", "id": "<service_id>", "description": "description-1"}}

3. Get service. Here we can see that description == "description-1":

$ curl -X GET http://<public_controller_IP>:5000/v3/services/<service_id> -H 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>'
Response body:
{"service": {"description": "description-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"}, "enabled": true, "type": "type-1", "id": "<service_id>", "name": "service-1"}}

4. Update service description to "DESCRIPTION-2" (note that response body has correct description):

$ curl -X PATCH http://<public_controller_IP>:5000/v3/services/<service_id> -H 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>' -d '{"service": {"enabled": true, "type": "type-1", "name": "service-1", "description": "DESCRIPTION-2"}}'
Response body:
{"service": {"name": "service-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"}, "enabled": true, "type": "type-1", "id": "<service_id>", "description": "DESCRIPTION-2"}}

5. Get service. Note that description has incorrect value:

$ curl -X GET http://<public_controller_IP>:5000/v3/services/<service_id> -H 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>'
Responce body:
{"service": {"description": "description-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"}, "enabled": true, "type": "type-1", "id": "<service_id>", "name": "service-1"}}

As you can see from the last GET request the description of service is "description-1", while it should be "DESCRIPTION-2"

description: updated
Changed in mos:
status: New → Confirmed
importance: Undecided → Low
milestone: none → 6.1
ruhe (ruhe)
description: updated
description: updated
description: updated
summary: - Cannot get correct description for a Keystone service
+ Cannot update description for a Keystone service
description: updated
description: updated
description: updated
description: updated
tags: added: tempest
Revision history for this message
Alexander Makarov (amakarov) wrote :

Couldn't reproduce on local running Keystone from mos 6.1.
Presumably it's a caching issue.

Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

Alexander, what ISO did you use? I mean number of ISO.

Revision history for this message
Alexander Makarov (amakarov) wrote :

Yaroslav, I didn't use any iso - I've just fetched corresponding tag of keystone code: 6.1.
My comment is not a solution, just a triaging result.
To continue I need a valid repro.

Revision history for this message
Alexander Makarov (amakarov) wrote : Re: [Bug 1419031] Re: Cannot update description for a Keystone service
Download full text (4.4 KiB)

I understand that: I used curl commands as provided in description.
Can you give me an access to your lab to see logs?

On Tue, Mar 10, 2015 at 6:30 PM, Yaroslav Lobankov <email address hidden>
wrote:

> I have reproduced this issue on
>
> VERSION:
> feature_groups:
> - mirantis
> production: "docker"
> release: "6.1"
> api: "1.0"
> build_number: "178"
> build_id: "2015-03-09_22-54-44"
> nailgun_sha: "a9a6578a649a2a006c4810b3d0aa6876ac6e8b83"
> python-fuelclient_sha: "4eb787f1ad969bd23c93d192865543dbd45a8626"
> astute_sha: "2d61ee42ec6dae3181d292c7769d32e40d463893"
> fuellib_sha: "62e68af896887ebe18944e6a0a9721e269119ad4"
> ostf_sha: "8df5f2fcdae3bc9ea7d700ffd64db820baf51914"
> fuelmain_sha: "c73b87f7cbc371307a21c368a45a65aa3f4b7a5d"
>
> It is worth noting that if you execute the command `keystone service-
> list`, the service will have the correct description. But if you make
> the GET request on the service, the description will be incorrect.
>
> --
> You received this bug notification because you are a member of MOS
> Keystone, which is a bug assignee.
> https://bugs.launchpad.net/bugs/1419031
>
> Title:
> Cannot update description for a Keystone service
>
> Status in Mirantis OpenStack:
> Confirmed
>
> Bug description:
> VERSION:
> feature_groups:
> - mirantis
> production: "docker"
> release: "6.1"
> api: "1.0"
> build_number: "101"
> build_id: "2015-02-05_22-55-01"
> nailgun_sha: "d6c6d63600e3b36606be332b23a0c5490a00fbcf"
> python-fuelclient_sha: "521c2491f7f04f31d8c85db68499cd193d4904e3"
> astute_sha: "cf25925680814745facc7ffaf1e0b08eed6f9cb5"
> fuellib_sha: "bc99ea769cd67121f91f49c48dffca58e3f53fdf"
> ostf_sha: "6c046b69d29021524906109f18092363505ee222"
> fuelmain_sha: ""
>
> ENVIRONMENT:
> Ubuntu, HA mode with one controller, Neutron with GRE segmentation,
> Cinder LVM
>
> HOW TO REPRODUCE:
> 1. Get Keystone token.
>
> Execute the following commands in your terminal.
> 2. Create new service with description "description-1":
>
> $ curl -X POST http://<public_controller_IP>:5000/v3/services -H
> 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>' -d
> '{"service": {"enabled": true, "type": "type-1", "name": "service-1",
> "description": "description-1"}}'
> Response body:
> {"service": {"name": "service-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"},
> "enabled": true, "type": "type-1", "id": "<service_id>", "description":
> "description-1"}}
>
>
> 3. Get service. Here we can see that description == "description-1":
>
> $ curl -X GET http://<public_controller_IP>:5000/v3/services/<service_id>
> -H 'Content-Type: application/json' -H 'X-Auth-Token: <keystone_token>'
> Response body:
> {"service": {"description": "description-1", "links": {"self": "http://<public_controller_IP>:5000/v3/services/<service_id>"},
> "enabled": true, "type": "type-1", "id": "<service_id>", "name":
> "service-1"}}
>
>
> 4. Update service description to "DESCRIPTION-2" (note that response
> body has correct description):
>
> $ curl -X PATCH http://<public_controller_IP>:5000/v3/services/<s...

Read more...

Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

I have reproduced this issue on

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.1"
  api: "1.0"
  build_number: "178"
  build_id: "2015-03-09_22-54-44"
  nailgun_sha: "a9a6578a649a2a006c4810b3d0aa6876ac6e8b83"
  python-fuelclient_sha: "4eb787f1ad969bd23c93d192865543dbd45a8626"
  astute_sha: "2d61ee42ec6dae3181d292c7769d32e40d463893"
  fuellib_sha: "62e68af896887ebe18944e6a0a9721e269119ad4"
  ostf_sha: "8df5f2fcdae3bc9ea7d700ffd64db820baf51914"
  fuelmain_sha: "c73b87f7cbc371307a21c368a45a65aa3f4b7a5d"

It is worth noting that if you execute the command `keystone service-list`, the service will have the correct description. But if you make a GET request to the keystone service to get the service, the description will be incorrect.

Revision history for this message
Alexander Makarov (amakarov) wrote :
Revision history for this message
OSCI Robot (oscirobot) wrote :

package keystone has been built for project openstack/keystone
Package version == 2014.2, package release == fuel6.1.mira13.git.2ac9ee6.a443a6c

Changeset: https://review.fuel-infra.org/4477
project: openstack/keystone
branch: openstack-ci/fuel-6.1/2014.2
author: Alexander Makarov
committer: Alexander Makarov
subject: invalidate cache when updating catalog objects
status: patchset-created

Files placed on repository:

NOTE: Changeset is not merged, created temporary package repository.
 repository URL: /centos-fuel-6.1-stable-4477/

Revision history for this message
Alexander Makarov (amakarov) wrote :
Revision history for this message
OSCI Robot (oscirobot) wrote :

package keystone has been built for project openstack/keystone
Package version == 2014.2, package release == fuel6.1~mira1+git.2ac9ee6.a443a6c

Changeset: https://review.fuel-infra.org/4477
project: openstack/keystone
branch: openstack-ci/fuel-6.1/2014.2
author: Alexander Makarov
committer: Alexander Makarov
subject: invalidate cache when updating catalog objects
status: patchset-created

Files placed on repository:

NOTE: Changeset is not merged, created temporary package repository.
 repository URL: /trusty-fuel-6.1-stable-4477/

Changed in mos:
assignee: MOS Keystone (mos-keystone) → Alexander Makarov (amakarov)
status: Confirmed → In Progress
Changed in mos:
status: In Progress → Fix Committed
Revision history for this message
Yaroslav Lobankov (ylobankov) wrote :

Verified on

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.1"
  api: "1.0"
  build_number: "201"
  build_id: "2015-03-16_10-48-35"
  nailgun_sha: "874df0d06e32f14db77746cfeb2dd74d4a6e528c"
  python-fuelclient_sha: "cc64fff91fb0d78e5a02e7b93ceff224296f84fb"
  astute_sha: "93e427ac49109fa3fd8b0e1d0bb3d14092be2e8c"
  fuellib_sha: "553cb0cffa40a5f57313f962b6ec6a9bd89306ba"
  ostf_sha: "e86c961ceacfa5a8398b6cbda7b70a5f06afb476"
  fuelmain_sha: "c97fd8a789645bda48d06da224f994f8b52d82f5"

Changed in mos:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.