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.
Liam Young 88856f58d6 Charmhelper sync for 20.02 1 周之前
actions Upgrade the charm to py3 runtime 1 年之前
charmhelpers Charmhelper sync for 20.02 1 周之前
files Fix import errors on Nagios check file 10 月之前
hooks Swift Global Cluster 2 月之前
lib Swift Global Cluster 2 月之前
templates Swift Global Cluster 2 月之前
tests Workaround for Juju bug 1860992 2 週之前
unit_tests Swift Global Cluster 2 月之前
.gitignore Add support for block device encryption 1 年之前
.gitreview OpenDev Migration Patch 10 月之前
.project Resynced helpers 5 年之前
.pydevproject Enable xenial/queens amulet testing 1 年之前
.stestr.conf Replace ostestr with stestr in testing framework. 11 月之前
.zuul.yaml Switch to Ussuri jobs 1 月之前
LICENSE Re-license charm as Apache-2.0 3 年之前
Makefile Tests dir no longer need copy of charmhelpers 1 年之前
README.md Swift Global Cluster 2 月之前
actions.yaml Action Managed Upgrades 4 年之前
charm-helpers-hooks.yaml Sync charm/ceph helpers, tox, and requirements 4 月之前
config.yaml Swift Global Cluster 2 月之前
copyright Re-license charm as Apache-2.0 3 年之前
hardening.yaml Add hardening support 3 年之前
icon.svg Update charm icon 2 年之前
metadata.yaml Swift Global Cluster 2 月之前
requirements.txt Update requirements 1 年之前
revision Remove debug. 6 年之前
setup.cfg Add Python 3 Train unit tests 6 月之前
test-requirements.txt Switch tests to zaza 3 月之前
tox.ini Switch tests to zaza 3 月之前

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.