Catalog compilation fails when $configure_endpoint is set to false

Bug #1368686 reported by Risto Laurikainen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
puppet-glance
Fix Released
High
Gael Chamoulaud
puppet-neutron
Fix Released
High
Gael Chamoulaud
puppet-nova
Fix Released
High
Risto Laurikainen
puppet-trove
Fix Released
High
Emilien Macchi

Bug Description

In the keystone::auth class when $configure_endpoint is set to false, a keystone_endpoint will not be added to the catalog. However, a relationship between the non-existent keystone_endpoint and the service being managed is added regardless, causing catalog compilation to fail as the keystone_endpoint required by the notification relationship does not exist.

This can be fixed by moving the Keystone_endpoint ~> Service part inside the if-block for $configure_endpoint.

It looks like there is no spec test where $configure_endpoint is set to false. That should probably also be added.

Revision history for this message
Matt Fischer (mfisch) wrote :

This code was refactored for Kilo on master, can you please confirm that it's still an issue?

Changed in puppet-nova:
status: New → Incomplete
Changed in puppet-neutron:
status: New → Incomplete
Changed in puppet-glance:
status: New → Incomplete
Changed in puppet-trove:
status: New → Incomplete
Revision history for this message
Risto Laurikainen (risto-laurikainen) wrote :

Based on looking at the code this is still an issue. I haven't yet tested the refactored code (I'll probably start doing so next week), but it seems to me that if you set $configure_endpoint as false for any of the keystone::auth classes, then ensure_resource is not called in keystone::resource::service_identity and no keystone_endpoint resource is created. If no keystone_endpoint resource is created, then that will still break because this relationship on keystone::auth is used anyway no matter what $configure_endpoint is set to: "Keystone_endpoint["${region}/${real_service_name}"] ~> Service"

Revision history for this message
Risto Laurikainen (risto-laurikainen) wrote :

I confirmed this for puppet-neutron on a test system today. The code is exactly the same for the rest of the modules, so they have this problem as well.

Changed in puppet-neutron:
status: Incomplete → Confirmed
Changed in puppet-glance:
status: Incomplete → Confirmed
Changed in puppet-nova:
status: Incomplete → Confirmed
Changed in puppet-trove:
status: Incomplete → Confirmed
Changed in puppet-glance:
assignee: nobody → Risto Laurikainen (risto-laurikainen)
Changed in puppet-neutron:
assignee: nobody → Risto Laurikainen (risto-laurikainen)
Changed in puppet-nova:
assignee: nobody → Risto Laurikainen (risto-laurikainen)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/156999

Changed in puppet-neutron:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/157002

Changed in puppet-nova:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-glance (master)

Fix proposed to branch: master
Review: https://review.openstack.org/157009

Changed in puppet-glance:
status: Confirmed → In Progress
Changed in puppet-glance:
assignee: Risto Laurikainen (risto-laurikainen) → Gael Chamoulaud (gael-chamoulaud)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-nova (master)

Reviewed: https://review.openstack.org/157002
Committed: https://git.openstack.org/cgit/stackforge/puppet-nova/commit/?id=927353ddf53103564737d0bf06d254564ee0eba0
Submitter: Jenkins
Branch: master

commit 927353ddf53103564737d0bf06d254564ee0eba0
Author: Risto Laurikainen <email address hidden>
Date: Wed Feb 18 14:07:36 2015 +0000

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    nova::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist.

    This changes this so that the relationship involving the Keystone
    endpoint is only defined if $configure_endpoint is set to true.

    Change-Id: Ief2ea40d0e4f31e18ba4b1230c5879909a1cfe46
    Closes-Bug: 1368686

Changed in puppet-nova:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-glance (master)

Reviewed: https://review.openstack.org/157009
Committed: https://git.openstack.org/cgit/stackforge/puppet-glance/commit/?id=ee0549f15dd6b9442b559ca363b934b60588b7e2
Submitter: Jenkins
Branch: master

commit ee0549f15dd6b9442b559ca363b934b60588b7e2
Author: Risto Laurikainen <email address hidden>
Date: Wed Feb 18 14:14:17 2015 +0000

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    glance::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist.

    This changes this so that the relationship involving the Keystone
    endpoint is only defined if $configure_endpoint is set to true.

    Also, the test for when $configure_endpoint is false was set to check
    for an endpoint that doesn't get created even if $configure_endpoint is
    true. Fixed so that it checks for an endpoint that has the correct name
    (the same as when using the default values to call the class).

    Change-Id: I6631a656a888d0df7ab173705bea0598bd2b2f58
    Closes-Bug: 1368686

Changed in puppet-glance:
status: In Progress → Fix Committed
Changed in puppet-neutron:
assignee: Risto Laurikainen (risto-laurikainen) → Gael Chamoulaud (gael-chamoulaud)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-neutron (master)

Reviewed: https://review.openstack.org/156999
Committed: https://git.openstack.org/cgit/stackforge/puppet-neutron/commit/?id=73d7599665b6d499280d29b5f59c26124ad5e643
Submitter: Jenkins
Branch: master

