Installation guide - Swift content issues

Bug #1389382 reported by Matt Kassawara
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-manuals
Fix Released
Medium
Matt Kassawara

Bug Description

During installation guide testing for Juno, I found the following issues with the swift content that we should consider addressing:

General:

1) From discussion with the swift PTL, we don't need to recommend a minimum of five storage nodes. For other services, the installation guide attempts to balance simplicity and functionality. People can deploy a service, learn how it works, and prepare it for a production environment. Most of the information regarding deployment in a production environment comes from a combination of other documentation. A minimum of two storage nodes, each with two block devices, lowers the barrier to entry and still demonstrates the architecture, particularly for people who just want to try swift. We can explain how to expand this architecture and/or refer people to the swift documentation.

2) The Ubuntu packages don't include useful example configuration files with sane defaults. By including the entire configuration in the installation guide, we have to track changes to configuration options rather than the upstream developers and/or package maintainers. A few options currently generate deprecation warnings. I'm trying to discuss this issue with the package maintainers, but in the meantime we need to update some options.

3) The section file names and structure don't agree with the rest of the guide.

4) Integrate swift nodes with example architectures.

Install/configure storage nodes:

1) We should probably change from fdisk to parted because the former only officially supports DOS partition tables with a total disk size limitation of 2 TB.

2) We should probably change the fsck scan value in /etc/fstab from 0 to 2 based on the fstab manual page.

Install/configure the proxy node:

1) Why does Ubuntu the package installation explicitly install python-webob?

2) The horizon configuration expects memcached on 127.0.0.1. By default, swift also looks for memcached on 127.0.0.1. The swift instructions configure memcached to listen on the management IP on the controller node, but don't actually change the memcache_servers option to use it. This breaks memcached for both horizon and swift. If we stick to one proxy running on the controller node, I think we can leave memcached on 127.0.0.1. Alternatively, we can configure memcached to listen on multiple interfaces and configure swift accordingly. However, performing the latter raises security implications that require further discussion.

3) From discussion with the swift PTL, configuring the storage/replication network (R) during ring creation also requires running additional services on each storage node, but the guide doesn't explain how to achieve the latter.

4) From discussion with the swift PTL, we should put all storage nodes into one zone rather than a unique zone per node during ring creation.

5) From discussion with the swift PTL, we should reduce the partition power from 18 to 10 during ring creation because the former requires a significantly advanced configuration beyond what the guide covers.

6) During ring creation, we should specify the region to avoid a warning message.

I'll update this bug as I find issues with other distributions. Also, some patches for this bug may need backporting to Juno and possibly Icehouse.

description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (master)
Download full text (3.4 KiB)

Reviewed: https://review.openstack.org/133105
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=ff5ef1b66a039549671ad99efa1de79fd52fc14e
Submitter: Jenkins
Branch: master

commit ff5ef1b66a039549671ad99efa1de79fd52fc14e
Author: Matthew Kassawara <email address hidden>
Date: Thu Nov 6 10:51:07 2014 -0600

    Update swift content

    I updated the swift content in the installation guide as
    follows:

    1) Consolidated Identity service configuration into proxy
       service configuration section.
    2) Changed initial example architecture to install the proxy
       service on the controller node instead of a separate node.
       However, I used wording that supports separate and/or
       multiple proxy services.
    3) The steps to configure memcached break installations with
       horizon because the latter references 127.0.0.1 instead
       of the management network interface IP address. After
       consolidating the proxy service to a single instance on
       the controller node, it now references 127.0.0.1.
    4) Changed initial example architecture to install two
       storage nodes rather than five storage nodes to reduce
       the barrier to entry for users that want to try swift.
       However, I used wording that supports additional storage
       nodes and also references the swift documentation for
       larger deployments.
    5) Changed the initial example architecture to use only the
       management network instead of a separate storage/replication
       network because the original instructions didn't actually use
       the latter. Fully implementing a separate storage/replication
       network requires a considerably more complex configuration
       and eliminating it reduces the barrier to entry for users
       that want to try swift. However, I used wording that
       mentions a separate storage/replication network and also
       references the swift documentation for larger deployments.
    6) The Ubuntu and RHEL/CentOS/Fedora packages include ancient
       upstream/example configuration files that contain
       deprecated/defunct options and lack options that enable
       useful features. Packages take a while to fix, so the
       instructions now pull the upstream configuration files.
    7) Removed the steps to create disk labels and partitions on
       the storage nodes because a variety of methods exist and
       users should choose their own method.
    8) Changed rsync to run as a standard service rather than use
       the xinetd wrapper on RHEL/CentOS/Fedora.
    9) Separated account, container, and object ring creation steps
       into separate sections to improve clarity and reduce typos.
    10) Reduced partition power from 18 to 10 during ring creation
        because the example architecture shouldn't scale to the higher
        value using the example architecture.
    11) Changed storage node service management steps on Ubuntu to
        use 'swift-init' rather than manually starting a large
        number of services.
    12) Modified file names and IDs to increase consistency with
        other content in the guide.

    I r...

