openstackswift installation in ubuntu 18

First We need to Installing dependencies

  1. Hit super user
sudo su
apt-get update -y
apt-get install curl gcc memcached rsync sqlite3 xfsprogs \
                     git-core libffi-dev python-setuptools \
                     liberasurecode-dev libssl-dev

image

apt-get install python-coverage python-dev python-nose \
                     python-xattr python-eventlet \
                     python-greenlet python-pastedeploy \
                     python-netifaces python-pip python-dnspython \
                     python-mock

image

Then, Git Cloning swift python client

sudo apt-get update
git clone https://github.com/openstack/python-swiftclient.git

image

git checkout is optional but good thing to check

git checkout stable/train  
pip install -r requirements.txt 
python setup.py install

image Cloning Swift

git clone https://github.com/openstack/swift.git

image

git checkout stable/train
python setup.py install

image

Copying Swift Configuration Files

mkdir -p /etc/swift 
cd swift/etc
cp account-server.conf-sample /etc/swift/account-server.conf 
cp container-server.conf-sample /etc/swift/container-server.conf
cp object-server.conf-sample /etc/swift/object-server.conf
cp proxy-server.conf-sample /etc/swift/proxy-server.conf 
cp drive-audit.conf-sample /etc/swift/drive-audit.conf 
cp swift.conf-sample /etc/swift/swift.conf

image

swift-init -h

Here I needed to install swift

apt install python-swift

image

Adding Drives to swift checking blocks

ls /sys/block

image image image

mkdir -p /srv/node/d1
mkdir -p /srv/node/d2
mkdir -p /srv/node/d3

image

Add User in Swift create user swift then add

chown -R swift:swift /srv/node

image

Mount

cd swift/bin
nano mount_devices.sh
cat mount_devices.sh
#!/bin/bash
sudo mount -t xfs -o noatime,nodiratime,logbufs=8 -L d1 /srv/node/d1
sudo mount -t xfs -o noatime,nodiratime,logbufs=8 -L d2 /srv/node/d2
sudo mount -t xfs -o noatime,nodiratime,logbufs=8 -L d3 /srv/node/d3

image image Reboot image

check everything mounted properly or not

cat /etc/mtab | grep /dev/sd

image

Create Swift Ring-file

cd /etc/swift
swift-ring-builder account.builder create 3 3 1
swift-ring-builder container.builder create 3 3 1
swift-ring-builder object.builder create 3 3 1

image

swift-ring-builder account.builder add r1z1-127.0.0.1:6002/d1 100
swift-ring-builder container.builder add r1z1-127.0.0.1:6001/d1 100
swift-ring-builder object.builder add r1z1-127.0.0.1:6000/d1 100

swift-ring-builder account.builder add r1z1-127.0.0.1:6002/d2 100
swift-ring-builder container.builder add r1z1-127.0.0.1:6001/d2 100
swift-ring-builder object.builder add r1z1-127.0.0.1:6000/d2 100

swift-ring-builder account.builder add r1z1-127.0.0.1:6002/d3 100
swift-ring-builder container.builder add r1z1-127.0.0.1:6001/d3 100
swift-ring-builder object.builder add r1z1-127.0.0.1:6000/d3 100

Balancing the rings

swift-ring-builder account.builder rebalance
swift-ring-builder container.builder rebalance
swift-ring-builder object.builder rebalance

image check everything with

ls

image

Changing the binding ports account

swift-ring-builder account.builder

image

nano account-server.conf
bind_port : 6002

container

swift-ring-builder container.builder

image

nano container-server.conf
bind_port : 6001

object

swift-ring-builder object.builder

image

nano object-server.conf
bind_port : 6000

bind port for proxy server

nano proxy-server.conf
Bind_port : 8080

image Then change swift conf

cd /etc
cd rsyslog.d
nano 0-swift.conf
local0.* /var/log/swift/all.log

image

cd /etc/rsyslog.d
mkdir /var/log/swift
chown -R syslog.adm /var/log/swift
chmod -R g+w /var/log/swift
service rsyslog restart

image changing hash

cd /etc/swift
nano swift.conf
swift_hash_path_suffix = RzUfDdu32L7J2ZBDYgsD6YI3Xie7hTVO8/oaQbpTbI8=
swift_hash_path_prefix = OZ1uQJNjJzTuFaM8X3v%fsJ1iR#F8wJjf9uhRiABevQ4

image

cd
cd ~/python-swiftclient
swift-init proxy restar