Commit Graph
74 Commits
Author SHA1 Message Date
Sridhar GaddamandMiguel Angel Ajo Pelayo d38625a9fd Modify updateStrategy for Route-agent Pods
Currently, the updateStrategy for Route-agent pods is set to RollingUpdate
with maxUnavailable as 1. Because of this, when the route-agent DaemonSet
is updated, the Pods are updated one after the other. While the rolling
update strategy is good for user-facing services, for route-agent DaemonSet
its not the most suitable one as it takes time for all the route-agent pods
to be updated in a large cluster.

Ideally, it would have been great if "Recreate" updateStrategy was supported
for DaemonSets, but unfortunately K8s does not support it. But an alternate
way to achieve something similar is to configure rollingUpdate.maxUnavailable
to 100% so that the DaemonSet controller can update all the route-agent Pods
in a single go.

https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy

Fixes issue: https://github.com/submariner-io/submariner/issues/734

Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-08-21 10:05:46 +02:00
Daniel FarrellandThomas Pantelis ae84a0b409 Add link aliveness tests
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2020-08-20 14:36:53 -04:00
Stephen KittandMiguel Angel Ajo Pelayo 9d3a9b7f66 Rename "supercluster" to "clusterset"
The latter is the name chosen by the multi-cluster SIG.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2020-08-20 09:40:42 +02:00
Vishal ThaparandThomas Pantelis 8df47c6f85 Add roles for endpoints and endpointslices
* Add clusterrole to give lighthouse serviceaccount access to endpoints and
endpointslices
* Add role to give broker serviceaccont access to endpoint slices

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2020-08-07 07:54:15 -04:00
Vishal ThaparandThomas Pantelis fefd6b21ed Install gateway CRD on broker
If crd.create is set to false when installing submariner on same cluster
as broker, gateways CRD never gets installed because it is missing from
broker charts. This change is to install the CRD even on broker, as a
cleaner alternative to adding more flags.

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2020-07-21 11:35:31 -04:00
Vishal ThaparandThomas Pantelis 1954770672 Allow lighthouse access to gateways.submariner.io
Adds following permissions to lighthouse clusterrole
for `gateways.submariner.io`
 - get
 - list
 - watch

