Commit graph

20 commits

Author SHA1 Message Date
GitLab Bot
44baf08d4f Add latest changes from gitlab-org/gitlab@master 2019-11-18 06:06:20 +00:00
GitLab Bot
33813f993b Add latest changes from gitlab-org/gitlab@master 2019-10-24 12:06:03 +00:00
GitLab Bot
e464f195ff Add latest changes from gitlab-org/gitlab@master 2019-10-14 12:06:14 +00:00
Thong Kuah
90aafe78ae Removes clusters_cte feature flag
This has been enabled on production without issue

https://gitlab.com/gitlab-org/gitlab-ce/issues/64259
2019-07-17 20:01:08 +12:00
Thong Kuah
3bc76511a0 Create CTE query for clusters hierarchy
- This enables us to use a scope to query all clusters in group
hierarchy order in one query, and also enables us to union to instance
clusters later.

- Handle case where clusters not present at level. In which case the
query should go ahead and return the next level's clusters.

- Swap with new CTE query behind Feature flag. This FF is default
disabled.
2019-07-08 06:03:09 +00:00
Thong Kuah
8152efbe2f Remove instance_clusters feature_flag
Now we have terminals for instance and group clusters we can remove the
FF now. Deploying to instance clusters has been working without
complaints too.
2019-06-28 01:24:05 +12:00
Thong Kuah
3f759e1674 Remove group_clusters feature flag
Now we have terminals for instance and group clusters we can remove the
FF now. Deploying to group clusters has been working without complaints
too.
2019-06-28 00:28:03 +12:00
Tiger
da5c00d1c6 Remove Kubernetes service from deployment platform
This will no longer be used for deployments, as all
service templates have been migrated to clusters.
2019-06-21 11:35:13 +10:00
James Fargher
0aeef7335f Convert instance level clusters enabled to class method 2019-05-07 08:37:04 +12:00
James Fargher
8db382b055 Allow projects to use instance level clusters
There are two cluster hierarchies one for the deployment platform and
one for controllers. The main difference is that deployment platforms do
not check user permissions and only return the first match.
2019-05-07 08:37:03 +12:00
Thong Kuah
ebf87fd9c2 Unify into :group_clusters feature flag
With this MR, group clusters is now functional, so default to enabled.

Have a single setting on the root ancestor group to enabled or disable
group clusters feature as a whole
2018-12-05 10:16:44 +13:00
Thong Kuah
f85440e63c Various improvements to hierarchy sorting
- Rename ordered_group_clusters_for_project ->
ancestor_clusters_for_clusterable
- Improve name of order option. It makes much more sense to have `hierarchy_order: :asc`
and `hierarchy_order: :desc`
- Allow ancestor_clusters_for_clusterable for group
- Re-use code already present in Project
2018-12-05 10:16:44 +13:00
Thong Kuah
5bb2814ae6 Deploy to clusters for a project's groups
Look for matching clusters starting from the closest ancestor, then go
up the ancestor tree.

Then use Ruby to get clusters for each group in order. Not that
efficient, considering we will doing up to `NUMBER_OF_ANCESTORS_ALLOWED`
number of queries, but it's a finite number

Explicitly order query by depth

This allows us to control ordering explicitly and also to reverse the
order which is useful to allow us to be consistent with
Clusters::Cluster.on_environment (EE) which does reverse ordering.

Puts querying group clusters behind Feature Flag. Just in case we have
issues with performance, we can easily disable this
2018-12-05 10:16:44 +13:00
Thong Kuah
0e15eec86d Associate clusters model to groups
Even though we currently only should have one group for a cluster, we
allow the flexibility to associate to other groups in the future.

This also matches the runner <=> groups association.

- Adds Cluster#first_group, aliased to Cluster#group. For the
conceivable future, a cluster will have at most one group.

- Prevent mixing of group and project clusters. If project type
clusters, it should only have projects assigned.  Similarly with groups.

- Default cluster_type to :project_type. As it's very small table we can
set default and null: false in one release.
2018-10-29 16:21:31 +13:00
gfyoung
15b878e27e Enable more frozen string in app/models/**/*.rb
Partially addresses #47424.
2018-08-07 00:37:36 -07:00
Mayra Cabrera
1a79beff6e Re-arrange deployment_platform to avoid cop complainments 2018-03-26 16:59:27 -06:00
Mayra Cabrera
ca59bfdc66 Rearrange DeploymentPlatform methods
- Change find_cluster_platform_kubernetes to ignore environment argument
- Fix broken specs

CE Port of: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/5047/
2018-03-22 14:52:33 -06:00
Lin Jen-Shin
0917e81783 Unify deployment_platform interface with EE 2018-03-07 18:14:25 +08:00
Lin Jen-Shin
8b3b28b8d8 Just try to detect and assign once 2018-01-05 15:32:31 +08:00
Mayra Cabrera
93e9793ce3 Create Kubernetes based on Application Templates 2018-01-04 22:35:41 +00:00