openstack overcloud container image upload fails with 400 Client Error: Bad Request ("client is newer than server ")

Bug #1702765 reported by wes hayutin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Alfredo Moralejo

Bug Description

2017-07-06 19:26:29 | + openstack overcloud container image upload --verbose --config-file /usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml
2017-07-06 19:26:33 | START with options: [u'overcloud', u'container', u'image', u'upload', u'--verbose', u'--config-file', u'/usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml']
2017-07-06 19:26:33 | command: overcloud container image upload -> tripleoclient.v1.container_image.UploadImage (auth=False)
2017-07-06 19:26:33 | Using config files: [u'/usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml']
2017-07-06 19:26:33 | imagename: tripleoupstream/centos-binary-aodh-api:latest
2017-07-06 19:26:33 | 400 Client Error: Bad Request ("client is newer than server (client API version: 1.26, server API version: 1.24)")
2017-07-06 19:26:33 | END return value: 1

http://logs.openstack.org/65/481165/3/check-tripleo/gate-tripleo-ci-centos-7-ovb-containers-oooq/b642ffd/logs/undercloud/home/jenkins/

https://ci.centos.org/artifacts/rdo/jenkins-tqe-containers-gate-master-tripleo-ci-delorean-full-containers_minimal-1105/undercloud/home/stack/overcloud_prep_containers.log.gz

Not sure if it's related, but also seeing

[stack@undercloud ~]$ openstack overcloud container image upload --verbose --config-file
/usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml
START with options: [u'overcloud', u'container', u'image', u'upload', u'--verbose', u'--config-file', u'/usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml']
openstack: 'overcloud' is not an openstack command. See 'openstack --help'.
Did you mean one of these?
  overcloud deploy
  overcloud execute
  overcloud image build
  overcloud image upload
  overcloud netenv validate
  overcloud node configure
  overcloud node delete
  overcloud node import
  overcloud node introspect
  overcloud node provide
  overcloud parameters set
  overcloud plan create
  overcloud plan delete
  overcloud plan deploy
  overcloud plan list
  overcloud profiles list
  overcloud profiles match
  overcloud update stack
  undercloud install
  undercloud upgrade
END return value: 2
[stack@undercloud ~]$ openstack overcloud deploy
You must specify either --templates or --answers-file
[stack@undercloud ~]$

Tags: ci
Revision history for this message
Ben Nemec (bnemec) wrote :

The latter error looks like it might be due to an older tripleoclient that doesn't have the containers commands? It does have some overcloud commands in the help output so tripleoclient is installed, at least.

summary: - openstack overcloud container image upload fails with "openstack:
- 'overcloud' is not an openstack command.
+ openstack overcloud container image upload fails with api version
+ mismatch
Revision history for this message
Ben Nemec (bnemec) wrote : Re: openstack overcloud container image upload fails with api version mismatch

I also changed the title of the bug to reflect what we're seeing in ci, which is the api version mismatch. I don't see anything about the missing command in those logs.

Revision history for this message
wes hayutin (weshayutin) wrote :

Possible commit that broke the upload command
https://review.openstack.org/#/c/475935/

wes hayutin (weshayutin)
summary: - openstack overcloud container image upload fails with api version
- mismatch
+ openstack overcloud container image upload fails with 400 Client Error:
+ Bad Request ("client is newer than server ")
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-common (master)

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

Changed in tripleo:
assignee: nobody → Alfredo Moralejo (amoralej)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-common (master)

Reviewed: https://review.openstack.org/481456
Committed: https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=d8a74de787cc8c97547cdd08242d6eb6b27b1fad
Submitter: Jenkins
Branch: master

commit d8a74de787cc8c97547cdd08242d6eb6b27b1fad
Author: Alfredo Moralejo <email address hidden>
Date: Fri Jul 7 08:33:48 2017 +0200

    Set version=auto when creating docker client

    When creating a docker client using docker library, version
    1.26.0 of docker api is used by default, however the version
    of docker included in CentOS 7 is currently 1.24.0. Using
    version='auto', the client detects the api version in the
    server and uses it.

    This change sets version to 'auto' so that is automatically
    detected as kolla [1] and others do.

    Closes-Bug: #1702765

    [1] https://github.com/openstack/kolla/blob/master/kolla/image/build.py#L135

    Change-Id: I36d5316ac5244c227f6e9913a58d4fde1c2b1518

Changed in tripleo:
status: In Progress → Fix Released
tags: removed: alert
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-common 7.4.0

This issue was fixed in the openstack/tripleo-common 7.4.0 release.

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.