osm/N2VC.git
7 years agoMerge pull request #74 from petevg/bug/fix-invalid-annotations
Pete Vander Giessen [Tue, 7 Mar 2017 21:40:58 +0000 (15:40 -0600)]
Merge pull request #74 from petevg/bug/fix-invalid-annotations

Raise errors in a centralized fashion.

7 years agoMerge branch 'master' into bug/fix-invalid-annotations
Pete Vander Giessen [Tue, 7 Mar 2017 21:20:39 +0000 (15:20 -0600)]
Merge branch 'master' into bug/fix-invalid-annotations

7 years agoMerge pull request #63 from juju/feature/model_get_status
Cory Johns [Tue, 7 Mar 2017 21:12:57 +0000 (15:12 -0600)]
Merge pull request #63 from juju/feature/model_get_status

Fixes for conjure-up

7 years agoFixed up tests.
Pete Vander Giessen [Tue, 7 Mar 2017 19:34:25 +0000 (13:34 -0600)]
Fixed up tests.

7 years agoUnit test for series logic
Cory Johns [Tue, 7 Mar 2017 20:35:23 +0000 (14:35 -0600)]
Unit test for series logic

7 years agoRaise errors in a centralized fashion.
Pete Vander Giessen [Tue, 7 Mar 2017 16:30:00 +0000 (10:30 -0600)]
Raise errors in a centralized fashion.

Fixes error with annotations that's exposed when we actually run tests
with the "raise errors" fix.

Added tests to verify that errors get raised.

7 years agoFixes based on review
Cory Johns [Tue, 7 Mar 2017 15:41:29 +0000 (09:41 -0600)]
Fixes based on review

7 years agoFix single app deploy not using config_yaml
Cory Johns [Fri, 3 Mar 2017 19:39:45 +0000 (14:39 -0500)]
Fix single app deploy not using config_yaml

Refactored to reduce duplicated code and ensure that both deploy paths
(bundle and single app) use new config_yaml param instead of config.

7 years agoImprove constraints parsing for empty values
Cory Johns [Fri, 3 Mar 2017 16:30:49 +0000 (11:30 -0500)]
Improve constraints parsing for empty values

7 years agoRetry calls to charmstore and increase timeout to 5s
Cory Johns [Fri, 3 Mar 2017 16:16:04 +0000 (11:16 -0500)]
Retry calls to charmstore and increase timeout to 5s

7 years agoAdded integration test for explicit loop and threaded functionality
Cory Johns [Thu, 2 Mar 2017 21:50:21 +0000 (16:50 -0500)]
Added integration test for explicit loop and threaded functionality

7 years agoMake connect_model and deploy a bit more friendly
Cory Johns [Thu, 2 Mar 2017 21:41:49 +0000 (16:41 -0500)]
Make connect_model and deploy a bit more friendly

7 years agoFix self.loop reference in BundleHandler
Cory Johns [Thu, 2 Mar 2017 16:02:10 +0000 (11:02 -0500)]
Fix self.loop reference in BundleHandler

7 years agoFix invalid model name if already contains username
Cory Johns [Thu, 2 Mar 2017 14:40:39 +0000 (09:40 -0500)]
Fix invalid model name if already contains username

7 years agoPass through event loop
Cory Johns [Wed, 1 Mar 2017 17:02:24 +0000 (12:02 -0500)]
Pass through event loop

There were several places where the default event loop was used instead
of the given event loop.

7 years agoFix model name not including user
Cory Johns [Wed, 1 Mar 2017 16:49:58 +0000 (11:49 -0500)]
Fix model name not including user

The model names in models.yaml include the username prefix.

Also fixed a lint error.

7 years agoImplement Model.get_status
Cory Johns [Wed, 1 Mar 2017 00:09:46 +0000 (19:09 -0500)]
Implement Model.get_status

7 years agoMerge pull request #66 from petevg/bug/fix-landscape-deploy
Tim Van Steenburgh [Thu, 2 Mar 2017 21:26:02 +0000 (16:26 -0500)]
Merge pull request #66 from petevg/bug/fix-landscape-deploy

Use config-yaml by default when deploying a bundle.

7 years agoMerge pull request #68 from petevg/bug/fix-integration-tests-xenial
Tim Van Steenburgh [Thu, 2 Mar 2017 18:03:13 +0000 (13:03 -0500)]
Merge pull request #68 from petevg/bug/fix-integration-tests-xenial

Explicitly set basepython=python3 for integration tests.

7 years agoExplicitly set basepython=python3 for integration tests.
Pete Vander Giessen [Thu, 2 Mar 2017 17:09:49 +0000 (12:09 -0500)]
Explicitly set basepython=python3 for integration tests.

Fixes them on machines that don't have python3 set as the default.

7 years agoMerge pull request #64 from juju/issues/27
Tim Van Steenburgh [Thu, 2 Mar 2017 15:40:54 +0000 (10:40 -0500)]
Merge pull request #64 from juju/issues/27

Add integration tests.

7 years agoUse config-yaml by default when deploying a bundle.
Pete Vander Giessen [Thu, 2 Mar 2017 14:25:10 +0000 (09:25 -0500)]
Use config-yaml by default when deploying a bundle.

This invokes better/more modern behavior for blank strings in the
options for a given charm in the bundle.yaml. Specifically, it allows us
to deploy landscap-dense-maas without running into a KeyError.

This has been tested by using matrix to successfully deploy
landscape-dense-maas, using the code in this PR.

7 years agoAdd integration tests.
Tim Van Steenburgh [Wed, 1 Mar 2017 05:44:06 +0000 (00:44 -0500)]
Add integration tests.

- Covers most of what is demonstrated in the examples/ directory.
- The integration tests are not run by default (with the 'tox' command),
  but they are run by TravisCI.
- Each integration test gets its own clean model in which to run, which
  is destroyed at the end of the test. See tests.base.CleanModel.
- Includes charmstore and local bundle tests (local bundle has machine
  and placement directives).

Fixes #27.

7 years agoUpdate add_machine example in docs.
Tim Van Steenburgh [Mon, 27 Feb 2017 15:12:52 +0000 (10:12 -0500)]
Update add_machine example in docs.

Add some missing constants and show how machines are destroyed.

7 years agoUpdate changelog for 0.3.0
Tim Van Steenburgh [Mon, 27 Feb 2017 15:01:29 +0000 (10:01 -0500)]
Update changelog for 0.3.0

7 years agov0.3.0 0.3.0
Tim Van Steenburgh [Mon, 27 Feb 2017 14:44:40 +0000 (09:44 -0500)]
v0.3.0

7 years agoMerge pull request #59 from juju/issues/58
Tim Van Steenburgh [Mon, 27 Feb 2017 14:41:10 +0000 (09:41 -0500)]
Merge pull request #59 from juju/issues/58

Replace pass with NotImplementedError in method stubs

7 years agoReplace pass with NotImplementedError in method stubs
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.

7 years agoMerge pull request #56 from juju/issues/51
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()

7 years agoEnable parallel testing
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

7 years agoMake Machine.destroy() block
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.

7 years agoAdd functional tests for Model.add_machine()
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.

7 years agoCorrect MB/GB constants
Tim Van Steenburgh [Wed, 22 Feb 2017 16:05:32 +0000 (11:05 -0500)]
Correct MB/GB constants

7 years agoImplement Model.add_machine()
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.

7 years agoMerge pull request #55 from petevg/bug/fix-placement-docstring
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.

7 years agoUpdated 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.

7 years agoUpdate changelog for 0.2.0
Tim Van Steenburgh [Thu, 16 Feb 2017 16:03:03 +0000 (11:03 -0500)]
Update changelog for 0.2.0

7 years agov0.2.0 0.2.0
Tim Van Steenburgh [Thu, 16 Feb 2017 15:50:59 +0000 (10:50 -0500)]
v0.2.0

7 years agoMerge pull request #47 from petevg/feature/fix-juju-ssh
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.

7 years agoSimplified call to run_in_exector
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.

7 years agoBetter fix for moving stuff into an Executor.
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.

7 years agoCreate a new model for each test run of examples/add_model.py.
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.

7 years agoMoved execution of utils.read_ssh_key to a thread.
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!

7 years agoFixed error in add_model example.
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.

7 years agoDropped in fixes for juju ssh.
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.

7 years agoMerge pull request #46 from juju/feature/loop-helper
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

7 years agoAdd 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

7 years agoMerge pull request #44 from juju/local-charm-bundle-support
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

7 years agoRefactoring
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.

7 years agoAdd support for local charms
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.

7 years agoMerge pull request #43 from juju/feature/get-controller-cloud
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

7 years agoAdd 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

7 years agoFix bug in Model.destroy_unit()
Tim Van Steenburgh [Thu, 5 Jan 2017 14:27:18 +0000 (09:27 -0500)]
Fix bug in Model.destroy_unit()

7 years agoMerge pull request #40 from juju/deploy-errors
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

7 years agoDetect errors in bundle deploy
Cory Johns [Wed, 4 Jan 2017 21:57:20 +0000 (16:57 -0500)]
Detect errors in bundle deploy

7 years agoAdd changelog to docs
Tim Van Steenburgh [Mon, 26 Dec 2016 15:40:21 +0000 (10:40 -0500)]
Add changelog to docs

7 years agoDocs
Tim Van Steenburgh [Sat, 24 Dec 2016 14:03:42 +0000 (09:03 -0500)]
Docs

7 years agoMerge pull request #39 from juju/bug/show-controller
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

7 years agoFixed 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

7 years agov0.1.2 0.1.2
Tim Van Steenburgh [Thu, 22 Dec 2016 14:23:16 +0000 (09:23 -0500)]
v0.1.2

7 years agoInclude docs in distribution
Tim Van Steenburgh [Thu, 22 Dec 2016 14:21:50 +0000 (09:21 -0500)]
Include docs in distribution

7 years agov0.1.1 0.1.1
Tim Van Steenburgh [Thu, 22 Dec 2016 14:18:02 +0000 (09:18 -0500)]
v0.1.1

7 years agoAdd MANIFEST.in
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.

7 years agov0.1.0 0.1.0
Tim Van Steenburgh [Wed, 21 Dec 2016 16:06:21 +0000 (11:06 -0500)]
v0.1.0

7 years agoDocs
Tim Van Steenburgh [Wed, 21 Dec 2016 15:59:44 +0000 (10:59 -0500)]
Docs

7 years agoRelease prep
Tim Van Steenburgh [Tue, 20 Dec 2016 17:33:18 +0000 (12:33 -0500)]
Release prep

7 years agoAdd long description for pypi
Tim Van Steenburgh [Tue, 20 Dec 2016 16:58:20 +0000 (11:58 -0500)]
Add long description for pypi

7 years agoCleanup for first release
Tim Van Steenburgh [Tue, 20 Dec 2016 16:17:03 +0000 (11:17 -0500)]
Cleanup for first release

7 years agoDocs
Tim Van Steenburgh [Tue, 20 Dec 2016 15:23:09 +0000 (10:23 -0500)]
Docs

7 years agoAdd action example and docs
Tim Van Steenburgh [Mon, 19 Dec 2016 18:33:16 +0000 (13:33 -0500)]
Add action example and docs

7 years agoMerge pull request #37 from petevg/bug/36/fix-landscape-deploy
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.

7 years agoFixes 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.

