Friday, July 15, 2022

Adventures of a Small Time OpenStack Sysadmin Chapter 017 - OpenStack Swift Object Store

Adventures of a Small Time OpenStack Sysadmin relate the experience of converting a small VMware cluster into two small OpenStack clusters, and the adventures and friends I made along the way.

Adventures of a Small Time OpenStack Sysadmin Chapter 017 - OpenStack Swift Object Store

My primary reference for installing Swift is here:

https://docs.openstack.org/swift/yoga/install/

Note there is quite a difference between disk partitioning and mounting for hand installed Swift and Kolla-Ansible installed Swift.  For hand installed swift, format a disk on /srv/node/swift as XFS format as per the online docs, just expect to do it completely differently for Plan 2.0 Kolla-Ansible installation later on.

The controller instructions for Ubuntu on page:

https://docs.openstack.org/swift/yoga/install/controller-install-ubuntu.html

Suggest to install a Python2.7 library that no longer exists, simply specify python3-keystoneclient instead.  After figuring it out on my own and attempting to file a documentation improvement bug report, I found someone else already filed a doc-improvement bug a mere two years ago.  Such is life when administering OpenStack sometimes the best doc are to read all five hundred open bug reports before starting installation...

https://bugs.launchpad.net/swift/+bug/1893769

When I was testing and experimenting, partially following along with the docs at this URL:

https://docs.openstack.org/swift/yoga/install/verify.html

I ran into a situation where the above link recommends using demo-openrc but that user didn't have access to see status, so I ended up using admin-openrc instead.  I messed around with things enough that I'm not sure who did it wrong, myself or the docs, so I didn't file a bug, and as these blogposts are being written as a retrospective about the past based on my extensive project documentation notes, by the implementation of Plan 3.0 I no longer have access to a hand installed Swift so I can't replicate.  None the less, for those playing along at home if demo-openrc does not work due to permissions issues, try admin-openrc because that will possibly work and certainly can't make the situation worse.

I encountered some MTU mismatch problems when experimenting with Swift.  Container creates will work because that fits in one packet, object upload timeouts, its all very tedious but typical of a MTU mismatch, a problem I've seen before.  If you're following along at home this is the first time the system is getting pushed hard enough to run into MTU problems.  It's easy to diagnose with some simple long ping packet commands, and then force your interface and switch MTUs to working values.  I could complain and file a bug on NetGear firmware from 2017 but I'm not even using that old managed switch anymore thus I can't replicate it, but it was something "hilarious" like the web UI for the switch permitted me to set a MTU as high as 9198 bytes but experimental tests with the ping command shows no packets longer than 9018 bytes would actually pass (or something like that) so I set it all to 9000, switch port, interface, everything, and later ended up replacing that switch anyway so I no longer have access.  Anyway, the moral of the story is always test different length ping packets during initial testing, it'll save you time in the long run.

The list of Swift-associated projects is very cool to browse.

https://docs.openstack.org/swift/yoga/associated_projects.html

rclone is not in the list although I plan to make use of it later.  In the past I've successfully used rclone in non-Swift related situations to do cloudy file transfer stuff, so when I get around to setting up rclone swift access, I expect it'll work at least as well as past situations.

https://rclone.org/swift/

I submitted a doc improvement bug to the swift-launchpad as you can see at this link:

https://bugs.launchpad.net/swift/+bug/1981617

Tomorrow is Glance day.

Stay tuned for the next chapter!

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.