diff --git a/vendor/github.com/bclicn/color/LICENSE b/vendor/github.com/bclicn/color/LICENSE
deleted file mode 100644
index c22bc5f..0000000
--- a/vendor/github.com/bclicn/color/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-
-The MIT License (MIT)
-
-Copyright (c) 2016-2018 bcli
-
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/vendor/github.com/bclicn/color/README.md b/vendor/github.com/bclicn/color/README.md
deleted file mode 100644
index 1065950..0000000
--- a/vendor/github.com/bclicn/color/README.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# GoLang Colorized Output
-
-GoLang colorized output library for Mac & Linux Shell, [中文版说明](README_CN.md)
-
-## Showcase
-![img](showcase.jpg)
-
-## Install
-
-1. __Make sure__ your've read [GoLang Official File Structure](https://golang.org/doc/code.html)
-2. Make sure you've set a correct GOPATH
-3. `$ go get github.com/bclicn/color`
-4. In your script, `import "github.com/bclicn/color"` then call `color.Test()`
-5. Use `fmt.Println("Hello" + color.Red("World"))` to assemble a colorized output
-6. API examples available in `color-test.go`
-
-## Quick (brainless) Usage
-
-1. Download `color.go`
-2. Modify its `package color` to `package main`
-3. Put your script under the same directory and write `fmt.Println(Red("I'm red !!!"))`
-4. Run `go run color.go yourScript.go`
-5. Or build by `go build color.go yourScript.go`
-
-## A simple test script
-
-    package main
-
-    import (
-	    "fmt"
-	    "github.com/bclicn/color"
-    )
-
-    func main(){
-	    fmt.Println(color.Red("Red output"))
-	    color.Test()
-    }
-
-## License
-
-[MIT](LICENSE)
-
-bcli, 2018-7-11
diff --git a/vendor/github.com/bclicn/color/README_CN.md b/vendor/github.com/bclicn/color/README_CN.md
deleted file mode 100644
index 25b447e..0000000
--- a/vendor/github.com/bclicn/color/README_CN.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# GoLang 彩色输出
-
-用于Mac和Linux Shell的GoLang彩色文字输出, [English Version](README.md)
-
-## 效果展示
-![img](showcase.jpg)
-
-## 安装
-
-1. __确保__你已经读过  [GoLang官方文件结构](https://golang.org/doc/code.html)
-2. 确保你的GOPATH环境变量正确
-3. `go get github.com/bclicn/color`
-3. 在你的脚本中,`import "github.com/bclicn/color"` 然后调用 `color.Test()`查看全部效果
-5. 使用`fmt.Println("Hello" + color.Red("World"))`进行彩色输出
-4. API调用示例在`color-test.go`
-
-## 快速(无脑)使用
-
-1. 下载`color.go`
-2. 将其第一行的`package color`改为`package main`
-3. 把你的脚本放在同一个文件夹下,直接调用如`fmt.Println(Red("I'm red !!!"))`
-4. 运行`go run color.go yourScript.go`
-5. 你也可以直接`go build color.go yourScript.go`
-
-## 快速调用示例
-
-    package main
-
-    import (
-	    "fmt"
-	    "github.com/bclicn/color"
-    )
-
-    func main(){
-	    fmt.Println(color.Red("Red output"))
-	    color.Test()
-    }
-
-##  License
-
-[MIT](LICENSE)
-
-bcli, 2018-7-11
diff --git a/vendor/github.com/bclicn/color/color-test.go b/vendor/github.com/bclicn/color/color-test.go
deleted file mode 100644
index 59e9b5b..0000000
--- a/vendor/github.com/bclicn/color/color-test.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package color
-
-import (
-	"fmt"
-)
-
-// github.com/bclicn/color
-// colorized output for Mac & Linux terminal
-// version: 1.0.0
-// author:  bcli, bclicn@gmail.com, 2016-11-4
-// see:     http://misc.flogisoft.com/bash/tip_colors_and_formatting
-// usage:
-// For official code layout
-// 	$ go get github.com/bclicn/color
-// 	# in your project
-// 	import "github.com/bclicn/color"
-// 	func main() {
-//		color.Test()
-//	}
-
-func ColorTest() {
-
-	const HEAD = " "
-	const TAIL = " "
-
-	// regular
-	fmt.Println(HEAD + Black("black") + TAIL)
-	fmt.Println(HEAD + Red("red") + TAIL)
-	fmt.Println(HEAD + Green("green") + TAIL)
-	fmt.Println(HEAD + Yellow("yellow") + TAIL)
-	fmt.Println(HEAD + Blue("blue") + TAIL)
-	fmt.Println(HEAD + Purple("purple") + TAIL)
-	fmt.Println(HEAD + Cyan("cyan") + TAIL)
-	fmt.Println(HEAD + LightGray("light gray") + TAIL)
-	fmt.Println(HEAD + DarkGray("dark gray") + TAIL)
-	fmt.Println(HEAD + LightRed("light red") + TAIL)
-	fmt.Println(HEAD + LightGreen("light green") + TAIL)
-	fmt.Println(HEAD + LightYellow("light yellow") + TAIL)
-	fmt.Println(HEAD + LightBlue("light blue") + TAIL)
-	fmt.Println(HEAD + LightPurple("light purple") + TAIL)
-	fmt.Println(HEAD + LightCyan("light cyan") + TAIL)
-	fmt.Println(HEAD + White("white") + TAIL)
-
-	// bold
-	fmt.Println(HEAD + BBlack("bold black") + TAIL)
-	fmt.Println(HEAD + BRed("bold red") + TAIL)
-	fmt.Println(HEAD + BGreen("bold green") + TAIL)
-	fmt.Println(HEAD + BYellow("bold yellow") + TAIL)
-	fmt.Println(HEAD + BBlue("bold blue") + TAIL)
-	fmt.Println(HEAD + BPurple("bold purple") + TAIL)
-	fmt.Println(HEAD + BCyan("bold cyan") + TAIL)
-	fmt.Println(HEAD + BLightGray("bold light gray") + TAIL)
-	fmt.Println(HEAD + BDarkGray("bold dark gray") + TAIL)
-	fmt.Println(HEAD + BLightRed("bold light red") + TAIL)
-	fmt.Println(HEAD + BLightGreen("bold light green") + TAIL)
-	fmt.Println(HEAD + BLightYellow("bold light yellow") + TAIL)
-	fmt.Println(HEAD + BLightBlue("bold light blue") + TAIL)
-	fmt.Println(HEAD + BLightPurple("bold light purple") + TAIL)
-	fmt.Println(HEAD + BLightCyan("bold light cyan") + TAIL)
-	fmt.Println(HEAD + BWhite("bold white") + TAIL)
-
-	// background
-	fmt.Println(HEAD + GBlack("background black") + TAIL)
-	fmt.Println(HEAD + GRed("background red") + TAIL)
-	fmt.Println(HEAD + GGreen("background green") + TAIL)
-	fmt.Println(HEAD + GYellow("background yellow") + TAIL)
-	fmt.Println(HEAD + GBlue("background blue") + TAIL)
-	fmt.Println(HEAD + GPurple("background purple") + TAIL)
-	fmt.Println(HEAD + GCyan("background cyan") + TAIL)
-	fmt.Println(HEAD + GLightGray("background light gray") + TAIL)
-	fmt.Println(HEAD + GDarkGray("background dark gray") + TAIL)
-	fmt.Println(HEAD + GLightRed("background light red") + TAIL)
-	fmt.Println(HEAD + GLightGreen("background light green") + TAIL)
-	fmt.Println(HEAD + GLightYellow("background light yellow") + TAIL)
-	fmt.Println(HEAD + GLightBlue("background light blue") + TAIL)
-	fmt.Println(HEAD + GLightPurple("background light purple") + TAIL)
-	fmt.Println(HEAD + GLightCyan("background light cyan") + TAIL)
-	fmt.Println(HEAD + GWhite("background white") + TAIL)
-
-	// special
-	fmt.Println("A " + Bold("bold") + " text")
-	fmt.Println("This is a " + Dim("dimmed") + " text")
-	fmt.Println("Add a " + Underline("underline"))
-	fmt.Println("Use " + Invert("invert") + " to highlight your text")
-	fmt.Println("Your password is:" + Hide("myPass"))
-	fmt.Println("OMG I'm " + Blink("blinking") + " !!!") // blinking works only on mac
-}
diff --git a/vendor/github.com/bclicn/color/color.go b/vendor/github.com/bclicn/color/color.go
deleted file mode 100644
index ce7fc83..0000000
--- a/vendor/github.com/bclicn/color/color.go
+++ /dev/null
@@ -1,330 +0,0 @@
-// github.com/bclicn/color
-// colorized output for Mac & Linux terminal
-// version: 1.0.0
-// author:  bcli, bclicn@gmail.com, 2018-7-11
-// see:     http://misc.flogisoft.com/bash/tip_colors_and_formatting
-// usage:
-// Official layout
-// 	$ go get github.com/bclicn/color
-// 	# in your project
-// 	import "github.com/bclicn/color"
-// 	func main() {
-//		fmt.Println(color.Red("I'm red!"))
-//		color.Test()
-//	}
-
-package color
-
-import (
-	"strconv"
-)
-
-const (
-	// common
-	reset  = "\033[0m" // auto reset the rest of text to default color
-	normal = 0
-	bold   = 1 // increase this value if you want bolder text
-	// special
-	dim       = 2
-	underline = 4
-	blink     = 5
-	reverse   = 7
-	hidden    = 8
-	// color
-	black       = 30 // default = 39
-	red         = 31
-	green       = 32
-	yellow      = 33
-	blue        = 34
-	purple      = 35 // purple = magenta
-	cyan        = 36
-	lightGray   = 37
-	darkGray    = 90
-	lightRed    = 91
-	lightGreen  = 92
-	lightYellow = 93
-	lightBlue   = 94
-	lightPurple = 95
-	lightCyan   = 96
-	white       = 97
-)
-
-// you can use custom color code and font size by calling this function
-func Render(colorCode int, fontSize int, content string) string {
-	return "\033[" + strconv.Itoa(fontSize) + ";" + strconv.Itoa(colorCode) + "m" + content + reset
-}
-
-// black text (use this with caution since most geeks use dark console)
-func Black(txt string) string {
-	return Render(black, normal, txt)
-}
-
-// red text
-func Red(txt string) string {
-	return Render(red, normal, txt)
-}
-
-// green text
-func Green(txt string) string {
-	return Render(green, normal, txt)
-}
-
-// yellow text
-func Yellow(txt string) string {
-	return Render(yellow, normal, txt)
-}
-
-// blue text
-func Blue(txt string) string {
-	return Render(blue, normal, txt)
-}
-
-// purple text
-func Purple(txt string) string {
-	return Render(purple, normal, txt)
-}
-
-// cyan text
-func Cyan(txt string) string {
-	return Render(cyan, normal, txt)
-}
-
-// light gray text
-func LightGray(txt string) string {
-	return Render(lightGray, normal, txt)
-}
-
-// dark gray text
-func DarkGray(txt string) string {
-	return Render(darkGray, normal, txt)
-}
-
-// light red text
-func LightRed(txt string) string {
-	return Render(lightRed, normal, txt)
-}
-
-// light green text
-func LightGreen(txt string) string {
-	return Render(lightGreen, normal, txt)
-}
-
-// light yellow text
-func LightYellow(txt string) string {
-	return Render(lightYellow, normal, txt)
-}
-
-// light blue text
-func LightBlue(txt string) string {
-	return Render(lightBlue, normal, txt)
-}
-
-// light purple text
-func LightPurple(txt string) string {
-	return Render(lightPurple, normal, txt)
-}
-
-// light cyan text
-func LightCyan(txt string) string {
-	return Render(lightCyan, normal, txt)
-}
-
-// white text
-func White(txt string) string {
-	return Render(white, normal, txt)
-}
-
-// black text (use this with caution since most geeks use dark console)
-func BBlack(txt string) string {
-	return Render(black, bold, txt)
-}
-
-// bold red
-func BRed(txt string) string {
-	return Render(red, bold, txt)
-}
-
-// bold green
-func BGreen(txt string) string {
-	return Render(green, bold, txt)
-}
-
-// bold yellow
-func BYellow(txt string) string {
-	return Render(yellow, bold, txt)
-}
-
-// bold blue
-func BBlue(txt string) string {
-	return Render(blue, bold, txt)
-}
-
-// bold purple
-func BPurple(txt string) string {
-	return Render(purple, bold, txt)
-}
-
-// bold cyan
-func BCyan(txt string) string {
-	return Render(cyan, bold, txt)
-}
-
-// bold light gray
-func BLightGray(txt string) string {
-	return Render(lightGray, bold, txt)
-}
-
-// bold dark gray
-func BDarkGray(txt string) string {
-	return Render(darkGray, bold, txt)
-}
-
-// bold light red
-func BLightRed(txt string) string {
-	return Render(lightRed, bold, txt)
-}
-
-// bold light green
-func BLightGreen(txt string) string {
-	return Render(lightGreen, bold, txt)
-}
-
-// bold light yellow
-func BLightYellow(txt string) string {
-	return Render(lightYellow, bold, txt)
-}
-
-// bold light blue
-func BLightBlue(txt string) string {
-	return Render(lightBlue, bold, txt)
-}
-
-// bold light purple
-func BLightPurple(txt string) string {
-	return Render(lightPurple, bold, txt)
-}
-
-// bold light cyan
-func BLightCyan(txt string) string {
-	return Render(lightCyan, bold, txt)
-}
-
-// bold white
-func BWhite(txt string) string {
-	return Render(white, bold, txt)
-}
-
-// black background (use this with caution since most of geeks use dark console)
-func GBlack(txt string) string {
-	return Render(black+1, normal, txt)
-}
-
-// red background
-func GRed(txt string) string {
-	return Render(red+1, normal, txt)
-}
-
-// green background
-func GGreen(txt string) string {
-	return Render(green+1, normal, txt)
-}
-
-// yellow background
-func GYellow(txt string) string {
-	return Render(yellow+1, normal, txt)
-}
-
-// blue background
-func GBlue(txt string) string {
-	return Render(blue+1, normal, txt)
-}
-
-// purple background
-func GPurple(txt string) string {
-	return Render(purple+1, normal, txt)
-}
-
-// cyan background
-func GCyan(txt string) string {
-	return Render(cyan+1, normal, txt)
-}
-
-// light gray background
-func GLightGray(txt string) string {
-	return Render(lightGray+1, normal, txt)
-}
-
-// dark gray background
-func GDarkGray(txt string) string {
-	return Render(darkGray+1, normal, txt)
-}
-
-// light red background
-func GLightRed(txt string) string {
-	return Render(lightRed+1, normal, txt)
-}
-
-// light green background
-func GLightGreen(txt string) string {
-	return Render(lightGreen+1, normal, txt)
-}
-
-// light yellow background
-func GLightYellow(txt string) string {
-	return Render(lightYellow+1, normal, txt)
-}
-
-// blue background
-func GLightBlue(txt string) string {
-	return Render(lightBlue+1, normal, txt)
-}
-
-// light purple background
-func GLightPurple(txt string) string {
-	return Render(lightPurple+1, normal, txt)
-}
-
-// light cyan background
-func GLightCyan(txt string) string {
-	return Render(lightCyan+1, normal, txt)
-}
-
-// give text a white background
-func GWhite(txt string) string {
-	return Render(white+1, normal, txt)
-}
-
-// bold text
-func Bold(txt string) string {
-	return Render(bold, normal, txt)
-}
-
-// dimmed text
-func Dim(txt string) string {
-	return Render(dim, normal, txt)
-}
-
-// underlined text
-func Underline(txt string) string {
-	return Render(underline, 0, txt)
-}
-
-// make given text blink, not supported by all consoles
-func Blink(txt string) string {
-	return Render(blink, normal, txt)
-}
-
-// invert the color of text and its background
-func Invert(txt string) string {
-	return Render(reverse, normal, txt)
-}
-
-// hide given text, useful for password input
-func Hide(txt string) string {
-	return Render(hidden, normal, txt)
-}
-
-// test all functions
-func Test() {
-	ColorTest()
-}
diff --git a/vendor/github.com/bclicn/color/showcase.jpg b/vendor/github.com/bclicn/color/showcase.jpg
deleted file mode 100644
index 39f270c..0000000
--- a/vendor/github.com/bclicn/color/showcase.jpg
+++ /dev/null
Binary files differ
diff --git a/vendor/modules.txt b/vendor/modules.txt
index bede00a..ea98501 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -4,8 +4,6 @@
 github.com/Shopify/sarama
 # github.com/armon/go-metrics v0.0.0-20190430140413-ec5e00d3c878
 github.com/armon/go-metrics
-# github.com/bclicn/color v0.0.0-20180711051946-108f2023dc84
-github.com/bclicn/color
 # github.com/beorn7/perks v1.0.0
 github.com/beorn7/perks/quantile
 # github.com/bsm/sarama-cluster v2.1.15+incompatible
@@ -104,19 +102,19 @@
 github.com/opencord/voltha-lib-go/v3/pkg/log
 github.com/opencord/voltha-lib-go/v3/pkg/db
 github.com/opencord/voltha-lib-go/v3/pkg/db/kvstore
+github.com/opencord/voltha-lib-go/v3/pkg/kafka
 github.com/opencord/voltha-lib-go/v3/pkg/probe
 github.com/opencord/voltha-lib-go/v3/pkg/version
-github.com/opencord/voltha-lib-go/v3/pkg/grpc
-github.com/opencord/voltha-lib-go/v3/pkg/kafka
 github.com/opencord/voltha-lib-go/v3/pkg/flows
+github.com/opencord/voltha-lib-go/v3/pkg/grpc
 github.com/opencord/voltha-lib-go/v3/pkg/adapters/adapterif
 github.com/opencord/voltha-lib-go/v3/pkg/adapters/common
-github.com/opencord/voltha-lib-go/v3/pkg/mocks
 github.com/opencord/voltha-lib-go/v3/pkg/adapters
+github.com/opencord/voltha-lib-go/v3/pkg/mocks
 # github.com/opencord/voltha-protos/v3 v3.0.0
 github.com/opencord/voltha-protos/v3/go/common
-github.com/opencord/voltha-protos/v3/go/voltha
 github.com/opencord/voltha-protos/v3/go/openflow_13
+github.com/opencord/voltha-protos/v3/go/voltha
 github.com/opencord/voltha-protos/v3/go/inter_container
 github.com/opencord/voltha-protos/v3/go/omci
 # github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
@@ -245,20 +243,20 @@
 go.uber.org/zap/internal/exit
 # golang.org/x/crypto v0.0.0-20191001170739-f9e2070545dc
 golang.org/x/crypto/bcrypt
-golang.org/x/crypto/blowfish
 golang.org/x/crypto/md4
-golang.org/x/crypto/ssh/terminal
+golang.org/x/crypto/blowfish
 golang.org/x/crypto/pbkdf2
+golang.org/x/crypto/ssh/terminal
 # golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3
 golang.org/x/net/trace
+golang.org/x/net/proxy
 golang.org/x/net/internal/timeseries
 golang.org/x/net/http2
 golang.org/x/net/http2/hpack
-golang.org/x/net/proxy
-golang.org/x/net/http/httpguts
-golang.org/x/net/idna
 golang.org/x/net/context
 golang.org/x/net/internal/socks
+golang.org/x/net/http/httpguts
+golang.org/x/net/idna
 # golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24
 golang.org/x/sys/unix
 golang.org/x/sys/windows
@@ -279,10 +277,10 @@
 google.golang.org/grpc/codes
 google.golang.org/grpc/metadata
 google.golang.org/grpc/status
+google.golang.org/grpc/credentials
 google.golang.org/grpc/balancer
 google.golang.org/grpc/balancer/roundrobin
 google.golang.org/grpc/connectivity
-google.golang.org/grpc/credentials
 google.golang.org/grpc/encoding
 google.golang.org/grpc/encoding/proto
 google.golang.org/grpc/grpclog
@@ -304,8 +302,8 @@
 google.golang.org/grpc/serviceconfig
 google.golang.org/grpc/stats
 google.golang.org/grpc/tap
-google.golang.org/grpc/balancer/base
 google.golang.org/grpc/credentials/internal
+google.golang.org/grpc/balancer/base
 google.golang.org/grpc/binarylog/grpc_binarylog_v1
 google.golang.org/grpc/internal/syscall
 google.golang.org/grpc/health
