Tim Van Steenburgh [Mon, 27 Feb 2017 14:20:17 +0000 (09:20 -0500)]
Replace pass with NotImplementedError in method stubs
This is arguably more user-friendly than silently passing when an
unimplemented method is called.
Fixes #58.
Tim Van Steenburgh [Fri, 24 Feb 2017 17:37:49 +0000 (12:37 -0500)]
Merge pull request #56 from juju/issues/51
Implement Model.add_machine()
Tim Van Steenburgh [Fri, 24 Feb 2017 15:01:11 +0000 (10:01 -0500)]
Enable parallel testing
Should help speed up tests, especially as more functional tests
are added in the future. Each can be run in parallel on a separate
model.
Also removed unused import from client/connection.py
Tim Van Steenburgh [Fri, 24 Feb 2017 14:39:08 +0000 (09:39 -0500)]
Make Machine.destroy() block
Block the current coro until the machine is actually removed
from the remote model. This follows the same pattern as other
operations, e.g. Model.deploy().
Also clean up tests, making each functional test run on its
own clean model.
Tim Van Steenburgh [Thu, 23 Feb 2017 22:28:36 +0000 (17:28 -0500)]
Add functional tests for Model.add_machine()
Clean up other tests, ensuring that connections are closed
and a new event loop is used for each test.
Update py.test args in tox.ini to properly on nocapture so
logging output can be seen when needed.
Tim Van Steenburgh [Wed, 22 Feb 2017 16:05:32 +0000 (11:05 -0500)]
Correct MB/GB constants
Tim Van Steenburgh [Tue, 21 Feb 2017 18:57:30 +0000 (13:57 -0500)]
Implement Model.add_machine()
Also fixes a bug that was causing the 'to' parameter to
Model.deploy() to not be handled correctly.
Add docs and examples for adding machines and containers
and deploying charms to them.
Fixes #51.
Tim Van Steenburgh [Fri, 17 Feb 2017 17:45:47 +0000 (12:45 -0500)]
Merge pull request #55 from petevg/bug/fix-placement-docstring
Updated docstring for placement directive in python-libjuju.
Pete Vander Giessen [Fri, 17 Feb 2017 17:10:58 +0000 (12:10 -0500)]
Updated docstring for placement directive in python-libjuju.
Tim Van Steenburgh [Thu, 16 Feb 2017 16:03:03 +0000 (11:03 -0500)]
Update changelog for 0.2.0
Tim Van Steenburgh [Thu, 16 Feb 2017 15:50:59 +0000 (10:50 -0500)]
v0.2.0
Tim Van Steenburgh [Mon, 30 Jan 2017 15:24:56 +0000 (10:24 -0500)]
Merge pull request #47 from petevg/feature/fix-juju-ssh
Dropped in fixes for juju ssh.
Pete Vander Giessen [Mon, 30 Jan 2017 15:09:36 +0000 (10:09 -0500)]
Simplified call to run_in_exector
ThreadPoolExecutor is the default, so we don't need to import it.
Pete Vander Giessen [Mon, 30 Jan 2017 15:06:28 +0000 (10:06 -0500)]
Better fix for moving stuff into an Executor.
Hides all the underpinnings in the utils class.
Pete Vander Giessen [Fri, 27 Jan 2017 23:32:50 +0000 (18:32 -0500)]
Create a new model for each test run of examples/add_model.py.
Pete Vander Giessen [Fri, 27 Jan 2017 23:00:35 +0000 (18:00 -0500)]
Moved execution of utils.read_ssh_key to a thread.
It's a blocking operation, so into a thread it goes!
Pete Vander Giessen [Fri, 27 Jan 2017 22:47:14 +0000 (17:47 -0500)]
Fixed error in add_model example.
We weren't actually awaiting the 'juju ssh' test, and had a mistake in
the command, to boot.
Pete Vander Giessen [Tue, 24 Jan 2017 23:31:01 +0000 (18:31 -0500)]
Dropped in fixes for juju ssh.
Workaround for https://bugs.launchpad.net/juju/+bug/1643076
This requires dropping to the cli client, but it does give us machines
that actually have the juju admin's ssh key.
Tim Van Steenburgh [Tue, 17 Jan 2017 22:31:28 +0000 (17:31 -0500)]
Merge pull request #46 from juju/feature/loop-helper
Add loop helpers and simplify deploy example
Cory Johns [Tue, 17 Jan 2017 22:17:11 +0000 (17:17 -0500)]
Add loop helpers and simplify deploy example
Cory Johns [Fri, 6 Jan 2017 18:39:56 +0000 (13:39 -0500)]
Merge pull request #44 from juju/local-charm-bundle-support
Add support for local charms
Tim Van Steenburgh [Fri, 6 Jan 2017 18:29:22 +0000 (13:29 -0500)]
Refactoring
- remove superfluous ensure_future() wrappers
- Make Model.deploy() call add_local_charm_dir() implicitly
if it's passed a local charm dir path.
Tim Van Steenburgh [Thu, 5 Jan 2017 20:55:44 +0000 (15:55 -0500)]
Add support for local charms
- Adds support for deploying local charms.
- Adds support for using local charm paths in bundles.
Tim Van Steenburgh [Thu, 5 Jan 2017 21:59:01 +0000 (16:59 -0500)]
Merge pull request #43 from juju/feature/get-controller-cloud
Add ability to get cloud for controller
Cory Johns [Thu, 5 Jan 2017 21:50:10 +0000 (16:50 -0500)]
Add ability to get cloud for controller
Also use this as default when just a credential is given
Tim Van Steenburgh [Thu, 5 Jan 2017 14:27:18 +0000 (09:27 -0500)]
Fix bug in Model.destroy_unit()
Tim Van Steenburgh [Wed, 4 Jan 2017 22:04:31 +0000 (17:04 -0500)]
Merge pull request #40 from juju/deploy-errors
Detect errors in bundle deploy
Cory Johns [Wed, 4 Jan 2017 21:57:20 +0000 (16:57 -0500)]
Detect errors in bundle deploy
Tim Van Steenburgh [Mon, 26 Dec 2016 15:40:21 +0000 (10:40 -0500)]
Add changelog to docs
Tim Van Steenburgh [Sat, 24 Dec 2016 14:03:42 +0000 (09:03 -0500)]
Docs
Tim Van Steenburgh [Fri, 23 Dec 2016 15:00:08 +0000 (10:00 -0500)]
Merge pull request #39 from juju/bug/show-controller
Fixed detecting controller for non-superuser
Cory Johns [Thu, 22 Dec 2016 16:42:29 +0000 (11:42 -0500)]
Fixed detecting controller for non-superuser
The `show-controller` command can only be used by superusers, so usually
fails on shared controllers.
https://bugs.launchpad.net/juju/+bug/1652106
Tim Van Steenburgh [Thu, 22 Dec 2016 14:23:16 +0000 (09:23 -0500)]
v0.1.2
Tim Van Steenburgh [Thu, 22 Dec 2016 14:21:50 +0000 (09:21 -0500)]
Include docs in distribution
Tim Van Steenburgh [Thu, 22 Dec 2016 14:18:02 +0000 (09:18 -0500)]
v0.1.1
Tim Van Steenburgh [Thu, 22 Dec 2016 14:15:19 +0000 (09:15 -0500)]
Add MANIFEST.in
Need VERSION file included in distribution. Fixes #38.
Tim Van Steenburgh [Wed, 21 Dec 2016 16:06:21 +0000 (11:06 -0500)]
v0.1.0
Tim Van Steenburgh [Wed, 21 Dec 2016 15:59:44 +0000 (10:59 -0500)]
Docs
Tim Van Steenburgh [Tue, 20 Dec 2016 17:33:18 +0000 (12:33 -0500)]
Release prep
Tim Van Steenburgh [Tue, 20 Dec 2016 16:58:20 +0000 (11:58 -0500)]
Add long description for pypi
Tim Van Steenburgh [Tue, 20 Dec 2016 16:17:03 +0000 (11:17 -0500)]
Cleanup for first release
Tim Van Steenburgh [Tue, 20 Dec 2016 15:23:09 +0000 (10:23 -0500)]
Docs
Tim Van Steenburgh [Mon, 19 Dec 2016 18:33:16 +0000 (13:33 -0500)]
Add action example and docs
Cory Johns [Mon, 19 Dec 2016 17:54:03 +0000 (12:54 -0500)]
Merge pull request #37 from petevg/bug/36/fix-landscape-deploy
Fixes for landscape bundle.
Pete Vander Giessen [Fri, 16 Dec 2016 19:41:04 +0000 (14:41 -0500)]
Fixes for landscape bundle.
Parses constraints in some places where we weren't parsing them.
Normalizes keys in machine params.
Adds support for Placements on an lxd container *or* a machine.
Substitutes lxd containers for lxc containers.
Tim Van Steenburgh [Thu, 15 Dec 2016 17:11:56 +0000 (12:11 -0500)]
Remove incorrect docstring
Tim Van Steenburgh [Thu, 15 Dec 2016 17:08:55 +0000 (12:08 -0500)]
Unit.run() docs
Tim Van Steenburgh [Wed, 14 Dec 2016 22:35:03 +0000 (17:35 -0500)]
Merge pull request #31 from juju/tweaks
Minor improvements
Cory Johns [Fri, 9 Dec 2016 21:56:28 +0000 (16:56 -0500)]
Minor improvements
* Sleep a small amount in block_until to avoid CPU-heavy busy-wait
* Better repr of ModelEntities for debugging
* Better errors when statuses accessed on dead units and applications
Tim Van Steenburgh [Wed, 14 Dec 2016 16:04:49 +0000 (11:04 -0500)]
Merge pull request #34 from petevg/bug/fix-z-in-timestamp
Improved datetime parsing for unit.py
Pete Vander Giessen [Tue, 13 Dec 2016 22:13:41 +0000 (17:13 -0500)]
Improved datetime parsing for unit.py
Now uses dateutils lib to handle timezones, nanoseconds, and other
headaches.
Tim Van Steenburgh [Tue, 13 Dec 2016 18:16:19 +0000 (13:16 -0500)]
Trivial bug fix
Tim Van Steenburgh [Tue, 13 Dec 2016 17:56:39 +0000 (12:56 -0500)]
Relation docs
Tim Van Steenburgh [Tue, 13 Dec 2016 15:32:06 +0000 (10:32 -0500)]
Docs
Tim Van Steenburgh [Fri, 9 Dec 2016 17:26:21 +0000 (12:26 -0500)]
s/service_name/application_name/g
Tim Van Steenburgh [Fri, 9 Dec 2016 15:57:30 +0000 (10:57 -0500)]
add_model() can accept just a model name
Tim Van Steenburgh [Thu, 8 Dec 2016 21:01:58 +0000 (16:01 -0500)]
Make add_model() more user-friendly
Tim Van Steenburgh [Tue, 6 Dec 2016 19:49:27 +0000 (14:49 -0500)]
Docs for connecting to a controller
Tim Van Steenburgh [Tue, 6 Dec 2016 19:23:16 +0000 (14:23 -0500)]
Add more connect_ methods on Controller
Tim Van Steenburgh [Tue, 6 Dec 2016 19:03:48 +0000 (14:03 -0500)]
Macaroon auth doc
Tim Van Steenburgh [Tue, 6 Dec 2016 16:56:18 +0000 (11:56 -0500)]
Docs
Tim Van Steenburgh [Wed, 30 Nov 2016 14:10:42 +0000 (09:10 -0500)]
Fix sphinx parsing errors
Tim Van Steenburgh [Wed, 30 Nov 2016 05:02:46 +0000 (00:02 -0500)]
Start getting docs updated
Tim Van Steenburgh [Wed, 30 Nov 2016 14:09:18 +0000 (09:09 -0500)]
Merge pull request #25 from juju/local-bundle-deploy
Add support for deploying local bundles
Tim Van Steenburgh [Wed, 30 Nov 2016 14:09:07 +0000 (09:09 -0500)]
Merge pull request #28 from petevg/bug/fixes-for-null-cases
Bug/fixes for null cases
Tim Van Steenburgh [Wed, 30 Nov 2016 13:59:57 +0000 (08:59 -0500)]
Merge pull request #26 from simonklb/get-metrics
Minor fix to get_metrics
Pete Vander Giessen [Wed, 30 Nov 2016 13:11:24 +0000 (08:11 -0500)]
addUnits no longer attempts to send [None] for `placement`.
This happens when we attempt to parse_placement on a null or blank
directive, and it leads to a null pointer error in the API. Instead, we
pass a simple None for `placement` if we don't have a placement
directive.
Pete Vander Giessen [Wed, 30 Nov 2016 02:11:12 +0000 (21:11 -0500)]
Fixed two "null case" bugs:
add_unit no longer fails when we pass "None" for our placement
directive.
checking leadership on a subordinate no longer fails, as we are more
careful about pull stuff out of the full status map.
Simon Kollberg [Wed, 30 Nov 2016 08:21:39 +0000 (09:21 +0100)]
Minor fix to get_metrics
json -> dict
Tim Van Steenburgh [Wed, 30 Nov 2016 00:10:18 +0000 (19:10 -0500)]
Merge pull request #24 from juju/placement-fix
NoneType and style fixes for placement parsing lib
Cory Johns [Tue, 29 Nov 2016 23:44:34 +0000 (18:44 -0500)]
NoneType and style fixes for placement parsing lib
Cory Johns [Tue, 29 Nov 2016 23:29:10 +0000 (18:29 -0500)]
Add support for deploying local bundles
Tim Van Steenburgh [Tue, 29 Nov 2016 18:22:21 +0000 (13:22 -0500)]
Get ModelInfo when Model connected
Tim Van Steenburgh [Tue, 29 Nov 2016 15:09:30 +0000 (10:09 -0500)]
Merge pull request #23 from petevg/bug/instance-placement-bug
Added Placement parser.
Pete Vander Giessen [Mon, 28 Nov 2016 21:36:50 +0000 (16:36 -0500)]
Added Placement parser.
Interim workaround for https://bugs.launchpad.net/juju/+bug/1645480,
where the websocket API will not accept the placement string that the
planner generates.
Tim Van Steenburgh [Mon, 28 Nov 2016 23:47:26 +0000 (18:47 -0500)]
Merge pull request #21 from petevg/bug/add-machines-params-passing
Fixed addMachines.
Pete Vander Giessen [Mon, 28 Nov 2016 22:41:30 +0000 (17:41 -0500)]
Fixed docstring for addMachines.
Container_type -> container_type
Pete Vander Giessen [Mon, 28 Nov 2016 22:02:50 +0000 (17:02 -0500)]
Clarified that params are optional.
Pete Vander Giessen [Mon, 28 Nov 2016 21:39:31 +0000 (16:39 -0500)]
Added deprecation notice, and a bit of forwards compatibilty.
Pete Vander Giessen [Mon, 28 Nov 2016 19:57:14 +0000 (14:57 -0500)]
Addressed comments in PR.
Tim Van Steenburgh [Mon, 28 Nov 2016 18:29:54 +0000 (13:29 -0500)]
lxd init must be run as root
Pete Vander Giessen [Mon, 28 Nov 2016 18:26:51 +0000 (13:26 -0500)]
Fixed addMachines.
We now accept a single dict called params, which is what we get back
from the planner, rather than expecting expanded arguments.
We do some parsing of constraints, to put them in a format that should
make juju core happy.
Tim Van Steenburgh [Mon, 28 Nov 2016 18:25:32 +0000 (13:25 -0500)]
Try newgrp alternative
newgrp only works in interactive mode. Try another means
of running commands in the lxd group.
Tim Van Steenburgh [Mon, 28 Nov 2016 17:07:44 +0000 (12:07 -0500)]
Add user to group before switching
Tim Van Steenburgh [Mon, 28 Nov 2016 16:48:47 +0000 (11:48 -0500)]
Avoid password prompt on newgrp
Tim Van Steenburgh [Mon, 28 Nov 2016 16:39:14 +0000 (11:39 -0500)]
Switch to lxd group
Tim Van Steenburgh [Mon, 28 Nov 2016 16:27:14 +0000 (11:27 -0500)]
Install juju from daily ppa for now
Tim Van Steenburgh [Thu, 24 Nov 2016 15:13:53 +0000 (10:13 -0500)]
Merge pull request #20 from simonklb/get-metrics
Add get metrics
Tim Van Steenburgh [Thu, 24 Nov 2016 15:06:05 +0000 (10:06 -0500)]
Merge pull request #19 from sfeole/destroy-models-libjuju
added juju.controller.destroy_models()
Simon Kollberg [Thu, 24 Nov 2016 14:23:37 +0000 (15:23 +0100)]
Add get metrics
Sean Feole [Wed, 23 Nov 2016 15:23:04 +0000 (10:23 -0500)]
Updated juju.controller.destroy_models(), prepend 'model-' to UUID and pass a single string of objects rather than individual objects
Tim Van Steenburgh [Tue, 22 Nov 2016 21:20:29 +0000 (16:20 -0500)]
Merge pull request #16 from petevg/bug/keyerror-in-is-leader
Added a catch for the case where we call is_leader_from_status on a destroyed unit.
Tim Van Steenburgh [Tue, 22 Nov 2016 21:19:27 +0000 (16:19 -0500)]
Merge pull request #18 from juju/bug/17/keyerror-deploy-expose
Wait for apps during bundle deploy
Cory Johns [Tue, 22 Nov 2016 19:24:52 +0000 (14:24 -0500)]
Wait for apps during bundle deploy
This ensures subsequent operations, such as expose, have the ModelEntity
to work with.
Fixes #17
Sean Feole [Tue, 22 Nov 2016 20:59:39 +0000 (15:59 -0500)]
added juju.controller.destroy_models()
Pete Vander Giessen [Tue, 22 Nov 2016 18:07:44 +0000 (13:07 -0500)]
Added a catch for the case where we call is_leader_from_status on a
destroyed unit.
Tim Van Steenburgh [Tue, 22 Nov 2016 13:49:19 +0000 (08:49 -0500)]
Merge pull request #15 from juju/run-action
Implement Unit.run_action
Cory Johns [Mon, 21 Nov 2016 21:46:32 +0000 (16:46 -0500)]
Implement Unit.run_action
Tim Van Steenburgh [Mon, 21 Nov 2016 22:08:35 +0000 (17:08 -0500)]
Merge pull request #13 from petevg/feature/unit-is-leader
Added .is_leader method to Unit class.
Pete Vander Giessen [Mon, 21 Nov 2016 21:49:40 +0000 (16:49 -0500)]
Added .is_leader method to Unit class.
As leadership is not exposed via deltas in the current version of the
juju websocket api, we have to spin up a ClientFacade and dig through
FullStatus for the information we need.
A ticket for adding leadership info to the deltas lives here:
https://bugs.launchpad.net/juju/+bug/1643691