The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxd/pull/4488

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) ===

From 7e7a39ecf25712f30b6c15ea80b1f25d53b4c81c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <[email protected]>
Date: Mon, 23 Apr 2018 23:48:22 -0400
Subject: [PATCH 1/2] lxd/db: Don't crash on empty queries
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <[email protected]>
---
 lxd/api_internal.go | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lxd/api_internal.go b/lxd/api_internal.go
index 0970d8c7a..7a2dbd82f 100644
--- a/lxd/api_internal.go
+++ b/lxd/api_internal.go
@@ -173,6 +173,11 @@ func internalSQLPost(d *Daemon, r *http.Request) Response {
        batch := internalSQLBatch{}
        for _, query := range strings.Split(req.Query, ";") {
                query = strings.TrimLeft(query, " ")
+
+               if query == "" {
+                       continue
+               }
+
                result := internalSQLResult{}
                if strings.HasPrefix(strings.ToUpper(query), "SELECT") {
                        err = internalSQLSelect(db, query, &result)

From c9da87aa88e1e9bf1fc4c228011a34ca668b2c12 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <[email protected]>
Date: Tue, 24 Apr 2018 00:03:47 -0400
Subject: [PATCH 2/2] lxd/sql: Drop custom table renderer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <[email protected]>
---
 lxd/main_sql.go | 51 +++++++++++----------------------------------------
 lxd/networks.go |  2 +-
 2 files changed, 12 insertions(+), 41 deletions(-)

diff --git a/lxd/main_sql.go b/lxd/main_sql.go
index 2f1fef143..52a7ac870 100644
--- a/lxd/main_sql.go
+++ b/lxd/main_sql.go
@@ -5,10 +5,8 @@ import (
        "fmt"
        "io/ioutil"
        "os"
-       "strconv"
-       "strings"
-       "time"
 
+       "github.com/olekukonko/tablewriter"
        "github.com/pkg/errors"
        "github.com/spf13/cobra"
 
@@ -137,44 +135,17 @@ func (c *cmdSql) Run(cmd *cobra.Command, args []string) 
error {
 }
 
 func sqlPrintSelectResult(result internalSQLResult) {
-       // Print results in tabular format
-       widths := make([]int, len(result.Columns))
-       for i, column := range result.Columns {
-               widths[i] = len(column)
-       }
+       table := tablewriter.NewWriter(os.Stdout)
+       table.SetAlignment(tablewriter.ALIGN_LEFT)
+       table.SetAutoWrapText(false)
+       table.SetAutoFormatHeaders(false)
+       table.SetHeader(result.Columns)
        for _, row := range result.Rows {
-               for i, v := range row {
-                       width := 10
-                       switch v := v.(type) {
-                       case string:
-                               width = len(v)
-                       case int:
-                               width = 6
-                       case int64:
-                               width = 6
-                       case time.Time:
-                               width = 12
-                       }
-                       if width > widths[i] {
-                               widths[i] = width
-                       }
+               data := []string{}
+               for _, col := range row {
+                       data = append(data, fmt.Sprintf("%v", col))
                }
+               table.Append(data)
        }
-       format := "|"
-       separator := "+"
-       columns := make([]interface{}, len(result.Columns))
-       for i, column := range result.Columns {
-               format += " %-" + strconv.Itoa(widths[i]) + "v |"
-               columns[i] = column
-               separator += strings.Repeat("-", widths[i]+2) + "+"
-       }
-       format += "\n"
-       separator += "\n"
-       fmt.Printf(separator)
-       fmt.Printf(fmt.Sprintf(format, columns...))
-       fmt.Printf(separator)
-       for _, row := range result.Rows {
-               fmt.Printf(format, row...)
-       }
-       fmt.Printf(separator)
+       table.Render()
 }
diff --git a/lxd/networks.go b/lxd/networks.go
index f7c751120..19c6d1b25 100644
--- a/lxd/networks.go
+++ b/lxd/networks.go
@@ -1461,7 +1461,7 @@ func (n *network) Start() error {
                }
 
                // Configure NAT
-               err = networkIptablesPrepend("ipv4", n.name, "nat", 
"POSTROUTING", "-s", underlaySubnet.String(), "!", "-d", 
underlaySubnet.String(), "-j", "MASQUERADE")
+               err = networkIptablesPrepend("ipv4", n.name, "nat", 
"POSTROUTING", "-s", overlaySubnet.String(), "!", "-d", overlaySubnet.String(), 
"-j", "MASQUERADE")
                if err != nil {
                        return err
                }
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to