commit 73d7599665b6d499280d29b5f59c26124ad5e643
Author: Risto Laurikainen <email address hidden>
Date: Wed Feb 18 13:55:58 2015 +0000

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    neutron::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist.

    This changes this so that the relationship involving the Keystone
    endpoint is only defined if $configure_endpoint is set to true.

    Change-Id: I710da4811f456410239efb1487e3407a42686a2b
    Closes-Bug: 1368686

Changed in puppet-neutron:
status: In Progress → Fix Committed
Mathieu Gagné (mgagne)
Changed in puppet-nova:
milestone: none → 6.0.0
Changed in puppet-glance:
milestone: none → 6.0.0
Changed in puppet-neutron:
milestone: none → 6.0.0
Changed in puppet-glance:
importance: Undecided → High
Changed in puppet-neutron:
importance: Undecided → High
Changed in puppet-nova:
importance: Undecided → High
Changed in puppet-trove:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-glance (stable/juno)

Fix proposed to branch: stable/juno
Review: https://review.openstack.org/187335

Matt Fischer (mfisch)
Changed in puppet-glance:
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-glance (stable/juno)

Reviewed: https://review.openstack.org/187335
Committed: https://git.openstack.org/cgit/stackforge/puppet-glance/commit/?id=d64e9876478f74f753cd53447beba04d94b2925b
Submitter: Jenkins
Branch: stable/juno

commit d64e9876478f74f753cd53447beba04d94b2925b
Author: Risto Laurikainen <email address hidden>
Date: Wed Feb 18 14:14:17 2015 +0000

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    glance::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist.

    This changes this so that the relationship involving the Keystone
    endpoint is only defined if $configure_endpoint is set to true.

    Also, the test for when $configure_endpoint is false was set to check
    for an endpoint that doesn't get created even if $configure_endpoint is
    true. Fixed so that it checks for an endpoint that has the correct name
    (the same as when using the default values to call the class).

    Change-Id: I6631a656a888d0df7ab173705bea0598bd2b2f58
    Closes-Bug: 1368686
    (cherry-picked from commit ee0549f15dd6b9442b559ca363b934b60588b7e2)

tags: added: in-stable-juno
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-trove (master)

Fix proposed to branch: master
Review: https://review.openstack.org/190308

Changed in puppet-trove:
assignee: nobody → Emilien Macchi (emilienm)
status: Confirmed → In Progress
Mathieu Gagné (mgagne)
Changed in puppet-glance:
status: Fix Released → Fix Committed
Mathieu Gagné (mgagne)
Changed in puppet-glance:
status: Fix Committed → Fix Released
Changed in puppet-nova:
status: Fix Committed → Fix Released
Changed in puppet-neutron:
status: Fix Committed → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-trove (master)

Reviewed: https://review.openstack.org/190308
Committed: https://git.openstack.org/cgit/openstack/puppet-trove/commit/?id=39867dcd31cacf6882ede22fb25d9cd62aaf1a40
Submitter: Jenkins
Branch: master

commit 39867dcd31cacf6882ede22fb25d9cd62aaf1a40
Author: Emilien Macchi <email address hidden>
Date: Wed Jun 10 15:24:07 2015 -0400

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    neutron::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist. This changes this so that the relationship
    involving the Keystone endpoint is only defined if $configure_endpoint
    is set to true.

    Change-Id: I1ee51f33ffd1bf20578cd56120ee5be8e6fa0133
    Co-Authored-By: Risto Laurikainen <email address hidden>
    Co-Authored-By: Gael Chamoulaud <email address hidden>
    Closes-Bug: 1368686

Changed in puppet-trove:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-trove (stable/kilo)

Fix proposed to branch: stable/kilo
Review: https://review.openstack.org/207435

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-trove (stable/kilo)

Reviewed: https://review.openstack.org/207435
Committed: https://git.openstack.org/cgit/openstack/puppet-trove/commit/?id=93bb2f6d40b87fdc5be9971f614716a529fb1e49
Submitter: Jenkins
Branch: stable/kilo

commit 93bb2f6d40b87fdc5be9971f614716a529fb1e49
Author: Emilien Macchi <email address hidden>
Date: Wed Jun 10 15:24:07 2015 -0400

    Fix catalog compilation when not configuring endpoint

    Previously when you set $configure_endpoint to false and did not have a
    keystone_endpoint resource with the same name as is defined by
    neutron::keystone::auth, the catalog would not be compiled. This was
    because a relationship was being established where one resource in the
    relationship didn't exist. This changes this so that the relationship
    involving the Keystone endpoint is only defined if $configure_endpoint
    is set to true.

    Change-Id: I1ee51f33ffd1bf20578cd56120ee5be8e6fa0133
    Co-Authored-By: Risto Laurikainen <email address hidden>
    Co-Authored-By: Gael Chamoulaud <email address hidden>
    Closes-Bug: 1368686
    (cherry picked from commit 39867dcd31cacf6882ede22fb25d9cd62aaf1a40)

tags: added: in-stable-kilo
Cody Herriges (ody-cat)
Changed in puppet-trove:
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.