7 years agoRemove incorrect docstring
Tim Van Steenburgh [Thu, 15 Dec 2016 17:11:56 +0000 (12:11 -0500)]
Remove incorrect docstring

7 years agoUnit.run() docs
Tim Van Steenburgh [Thu, 15 Dec 2016 17:08:55 +0000 (12:08 -0500)]
Unit.run() docs

7 years agoMerge pull request #31 from juju/tweaks
Tim Van Steenburgh [Wed, 14 Dec 2016 22:35:03 +0000 (17:35 -0500)]
Merge pull request #31 from juju/tweaks

Minor improvements

7 years agoMinor 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

7 years agoMerge pull request #34 from petevg/bug/fix-z-in-timestamp
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

7 years agoImproved 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.

7 years agoTrivial bug fix
Tim Van Steenburgh [Tue, 13 Dec 2016 18:16:19 +0000 (13:16 -0500)]
Trivial bug fix

7 years agoRelation docs
Tim Van Steenburgh [Tue, 13 Dec 2016 17:56:39 +0000 (12:56 -0500)]
Relation docs

7 years agoDocs
Tim Van Steenburgh [Tue, 13 Dec 2016 15:32:06 +0000 (10:32 -0500)]
Docs

7 years agos/service_name/application_name/g
Tim Van Steenburgh [Fri, 9 Dec 2016 17:26:21 +0000 (12:26 -0500)]
s/service_name/application_name/g

7 years agoadd_model() can accept just a model name
Tim Van Steenburgh [Fri, 9 Dec 2016 15:57:30 +0000 (10:57 -0500)]
add_model() can accept just a model name

7 years agoMake add_model() more user-friendly
Tim Van Steenburgh [Thu, 8 Dec 2016 21:01:58 +0000 (16:01 -0500)]
Make add_model() more user-friendly

7 years agoDocs for connecting to a controller
Tim Van Steenburgh [Tue, 6 Dec 2016 19:49:27 +0000 (14:49 -0500)]
Docs for connecting to a controller

7 years agoAdd more connect_ methods on Controller
Tim Van Steenburgh [Tue, 6 Dec 2016 19:23:16 +0000 (14:23 -0500)]
Add more connect_ methods on Controller

7 years agoMacaroon auth doc
Tim Van Steenburgh [Tue, 6 Dec 2016 19:03:48 +0000 (14:03 -0500)]
Macaroon auth doc

7 years agoDocs
Tim Van Steenburgh [Tue, 6 Dec 2016 16:56:18 +0000 (11:56 -0500)]
Docs

7 years agoFix sphinx parsing errors
Tim Van Steenburgh [Wed, 30 Nov 2016 14:10:42 +0000 (09:10 -0500)]
Fix sphinx parsing errors

7 years agoStart getting docs updated
Tim Van Steenburgh [Wed, 30 Nov 2016 05:02:46 +0000 (00:02 -0500)]
Start getting docs updated

7 years agoMerge pull request #25 from juju/local-bundle-deploy
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

7 years agoMerge pull request #28 from petevg/bug/fixes-for-null-cases
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

7 years agoMerge pull request #26 from simonklb/get-metrics
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

7 years agoaddUnits no longer attempts to send [None] for `placement`.
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.

7 years agoFixed two "null case" bugs:
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.

7 years agoMinor fix to get_metrics
Simon Kollberg [Wed, 30 Nov 2016 08:21:39 +0000 (09:21 +0100)]
Minor fix to get_metrics

json -> dict

7 years agoMerge pull request #24 from juju/placement-fix
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

7 years agoNoneType 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

7 years agoAdd support for deploying local bundles
Cory Johns [Tue, 29 Nov 2016 23:29:10 +0000 (18:29 -0500)]
Add support for deploying local bundles

7 years agoGet ModelInfo when Model connected
Tim Van Steenburgh [Tue, 29 Nov 2016 18:22:21 +0000 (13:22 -0500)]
Get ModelInfo when Model connected