- Set debug logging for paramiko when using
--debugoption. [fschulze] - Add
execcommand which runs a command on an instance using the Paramiko connection, which is faster than invoking an additional ssh call. [fschulze] - Avoid unnecessary connection delay due to a timeout with some SSH servers. [fschulze]
- Fix ssh timeout handling. [witsch, fschulze]
- Fix getargspec deprecation warning with Python 3.x. [kappeck, fschulze]
- Dropped support for Python 3.6. [fschulze]
- Added support for Python 3.10. [fschulze]
- Make a proper copy of the configuration for instances with multiple masters. [fschulze]
- Use
format_excfor error reporting insshcommand for more details. [fschulze]
- Fix multiple master association for
[instance:...]sections. [fschulze]
- Some Python 3.x encoding related fixes. [fschulze]
- Add 5 seconds default timeout to ssh connections. [fschulze]
- Dropped support for Python 3.4. [fschulze]
- Support YAML configuration files. [fschulze]
- Dropped support
sshlib, onlyparamikois supported. [fschulze] - Dropped support for Python 2.6 and 3.3. [fschulze]
- Stop testing on Python 3.3. [fschulze]
- Fix multiple masters for
instance. [fschulze]
- Fix getting fingerprints automatically when
ssh-host-keysis used. [fschulze]
- New
ssh-host-keysoption which allows to set host keys directly to force paramiko to use a specific key type to avoid fingerprint mismatches. [fschulze]
- Allow instance implementations to return multiple fingerprints via
get_fingerprintsmethod. [fschulze] - Support other key types than just rsa, because paramiko > 2 defaults to
ed25519. [fschulze] - Output more information about used keys on fingerprint mismatch. [fschulze]
- Don't get
ssh-fingerprintsfrom master if not set in instance config. This fixes automatic fingerprint fetching for EC2, ezjail etc. [fschulze]
- Add option
ssh-fingerprintswhich allows to specify multiple fingerprints. [fschulze] - Support new output of
ssh-keygenwhich includes the hash type and defaults toSHA256. [fschulze]
- Allow to specify multiple masters per instance. [fschulze]
- Add
Executorhelper to handle local and remote command execution. It's also handling ssh agent forwarding enabled by either the users ssh config or thessh-extra-argsoption. [fschulze]
- Add
ssh-extra-argsoption. [fschulze] - Add
annotatecommand to print the configuration with the source of each setting. [fschulze] - Allow custom shebang in gzipped startup scripts. [fschulze]
- Drop bad entries from our
known_hostsfile to prevent failures in paramiko. [fschulze] - Set
StrictHostKeyChecking=yesfor all ssh connections to prevent interactive asking. [fschulze]
- Ask before terminating an instance. [fschulze]
- Fix config setting propagation in some cases of proxied instances. [fschulze]
- Close all connections before exiting. This prevents hangs caused by open proxy command threads. [fschulze]
- Add option to log debug output. [fschulze]
- Add helpers to setup proxycommand in plugins. [fschulze]
- Fix error output for plain instances on ssh connection failures. [fschulze]
- Fix removal of bad host keys when using non standard ssh port. [fschulze]
- Renamed
plain-mastertoplain, so the uids of instances are nicer. [fschulze]
- Only remove bad host key from known_hosts instead of clearing it completely. [fschulze]
- Removed support for
proxyhostoption. It caused hangs and failures on missing or invalid ssh fingerprints. [fschulze] - Allow empty
startup_scriptoption to mean use no startup script. [fschulze]
- Allow
fingerprintto be set to a public host key file. [fschulze]
- Better error message for instances missing because the plugin isn't installed. [fschulze]
- Fix tests when ploy itself isn't installed. [fschulze]
- Use plain conftest.py instead of pytest plugin. [fschulze]
- Fix uid method for master instances. [fschulze]
- Print plugin versions with
-vand--versions. [fschulze] - Python 3 compatibility. [fschulze]
- Let plugins add type of lists to show with the
listcommand. [fschulze] - Use
serverandinstanceconsistently. [fschulze] - Always make instances accessible by their full name in the form of "[master_id]-[instance_id]". Only if there is no conflict, the short version with just "[instance_id]" is also available for convenience. [fschulze]
- Add instance id validator which limits to letters, numbers, dashes and underscores. [fschulze]
- Renamed from mr.awsome to ploy. [fschulze]
- Give a bit more info on ssh connection failures. [fschulze]
- Expose some test fixtures for reuse in plugins. [fschulze]
- Add before_terminate and after_start hooks and make it simple for plugins to add their own hooks. [fschulze]
- Add
get_pathmethod to ConfigSection class. [fschulze]
- Provide helper method
ssh_args_from_infoon BaseInstance to get the arguments for running the ssh executable from the info provided by init_ssh_key. [fschulze] - Allow overwriting the command name in help messages for bsdploy. [fschulze]
- Make debug command usable for instances that don't have a startup script. [fschulze]
- Instances can provide a get_port method to return a default port. [fschulze]
- Catch socket errors in init_ssh_key of plain instances to print additional info for debugging. [fschulze]
- Delay setting of config file path to expose too early use of config in plugins. Refs #29 [fschulze]
- Fix massagers for
[instance:...]sections. [fschulze] - Copy massagers in ConfigSection.copy, so overrides in startup script work correctly. [fschulze]
- Fetch fingerprints only when necessary. This speeds up connections when the fingerprint in known_hosts is still valid. [fschulze]
- Moved setuptools-git from setup.py to .travis.yml, it's only needed for releases and testing. [fschulze]
- More tests. [fschulze]
- Test, enhance and document adding massagers via config. [fschulze]
- Moved ec2 and fabric integration into separate plugins. [fschulze]
- You can now have instances with the same name if the belong to different masters, they will then get the name of the master as a prefix to their name. [fschulze]
- Add possibility to overwrite the default config name. [tomster]
- Improved
proxycommandand documented it. [fschulze] - Make the AWS instance available in masters. This changes the
get_mastersplugin interface. [fschulze] - Use os.execvp instead of subprocess.call. This allows the use of
asshin theproxycommandoption, which greatly simplifies it's use. [fschulze] - Added command plugin hooks. [fschulze]
- The variable substitution for the
proxycommandoption now makes the other instances available in a dict underinstances. And addsknown_hosts. [fschulze] - Load plugins via entry points instead of the
pluginsection in the config. [fschulze] - Allow fallback to password for ssh to plain instances. [fschulze]
- Add option to ask for manual fingerprint validation for plain instances. [fschulze]
- Use os.path.expanduser on all paths, so that one can use ~ in config values like the aws keys. [fschulze]
- There is no need to add the AWS account id to security group names anymore. [fschulze]
- Rules are removed from security groups if they aren't defined in the config. [fschulze]
- Allow adding of custom config massagers from inside the config. [fschulze]
- Support block device maps to enable use of more than one ephemeral disk. [fschulze]
- Added
domethod on ec2 and plain instances which allows to call fabric commands. [fschulze] - Use PathMassager for
access-key-idandsecret-access-keyin theec2-mastersection. This might break existing relative paths for these options. [fschulze] - Added support for EBS boot instances. [fschulze]
- Add option
ssh-key-filenameto point to a private ssh key for ec2 and plain instances. [fschulze] - Fix Fabric integration for newer versions of Fabric. [fschulze]
- Support
proxycommandoption for plain instances. This also caused a change in theinit_ssh_keyAPI for plugins. [fschulze] - Support
ProxyCommandfrom~/.ssh/configfor plain instances. Requires Fabric 1.5.0 and Paramiko 1.9.0 or newer. [fschulze]
- Support both the
sshandparamikolibraries depending on which Fabric version is used. [fschulze]
- Added
ec2-connectionwhich helps in writing Fabric scripts which don't connect to a server but need access to the config and AWS (like uploading something to S3). [fschulze] - Fix several problems with using a user name other than
rootfor thedoandsshcommands. [fschulze] - Require Fabric >= 1.3.0. [fschulze]
- Require boto >= 2.0. [fschulze]
- Added hook for startup script options. [fschulze]
- Added possibility to configure hooks. [fschulze]
- Refactored to enable plugins for different virtualization or cloud providers. [fschulze]
- Added lots of tests. [fschulze]
- Overwrites now also affect server creation, not just the startup script. [fschulze]
- Added
listcommand which supports just listingsnapshotsfor now. [fschulze] - Added
delete-volumes-on-terminateoption to delete volumes created from snapshots on instance termination. [fschulze] - Added support for creating volumes from snapshots on instance start. [natea, fschulze]
- Added support for
~/.ssh/config. This is a bit limited, because the paramiko config parser isn't very good. [fschulze] - Added
helpcommand which provides some info for zsh autocompletion. [fschulze]
- For the
docommand the Fabric optionsreject_unknown_hostsanddisable_known_hostsnow default to true. [fschulze] - Allow adding normal servers to use with
sshanddocommands. [fschulze] - Refactored ssh connection handling to only open network connections when
needed. Any fabric option which doesn't need a connection runs right away
now (like
-hand-l). [fschulze] - Fix status output after
start. [fschulze]
- Added
snapshotmethod to Server class for easy access from fabfiles. [fschulze]
- It's now possible to specify files which contain the aws keys in the
[aws]section with theaccess-key-idandsecret-access-keyoptions. [fschulze] - Added
-c/--configoption to specify the config file to use. [fschulze] - Added
-v/--versionoption. [tomster (Tom Lazar), fschulze] - Comment lines in the startup script are now removed before any variables in it are expanded, not afterwards. [fschulze]
- Use argparse library instead of optparse for more powerful command line parsing. [fschulze]
- Added gzipping of startup script by looking for
gzip:prefix in the filename. [fschulze] - Added macro expansion similar to zc.buildout 1.4. [fschulze]
- Check console output in
statusand tell user about it. [fschulze] - Friendly message instead of traceback when trying to ssh into an unavailable server. [fschulze]
- Remove comment lines from startup script if it's starting with
#!/bin/shor#!/bin/bash. [fschulze] - Removed
-roption forstartanddebugcommands and replaced it with more general-ooption. [fschulze] - Made startup script optional (not all AMIs support it, especially Windows ones). [fschulze]
- The
stopcommand actually only stops an instance now (only works with instances booted from an EBS volume) and the newterminatecommand now does whatstopdid before. [fschulze] - Better error message when no console output is available for ssh finger print validation. [fschulze]
- Fixed indentation in documentation. [natea (Nate Aune), fschulze]
- Removed the
[host_string]prefix of thedocommand output. [fschulze]
- Snapshots automatically get a description with date and volume id. [fschulze]
- The ssh command can now be used with scp and rsync. [fschulze]
- Initial release [fschulze]