Cloudmesh Volume Management
Abstract
A simple abstraction layer to manage Cloud Volumes for AWS, Azure, Google, Openstack and Multipass
In this project we will be developing features related to completing and simplifying the volume management interface to an existing cloud. We will also benchmark the clouds while comparing the volume management functions that are deployed on different clouds.
Team members
- Peter McCandless sp20-516-222
- Xin Gu sp20-516-227
- Ashley Thornton sp20-516-230
- Ashok Singam sp20-516-232
Volume Management functions
- Volume create - Create new volume - Ashok
volume create [name]
[--size <size>]
[--type <volume-type>]
[--image <image> | --snapshot <snapshot> | --source <volume>]
[--description <description>]
- Volume delete - Delete volume - Ashok
volume delete [volume]
- Volume list - List volumes - Xin
List volume of vm in specified region and provider. List all the volumes in certain region or provider.
volume list [--vm=VM NAME]
[--region=REGION]
[--cloud=CLOUD]
[--refresh]
- Volume migrate - Migrate volume to a new host - Xin
Migrate volume from one vm to another vm within the same region, service or provider. Migrate volume from one vm to another vm between different regions, services or providers.
volume migrate NAME FVM TVM
[--fregion=FROM REGION]
[--tregion=TO REGION]
[--fservice=FROM SERVICE]
[--tservice=TO SERVICE]
[--fcloud=FROM CLOUD]
[--tcloud=TO CLOUD]
[--cloud=CLOUD]
[--region=REGION]
[--service=SERVICE]
- volume sync - Peter
Volume sync alows for data to shared bewteen two volumes. Sync can be used to backup data to or from file services or other block volumes.
volume sync [VOLUME NAME A] [VOLUME NAME B]
[--region=REGION]
[--cloud=CLOUD]
- Volume set - Set volume properties - Ashley
Volume set ties a group of storage blocks together. While the data spans multiple drives, volume set sees them as continious.
volume set [VOLUME NAME]
[--name <name>]
[--size <size>]
[--description <description>]
[--no-property]
[--property <key=value> [...] ]
[--image-property <key=value> [...] ]
[--state <state>]
[--type <volume-type>]
[--retype-policy <retype-policy>]
[--bootable | --non-bootable]
[--read-only | --read-write]
- Volume show - Show volume details - Ashley
Volume show provides information about all volumes, including the name, state, type, size, and percentage of space used.
volume show [VOLUME NAME]
- Volume unset - Unset volume properties - Peter
Volume unset separates a volume from a grouping of block volumes.
volume unset [VOLUME NAME]
[--property <key>]
[--image-property <key>]
- volume cost
- Multicloud enhanced function including cost estimates and the actual cost accured - All
Volume Providers:
-
AWS:
python api:
https://boto3.amazonaws.com/v1/documentation/api/latest/index.html
REST api:
https://docs.aws.amazon.com/apigateway/api-reference/
Documentation about volume cost:
https://aws.amazon.com/ebs/pricing/
https://medium.com/@stefanroman/calculate-price-of-ebs-volumes-with-python-76687bb24530
manual:
-
Google:
python api:
https://cloud.google.com/sdk https://cloud.google.com/sdk/gcloud/reference/compute/disks
REST api:
https://cloud.google.com/apis/docs/overview
Documentation about volume cost:
https://cloud.google.com/compute/disks-image-pricing
manual:
-
Azure:
-
OpenStack
https://docs.openstack.org/python-openstackclient/pike/cli/command-objects/volume.html
-
Documentation on how to move volumes from one provider to the next:
-
from Amazon S3
- Migrating from Amazon S3 to Cloud Storage
https://cloud.google.com/storage/docs/migrating#storage-list-buckets-s3-python
https://github.com/adzerk/s3-to-google-cloud-storage-connector
- Migrating from Amazon S3 to Azure Blob Storage
https://github.com/Azure-for-Startups/Amazon-S3-to-Azure-Storage-demo/blob/master/README.md
- Migrating from Amazon S3 to OpenStack
-
from Cloud Storage
- Migrating from Cloud Storage to Amazon S3
https://www.quora.com/How-can-I-migrate-data-from-Google-cloud-storage-into-AWS-S3-buckets
- Migrating from Cloud Storage to Azure Blob Storage
https://blog.bitscry.com/2019/12/30/data-transfer-google-cloud-storage-to-azure-blob-storage/
- Migrating from Cloud Storage to OpenStack
-
from Azure Blob Storage
-
Migrating from Azure Blob Storage to Amazon S3
-
Migrating from Azure Blob Storage to Cloud Storage
-
Migrating from Azure Blob Storage to OpenStack
-
-
from OpenStack
-
Test cases
Write test cases in the form of reproducable pytests
Distribution of clouds between team memebers
-
Azure - Ashley & Xin
-
AWS - Ashley & Xin
-
Google - Peter & Xin
-
Oracle - Ashok & Peter
-
Openstack - Peter & Ashok
-
Multipass - Ashok & Ashley
-
Azure
-
AWS
-
Google
- Gcloud container clusters: https://cloud.google.com/sdk/gcloud/reference/container/clusters
- Google books API: https://developers.google.com/books/docs/v1/reference/volumes
-
Oracle
-
Openstack
-
Multipass
https://cloudmesh.github.io/cloudmesh-manual/
Metadata
Release files for cloudmesh-volume 4.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cloudmesh-volume-4.1.6.tar.gz | 11.6 kB | Without provenance | Details for cloudmesh-volume-4.1.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cloudmesh_volume-4.1.6-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for cloudmesh_volume-4.1.6-py2.py3-none-any.whl |
Total release size: 21.7 kB
Release files / cloudmesh-volume-4.1.6.tar.gz
| Download URL | cloudmesh-volume-4.1.6.tar.gz |
|---|---|
| Size | 11.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b383604c9ba518afa18bba3f8e3cf23ac6e4d2ebdc844556fab4dfd5a5a4778e
|
|
BLAKE2b-256 checksum How to use checksums |
31b5c5ad5471e0a0d3c9e5cc806497253c9e84d6aa062c8d516f8589f7f9c9a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
|
Release files / cloudmesh_volume-4.1.6-py2.py3-none-any.whl
| Download URL | cloudmesh_volume-4.1.6-py2.py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
57d2a30548fcca7f12462c98b88ff2b547a391ffcf1e91d9d18e8c3de2d2e1d4
|
|
BLAKE2b-256 checksum How to use checksums |
0c9660ac65075ae89bc3105d25fb5710f8029eeade6f4e618ba4a5c4ca1eb889
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2
|
Security for cloudmesh-volume 4.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.