[ubuntu-binary] swift-object-expirer package is missing

Bug #1859607 reported by Rowan Potgieter on 2020-01-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla
Status tracked in Ussuri
Rocky
High
Dincer Celik
Stein
High
Dincer Celik
Train
High
Dincer Celik
Ussuri
High
Dincer Celik

Bug Description

This bug is similar to https://bugs.launchpad.net/kolla/+bug/1630425 but exists in the ubuntu containers.

Our swift-object-expirer container is stuck in a restart loop printing out the following debug:

  ++ cat /run_command
  + CMD='swift-object-expirer /etc/swift/object-expirer.conf --verbose'
  + ARGS=
  + [[ ! -n '' ]]
  + . kolla_extend_start
  + echo 'Running command: '\''swift-object-expirer /etc/swift/object-expirer.conf --verbose'\'''
  Running command: 'swift-object-expirer /etc/swift/object-expirer.conf --verbose'
  + exec swift-object-expirer /etc/swift/object-expirer.conf --verbose
  /usr/local/bin/kolla_start: line 18: exec: swift-object-expirer: not found
  + sudo -E kolla_set_configs
  INFO:__main__:Loading config file at /var/lib/kolla/config_files/config.json
  INFO:__main__:Validating config file
  INFO:__main__:Kolla config strategy set to: COPY_ALWAYS
  INFO:__main__:Copying service configuration files
  INFO:__main__:Deleting /etc/swift/account.ring.gz
  INFO:__main__:Copying /var/lib/kolla/swift/account.ring.gz to /etc/swift/account.ring.gz
  INFO:__main__:Setting permission for /etc/swift/account.ring.gz
  INFO:__main__:Deleting /etc/swift/container.ring.gz
  INFO:__main__:Copying /var/lib/kolla/swift/container.ring.gz to /etc/swift/container.ring.gz
  INFO:__main__:Setting permission for /etc/swift/container.ring.gz
  INFO:__main__:Deleting /etc/swift/object.ring.gz
  INFO:__main__:Copying /var/lib/kolla/swift/object.ring.gz to /etc/swift/object.ring.gz
  INFO:__main__:Setting permission for /etc/swift/object.ring.gz
  INFO:__main__:Deleting /etc/swift/swift.conf
  INFO:__main__:Copying /var/lib/kolla/config_files/swift.conf to /etc/swift/swift.conf
  INFO:__main__:Setting permission for /etc/swift/swift.conf
  INFO:__main__:Deleting /etc/swift/object-expirer.conf
  INFO:__main__:Copying /var/lib/kolla/config_files/object-expirer.conf to /etc/swift/object-expirer.conf
  INFO:__main__:Setting permission for /etc/swift/object-expirer.conf
  INFO:__main__:Writing out command to execute
  ++ cat /run_command
  + CMD='swift-object-expirer /etc/swift/object-expirer.conf --verbose'
  + ARGS=
  + [[ ! -n '' ]]
  + . kolla_extend_start
  + echo 'Running command: '\''swift-object-expirer /etc/swift/object-expirer.conf --verbose'\'''
  Running command: 'swift-object-expirer /etc/swift/object-expirer.conf --verbose'
  + exec swift-object-expirer /etc/swift/object-expirer.conf --verbose
  /usr/local/bin/kolla_start: line 18: exec: swift-object-expirer: not found

I manually built the swift containers from the master branch of openstack/kolla using this command

   python tools/build.py -b ubuntu swift

I then ran the resultant container:

   docker run --rm -it --entrypoint=/bin/bash kolla/ubuntu-binary-swift-object-expirer:9.1.0

I cannot find the swift-object-expirer executable in the container. However, after installing the missing package the command is usable

  apt-get update
  apt-get install swift-object-expirer

  swift-object-expirer
  Usage: swift-object-expirer CONFIG [options]

  Error: missing config path argument

I assume there has been some change upstream which has resulted in this executable being packaged as its own Debian package. This means the install commands in the Dockerfile are no longer installing the correct package:

  {% if install_type == 'binary' %}
      {% if base_package_type == 'rpm' %}
          # RDO packages swift-object-expirer in openstack-swift-proxy
          {% set swift_object_expirer_packages = ['openstack-swift-proxy'] %}
      {% elif base_package_type == 'deb' %}
          {% set swift_object_expirer_packages = ['swift-object'] %}
      {% endif %}

  {{ macros.install_packages(swift_object_expirer_packages | customizable("packages")) }}

  {% endif %}

