Skip to content

Nick011/stackctl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

pip install stackctl

Environment Variables

Variable Default
STACKCTL_PRIVATE_KEY ~/.ssh/id_rsa
STACKCTL_PUBLIC_KEY ~/.ssh/id_rsa.pub
STACKCTL_KEYPAIR_NAME stackctl-keypair
STACKCTL_IGNORE ~/.stackctl_ignore

Usage

Before usage you must set the appropriate enviroment variables. This is done easiest with the OpenStack RC file.

You can use stackctl as a CLI tool, stackctl [--help] <command> [args], or import it into a python project.

Python Example:

import stackctl

# args == INSTANCE_NAME etc...
# kwargs == flags...
stackctl.run('COMMAND', *args, **kwargs)

# Example
stackctl.run("de-salt", "INSTANCE_NAME", user="MYUSER", "PORT"=22)

Note: Some commands, such as clone, take a long time. You may want to async call them if ran from inside a python script.

Commands

  • stackctl --help
  • stackctl list: Get list of instances.
  • stackctl images: Get list of images.
  • stackctl start INSTANCE_NAME: Start an instances.
  • stackctl stop INSTANCE_NAME: Stop an instances.
  • stackctl rm INSTANCE_NAME: Remove instance.
  • stackctl clone INSTANCE_NAME CLONE_NAME: Clone instance.
  • stackctl de-salt INSTANCE_NAME [--user, --port]: Turn off salt minion.
  • stackctl emancipate-salt INSTANCE_NAME [--user, --port, --dbuser]: Change slave mysql to master.

About

Wrapper around python-novaclient to facilitate cloning and maintaining openstack instances.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%