• This repository has been archived on 13/Dec/2020
  • Stars
    star
    114
  • Rank 300,929 (Top 7 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

If you have found yourself in a situation where you needed to upload, download, delete, modify, or checkout a whole bunch of files/objects, this is what you are looking for. Turbolift is a client which was designed to access Cloud Files - Swift - quickly.

Turbolift, the Cloud Files Uploader

Date: 2013-09-05 09:51
tags:rackspace, upload, mass, Cloud Files, files, api
category:*nix

Turbolift Files to Rackspace Cloud Files -Swift-

General Overview

If you have found yourself in a situation where you needed or wanted to upload a whole bunch of files to Cloud Files quickly, this is what you are looking for. Turbolift is an assistant for uploading files to the the Rackspace Cloud Files Repository with a bunch of options.

You'll also probably want to read The Rackspace Cloud Files API guide (PDF) : The guide will provide you an overview of all of the available functions for Cloud Files.

The Process by which this application works is simple. All you have to do is Literally fill in the command line arguments and press enter. The application is a multiprocessing Cloud Files Uploader which will upload any directory or file provided to it.

Functions of the Application :
  • Upload a directory, (recursively)
  • Upload a single file
  • Upload a local directory (recursively) and sync it with a Cloud Files Container
  • Download a Container to a local directory
  • Download changed objects from a Container to a local directory
  • Compresses a Local Directory, then uploads it
  • List all Containers
  • List all Objects in a Container
  • Delete an Object in a Container
  • Delete an entire Container
  • Clone one Container in one region to another Container in the same or Different Region.
  • Set Custom headers on Objects/Containers

Turbolift can be managed with a config file. The option --system-config references a config file. Additionally, the Environment Variable TURBO_CONFIG can be used to reference a config file as well. All of Turbolift's options can be set in the config file. This makes managing Turbolift very simple.

Please read command_line_args for more information on Command Line Arguments and functions.

If you would like to setup Turbolift to use an environment variable file I would recommend you have a look at the turboliftrc_example file and the environment_vars document.

Please also review the Turbolift Wiki for more information.

Prerequisites :
  • For all the things to work right please make sure you have python-dev.
  • All systems require the python-setuptools package.
  • Python => 2.6 but < 3.0
  • A File or some Files you want uploaded
Installation :

Installation is simple:

git clone git://github.com/cloudnull/turbolift.git
cd turbolift
python setup.py install
Installation NOTICE :
If you are installing on a system that is not Running Python => 2.6 but < 3.0, please review the document INSTALL_EMBED. This is a tested installation of Turbolift on Ubuntu 8.04, which ships with Python 2.5. The guide is a simple walk through for compiling stand alone python and installing Turbolift in that stand alone installation.
Python Modules Needed, for full operation :
NOTE : All of the modules needed should be part of the "standard" Library as of Python 2.6. The setup file will install the two needed dependencies which may not have made it onto your system.

Application Usage

Here is the Basic Usage

turbolift -u [CLOUD-USERNAME] -a [CLOUD-API-KEY] --os-rax-auth [REGION] upload -s [PATH-TO-DIRECTORY] -c [CONTAINER-NAME]

Run turbolift -h for a full list of available flags and operations

Turbolift can easily be set to run on via script or as a CRON job, please see, turbolift_example_script for more ideas / information on using Turbolift as a script.

Systems Tested on

The application has been tested on :
  • Debian 6
  • Ubuntu 10.04 - 12.04
  • Mac OS X 10.8
  • CentOS[RHEL] 6

For information on Benchmarks from my own testing, please have a look here at the benchmarks file.

Turbolift is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. The License in service for this program is GPLv3. please see http://www.gnu.org/licenses/gpl-3.0.txt for more information.

More Repositories

1

InstanceSync

Bash Script to Sync Linux Instances from one to another
Shell
91
star
2

MP620-630-Linux-Printer

Printer Drivers and installation script for the Canon MP620
Shell
12
star
3

XenServer-Offloading-Off

Script to disable ALL TCP offloading on a XenServer Host,
Shell
12
star
4

osa-multi-node-aio

Full Multi-Node OpenStack deployment using a single OnMetal host from the Rackspace Public Cloud
Shell
11
star
5

systemd-netns

systemd helper service units for running services in network namespaces.
Shell
11
star
6

cruton

Environmental device management system built for hundreds of entities, thousands environments, and millions of devices.
Python
10
star
7

ptrcreate

Creates a PTR Record for a Rackspace NextGen Cloud Server.
Python
10
star
8

ansistack

Virtualization tools for setting up and managing resources
Python
8
star
9

kenova

This is a management script used to interact with Rackspace Cloud Servers. Requires Python-NovaClient.
Shell
7
star
10

rcbops_allinone_inone

Build an All In One Test Environment in One Server
Shell
6
star
11

yaprt

Python package wheel builder.
Python
4
star
12

osa-openshift

deployment playbooks for OpenShift on OpenStack.
4
star
13

tripleo-ansible-ee

Ansible Execution environment for TripleO
Dockerfile
3
star
14

AstroMetrics

The Cloud at your CLI, Access Your Cloud with ONE Tool
Python
3
star
15

teleport-ansible

Teleport Ansible Dynamic Inventory Provider
Python
3
star
16

AdvancedSearchDiscovery

This tool was built to allow you to query the worlds largest database.
Python
3
star
17

osad-regions

create development regions in osad for testing use
2
star
18

chef-cookbooks-source

rcbops chef-cookbooks from source packages
Ruby
2
star
19

ansible-collection-filesystems

Figment file system management collections
Python
2
star
20

tribble-api

configuration management API for cloud providers
Python
2
star
21

ansible-tripleo_sdk

Ansible role for setting up a suitable development environment for TripleO
Shell
2
star
22

random_scripts

A collection of random scripts
Shell
2
star
23

bookofnova

A collection of Openstack Nova API commands that I have found useful
Python
1
star
24

mining-gpu-vbios

vBIOS dumps for the various grafics cards used for Altcoin mining
Python
1
star
25

gvtroll

Send SMS Messages from the CLI using your Google Voice Account
Python
1
star
26

bdwcalc

Bandwidth Calculator for Shell.
Shell
1
star
27

massupload

Upload files to cloud files
Shell
1
star
28

UbuntuUpgrade

Upgrading Ubuntu 11.10 to 12.04
Shell
1
star
29

openswan-playbook

Ansible Playbook to bootstrap a server with Openswan
Shell
1
star
30

chef-lxc-openstack

This simple repo will turn any Ubuntu server into an Openstack Sandbox Environment.
Shell
1
star
31

elastic_shit_shoveler

Get things from a Jungle Disk Container
Python
1
star
32

zimbra_log_watch

Watch the zimbra auth.log for "DelegateAuthRequest" requests.
Python
1
star
33

Mass-Build-Application

Command a lot of Cloud Servers all at once while consuming the API
Shell
1
star
34

psycorax

Breaking Things for the good of the environment
Python
1
star
35

transporter

Imaging an Instance from within an instance
Python
1
star
36

osad_standalone_keystone

Deploy standalone keystone using OSAD
1
star
37

osad-basic-test-node

Spin up a basic OSAD AIO for testing
1
star
38

os-lxc-hosts

deploy lxc hosts for use in Rackspace private cloud
Python
1
star