Swift Container

Registered by Ryan Hallisey

Create swift container(s) and get swift services successfully running inside.

Blueprint information

Status:
Complete
Approver:
Steven Dake
Priority:
Medium
Drafter:
Ryan Hallisey
Direction:
Approved
Assignee:
James McCarthy
Definition:
Approved
Series goal:
Accepted for liberty
Implementation:
Implemented
Milestone target:
milestone icon liberty-2
Started by
Paul Bourke
Completed by
Steven Dake

Related branches

Sprints

Whiteboard

Jul 8th 2015
pbourke:
Myself and jmccarthy have a WIP for this under https://github.com/brk3/kolla/tree/swift. Once we're happy it's in some reasonable shape for review we'll consolidate and push to gerrit.

We're starting with the swift-object-* services, so this includes the server, auditor, replicator and updater. The expirer seems to have a difference conf file so we'll attack it after.

For reference here's some basic sanity tests we're using to verify this work:

* swift-object-server: easy to verify, if it's not working no object operation will work

* swift-object-auditor: corrupt a file on the underlying disk (echo XXX > /srv/node/...) and watch for it been moved to quarantine

* swift-object-replicator: TODO

* swift-object-updater: TODO

=============================================================================
I think I won't be able to work to work on until next milestone, I have seen some roadblock with regard how swift is working (the ring needs IP and can't have DNS names (this has been worked and abadoned on https://review.openstack.org/#/c/80421/) so make it difficult for orchestration.

Chmouel,
=============================================================================

Steven
VVVVVV

Will this make milestone #2? If not, I'll push it to milestone #3.
=============================================================================

From Chmouel below
VVVVVVVVVVVVVVV

So the Swift works is not trivial with regard to the ring,

The ring is central to swift letting the other nodes on which nodes the objects are.

It has a few constraints for us :

1) It needs to be referenced as IP
2) Need to be transferred on all nodes of the same type (i.e: account, container, object) and collected on the proxy

Since kubernetes is asynchronous it makes things difficult,

The easiest way for us would be to have this into a container :

https://github.com/pandemicsyn/swift-ring-master

we would link all swift nodes to it and have a background job that would register and refresh the ring for us, swift is design to automatically pick up change when there is a change to the ring files
=============================================================================

Gerrit topic: https://review.openstack.org/#q,topic:bp/swift-container,n,z

Addressed by: https://review.openstack.org/202171
    Swift WIP

Addressed by: https://review.openstack.org/202493
    Added memcached, dependancy required by blueprint swift-container

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.