No project description provided
Project description
python-shka-gadgets-openstackclient
This is a plugin of OpenStackClient (a.k.a. OSC) to make a single and simple virtual machine handy. In a typical use-case, the virtual machine (names “vanilla” here) given a floating IP address is created and used interactively. Sometimes the vanilla would be shelved; the floating IP address and the security rules are taken away when it is shelved, and these are given again when it is unshelved. After the interactive tasks, the given resources and the images would be cleaned out. The “vanilla” plugin simplifies such resource management in the project work.
Getting Started
sshfs and curl are prerequisites, and this plugin can be installed from PyPI using pip. It will install also a minimal OSC (=python-openstackclient) for the “vanilla” server management.
Example
python3 -m venv venv3
. ./venv3/bin/activate
pip3 install python-shka-gadgets-openstackclient
. ./openrc.sh
The openrc.sh here is a script for OSC environment, which you can download from the OpenStack dashboard of your project. The script will ask a password of the project.
openstack vanilla create --flavor standard.tiny --key-name mykey --image Ubuntu-18.04 --login ubuntu test
It creates a vanilla server named test on standard.tiny flavor from the Ubuntu 18.04 image. The specified key pair must be registered already. It gives a floating IP address to the vanilla and prepares a security group to login via ssh. And, in this case, the home directory of user ubuntu is accessible from ./vanilla via sshfs.
openstack server ssh --login ubuntu test
You can login to test as avobe if the login name is ubuntu.
openstack vanilla shelve test
It shelves test - It’s good when you will leave the project temporarily. The floating IP address and the security group is taken away. The old image used for the previous unshelve is removed. The ./vanilla folder would be unmounted.
openstack vanilla unshelve --login ubuntu test
You can unshelve test when you restart the project. The floating IP address and the security group are configured again. The ./vanilla folder would be mounted again.
openstack vanilla resize --flavor standard.xxlarge test
You can resize test when you need more power, if the project supports it.
openstack vanilla delete test
After the project you can remove test completely.
There are more subcommands and the options of each subcommand. --help option will show them. For example,
$ openstack vanilla --help
Command "vanilla" matches:
vanilla allow me
vanilla create
vanilla delete
vanilla deny us
vanilla give ip
vanilla mount
vanilla resize
vanilla shelve
vanilla show id
vanilla show ip
vanilla show my ip
vanilla show status
vanilla take ip
vanilla unmount
vanilla unshelve
$ openstack vanilla create --help
usage: openstack vanilla create [-h] [--add-port <port>] --flavor <flavor>
--login <login-name> [--mount <mount-point>]
--key-name <key-name> --image <image>
[--volume <volume>]
<server>
Create a vanilla server.
positional arguments:
<server> Server (name or ID)
optional arguments:
-h, --help show this help message and exit
--add-port <port> Destination port (allow multiple times, default: [22])
--flavor <flavor> Create with this flavor (name or ID)
--login <login-name> Login name for sshfs mount (ssh -l option)
--mount <mount-point>
Directory of the vanilla server to mount (default: ~)
--key-name <key-name>
Keypair to inject into this server (optional
extension)
--image <image> Create server boot disk from this image (name or ID)
--volume <volume> Volume (size in GB for new or ID to mount)
This command is provided by the python-shka-gadgets-openstackclient plugin.
$
Copyright
See ./LICENSE
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
File details
Details for the file python-shka-gadgets-openstackclient-0.2.2.tar.gz
.
File metadata
- Download URL: python-shka-gadgets-openstackclient-0.2.2.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using 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.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61cbcec22e104c9e9430e93f13afb51a1cbb246d792bbd350878422cf6c57539 |
|
MD5 | cc9d991893c3ca11b8ea6b853b274a92 |
|
BLAKE2b-256 | 1d37ff178d24bae719422f12948a20495af01252c9e6e27c15e73f890eef4842 |