This allows lighthouse to track changes to gateway status and know which
clusters are connected.

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2020-07-20 11:16:04 -04:00
Sridhar GaddamandGitHub 7cc50b03d3 Reset terminationGracePeriodSeconds for SM Pods (#50)
In one of the earlier PRs, we modified the terminationGracePeriodSeconds
to 10 secs. However, its seen that this is causing more CI failures
during e2e redundancy tests. Ideally, once the Pods are terminated,
it should cleanup itself ASAP but it is seen that SM Pods are sometimes
taking time to exit and during this Period since there is no active SM
Pod running, this is triggering some failures.

Until we figure out the exact reason why the Pods are taking time for
cleanup, this PR reduces the terminationGracePeriodSeconds.

This issue would be properly addressed via
https://github.com/submariner-io/submariner/issues/694

Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
v0.6.1
2020-07-10 14:57:14 -04:00
Vishal ThaparandGitHub fb65f1ffbe Add ServiceImport CRD (#51)
Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2020-07-09 10:54:28 -04:00
Sridhar GaddamandGitHub c9f1f79338 Fix updateStrategy in Submariner DaemonSet Pods (#49)
Fixes issue: https://github.com/submariner-io/submariner-charts/issues/48

Signed-Off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-06-24 10:47:08 -04:00
Miguel Angel Ajo PelayoandGitHub 3b44f11749 Update versioning and image repositories (#44)
* Update versioning and image repositories

Update helm charts to follow the submariner versioning,
and include the image repositories by default.

Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>

* Update final version

Signed-off-by: Miguel Angel Ajo Pelayo <majopela@redhat.com>
2020-06-24 10:11:21 -04:00
Vishal ThaparandGitHub d2b0d98ea2 Add globalnet flag for lighthouse (#43)
To optimize Lighthouse for Globalnet, Lighthouse needs to know if
globalnet was enabled.

Signed-off-by: Vishal Thapar <5137689+vthapar@users.noreply.github.com>
2020-06-23 10:00:29 -04:00
Miguel Angel Ajo PelayoandGitHub eadf5be408 Update contact details for charts (#46)
Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>
2020-06-23 07:57:59 -04:00
Miguel Angel Ajo PelayoandGitHub 86ee45297b Update default gateway leadership timing (#45)
Those values where changed on the engine.

Signed-off-by: Miguel Angel Ajo <majopela@redhat.com>
2020-06-23 07:57:17 -04:00
Daniel FarrellandMiguel Angel Ajo Pelayo 90929ce969 Add DCO signed-off-by GHA validation
Add GitHub Action validating presence of signed-off-by line to accept
the Developer Certificate of Origin, as required for CNCF.

Relates-to: submariner-io/submariner#666
Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2020-06-23 09:39:51 +02:00
Vishal ThaparandGitHub e43e321a0d Use correct name for lighthouse-coredns (#41) 2020-06-09 16:40:18 -04:00
Vishal ThaparandMiguel Angel Ajo Pelayo b217b75f96 Add lighthouse-coredns charts
1. Adds deployment amd configmap
2. Updates RBAC
2020-06-09 13:27:07 +02:00
Sridhar GaddamandMiguel Angel Ajo Pelayo c905d9fdca Fix terminationGracePeriodSeconds in Submariner Pods
In K8s the default termination grace period for a Pod is 30
secs. However, for Submariner Pods, we were configuring this as
0 secs, because of which, cleanup was not happening in a
consistent manner and we are seeing failures in CI jobs.

This PR modifies the terminationGracePeriodSeconds to 10 secs.

Along with this change, it also uses the proper namespace of
submariner in the excluded namespaces.

Fixes issue: https://github.com/submariner-io/submariner-charts/issues/39

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-06-08 11:05:16 +02:00
Vishal ThaparandMiguel Angel Ajo Pelayo 77fe3d91fa Add crd-install hook for ServiceExport 2020-05-19 10:44:52 +02:00
Vishal ThaparandMiguel Angel Ajo Pelayo 855b874a6a Use v1beta1 for lighthouse CRDs
v1 is only available k8s v1.16 onwards and we're using 1.14 in E2E.
2020-05-18 10:11:59 +02:00
Mike KolesnikandMiguel Angel Ajo Pelayo 1d2af4468b Check also optional parts of charts
The CI job currently only checks the bare chart, with optional flags set
to defaults which cause it to miss those parts. Set the flags so that
the job also checks those parts.
2020-05-15 00:43:54 +02:00
Vishal ThaparandMiguel Angel Ajo Pelayo 97e83e4fc8 Add ServiceExport CRD 2020-05-15 00:41:54 +02:00
Daniel FarrellandGitHub 40538471b6 Add CODEOWNERS file to manage commit rights (#32)
Add a GitHub CODEOWNERS file to support disaggregating commit rights.
Allows the Committer process in the Community Membership docs to be
implemented.

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
2020-05-05 09:02:40 -04:00
Mike KolesnikandMiguel Angel Ajo Pelayo 89b509f60d Fix lighthouseServiceAccountName
It was missing the post-deletion operator which caused it to generate:
    name:
    submariner-lighthouse

Instead of `name: submariner-lighthouse`

Now it should be fine
2020-04-26 08:49:57 +02:00
Miguel Angel Ajo PelayoandGitHub 2146487899 Add printer column to gateway CRD (#28) 2020-04-24 08:07:12 -04:00
Vishal ThaparandMiguel Angel Ajo Pelayo d37db87a61 Bump chart versions for servicediscovery
With servicediscovery changes coming in, time to update chart versions

submariner: 0.0.3 => 0.0.4
submariner-k8s-broker: 0.0.1 => 0.0.2
2020-04-23 09:29:50 +02:00
Vishal ThaparandMiguel Angel Ajo Pelayo 5e425b9079 Add Lighthouse charts
This adds the deployment for lighthouse-agent, service account and RBAC.
2020-04-23 09:29:50 +02:00
Alexey RoytmanandGitHub 2914c74e38 Support CableDriver (#18) 2020-04-20 09:49:00 -04:00
Alexey RoytmanandGitHub d82c6ce442 Update the README file (#19)
* Update the README file

* update README file with shipyard changes
2020-04-16 09:40:21 -04:00
Miguel Angel Ajo PelayoandGitHub 77b41721a9 Merge pull request #24 from skitt/gateway-crd
Add Gateway CRD
2020-04-15 16:57:22 +02:00
Stephen Kitt 5888e837ce Add Gateway CRD
This will be used to store and report the cluster-local engine
status.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2020-04-14 10:54:14 +02:00
Miguel Angel Ajo PelayoandGitHub 8213fe55f0 Merge pull request #21 from sridhargaddam/route-agent-get-nodes
Add ClusterRole for route-agent to annotate a node
2020-04-13 16:36:50 +02:00
Miguel Angel Ajo PelayoandGitHub 8fa5ec5c03 Merge pull request #20 from sridhargaddam/gncontroller-nodes
Add role for globalnet controller to annotate a node
2020-04-13 16:36:02 +02:00
Sridhar Gaddam ae121cfdc4 Add ClusterRole for route-agent to annotate a node
As part of supporting connectivity from HostNetwork to remoteClusters, globalnet
controller requires the CNIInterfaceIP on each node. This PR adds the necessary
clusterRoles for the route-agent daemonSet which will annotate the node with the
CNIInterfaceIP on that respective node.

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-04-10 14:36:00 +05:30
Sridhar Gaddam 80bdf3eb07 Add role for globalnet controller to annotate a node
As part of supporting connectivity from HostNetwork to remoteClusters, globalnet
controller annotates a node with globalIP. This PR adds the necessary roles for
globalnetController.

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-04-09 22:58:57 +05:30
Miguel Angel Ajo PelayoandGitHub f3ff20e128 Update travis.yml to fail if deployment fails 2020-03-13 12:15:24 +01:00
Miguel Angel Ajo PelayoandGitHub 535256f640 Merge pull request #15 from sridhargaddam/leader-election
Make Gateway Leadership variables configurable
2020-03-11 18:23:21 +01:00
Miguel Angel Ajo PelayoandGitHub 232bb7478c Merge pull request #16 from mkolesnik/local-reg-globalnet
Support globalnet image specification
2020-03-11 15:28:37 +01:00
Mike Kolesnik 116615040a Support globalnet image specification
This is necessary to allow globalnet image to be stored in local
registry.
2020-03-11 10:30:34 +02:00
Sridhar Gaddam 9041855054 Make Gateway Leadership variables configurable
This PR provides a mechanism to configure the following
Submariner Gateway leader election values
1. leaseDuration
2. renewDeadline
3. retryPeriod

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-02-13 19:41:26 +05:30
Miguel Angel Ajo PelayoandGitHub f6301aea3a Merge pull request #14 from mangelajo/rename-daemonset-to-gateway
Rename submariner engine daemonset to submariner-gateyway
2020-01-29 13:37:26 +01:00
Miguel Angel Ajo bcd9f800bf Rename submariner engine daemonset to submariner-gateyway
In previous upstream discussions we talked about renaming submariner
engine "deployment" (now daemonset) to submariner-gateway to make
identification of the gateway easier to admins and avoid confusion.

Also see: https://github.com/submariner-io/submariner-operator/pull/145
2020-01-28 16:36:32 +01:00
Miguel Angel Ajo PelayoandGitHub fd672a570c Merge pull request #13 from sridhargaddam/update-sm-engine-as-ds
Update Submariner Engine to a DaemonSet
2020-01-28 16:21:14 +01:00
Sridhar Gaddam d4a0bc4d15 Update Submariner Engine to a DaemonSet
Currently, the Submariner Engine is a deployment with nodeSelector
(for submariner.io/gateway=true). It is seen that when the label
is removed from the node after SM engine is deployed, SM engine
continues to run on that node. This behavior is not in Sync with
the DaemonSet (used by GlobalnetController) behavior where the POD
is immediately terminated when the label is removed from the node.
This PR updates SM engine as DaemonSet so that we have consistent
behavior between the SM Engine POD and GlobalnetController POD.

Signed-off-by: Sridhar Gaddam <sgaddam@redhat.com>
2020-01-28 19:23:32 +05:30
Miguel Angel Ajo PelayoandGitHub 7200264f5f Merge pull request #12 from mkolesnik/ipam-support
Add support for the Globalnet controller
2020-01-28 14:06:26 +01:00
Mike Kolesnik 04865e056b Added clusters to rbac 2020-01-28 08:27:25 +02:00
Mike Kolesnik fb754f5f2f Added the role & binding for globalnet
Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2020-01-23 14:36:26 +02:00
Mike Kolesnik 35417fa669 Add globalnet service account creation
Signed-off-by: Mike Kolesnik <mkolesni@redhat.com>
2020-01-22 16:50:32 +02:00
Mike Kolesnik afac49e68e Remove GLOBALCIDR, empty yaml if disabled 2020-01-21 11:49:45 +02:00
Mike Kolesnik 409c875713 Add support for the Globalnet controller
Added a chart for the globalnet controller which uses the global CIDR.
Also added the global CIDR to the submariner engine pod env so it can
utilize it.
The controller will only be deployed if the CIDR is specified.
2020-01-13 10:22:23 +02:00
Dmitry GroismanandGitHub e1a313755c Merge pull request #10 from dimaunx/k8s-1.16.x
Add support for k8s version 1.16.x
2019-12-03 14:44:48 +02:00