From 24dbd37021d71627a0263db22e877d10ee31f526 Mon Sep 17 00:00:00 2001 From: Amrith Kumar Date: Thu, 9 Mar 2017 15:25:42 -0500 Subject: we now need to have dib installed explicitly dib is now going to have to be installed explicitly for us to actually run the gate. the old method of just cloning the repo won't work with dib v2. There are other ways to accomplish this but I'm choosing this approach knowing that it isn't ideal. First, what's the downside? This means that dib gets installed wherever trove control plane is installed. Is that necessary, NO. Is it the end of the world, NO. What are the options? - do what Octavia did and have a second requirements.txt in a folder called diskimage-create. Would this work, yes but we don't have such a mechanism right now and nothing would keep this requirements.txt file in sync with g-r that I know of. - hardcode the pip install command somewhere in the devstack plugin. yes, this would work but this would also have no ability to sync with g-r. So, while the solution proposed here isn't ideal, it strikes me as not bad, and much less risk than the other two options. We also need to figure out where the elements are and fix the path for disk-image-create. Some pep8 failures appears to have crept in as well, those are addressed. Change-Id: Ic64d91e082102057417995a0f6851d03b9e0ca74 --- integration/scripts/functions_qemu | 4 ++-- integration/scripts/trovestack.rc | 2 +- requirements.txt | 1 + tox.ini | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/integration/scripts/functions_qemu b/integration/scripts/functions_qemu index ac91efc8..e0cbac19 100644 --- a/integration/scripts/functions_qemu +++ b/integration/scripts/functions_qemu @@ -38,7 +38,7 @@ function build_vm() { export GUEST_LOGDIR export ESCAPED_GUEST_LOGDIR export ELEMENTS_PATH=$TROVESTACK_SCRIPTS/files/elements - export ELEMENTS_PATH+=:$PATH_DISKIMAGEBUILDER/elements + export ELEMENTS_PATH+=:$PATH_DISKIMAGEBUILDER_ELEMENTS export ELEMENTS_PATH+=:$PATH_TRIPLEO_ELEMENTS/elements export DIB_CLOUD_INIT_DATASOURCES="ConfigDrive" export DATASTORE_PKG_LOCATION @@ -46,7 +46,7 @@ function build_vm() { export DIB_APT_CONF_DIR=/etc/apt/apt.conf.d export DIB_CLOUD_INIT_ETC_HOSTS=true local QEMU_IMG_OPTIONS=$(! $(qemu-img | grep -q 'version 1') && echo "--qemu-img-options compat=0.10") - ${PATH_DISKIMAGEBUILDER}/bin/disk-image-create -a amd64 -o "${VM}" \ + disk-image-create -a amd64 -o "${VM}" \ -x ${QEMU_IMG_OPTIONS} ${DISTRO} ${EXTRA_ELEMENTS} vm heat-cfntools \ cloud-init-datasources ${DISTRO}-${RELEASE}-guest ${DISTRO}-${RELEASE}-${SERVICE_TYPE} } diff --git a/integration/scripts/trovestack.rc b/integration/scripts/trovestack.rc index 8982c2fa..54646886 100644 --- a/integration/scripts/trovestack.rc +++ b/integration/scripts/trovestack.rc @@ -51,7 +51,7 @@ PATH_OPENSTACKCLIENT=$DEST/python-openstackclient PATH_PYTHON_SWIFTCLIENT=$DEST/python-swiftclient PATH_PYTHON_TROVECLIENT=$DEST/python-troveclient PATH_TROVE_DASHBOARD=$DEST/trove-dashboard -PATH_DISKIMAGEBUILDER=$DEST/diskimage-builder +PATH_DISKIMAGEBUILDER_ELEMENTS=$(python -c 'import os, diskimage_builder, pkg_resources;print(os.path.abspath(pkg_resources.resource_filename(diskimage_builder.__name__, "elements")))') PATH_TRIPLEO_ELEMENTS=$DEST/tripleo-image-elements # Save the state of TROVE_BRANCH first, since it's used in trovestack diff --git a/requirements.txt b/requirements.txt index f68e93ae..a981946c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -47,3 +47,4 @@ enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # xmltodict>=0.10.1 # MIT pycrypto>=2.6 # Public Domain oslo.policy>=1.17.0 # Apache-2.0 +diskimage-builder>=1.1.2,!=1.6.0,!=1.7.0,!=1.7.1 # Apache-2.0 diff --git a/tox.ini b/tox.ini index d559412e..abc28774 100644 --- a/tox.ini +++ b/tox.ini @@ -72,7 +72,7 @@ commands = {posargs} show-source = True # H301 is ignored on purpose. # The rest of the ignores are TODOs. -ignore = F821,H301,H404,H405,H501 +ignore = F821,H301,H404,H405,H501,E402,W503,E731 enable-extensions = H203,H106 builtins = _ exclude=.venv,.tox,.git,dist,doc,*egg,tools,etc,build,*.po,*.pot,integration,releasenotes -- cgit v1.2.1