Read more...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (stable/juno)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (stable/juno)
Download full text (3.5 KiB)

Reviewed: https://review.openstack.org/133274
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=e1a2680defa24e88f1f0be6ca4fe371ea86e7a92
Submitter: Jenkins
Branch: stable/juno

commit e1a2680defa24e88f1f0be6ca4fe371ea86e7a92
Author: Matthew Kassawara <email address hidden>
Date: Thu Nov 6 10:51:07 2014 -0600

    Update swift content

    I updated the swift content in the installation guide as
    follows:

    1) Consolidated Identity service configuration into proxy
       service configuration section.
    2) Changed initial example architecture to install the proxy
       service on the controller node instead of a separate node.
       However, I used wording that supports separate and/or
       multiple proxy services.
    3) The steps to configure memcached break installations with
       horizon because the latter references 127.0.0.1 instead
       of the management network interface IP address. After
       consolidating the proxy service to a single instance on
       the controller node, it now references 127.0.0.1.
    4) Changed initial example architecture to install two
       storage nodes rather than five storage nodes to reduce
       the barrier to entry for users that want to try swift.
       However, I used wording that supports additional storage
       nodes and also references the swift documentation for
       larger deployments.
    5) Changed the initial example architecture to use only the
       management network instead of a separate storage/replication
       network because the original instructions didn't actually use
       the latter. Fully implementing a separate storage/replication
       network requires a considerably more complex configuration
       and eliminating it reduces the barrier to entry for users
       that want to try swift. However, I used wording that
       mentions a separate storage/replication network and also
       references the swift documentation for larger deployments.
    6) The Ubuntu and RHEL/CentOS/Fedora packages include ancient
       upstream/example configuration files that contain
       deprecated/defunct options and lack options that enable
       useful features. Packages take a while to fix, so the
       instructions now pull the upstream configuration files.
    7) Removed the steps to create disk labels and partitions on
       the storage nodes because a variety of methods exist and
       users should choose their own method.
    8) Changed rsync to run as a standard service rather than use
       the xinetd wrapper on RHEL/CentOS/Fedora.
    9) Separated account, container, and object ring creation steps
       into separate sections to improve clarity and reduce typos.
    10) Reduced partition power from 18 to 10 during ring creation
        because the example architecture shouldn't scale to the higher
        value using the example architecture.
    11) Changed storage node service management steps on Ubuntu to
        use 'swift-init' rather than manually starting a large
        number of services.
    12) Modified file names and IDs to increase consistency with
        other content in the guide.

  ...

Read more...

tags: added: in-stable-juno
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (master)

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

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

Reviewed: https://review.openstack.org/133349
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=2c139a4994c9444d5f6ca611215a2d05d54adb10
Submitter: Jenkins
Branch: master