Changed in kolla:
status: New → Triaged
summary: - swift-object-expirer is missing from docker container
+ [ubuntu-binary] swift-object-expirer package is missing
Changed in kolla:
importance: Undecided → High
Radosław Piliszek (yoctozepto) wrote :

Thanks for testing our binary builds. We regularly test binary w.r.t. the very basic set of services (nova, neutron, glance) as AIO. More thorough tests are run against source builds mostly due to our CI resource constraints.

Changed in kolla:
assignee: nobody → Dincer Celik (osmanlicilegi)

Fix proposed to branch: master
Review: https://review.opendev.org/703364

Changed in kolla:
status: Triaged → In Progress
Changed in kolla:
assignee: Dincer Celik (osmanlicilegi) → Radosław Piliszek (yoctozepto)
Changed in kolla:
assignee: Radosław Piliszek (yoctozepto) → Dincer Celik (osmanlicilegi)

Reviewed: https://review.opendev.org/703364
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=190a6f7a264c1ea8c0c565d2b75fb73fdc29d500
Submitter: Zuul
Branch: master

commit 190a6f7a264c1ea8c0c565d2b75fb73fdc29d500
Author: Dincer Celik <email address hidden>
Date: Sun Jan 19 22:47:10 2020 +0300

    Fixes swift-object-expirer for Debian and Ubuntu binary images.

    Replaces 'swift-object' package with 'swift-object-expirer' package.

    Change-Id: I8fa3fcad88b35743e042d8a62ccee722b08af673
    Closes-Bug: #1859607

Changed in kolla:
status: In Progress → Fix Released

Reviewed: https://review.opendev.org/703492
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=6632c5cf52d10e714468198b188dd9975dcba36f
Submitter: Zuul
Branch: stable/train

commit 6632c5cf52d10e714468198b188dd9975dcba36f
Author: Dincer Celik <email address hidden>
Date: Sun Jan 19 22:47:10 2020 +0300

    Fixes swift-object-expirer for Debian and Ubuntu binary images.

    Replaces 'swift-object' package with 'swift-object-expirer' package.

    Change-Id: I8fa3fcad88b35743e042d8a62ccee722b08af673
    Closes-Bug: #1859607
    (cherry picked from commit 190a6f7a264c1ea8c0c565d2b75fb73fdc29d500)

Reviewed: https://review.opendev.org/703493
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=d9c63d7b81848677c8aa7bc4a6c9c3c0189ae8fd
Submitter: Zuul
Branch: stable/stein

commit d9c63d7b81848677c8aa7bc4a6c9c3c0189ae8fd
Author: Dincer Celik <email address hidden>
Date: Sun Jan 19 22:47:10 2020 +0300

    Fixes swift-object-expirer for Debian and Ubuntu binary images.

    Replaces 'swift-object' package with 'swift-object-expirer' package.

    Change-Id: I8fa3fcad88b35743e042d8a62ccee722b08af673
    Closes-Bug: #1859607
    (cherry picked from commit 190a6f7a264c1ea8c0c565d2b75fb73fdc29d500)

Reviewed: https://review.opendev.org/703497
Committed: https://git.openstack.org/cgit/openstack/kolla/commit/?id=d5310079a5f8894067f005827f0bf33f6ac756bc
Submitter: Zuul
Branch: stable/rocky

commit d5310079a5f8894067f005827f0bf33f6ac756bc
Author: Dincer Celik <email address hidden>
Date: Sun Jan 19 22:47:10 2020 +0300

    Fixes swift-object-expirer for Debian and Ubuntu binary images.

    Replaces 'swift-object' package with 'swift-object-expirer' package.

    Change-Id: I8fa3fcad88b35743e042d8a62ccee722b08af673
    Closes-Bug: #1859607

This issue was fixed in the openstack/kolla 7.1.0 release.

This issue was fixed in the openstack/kolla 8.0.2 release.

This issue was fixed in the openstack/kolla 9.0.1 release.

Thank you for fixing this issue - we will pull down the new versions and let you know if we hit any other unexpected issues.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers