[octane] Upgrade of compute node fails due to missing file '/tmp/update_node_partition_info.py'

Bug #1574624 reported by Pavel Chechetin on 2016-04-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Oleg S. Gelbukh
7.0.x
High
Oleg S. Gelbukh
8.0.x
High
Sergey Abramov
Newton
High
Oleg S. Gelbukh

Bug Description

Detailed bug description:
  Upgrade of compute node fails due to missing file /tmp/update_node_partition_info.py

Here is a traceback:
  2016-04-22 12:46:53 INFO octane.util.subprocess Started process python[30720]: dockerctl shell nailgun python /tmp/update_node_partition_info.py 8
2016-04-22 12:46:53 ERROR octane.util.subprocess python[30720] stderr: python: can't open file '/tmp/update_node_partition_info.py': [Errno 2] No such file or directory
2016-04-22 12:46:53 INFO octane.util.subprocess Process python finished with return value 2
2016-04-22 12:46:53 ERROR octane Command 'python' returned non-zero exit status 2
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/app.py", line 374, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python2.7/site-packages/cliff/command.py", line 54, in run
    self.take_action(parsed_args)
  File "/usr/lib/python2.7/site-packages/octane/commands/upgrade_node.py", line 104, in take_action
    network_template=parsed_args.template)
  File "/usr/lib/python2.7/site-packages/octane/commands/upgrade_node.py", line 54, in upgrade_node
    call_handlers('prepare')
  File "/usr/lib/python2.7/site-packages/octane/handlers/__init__.py", line 57, in call_method_on_all
    getattr(handler, method)()
  File "/usr/lib/python2.7/site-packages/octane/handlers/upgrade/compute.py", line 34, in prepare
    disk.update_node_partition_info(self.node.id)
  File "/usr/lib/python2.7/site-packages/octane/helpers/disk.py", line 51, in update_node_partition_info
    docker.run_in_container('nailgun', command)
  File "/usr/lib/python2.7/site-packages/octane/util/docker.py", line 39, in run_in_container
    **popen_kwargs)
  File "/usr/lib/python2.7/site-packages/octane/util/subprocess.py", line 200, in call
    return proc.communicate()
  File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/usr/lib/python2.7/site-packages/octane/util/subprocess.py", line 195, in popen
    raise CalledProcessError(rv, name)
CalledProcessError: Command 'python' returned non-zero exit status 2

Steps to reproduce:
  octane upgrade-node 8 8
Expected results:
  Compute node is upgraded
Actual result:
  Compute node isn't upgraded
Reproducibility:
  Always
Workaround:
  Change condition below from < to <=
  # octane/commands/upgrade_node.py
  if env_version < version.StrictVersion("6.0"):
        copy_patches_folder_to_nailgun()
        disk.update_partition_generator()

Description of the environment:
  Source Fuel version: 6.0
  Destination Fuel version: 8.0
  Operation system: Ubuntu

Changed in fuel:
importance: Undecided → High
status: New → Confirmed
assignee: nobody → Fuel Octane (fuel-octane-team)
milestone: none → 8.0-updates

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

Changed in fuel:
assignee: Fuel Octane (fuel-octane-team) → Oleg S. Gelbukh (gelbuhos)
status: Confirmed → In Progress
Changed in fuel:
assignee: Sergey Abramov (sabramov) → Oleg S. Gelbukh (gelbuhos)

Reviewed: https://review.openstack.org/315104
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=762d70e61d4852566386fb34e944dcae79bd6aac
Submitter: Jenkins
Branch: master

commit 762d70e61d4852566386fb34e944dcae79bd6aac
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:40:56 2016 +0000

    Remove fix for custom field in release metadata

    Remove the script that patches custom field in the release metadata from
    the code tree.

    This script was requried for upgrade of customized version of 5.1.1
    release of Fuel. Since that version is no longer supported, the fix
    is also not used anymore.

    We still need to prepare for later patching of a node's metadata by
    moving other scripts and patches to the location where they are expected
    to be.

    Change-Id: Ifb2590f96449716db09219240ceda6738951f95b
    Related-bug: 1574624

Changed in fuel:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/310011
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=306321cbc924759c2cb31e6b05506f0ff22dc6da
Submitter: Jenkins
Branch: master

commit 306321cbc924759c2cb31e6b05506f0ff22dc6da
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:44:55 2016 +0000

    Restore fixes for partitioning schema for versions before 7.0

    Partitions schema created by fuel-agent for image-based provisioning differs
    from the schema used for cobbler provisioning. Cobbler provisioning was
    supported in versions prior to 7.0.

    If version of the environment is lower than 7.0 and provisioning method is not
    image-based, fix the partitions schema at the nodes being upgraded.

    Change-Id: I27a5477186efe62e3e3dc6f96b16889da1a49250
    Closes-bug: 1574624

Reviewed: https://review.openstack.org/316018
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=9560431efc8c207ec809db28850a83e0f1ae3286
Submitter: Jenkins
Branch: stable/8.0

commit 9560431efc8c207ec809db28850a83e0f1ae3286
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:40:56 2016 +0000

    Remove fix for custom field in release metadata

    Remove the script that patches custom field in the release metadata from
    the code tree.

    This script was requried for upgrade of customized version of 5.1.1
    release of Fuel. Since that version is no longer supported, the fix
    is also not used anymore.

    We still need to prepare for later patching of a node's metadata by
    moving other scripts and patches to the location where they are expected
    to be.

    Change-Id: Ifb2590f96449716db09219240ceda6738951f95b
    Related-bug: 1574624
    (cherry picked from commit 762d70e61d4852566386fb34e944dcae79bd6aac)

Reviewed: https://review.openstack.org/316020
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=f66925e55c11c878dffbd7cf1438bb856387dc2e
Submitter: Jenkins
Branch: stable/7.0

commit f66925e55c11c878dffbd7cf1438bb856387dc2e
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:40:56 2016 +0000

    Remove fix for custom field in release metadata

    Remove the script that patches custom field in the release metadata from
    the code tree.

    This script was requried for upgrade of customized version of 5.1.1
    release of Fuel. Since that version is no longer supported, the fix
    is also not used anymore.

    We still need to prepare for later patching of a node's metadata by
    moving other scripts and patches to the location where they are expected
    to be.

    Change-Id: Ifb2590f96449716db09219240ceda6738951f95b
    Related-bug: 1574624
    (cherry picked from commit 762d70e61d4852566386fb34e944dcae79bd6aac)

Reviewed: https://review.openstack.org/316074
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=bdc0a19831a8ffdf7ea3cbc65801df2e086af4c2
Submitter: Jenkins
Branch: stable/8.0

commit bdc0a19831a8ffdf7ea3cbc65801df2e086af4c2
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:44:55 2016 +0000

    Restore fixes for partitioning schema for versions before 7.0

    Partitions schema created by fuel-agent for image-based provisioning differs
    from the schema used for cobbler provisioning. Cobbler provisioning was
    supported in versions prior to 7.0.

    If version of the environment is lower than 7.0 and provisioning method is not
    image-based, fix the partitions schema at the nodes being upgraded.

    Change-Id: I27a5477186efe62e3e3dc6f96b16889da1a49250
    Closes-bug: 1574624
    (cherry picked from commit 306321cbc924759c2cb31e6b05506f0ff22dc6da)

Reviewed: https://review.openstack.org/316081
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=4dc9841f35a0da4d0982f5450e9aaccd1908ef2f
Submitter: Jenkins
Branch: stable/7.0

commit 4dc9841f35a0da4d0982f5450e9aaccd1908ef2f
Author: Oleg Gelbukh <email address hidden>
Date: Wed May 11 14:44:55 2016 +0000

    Restore fixes for partitioning schema for versions before 7.0

    Partitions schema created by fuel-agent for image-based provisioning differs
    from the schema used for cobbler provisioning. Cobbler provisioning was
    supported in versions prior to 7.0.

    If version of the environment is lower than 7.0 and provisioning method is not
    image-based, fix the partitions schema at the nodes being upgraded.

    Change-Id: I27a5477186efe62e3e3dc6f96b16889da1a49250
    Closes-bug: 1574624
    (cherry picked from commit 306321cbc924759c2cb31e6b05506f0ff22dc6da)

Download full text (40.5 KiB)

Reviewed: https://review.openstack.org/332931
Committed: https://git.openstack.org/cgit/openstack/fuel-octane/commit/?id=24f3c396612eb0c69fbf06bab3cebbb9ca829426
Submitter: Jenkins
Branch: stable/mitaka

commit b34d749f1c281dafbdbf155bd86830dc8f2a9aa2
Author: Ilya Kharin <email address hidden>
Date: Wed Jun 22 21:10:56 2016 +0300

    Support mock==1.8.0 in unit tests

    Use assert_called_once_with instead of assert_called_once that was
    introduced in 2.0.0.

    Change-Id: Ifb7699d4b552d148984961727355f0e23b487c7c

commit d60f1905143bb7576ffd670595de1c4aeafd7b34
Author: Ilya Kharin <email address hidden>
Date: Wed Jun 22 02:01:52 2016 +0300

    Allow to authorize by the predefined admin_token

    The admin_token_auth middleware is added to keystone pipelines to
    allow authorization by admin_token.

    Change-Id: Ic03150305a669fad1446436a68051fb9aa25b892

commit cc7fab59f44ffef60285f8732d798f52469b2530
Author: Ilya Kharin <email address hidden>
Date: Wed Jun 22 01:47:01 2016 +0300

    Reset default_domain_id before the keystone task

    The default_domain_id should be removed from keystone.conf after restore
    of DB and before to apply the keystone puppet task to avoid of using the
    configured domain as a default.

    Change-Id: I05a6c48532e8042496b3d8ccef53d65bf8c44653

commit e3f82399d567dbcfc1ae9a1ecbddba7bf5028fc8
Author: Ilya Kharin <email address hidden>
Date: Wed Jun 22 01:32:47 2016 +0300

    Add helper function to iterate over parameters

    The helpers.iterate_parameters function allows to iterate over lines of
    INI-like files along with a context of information, such section,
    parameter and value.

    Change-Id: I55b179118116fd5dacf100754057ea6589782dc2

commit 5ed370a4fbb3369d0f75873d205ac7f0c655f93a
Author: Ilya Kharin <email address hidden>
Date: Wed Jun 22 01:18:05 2016 +0300

    Add update_file context manager for local files

    The subprocess.update_file function provides an ability to update
    content of a local file by iterating over lines of an original file and
    forming a result content in a temporary file to replace the original
    file in the end. This function is very useful to change configuration
    files.

    Change-Id: I433a5da67887b231400dd63131799019f45c277c

commit 58f31e6c5f408630c42565ee53de6b59457bc84c
Author: Oleg Gelbukh <email address hidden>
Date: Wed Jun 22 14:34:03 2016 +0000

    Escape passwords passed to openstack client

    If special symbols are used in password for 'admin' user in
    OpenStack, octane passes them to command line client as is
    and it breaks shell.

    Properly escape the password before passing it to subprocess.

    Change-Id: Iad635aec6d5b5cc32975937e00205b7e89dc99d9
    Closes-bug: 1585960

commit 896aba1191eeb59cf85cc8be6a2ae67e08b76070
Author: Yuriy Taraday <email address hidden>
Date: Wed Jun 22 15:28:45 2016 +0300

    Add absolute_import to util/docker.py to avoid local tempfile module

    Closes-Bug: 1595156
    Change-Id: I9484efce6fa7aec1b41cf592f9e9768d85931fa7

commit 46586a62df962b2ce00b5d8a63f6fd34c920a1f4
Author: Oleg Gelbukh <email address hidden>
Date: Thu M...

tags: added: in-stable-mitaka
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers