containerised tacker implementation is incomplete

Bug #1714270 reported by John Trowbridge on 2017-08-31
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
High
John Trowbridge

Bug Description

We define tacker to have just a single container named "tacker"[1]. However, there is no container named "tacker" but instead "tacker-server","tacker-conductor", and "tacker-base". This is causing container test jobs in the periodic pipeline to fail.[2]

This is currently only affecting Pike, because we do not have the patch to only download the containers we actually are using[3].

Since that patch would be nice to have on pike and it resolves this issue, I think it makes sense to backport it.

[1] https://github.com/openstack/tripleo-common/blob/stable/pike/container-images/overcloud_containers.yaml.j2#L585-L590
[2] https://logs.rdoproject.org/openstack-periodic-4hr/periodic-tripleo-ci-centos-7-multinode-1ctlr-featureset016-pike/7ad8598/undercloud/home/jenkins/overcloud_prep_containers.log.txt.gz
[3] https://github.com/openstack/python-tripleoclient/commit/cd1eb1e111779a0a335c7e28f521acc0eb18dae3

John Trowbridge (trown) on 2017-08-31
Changed in tripleo:
status: New → Triaged
importance: Undecided → Critical
milestone: none → pike-rc2

Reviewed: https://review.openstack.org/499424
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=0bd00bba4a99493aef01d272f380d1b359bd5d9e
Submitter: Jenkins
Branch: stable/pike

commit 0bd00bba4a99493aef01d272f380d1b359bd5d9e
Author: Steve Baker <email address hidden>
Date: Fri Jul 14 12:03:53 2017 +1200

    Filter container images by deployed services

    This change adds the --service-environment-file/-e argument to the
    prepare command which will take heat environment files that specify
    which services are containerised.

    When specified, the resulting image entries will be filtered only by
    the containerised services discovered in the environment.

    -e is used as the short argument so that tools like quickstart can use
    the same variable to specify these environments for both the prepare
    command and the overcloud deploy command.

    Once this change merges, any calls to prepare in CI can be modified to
    reduce the number of images being transferred for 'upload' calls. For
    example, specifying -e environment/docker.yaml will reduce image
    transfers from 85 to 44.

    (cherry picked from commit 9ff9b7c663b9e63b17b62f3aa9fe48a4dfd5b407)
                    and commit cd1eb1e111779a0a335c7e28f521acc0eb18dae3)
    Change-Id: I35866fb24915ef80b86cc402015afb08cb155dcf
    Partial-Bug: #1710992
    Partial-Bug: #1714270
    Depends-On: #Ie8801b11921c46923b0f7c9aaba6bf524c464e82

tags: added: in-stable-pike
Changed in tripleo:
assignee: nobody → Steve Baker (steve-stevebaker)

Its not just the image entry which is wrong for tacker, the tripleo-heat-templates implementation[1] was not updated when kolla completely reworked the containers [2] in mid-June.

I'm pretty sure this is too big a change to happen in time for Pike, but I'll check with Emilien.

[1] https://github.com/openstack/tripleo-heat-templates/blob/master/docker/services/tacker.yaml
[2] https://github.com/openstack/kolla/commit/7b2dea5506375cb868d6acb6a99b0aca916fad6c

Changed in tripleo:
milestone: pike-rc2 → queens-1
assignee: Steve Baker (steve-stevebaker) → nobody
importance: Critical → High
summary: - The container definition for tacker in tripleo-common/container-
- images/overcloud_containers.yaml.j2 is incorrect
+ containerised tacker implementation is incomplete
John Trowbridge (trown) wrote :

According to [1] and [2] though tacker does not even work without conductor images.

In any case if we build containers using kolla on pike we do not get a "tacker" container. This is working fine in upstream jobs and on master only because we have an old "tacker" container in the registry. New builds will not have/update this container.

I found this while setting up the pike periodic container promote job. Since this job is net new, there is no stale "tacker" container sitting in the registry, and the job that tries to use it fails.

The really hacky thing to do would be just to copy the stale "tacker" container we have in the master namespace over to the pike namespace. This just hides the issue though. The alternative does seem like a rather large undertaking to fix for pike.