commit 2c139a4994c9444d5f6ca611215a2d05d54adb10
Author: Matthew Kassawara <email address hidden>
Date: Sat Nov 8 08:19:54 2014 -0600

    Swift content enhancements and fixes

    I updated the swift content in the installation guide with a
    few enhancements and fixes as follows:

    1) Improved wording/phrasing (thanks Joe Robinson).
    2) Improved consistency of duplicate content.
    3) Added example output from ring builder commands.
    4) Addressed other minor issues.

    Change-Id: I14b6f07877677b3c1b38271150e7c39d19c2c96f
    Partial-Bug: #1389382
    backport: juno

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (stable/juno)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (stable/juno)

Reviewed: https://review.openstack.org/133511
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=47145c3d2b5da71d2e7da93e2832c4ddd37924b0
Submitter: Jenkins
Branch: stable/juno

commit 47145c3d2b5da71d2e7da93e2832c4ddd37924b0
Author: Matthew Kassawara <email address hidden>
Date: Sat Nov 8 08:19:54 2014 -0600

    Swift content enhancements and fixes

    I updated the swift content in the installation guide with a
    few enhancements and fixes as follows:

    1) Improved wording/phrasing (thanks Joe Robinson).
    2) Improved consistency of duplicate content.
    3) Added example output from ring builder commands.
    4) Addressed other minor issues.

    Change-Id: I14b6f07877677b3c1b38271150e7c39d19c2c96f
    Partial-Bug: #1389382
    backport: juno
    (cherry picked from commit 2c139a4994c9444d5f6ca611215a2d05d54adb10)

description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (master)

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

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

Reviewed: https://review.openstack.org/138502
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=dcfb255c55edbd9c43eb5b7db7a4eea4fc980c96
Submitter: Jenkins
Branch: master

commit dcfb255c55edbd9c43eb5b7db7a4eea4fc980c96
Author: Matthew Kassawara <email address hidden>
Date: Tue Dec 2 13:32:40 2014 -0600

    Remove references to defunct swift content

    After moving the swift system requirements and example
    architecture to the overview chapter, I think we can
    safely remove references to the defunct sections in the
    swift chapter. A future patch will remove the defunct
    files. Also improved some phrasing/wording.

    Change-Id: I364f6d21dafbed22990bafb53c828b8e54775f85
    Partial-Bug: #1389382
    backport: juno

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-manuals (stable/juno)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-manuals (stable/juno)

Reviewed: https://review.openstack.org/138801
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=fc1fd1ef505fe344ac90b4e751adaf4ea96ab9a2
Submitter: Jenkins
Branch: stable/juno

commit fc1fd1ef505fe344ac90b4e751adaf4ea96ab9a2
Author: Matthew Kassawara <email address hidden>
Date: Tue Dec 2 13:32:40 2014 -0600

    Remove references to defunct swift content

    After moving the swift system requirements and example
    architecture to the overview chapter, I think we can
    safely remove references to the defunct sections in the
    swift chapter. A future patch will remove the defunct
    files. Also improved some phrasing/wording.

    Change-Id: I364f6d21dafbed22990bafb53c828b8e54775f85
    Partial-Bug: #1389382
    backport: juno
    (cherry picked from commit dcfb255c55edbd9c43eb5b7db7a4eea4fc980c96)

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

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

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

Reviewed: https://review.openstack.org/143888
Committed: https://git.openstack.org/cgit/openstack/openstack-manuals/commit/?id=0ce55aa36ed0db97cf4caffb2fecc04c8e1d5c77
Submitter: Jenkins
Branch: master

commit 0ce55aa36ed0db97cf4caffb2fecc04c8e1d5c77
Author: Matthew Kassawara <email address hidden>
Date: Wed Dec 24 13:35:03 2014 -0600

    Remove defunct swift content

    Remove defunct swift content in the installation guide. This
    should complete the swift content improvements.

    Closes-Bug: #1389382
    backport: Juno
    Change-Id: Iaef1c4e405859ea79bfa022cfd57905900904d0a

Changed in openstack-manuals:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/openstack-manuals 15.0.0

This issue was fixed in the openstack/openstack-manuals 15.0.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.