gate: disk space runs out in some environments

Bug #1417999 reported by Jesse Pretorius
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Fix Released
Wishlist
Jesse Pretorius
Icehouse
Fix Released
Wishlist
Kevin Carter
Juno
Fix Released
Wishlist
Kevin Carter
Trunk
Fix Released
Wishlist
Jesse Pretorius

Bug Description

Currently the AIO script mostly uses a single partition in order to do an entire all-in-one build. Sometimes this results in the server running out of disk space, even if there happens to be another partition available with plenty more disk space.

The script does check for a specific alternative partition which is available in the hp instance environment and uses that for the containers if it's there.

It'd be ideal if:

1) The detection of an alternative partition could be generalised (ie some sort of for loop through all alternative devices)
2) The placement of the LXC container vg is made based on the first partition with the right amount of free space
3) The cinder vg should be created on an alternative partition in a vg and should only use a loopback as a fallback option
4) All vg's and lv's should be thin-provisioned
5) loopback_create should be adjusted to allow different ways of building the image (thin or thick) and allow different ways of mounting the image (fstab or rc.local)

Changed in openstack-ansible:
milestone: none → next
Changed in openstack-ansible:
assignee: nobody → Jesse Pretorius (jesse-pretorius)
Changed in openstack-ansible:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-ansible-deployment (master)

Reviewed: https://review.openstack.org/152965
Committed: https://git.openstack.org/cgit/stackforge/os-ansible-deployment/commit/?id=6b12bf366369d7b1d0f5bdfbc8afc05f447363fb
Submitter: Jenkins
Branch: master

commit 6b12bf366369d7b1d0f5bdfbc8afc05f447363fb
Author: Jesse Pretorius <email address hidden>
Date: Wed Feb 4 15:51:06 2015 +0000

    Implement local scripts for all gate tests

    This patch implements the following:
     - scripts-library.sh which includes commonly used functions, variables
       and other preparation commands for all other scripts
     - bootstrap-ansible.sh which only deploys a selected version of ansible
       and ensures that any other requirements are prepared on the
       deployment host
     - bootstrap-aio.sh which runs all host preparation actions for an
       all-in-one build
     - gate-check-lint.sh which runs a lint and syntax check
     - gate-check-commit.sh which runs all actions required for a gate
       commit check, utilising the other scripts where required
     - run-smoke-test.sh which runs tempest from inside the utility container
     - run-playbooks.sh which runs the playbooks
     - the existing conf.d/swift.yml is renamed to be an example
       configuration - the example configurations can be used as
       documentation
     - etc/network/interfaces.d/aio_interfaces.cfg,
       etc/rpc_deploy/conf.d/swift.yml and
       etc/rpc_deploy/rpc_user_config.yml are now configurations used for
       the AIO deployment
     - a workaround for https://bugs.launchpad.net/bugs/1244589 to ensure
       that DHCP checksums are implemented by the host which is required for
       the smoke tests to work
     - the removal of the rpc heat templates as they're unusable in their
       current state
     - setting MAX_RETRIES to 0, ensuring that any failures cause an
       immediate commit check failure in the gate - this prevents the
       masking of failures by retry attempts

    DocImpact
    Co-Authored-By: Kevin Carter <email address hidden>
    Closes-Bug: #1415883
    Closes-Bug: #1417999
    Closes-Bug: #1419807
    Change-Id: I95242d48ad0fb055f16510803c8aa14dc183ac17

Changed in openstack-ansible:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-ansible-deployment (juno)

Fix proposed to branch: juno
Review: https://review.openstack.org/155871

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-ansible-deployment (juno)

Reviewed: https://review.openstack.org/155871
Committed: https://git.openstack.org/cgit/stackforge/os-ansible-deployment/commit/?id=2a29558ca33e60020b6cb2fc2a18fbabd66dec82
Submitter: Jenkins
Branch: juno

commit 2a29558ca33e60020b6cb2fc2a18fbabd66dec82
Author: Jesse Pretorius <email address hidden>
Date: Wed Feb 4 15:51:06 2015 +0000

    Implement local scripts for all gate tests

    This patch implements the following:
     - scripts-library.sh which includes commonly used functions, variables
       and other preparation commands for all other scripts
     - bootstrap-ansible.sh which only deploys a selected version of ansible
       and ensures that any other requirements are prepared on the
       deployment host
     - bootstrap-aio.sh which runs all host preparation actions for an
       all-in-one build
     - gate-check-lint.sh which runs a lint and syntax check
     - gate-check-commit.sh which runs all actions required for a gate
       commit check, utilising the other scripts where required
     - run-smoke-test.sh which runs tempest from inside the utility container
     - run-playbooks.sh which runs the playbooks
     - the existing conf.d/swift.yml is renamed to be an example
       configuration - the example configurations can be used as
       documentation
     - etc/network/interfaces.d/aio_interfaces.cfg,
       etc/rpc_deploy/conf.d/swift.yml and
       etc/rpc_deploy/rpc_user_config.yml are now configurations used for
       the AIO deployment
     - a workaround for https://bugs.launchpad.net/bugs/1244589 to ensure
       that DHCP checksums are implemented by the host which is required for
       the smoke tests to work
     - the removal of the rpc heat templates as they're unusable in their
       current state
     - setting MAX_RETRIES to 0, ensuring that any failures cause an
       immediate commit check failure in the gate - this prevents the
       masking of failures by retry attempts

    Conflicts:
            etc/rpc_deploy/rpc_user_config.yml
            scripts/rpc-aio-heat-template.yml
            scripts/rpc-aio-rax-heat-template.yml
            scripts/run-aio-build.sh

    DocImpact
    Co-Authored-By: Kevin Carter <email address hidden>
    Closes-Bug: #1415883
    Closes-Bug: #1417999
    Closes-Bug: #1419807
    Change-Id: I95242d48ad0fb055f16510803c8aa14dc183ac17
    (cherry picked from commit 6b12bf366369d7b1d0f5bdfbc8afc05f447363fb)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to os-ansible-deployment (icehouse)

Fix proposed to branch: icehouse
Review: https://review.openstack.org/155987

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to os-ansible-deployment (icehouse)

Reviewed: https://review.openstack.org/155987
Committed: https://git.openstack.org/cgit/stackforge/os-ansible-deployment/commit/?id=a0ddcd779722cd888ea5bac70d28e63d34db20fb
Submitter: Jenkins
Branch: icehouse

commit a0ddcd779722cd888ea5bac70d28e63d34db20fb
Author: Jesse Pretorius <email address hidden>
Date: Wed Feb 4 15:51:06 2015 +0000

    Implement local scripts for all gate tests

    This patch implements the following:
     - scripts-library.sh which includes commonly used functions, variables
       and other preparation commands for all other scripts
     - bootstrap-ansible.sh which only deploys a selected version of ansible
       and ensures that any other requirements are prepared on the
       deployment host
     - bootstrap-aio.sh which runs all host preparation actions for an
       all-in-one build
     - gate-check-lint.sh which runs a lint and syntax check
     - gate-check-commit.sh which runs all actions required for a gate
       commit check, utilising the other scripts where required
     - run-smoke-test.sh which runs tempest from inside the utility container
     - run-playbooks.sh which runs the playbooks
     - the existing conf.d/swift.yml is renamed to be an example
       configuration - the example configurations can be used as
       documentation
     - etc/network/interfaces.d/aio_interfaces.cfg,
       etc/rpc_deploy/conf.d/swift.yml and
       etc/rpc_deploy/rpc_user_config.yml are now configurations used for
       the AIO deployment
     - a workaround for https://bugs.launchpad.net/bugs/1244589 to ensure
       that DHCP checksums are implemented by the host which is required for
       the smoke tests to work
     - the removal of the rpc heat templates as they're unusable in their
       current state
     - setting MAX_RETRIES to 0, ensuring that any failures cause an
       immediate commit check failure in the gate - this prevents the
       masking of failures by retry attempts

    Conflicts:
            etc/rpc_deploy/conf.d/swift.yml
            etc/rpc_deploy/rpc_user_config.yml
            scripts/os-ansible-aio-check.sh
            scripts/rpc9.0.0-aio-heat-template.yml
            scripts/rpc9.0.0-aio-rax-heat-template.yml
            scripts/run-aio-build.sh

    DocImpact
    Co-Authored-By: Kevin Carter <email address hidden>
    Closes-Bug: #1415883
    Closes-Bug: #1417999
    Closes-Bug: #1419807
    Change-Id: I95242d48ad0fb055f16510803c8aa14dc183ac17
    (cherry picked from commit 6b12bf366369d7b1d0f5bdfbc8afc05f447363fb)

Changed in openstack-ansible:
status: Fix Committed → 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.