Merge cross model relations feature branch #6473

Merged
merged 227 commits into from Oct 20, 2016

Conversation

Projects
None yet
5 participants
Owner

wallyworld commented Oct 19, 2016

This PR merges the cross model relations feature branch. The vast majority of the work has been reviewed previously for landing into the feature branch.

The main commit to look at is:
dbf2140

The above commit adds the cross model feature flag to hide the cross model relations features - CLI, facades, and database collections.

As a side effect, the work in the feature branch also fixes:
https://bugs.launchpad.net/juju/+bug/1621754

QA:
bootstrap and use a 2.0.0 GA client to deploy and relate services
bootstrap and ensure cross model stuff works with feature flag

wallyworld and others added some commits Oct 29, 2015

Merge pull request #3635 from anastasiamac/x-model-offer
Offer command.

Initial cross model relations offer cli, api and apiserver placeholder.
For now, until state is done, apiserver holds needed info in-memory.

(Review request: http://reviews.vapour.ws/r/3038/)
Merge pull request #3618 from wallyworld/remote-service-state
[WIP] Add initial state model for remote services

Define the state model and associated methods for remote services.
There are methods to allow local services to be related to remote services.
The relevant relation infrastructure has been adapted to support report services, including deleting the remote service entry when the last relation has been removed. We also add an IsRemote flag to Endpoint to record if the endpoint is from a remote service or not.


(Review request: http://reviews.vapour.ws/r/3022/)
Merge pull request #3643 from wallyworld/service-directory-state
Add state model for service directory

Add state model for a remote service directory. This is used to store offered endpoints for environments within the host controller.

(Review request: http://reviews.vapour.ws/r/3046/)
Merge pull request #3714 from axw/allwatcher-remote-service
state: add remote services to allwatcher
Merge pull request #3699 from wallyworld/service-directory-facade
Add service directory facade and associated stubs

We add an api facade to provide service directory functionality which will be hosted by a controller.
Also provide parsing for service URLs.

There are todos for the back end state functionality. These will be added in a subsequent branch. Feature tests will also be added later.

A ServiceDirectory interface is used to define the capability of the directory - this will allow a https based implementation to be added later.

(Review request: http://reviews.vapour.ws/r/3104/)
Merge pull request #3725 from wallyworld/wireup-service-directory
Add service URL factory and wire up service directory facade to state

We remove some obsolete code and wire up the service directory facade on the apiserver side to state.

We also add a factory that takes a service url and returns the correct facade to use to process the URL. Only local: current supported.

(Review request: http://reviews.vapour.ws/r/3131/)

jujubot and others added some commits Dec 16, 2015

Merge pull request #3973 from wallyworld/support-add-relation
Support add-relation for remote services

Make add-relation work for remote services.

We move the AddRelation and DestroyRelation api calls off the client facade and onto the service facade. Most of this PR relates to moving code and tests; all the large chunks of red and green. The tests moved from apiserver/client needed tweaking to make them work in apiserver/service.

The add-relation command is modified to use the service facade which has been bumped to version 2. Client facade shims are retained to support the GUI.

(Review request: http://reviews.vapour.ws/r/3395/)
Merge pull request #3985 from wallyworld/support-add-relation-2
Support add relation - part 2

Add more back end code to allow remote relations to be added.

(Review request: http://reviews.vapour.ws/r/3407/)
Merge pull request #4019 from wallyworld/delta-order-relations-last
Delta order relations last

Ensure slice of deltas has relations last in the list.

(Review request: http://reviews.vapour.ws/r/3438/)
Merge pull request #4022 from wallyworld/service-directory-system-env
Use system env for local service directory

API calls to list offers from service directory use correct env now.

(Review request: http://reviews.vapour.ws/r/3441/)
Merge pull request #4028 from wallyworld/remote-service-status
Add remote service info to status

Modify juju status so that it displays remote service information.
yaml, tabular, summary formats are updated

(Review request: http://reviews.vapour.ws/r/3447/)
Merge pull request #4027 from wallyworld/find-endpoints-command
Add find-endpoints command

Two major changes:

1. juju find-endpoints which allows the user to see what services have been offered
Includes:
- CLI command
- api and apiserver components
- feature tests

TODO - we still don't filter on endpoint name or interface

2. fix issues with juju show-endpoint command
- description column too narrow
- words in description were omitted

(Review request: http://reviews.vapour.ws/r/3446/)
Merge pull request #4035 from axw/cmr-merge-master
Cross-model relations: merge master



(Review request: http://reviews.vapour.ws/r/3454/)
Merge pull request #6466 from wallyworld/merge-develop-1410
Merge develop branch

Merge develop branch in preparation for merging feature branch back into develop.
Merge pull request #6470 from wallyworld/cross-model-feature-flag
Add cross-model feature flag to hide cross model relations functionality until it is ready. This includes CLI, API facades, and database collections.

in the wrong place

Owner

wallyworld replied Oct 19, 2016

fixed here and elsewhere

The documentation for the non-feature flag case appears to be lost

Owner

wallyworld replied Oct 19, 2016

There never was any doc for the non feature flag case. Just a single line of text for Purpose.

wallyworld added some commits Oct 19, 2016

Merge pull request #6478 from wallyworld/more-crossmodel-featureflag
Add cross-model feature flag checks to more places to avoid trying to invoke missing functionality when the flag is not set.

mjs approved these changes Oct 20, 2016

Owner

wallyworld commented Oct 20, 2016

$$merge$$

Contributor

jujubot commented Oct 20, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

Contributor

jujubot commented Oct 20, 2016

Build failed: Tests failed
build url: http://juju-ci.vapour.ws:8080/job/github-merge-juju/9536

Owner

wallyworld commented Oct 20, 2016

$$merge$$

Contributor

jujubot commented Oct 20, 2016

Status: merge request accepted. Url: http://juju-ci.vapour.ws:8080/job/github-merge-juju

@jujubot jujubot merged commit 6bb1eb5 into develop Oct 20, 2016

1 check passed

github-check-merge-juju Built PR, ran unit tests, and tested LXD deploy.
Details

@sinzui sinzui deleted the cross-model-relations branch Nov 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment