Juju Charm - Swift storage
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Zuul 76855185be Merge "Ensure python3-hvac is installed for charms with encypt option" 17 hours ago
actions Upgrade the charm to py3 runtime 1 year ago
charmhelpers Ensure python3-hvac is installed for charms with encypt option 3 days ago
files Fix import errors on Nagios check file 10 months ago
hooks Ensure python3-hvac is installed for charms with encypt option 3 days ago
lib Swift Global Cluster 2 months ago
templates Swift Global Cluster 2 months ago
tests Workaround for Juju bug 1860992 3 weeks ago
unit_tests Swift Global Cluster 2 months ago
.gitignore Add support for block device encryption 1 year ago
.gitreview OpenDev Migration Patch 10 months ago
.project Resynced helpers 6 years ago
.pydevproject Enable xenial/queens amulet testing 1 year ago
.stestr.conf Replace ostestr with stestr in testing framework. 11 months ago
.zuul.yaml Switch to Ussuri jobs 1 month ago
LICENSE Re-license charm as Apache-2.0 3 years ago
Makefile Tests dir no longer need copy of charmhelpers 1 year ago
README.md Swift Global Cluster 2 months ago
actions.yaml Action Managed Upgrades 4 years ago
charm-helpers-hooks.yaml Sync charm/ceph helpers, tox, and requirements 4 months ago
config.yaml Swift Global Cluster 2 months ago
copyright Re-license charm as Apache-2.0 3 years ago
hardening.yaml Add hardening support 3 years ago
icon.svg Update charm icon 2 years ago
metadata.yaml Remove disco support from the charm 2 days ago
requirements.txt Update requirements 1 year ago
revision Remove debug. 6 years ago
setup.cfg Add Python 3 Train unit tests 6 months ago
test-requirements.txt Switch tests to zaza 3 months ago
tox.ini Switch tests to zaza 3 months ago

README.md

Overview

This charm provides the swift-storage component of the OpenStack Swift object storage system. It can be deployed as part of its own standalone storage cluster or it can be integrated with the other OpenStack components, assuming those are also managed by Juju. For Swift to function, you’ll also need to deploy an additional swift-proxy using the cs:precise/swift-proxy charm.

For more information about Swift and its architecture, visit the official Swift project website.

This charm is intended to track each LTS release of Ubuntu Server, as well as newer OpenStack releases via the Ubuntu Cloud Archive as supported by each Ubuntu LTS version. Non-LTS (interim release) Ubuntu server versions are enabled in the charms strictly for development and testing purposes.

Usage

This charm is quite simple. Its basic function is to get a storage device setup for swift usage, and run the container, object and account services. The deployment workflow for swift using this charm is covered in the README for the swift-proxy charm at cs:precise/swift-proxy. The following are deployment options to take into consideration when deploying swift-storage.

Zone assignment

If the swift-proxy charm is configured for manual zone assignment (recommended), the ‘zone’ option should be set for each swift-storage service being deployed. See the swift-proxy README for more information about zone assignment.

Region assignment

If the swift-proxy charm is configured with the Swift Global Cluster feature, the ‘region’ option should be set for each swift-storage service being deployed. See the swift-proxy charm README for more information about the Swift Global Cluster feature.

Storage

Swift storage nodes require access to local storage and filesystem. The charm takes a ‘block-device’ config setting that can be used to specify which storage device(s) to use. Options include:

  • 1 or more local block devices (eg, sdb or /dev/sdb). It’s important that this device be the same on all machine units assigned to this service. Multiple block devices should be listed as a space-separated list of device nodes.
  • a path to a local file on the filesystem with the size appended after a pipe, eg “/etc/swift/storagedev1.img|5G”. This will be created if it does not exist and be mapped to a loopback device. Intended strictly for development and testing.
  • “guess” can be used to tell the charm to do its best to find a local devices to use. EXPERIMENTAL

Multiple devices can be specified. In all cases, the resulting block device(s) will each be formatted as XFS file system and mounted at /srv/node/$devname.

Installation repository

The ‘openstack-origin’ setting allows Swift to be installed from repositories such as the Ubuntu Cloud Archive, which enables installation of Swift versions more recent than what shipped with the Ubuntu LTS release. For more information, see config.yaml.