Skip to content

Commit

Permalink
Ensure router is present when Kuryr is used
Browse files Browse the repository at this point in the history
Kuryr requires a router to be present on the cluster
to allow communication between VMs, Pod and Services.
However, during a FIP less no router is created by
the installer. This commit makes sure a router is
created if not already present.
  • Loading branch information
MaysaMacedo committed Sep 1, 2020
1 parent 735d6aa commit 7ca8b10
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
6 changes: 6 additions & 0 deletions pkg/platform/openstack/kuryr_bootstrap.go
Expand Up @@ -343,6 +343,12 @@ func BootstrapKuryr(conf *operv1.NetworkSpec, kubeClient client.Client) (*bootst
return nil, errors.Wrap(err, "failed list ports of worker nodes router")
}

log.Printf("Adding worker nodes %s subnet to the router", workerSubnet.ID)
err = ensureOpenStackRouterInterface(client, routerId, workerSubnet.ID, nil)
if err != nil {
return nil, errors.Wrap(err, "failed to create worker nodes subnet router interface")
}

if !lookupOpenStackPort(ps, svcSubnetId) {
log.Printf("Ensuring service subnet router port with %s IP", gatewayIP.String())
portId, err := ensureOpenStackPort(client, generateName("kuryr-service-subnet-router-port", clusterID), tag,
Expand Down
10 changes: 9 additions & 1 deletion pkg/platform/openstack/networking.go
Expand Up @@ -183,7 +183,15 @@ func findOpenStackRouter(client *gophercloud.ServiceClient, name, tag string) (r
if len(routerList) == 1 {
return routerList[0], nil
} else if len(routerList) == 0 {
return empty, errors.New("router not found")
router, err := routers.Create(client, routers.CreateOpts{Name: name}).Extract()
if err != nil {
return empty, errors.Wrap(err, "failed to create router")
}
_, err = tagResource(client, "routers", router.ID, tag)
if err != nil {
return empty, errors.Wrap(err, "failed to tag created router")
}
return *router, nil
} else {
return empty, errors.New("multiple matching routers")
}
Expand Down

0 comments on commit 7ca8b10

Please sign in to comment.