[1] https://github.com/openstack/kolla/commit/7b2dea5506375cb868d6acb6a99b0aca916fad6c
[2] https://bugs.launchpad.net/tripleo/+bug/1710874

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

Changed in tripleo:
assignee: nobody → John Trowbridge (trown)
status: Triaged → In Progress

Reviewed: https://review.openstack.org/500165
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=fbdd6d0ebd0fea5c99803af4e0923dff3ea01788
Submitter: Jenkins
Branch: master

commit fbdd6d0ebd0fea5c99803af4e0923dff3ea01788
Author: John Trowbridge <email address hidden>
Date: Fri Sep 1 14:34:59 2017 -0400

    Remove tacker from containers scenario001

    The containerized implementation of tacker is incomplete in THT,
    and relies on the pre-pike single "tacker" container. Container
    builds using the final pike release of kolla build three tacker
    containers to have seperate conductor and server containers.

    According to this bug[1], tacker does not even work without this
    conductor. Our scenario job needs to be updated to actually test
    tacker is working.

    This will need to be backported to pike, and we can work on
    better supporting tacker in containers in queens.

    [1] https://bugs.launchpad.net/tripleo/+bug/1710874

    Change-Id: I7cab33687a05bf6ba5c6fb70ba21f3250d3ef381
    Partial-Bug: 1714270

Reviewed: https://review.openstack.org/500166
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=9deeb4e1c2ea0834c27ebc100320d8ed10430035
Submitter: Jenkins
Branch: stable/pike

commit 9deeb4e1c2ea0834c27ebc100320d8ed10430035
Author: John Trowbridge <email address hidden>
Date: Fri Sep 1 14:34:59 2017 -0400

    Remove tacker from containers scenario001

    The containerized implementation of tacker is incomplete in THT,
    and relies on the pre-pike single "tacker" container. Container
    builds using the final pike release of kolla build three tacker
    containers to have seperate conductor and server containers.

    According to this bug[1], tacker does not even work without this
    conductor. Our scenario job needs to be updated to actually test
    tacker is working.

    This will need to be backported to pike, and we can work on
    better supporting tacker in containers in queens.

    [1] https://bugs.launchpad.net/tripleo/+bug/1710874

    Change-Id: I7cab33687a05bf6ba5c6fb70ba21f3250d3ef381
    Partial-Bug: 1714270

Changed in tripleo:
milestone: queens-1 → queens-2
Changed in tripleo:
milestone: queens-2 → queens-3

Reviewed: https://review.openstack.org/526099
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=be2080689ea09b325804d7cd5f9d96508cc83ce5
Submitter: Zuul
Branch: master

commit be2080689ea09b325804d7cd5f9d96508cc83ce5
Author: Martin André <email address hidden>
Date: Wed Dec 6 16:30:35 2017 +0100

    Comment out tacker image until service is ready

    The kolla tacker image was split into base, conductor and server images
    in review I52778e86e4f2c297ead8d4b09983e5e38ca88c70 but TripleO
    implementation is lacking behind and is still referencing the tacker
    image.

    This prevents to automatically generate the list of images required for
    a TripleO deployment by inspecting the overcloud_containers.yaml.j2
    file. This commit comments out the tacker block until the TripleO tacker
    service implementation has caught up with the Kolla change.

    Change-Id: I4883ab04cec428a619ace84d61d4d44bd302264e
    Related-Bug: #1714270

Changed in tripleo:
milestone: queens-3 → queens-rc1
Changed in tripleo:
milestone: queens-rc1 → rocky-1
Changed in tripleo:
milestone: rocky-1 → rocky-2
Changed in tripleo:
milestone: rocky-2 → rocky-3
Changed in tripleo:
milestone: rocky-3 → rocky-rc1
Changed in tripleo:
milestone: rocky-rc1 → stein-1
Changed in tripleo:
milestone: stein-1 → stein-2
Changed in tripleo:
milestone: stein-2 → stein-3
Changed in tripleo:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers