Install not completed

Bug #1186448 reported by Joshua Harlow
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
anvil
Fix Released
Undecided
Alexej Ababilov

Bug Description

So trying to use install after preparing got me the following. It seems like py2rpm shouldn't be getting called to build more rpms since the prepare stage was supposed to do this??? Is this suppoesd to happen?

sudo ./smithy -a install

Password:
 _____ ___ ___ _ _ ___ _____ _____ ___ _ _
( _ )( _`\ ( _`\ ( ) ( )( _`\(_ _)( _ )( _`\ ( ) ( )
| ( ) || |_) )| (_(_)| `\| || (_(_) | | | (_) || ( (_)| |/'/'
| | | || ,__/'| _)_ | , ` |`\__ \ | | | _ || | _ | , <
| (_) || | | (_( )| |`\ |( )_) | | | | | | || (_( )| |\`\
(_____)(_) (____/'(_) (_)`\____) (_) (_) (_)(____/'(_) (_)
                    Anvil: | 2013.1-dev |
                 Let us get on with the show!
------------------------Action Runner-------------------------
INFO: @anvil.distro : Matched distro rhel for platform Linux-2.6.32-220.23.1.el6.YAHOO.20120713.x86_64-x86_64-with-redhat-6.2-Santiago
INFO: @anvil : Starting action install on 2013-05-31T23:20:26.548723 for distro: rhel
INFO: @anvil : Using persona: conf/personas/in-a-box/basic.yaml
INFO: @anvil : In root directory: /home/harlowja/openstack
INFO: @anvil.actions.base : Processing components for action install.
INFO: @anvil.actions.base : Activating in the following order:
INFO: @anvil.actions.base : |-- general
INFO: @anvil.actions.base : |-- db
INFO: @anvil.actions.base : |-- rabbit-mq
INFO: @anvil.actions.base : |-- oslo-config
INFO: @anvil.actions.base : |-- keystone
INFO: @anvil.actions.base : |-- keystone-client
INFO: @anvil.actions.base : |-- glance
INFO: @anvil.actions.base : |-- glance-client
INFO: @anvil.actions.base : |-- cinder-client
INFO: @anvil.actions.base : |-- quantum-client
INFO: @anvil.actions.base : |-- nova
INFO: @anvil.actions.base : |-- nova-client
INFO: @anvil.actions.base : Booting up your components.
INFO: @anvil.actions.base : Reading passwords using a unencrypted keyring @ /etc/anvil/passwords.cfg
INFO: @anvil.actions.base : Verifying that the components are ready to rock-n-roll.
INFO: @anvil.actions.base : Warming up component configurations.
INFO: @anvil.actions.install : Configuring general.
INFO: @anvil.actions.install : Configuring db.
INFO: @anvil.actions.install : Configuring rabbit-mq.
INFO: @anvil.actions.install : Configuring oslo-config.
INFO: @anvil.actions.install : Configuring keystone.
INFO: @anvil.components.base_install : Configuring 3 files:
INFO: @anvil.components.base_install : |-- keystone.conf
INFO: @anvil.components.base_install : |-- logging.conf
INFO: @anvil.components.base_install : |-- policy.json
INFO: @anvil.components.base_install : Creating 3 sym-links:
INFO: @anvil.components.base_install : |-- /etc/keystone/policy.json => /home/harlowja/openstack/keystone/config/policy.json
INFO: @anvil.components.base_install : |-- /etc/keystone/logging.conf => /home/harlowja/openstack/keystone/config/logging.conf
INFO: @anvil.components.base_install : |-- /etc/keystone/keystone.conf => /home/harlowja/openstack/keystone/config/keystone.conf
INFO: @anvil.actions.install : Configuring keystone-client.
INFO: @anvil.actions.install : Configuring glance.
INFO: @anvil.components.base_install : Configuring 6 files:
INFO: @anvil.components.base_install : |-- glance-api.conf
INFO: @anvil.components.base_install : |-- glance-registry.conf
INFO: @anvil.components.base_install : |-- glance-api-paste.ini
INFO: @anvil.components.base_install : |-- glance-registry-paste.ini
INFO: @anvil.components.base_install : |-- policy.json
INFO: @anvil.components.base_install : |-- logging.conf
INFO: @anvil.components.base_install : Creating 6 sym-links:
INFO: @anvil.components.base_install : |-- /etc/glance/policy.json => /home/harlowja/openstack/glance/config/policy.json
INFO: @anvil.components.base_install : |-- /etc/glance/logging.conf => /home/harlowja/openstack/glance/config/logging.conf
INFO: @anvil.components.base_install : |-- /etc/glance/glance-registry.conf => /home/harlowja/openstack/glance/config/glance-registry.conf
INFO: @anvil.components.base_install : |-- /etc/glance/glance-registry-paste.ini => /home/harlowja/openstack/glance/config/glance-registry-paste.ini
INFO: @anvil.components.base_install : |-- /etc/glance/glance-api.conf => /home/harlowja/openstack/glance/config/glance-api.conf
INFO: @anvil.components.base_install : |-- /etc/glance/glance-api-paste.ini => /home/harlowja/openstack/glance/config/glance-api-paste.ini
INFO: @anvil.actions.install : Configuring glance-client.
INFO: @anvil.actions.install : Configuring cinder-client.
INFO: @anvil.actions.install : Configuring quantum-client.
INFO: @anvil.actions.install : Configuring nova.
INFO: @anvil.components.base_install : Configuring 4 files:
INFO: @anvil.components.base_install : |-- nova-api-paste.ini
INFO: @anvil.components.base_install : |-- policy.json
INFO: @anvil.components.base_install : |-- logging.conf
INFO: @anvil.components.base_install : |-- nova.conf
INFO: @anvil.components.base_install : Creating 4 sym-links:
INFO: @anvil.components.base_install : |-- /etc/nova/policy.json => /home/harlowja/openstack/nova/config/policy.json
INFO: @anvil.components.base_install : |-- /etc/nova/nova.conf => /home/harlowja/openstack/nova/config/nova.conf
INFO: @anvil.components.base_install : |-- /etc/nova/nova-api-paste.ini => /home/harlowja/openstack/nova/config/nova-api-paste.ini
INFO: @anvil.components.base_install : |-- /etc/nova/logging.conf => /home/harlowja/openstack/nova/config/logging.conf
INFO: @anvil.actions.install : Configuring nova-client.
INFO: @anvil.actions.install : Preinstalling general.
INFO: @anvil.actions.install : Preinstalling db.
INFO: @anvil.actions.install : Preinstalling rabbit-mq.
INFO: @anvil.actions.install : Preinstalling oslo-config.
INFO: @anvil.actions.install : Preinstalling keystone.
INFO: @anvil.actions.install : Preinstalling keystone-client.
INFO: @anvil.actions.install : Preinstalling glance.
INFO: @anvil.actions.install : Preinstalling glance-client.
INFO: @anvil.actions.install : Preinstalling cinder-client.
INFO: @anvil.actions.install : Preinstalling quantum-client.
INFO: @anvil.actions.install : Preinstalling nova.
INFO: @anvil.actions.install : Preinstalling nova-client.
INFO: @anvil.actions.install : Installing packages
Loaded plugins: aliases, changelog, downloadonly, kabi, presto, remove-with-leaves, security, tmprepo, verify, versionlock
Loading support for Red Hat kernel ABI
Setting up Remove Process
No Match for argument: openstack-deps
anvil | 2.9 kB 00:00 ...
anvil/primary_db | 104 kB 00:00 ...
Package(s) openstack-deps available, but not installed.
No Match for argument: python-paste-deploy1.5
Package(s) python-paste-deploy1.5 available, but not installed.
No Match for argument: python-nose1.1
Package(s) python-nose1.1 available, but not installed.
No Match for argument: python-routes1.12
Package(s) python-routes1.12 available, but not installed.
No Match for argument: python-sphinx10
Package(s) python-sphinx10 available, but not installed.
No Match for argument: python-webob1.0
Package(s) python-webob1.0 available, but not installed.
No Match for argument: Django14
Package(s) Django14 available, but not installed.
No Packages marked for removal
Loaded plugins: aliases, changelog, downloadonly, kabi, presto, remove-with-leaves, security, tmprepo, verify, versionlock
Loading support for Red Hat kernel ABI
anvil | 2.9 kB 00:00 ...
anvil/primary_db | 104 kB 00:00 ...
base | 2.1 kB 00:00
base/primary_db | 2.5 MB 00:00
epel/metalink | 8.7 kB 00:00
epel | 4.2 kB 00:00
epel/primary_db | 5.2 MB 00:00
updates | 1.9 kB 00:00
updates/primary_db | 12 MB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package openstack-deps.noarch 0:2013.5.31-0 will be installed
--> Processing Dependency: rabbitmq-server for package: openstack-deps-2013.5.31-0.noarch
--> Processing Dependency: qemu-kvm for package: openstack-deps-2013.5.31-0.noarch
--> Processing Dependency: qemu-img for package: openstack-deps-2013.5.31-0.noarch
....
....
  wxBase.x86_64 0:2.8.12-1.el6 wxGTK.x86_64 0:2.8.12-1.el6 wxGTK-gl.x86_64 0:2.8.12-1.el6 yajl.x86_64 0:1.0.7-3.el6

Dependency Updated:
  avahi-libs.x86_64 0:0.6.25-12.el6 gnutls.i686 0:2.8.5-10.el6_4.2 gnutls.x86_64 0:2.8.5-10.el6_4.2 krb5-devel.i686 0:1.10.3-10.el6_4.2
  krb5-devel.x86_64 0:1.10.3-10.el6_4.2 krb5-libs.i686 0:1.10.3-10.el6_4.2 krb5-libs.x86_64 0:1.10.3-10.el6_4.2 krb5-workstation.x86_64 0:1.10.3-10.el6_4.2

Replaced:
  libjpeg.i686 0:6b-46.el6 libjpeg.x86_64 0:6b-46.el6

Complete!
 ____________________
/ Brave Sir Robin \
\ ran away. /
 --------------------
  \ || ||
    \ __ ||-----mm||
      \ ( )/_________)//
        (oo)/
        v--v
ProcessExecutionError: Unexpected error while running command.
Command: /home/harlowja/anvil/multipip/py2rpm --convert python-cinderclient python-quantumclient nova oslo.config keystone python-glanceclient glance python-keystoneclient python-novaclient
Exit code: 1
Stdout: 'The temporary folder for building (/tmp/pip-build-harlowja) is not owned by your user!\npip will not work until the temporary folder is either deleted or owned by your user account.\n'
Stderr: 'Traceback (most recent call last):\n File "/home/harlowja/anvil/multipip/py2rpm", line 14, in <module>\n import pip.util\n File "/usr/lib/python2.6/site-packages/pip/__init__.py", line 9, in <module>\n from pip.util import get_installed_distributions, get_prog\n File "/usr/lib/python2.6/site-packages/pip/util.py", line 15, in <module>\n from pip.locations import site_packages, running_under_virtualenv, virtualenv_no_global\n File "/usr/lib/python2.6/site-packages/pip/locations.py", line 64, in <module>\n build_prefix = _get_build_prefix()\n File "/usr/lib/python2.6/site-packages/pip/locations.py", line 54, in _get_build_prefix\n raise pip.exceptions.InstallationError(msg)\npip.exceptions.InstallationError: The temporary folder for building (/tmp/pip-build-harlowja) is not owned by your user!\n'

Revision history for this message
Joshua Harlow (harlowja) wrote :

Removing //tmp/pip-build-harlowja solved it, we really need to get pip (or permissions) fixed ;)

Revision history for this message
Alexej Ababilov (aababilov) wrote :

This bug occurs on the same reason as https://bugs.launchpad.net/anvil/+bug/1179747. This is fixed in https://review.openstack.org/#/c/31225/2

py2rpm is used for converting Python names to RPM names (e.g., glance to python-glance and python-keystoneclient to python-keystoneclient). It is not used for building packages on install stage, indeed.

Changed in anvil:
assignee: nobody → Alessio Ababilov (aababilov)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to anvil (stable/grizzly)

Reviewed: https://review.openstack.org/31225
Committed: http://github.com/stackforge/anvil/commit/df60b50f33e63880b3b84a4bf74fc71d24bbace9
Submitter: Jenkins
Branch: stable/grizzly

commit df60b50f33e63880b3b84a4bf74fc71d24bbace9
Author: Alessio Ababilov <email address hidden>
Date: Fri May 31 11:09:37 2013 +0400

    Do not change process UID

    When run with sudo, Anvil changed process real UID
    to SUDO_UID thus easily creating files with different owners.
    This mechanism can confuse some tools (like pip)
    Now, we can almost safely stop changing real UID and run
    prepare as non-root and bootstrap, install, start, status,
    and stop as root.

    Also, this removes dependency on sudo.

    Implements: blueprint no-uid-tricks
    Fixes: bug #1179747
    Fixes: bug #1186440
    Fixes: bug #1186448

    Change-Id: I7ae293aad7f0a5ba08962e6b6b709fe49b8b81ec

tags: added: in-stable-grizzly
Changed in anvil:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to anvil (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to anvil (master)

Reviewed: https://review.openstack.org/31537
Committed: http://github.com/stackforge/anvil/commit/0ba7f0e03b6300650d561364448bd6bbdc78ac0a
Submitter: Jenkins
Branch: master

commit 0ba7f0e03b6300650d561364448bd6bbdc78ac0a
Author: Alessio Ababilov <email address hidden>
Date: Fri May 31 11:09:37 2013 +0400

    Do not change process UID

    When run with sudo, Anvil changed process real UID
    to SUDO_UID thus easily creating files with different owners.
    This mechanism can confuse some tools (like pip)
    Now, we can almost safely stop changing real UID and run
    prepare as non-root and bootstrap, install, start, status,
    and stop as root.

    Also, this removes dependency on sudo.

    Implements: blueprint no-uid-tricks
    Fixes: bug #1179747
    Fixes: bug #1186440
    Fixes: bug #1186448

    Change-Id: I7ae293aad7f0a5ba08962e6b6b709fe49b8b81ec

Joshua Harlow (harlowja)
Changed in anvil:
status: Fix Committed → Triaged
Changed in anvil:
status: Triaged → Fix Committed
status: Fix Committed → Triaged
Joshua Harlow (harlowja)
Changed in anvil:
status: Triaged → 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.