Skip to main content

A unified interface into multiple cloud providers.

Project description

rtwo 0.5.20
A unified interface into multiple cloud providers.

To install use pip install git+git://git@github.com:iPlantCollaborativeOpenSource/rtwo.git

----

rtwo
====

[![Build Status](https://travis-ci.org/cyverse/rtwo.svg?branch=master)](https://travis-ci.org/cyverse/rtwo)

A unified interface into multiple cloud providers.

Built on top of Apache libcloud with support for modern OpenStack. Also supports legacy Eucalyptus 2.x and AWS.

# Install #

```bash
pip install rtwo
```

## Or from source ##

```bash
pip install -e git://github.com/cyverse/rtwo#egg=rtwo
```

# Use #
```python
In [1]: import rtwo

In [2]: from rtwo.provider import OSProvider

In [3]: from rtwo.identity import OSIdentity

In [4]: from rtwo.driver import OSDriver

In [5]: from rtwo.accounts.openstack import AccountDriver

In [6]: osp = OSProvider()

In [7]: ad = AccountDriver()

In [8]: ad.create_account("awesomeo")
Out[8]:
(<User {u'email': u'awesomeo@iplantcollaborative.org', u'tenantId': u'97dfaaebb0d943baa0cfa7cbd3bf24d5', u'enabled': True, u'name': u'awesomeo', u'id': u'
3d3ca254e7054fdcaa54f473e4d5b59f'}>,
'yourpassword',
<Tenant {u'enabled': True, u'description': None, u'name': u'awesomeo', u'id': u'97dfaaebb0d943baa0cfa7cbd3bf24d5'}>)
In [9]: osi = OSIdentity(osp, key=OPENSTACK_ADMIN_KEY, secret=OPENSTACK_ADMIN_SECRET, user="awesomeo", auth_url="http://openstack-server.org:port/v2.0", password=ad.hashpass("awesomeo"), region_name="ValhallaRegion", ex_tenant_name="awesomeo", username="awesomeo")

In [19]: osdriver = OSDriver(osp, osi)

In [11]: sizes = osdriver.list_sizes()

In [12]: machines = osdriver.list_machines()
In [13]: osdriver.create_instance(name="Lame.", image=machines[-1], size=sizes[1])
Out[13]: <class 'rtwo.instance.OSInstance'> {'name': 'Lame.', 'ip': None, 'machine': {'alias': '7819f88b-b335-449d-b17f-ed3af350c918', 'provider': 'OpenStack', 'id': '7819f88b-b335-449d-b17f-ed3af350c918', 'name': 'Ubuntu 12.04 NoGui 4GB 64-bit bare'}, 'alias': '2b3a1021-aaed-439f-a6b6-5e6f1a9d1fd5', 'provider': 'OpenStack', 'id': '2b3a1021-aaed-439f-a6b6-5e6f1a9d1fd5', 'size': {'alias': '2', 'bandwidth': None, 'disk': 10, 'name': 'm1.small', 'price': 0.0, 'ram': 2048, 'id': 'm1.small', 'cpu': 1}}
In [14]: osdriver.list_instances()
Out[14]: [<class 'rtwo.instance.OSInstance'> {'name': 'Lame.', 'ip': None, 'machine': {'alias': '7819f88b-b335-449d-b17f-ed3af350c918', 'provider': 'OpenStack', 'id': '7819f88b-b335-449d-b17f-ed3af350c918', 'name': 'Ubuntu 12.04 NoGui 4GB 64-bit bare'}, 'alias': '2b3a1021-aaed-439f-a6b6-5e6f1a9d1fd5', 'provider': 'OpenStack', 'id': '2b3a1021-aaed-439f-a6b6-5e6f1a9d1fd5', 'size': {'alias': '2', 'bandwidth': None, 'disk': 10, 'name': 'm1.small', 'price': 0.0, 'ram': 2048, 'id': 'm1.small', 'cpu': 1}}]
```

# License

See LICENSE file.



----

For more information, please see: https://github.com/iPlantCollaborativeOpenSource/rtwo


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rtwo-0.5.20.tar.gz (61.6 kB view details)

Uploaded Source

Built Distribution

rtwo-0.5.20-py2-none-any.whl (68.2 kB view details)

Uploaded Python 2

File details

Details for the file rtwo-0.5.20.tar.gz.

File metadata

  • Download URL: rtwo-0.5.20.tar.gz
  • Upload date:
  • Size: 61.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for rtwo-0.5.20.tar.gz
Algorithm Hash digest
SHA256 f858bb0b73b274019c1976e8cbbda40a872f30a53b0627dea6123a053fb29154
MD5 2a4b0a8ece8d2e084c301c9136735466
BLAKE2b-256 0b6907607c0fb1841ab3154a948918b488eab280f5edd08f8dc98b02d22cf6c1

See more details on using hashes here.

File details

Details for the file rtwo-0.5.20-py2-none-any.whl.

File metadata

File hashes

Hashes for rtwo-0.5.20-py2-none-any.whl
Algorithm Hash digest
SHA256 b7595c8fa5ebb10d40611de9e72d46207c1b70dd73f4b60113bad829daf44dd4
MD5 2b9e61901a3d77ec445336c57d2751fc
BLAKE2b-256 be4e0f2d8b49fab337efadee30dea4a44550f0f357c316b48ae1a549d660fee7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page