[prev in list] [next in list] [prev in thread] [next in thread]
List: lxc-devel
Subject: [lxc-devel] [lxd/master] lxd/init: Offer to setup a Fan bridge when clustered
From: stgraber on Github <lxc-bot () linuxcontainers ! org>
Date: 2018-04-28 1:52:04
Message-ID: 20180428015204.B61BC55095 () mailman01 ! srv ! dcmtl ! stgraber ! net
[Download RAW message or body]
[Attachment #2 (text/x-mailbox)]
The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/4508
This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.
=== Description (from pull-request) ===
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
[Attachment #3 (text/plain)]
From 0f95ec8a2247ad7a78acac855f6a1532279106c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stéphane Graber?= <stgraber@ubuntu.com>
Date: Fri, 27 Apr 2018 21:20:02 -0400
Subject: [PATCH] lxd/init: Offer to setup a Fan bridge when clustered
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
---
lxd/main_init_interactive.go | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/lxd/main_init_interactive.go b/lxd/main_init_interactive.go
index 311b1968d..33efafb16 100644
--- a/lxd/main_init_interactive.go
+++ b/lxd/main_init_interactive.go
@@ -3,6 +3,7 @@ package main
import (
"encoding/pem"
"fmt"
+ "io/ioutil"
"net"
"os"
"os/exec"
@@ -274,7 +275,16 @@ func (c *cmdInit) askMAAS(config *initData, d \
lxd.ContainerServer) error { }
func (c *cmdInit) askNetworking(config *initData, d lxd.ContainerServer) error {
- if !cli.AskBool("Would you like to create a new network bridge? (yes/no) \
[default=yes]: ", "yes") { + if config.Cluster != nil || !cli.AskBool("Would you like \
to create a new local network bridge? (yes/no) [default=yes]: ", "yes") { + // At \
this time, only the Ubuntu kernel supports the Fan, detect it + fanKernel := false
+ if shared.PathExists("/proc/sys/kernel/version") {
+ content, _ := ioutil.ReadFile("/proc/sys/kernel/version")
+ if content != nil && strings.Contains(string(content), "Ubuntu") {
+ fanKernel = true
+ }
+ }
+
if cli.AskBool("Would you like to configure LXD to use an existing bridge or host \
interface? (yes/no) [default=no]: ", "no") { for {
name := cli.AskString("Name of the existing bridge or host interface: ", "", \
nil) @@ -314,6 +324,24 @@ func (c *cmdInit) askNetworking(config *initData, d \
lxd.ContainerServer) error {
break
}
+ } else if config.Cluster != nil && fanKernel && cli.AskBool("Would you like to \
create a new Fan overlay network? (yes/no) [default=yes]", "yes") { + // Define the \
network + network := api.NetworksPost{}
+ network.Name = "lxdfan0"
+ network.Config = map[string]string{
+ "bridge.mode": "fan",
+ }
+
+ // Add the new network
+ config.Networks = append(config.Networks, network)
+
+ // Add to the default profile
+ config.Profiles[0].Devices["eth0"] = map[string]string{
+ "type": "nic",
+ "nictype": "bridged",
+ "name": "eth0",
+ "parent": "lxdfan0",
+ }
}
return nil
[Attachment #4 (text/plain)]
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic