Skip to content
This repository was archived by the owner on Oct 17, 2022. It is now read-only.

Commit e0a3c62

Browse files
author
Mark Ryan
authored
Merge pull request #120 from ganeshmaharaj/go-mod
Migrate to go mod
2 parents e5228d3 + 701f218 commit e0a3c62

File tree

240 files changed

+14888
-149972
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+14888
-149972
lines changed

.travis.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
language: go
22

33
go:
4-
- "1.11"
5-
- "1.12"
4+
- "1.16"
65
- tip
76

87
env:
9-
- GOLANGCILINT="v1.16.0"
8+
- GOLANGCILINT="v1.39.0"
109

1110
go_import_path: github.com/intel/ccloudvm
1211

README.md

+9-7
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pre-shipped or user supplied annotated cloud-init files.
1717

1818
All you need to have installed on your machine is:
1919

20-
- Go 1.9 or greater.
20+
- Go 1.16 or greater.
2121

2222
The installation instructions for the latest version of Go can be
2323
found [here](https://golang.org/doc/install). Once installed, ensure
@@ -119,12 +119,14 @@ can specify:
119119
to run on the first boot of the VM. This file is used to create
120120
user accounts, install packages and configure the VM.
121121

122-
ccloudvm ships with a number of workloads for creating VMs based on standard images,
123-
such as Ubuntu 16.04 and Fedora 25. Users are also free to create their own workloads.
124-
Standard workloads are stored in $GOPATH/src/github.com/intel/ccloudvm/workloads.
125-
User created workloads are stored in ~/.ccloudvm/workloads. ccloudvm always checks the
126-
~/.ccloudvm/workloads directory first so if a workload exists in both directories
127-
with the same name, ccloudvm will use the workload in ~/.ccloudvm/workloads.
122+
ccloudvm ships with a number of workloads for creating VMs based on standard
123+
images, such as Ubuntu 16.04 and Fedora 25. Users are also free to create
124+
their own workloads. Standard workloads defined at
125+
$GOPATH/src/github.com/intel/ccloudvm/workloads are stored in the ccvm binary
126+
as data files. User created workloads are stored in ~/.ccloudvm/workloads.
127+
ccloudvm always checks the ~/.ccloudvm/workloads directory first so if a
128+
workload exists in both directories with the same name, ccloudvm will use the
129+
workload in ~/.ccloudvm/workloads.
128130

129131
When creating a new instance via the create command the user must specify a workload.
130132
This can be done by providing the name of a workload, present in one of the two directories

ccvm/ccvm.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ func (c ccvmBackend) createInstance(ctx context.Context, resultCh chan interface
309309
}
310310

311311
resultCh <- types.CreateResult{
312-
Line: fmt.Sprintf("VM successfully created!\n"),
312+
Line: "VM successfully created!\n",
313313
}
314314

315315
return nil

ccvm/workload.go

+14-18
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ import (
2020
"bufio"
2121
"bytes"
2222
"context"
23+
"embed"
2324
"fmt"
24-
"go/build"
2525
"io"
26+
"io/fs"
2627
"io/ioutil"
2728
"net/http"
2829
"net/url"
2930
"os"
3031
"path"
3132
"path/filepath"
3233
"reflect"
33-
"regexp"
3434
"text/template"
3535
"time"
3636

@@ -39,12 +39,11 @@ import (
3939
yaml "gopkg.in/yaml.v2"
4040
)
4141

42-
const ccloudvmPkg = "github.com/intel/ccloudvm"
43-
44-
var indentedRegexp *regexp.Regexp
42+
//go:embed "workloads/*"
43+
var wkldfs embed.FS
44+
var allwklds, _ = fs.ReadDir(wkldfs, "workloads")
4545

4646
func init() {
47-
indentedRegexp = regexp.MustCompile(`\s+.*`)
4847
}
4948

5049
type workload struct {
@@ -179,19 +178,16 @@ func loadWorkloadData(ctx context.Context, ws *workspace, workloadName string, t
179178
return wkld, nil
180179
}
181180

182-
bld := build.Default
183-
bld.GOPATH = ws.GoPath
184-
p, err := bld.Import(ccloudvmPkg, "", build.FindOnly)
185-
if err != nil {
186-
return nil, errors.Wrap(err, "Unable to locate ccloudvm workload directory")
187-
}
188-
workloadPath := filepath.Join(p.Dir, "workloads", fmt.Sprintf("%s.yaml", workloadName))
189-
wkld, err = ioutil.ReadFile(workloadPath)
190-
if err != nil {
191-
return nil, fmt.Errorf("Unable to load workload %s", workloadPath)
181+
for _, wkldfile := range allwklds {
182+
if wkldfile.Name() == fmt.Sprintf("%s.yaml", workloadName) {
183+
wkld, err := wkldfs.ReadFile(fmt.Sprintf("workloads/%s.yaml", workloadName))
184+
if err != nil {
185+
return nil, errors.Wrap(err, "unable to read workload file")
186+
}
187+
return wkld, nil
188+
}
192189
}
193-
194-
return wkld, nil
190+
return nil, errors.New("Unable to find the workload anywhere")
195191
}
196192

197193
func unmarshalWorkload(ws *workspace, wkld *workload, spec,
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

go.mod

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
module github.com/intel/ccloudvm
2+
3+
go 1.16
4+
5+
require (
6+
github.com/ciao-project/ciao v0.0.0-20180108144400-194264adc583
7+
github.com/coreos/go-systemd v0.0.0-20170731111925-d21964639418
8+
github.com/inconshreveable/mousetrap v1.0.0 // indirect
9+
github.com/intel/govmm v0.0.0-20180104200030-22c99930c2f6
10+
github.com/mattn/goveralls v0.0.8 // indirect
11+
github.com/pkg/errors v0.8.0
12+
github.com/pmezard/go-difflib v1.0.0
13+
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d
14+
github.com/spf13/pflag v1.0.0 // indirect
15+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b
16+
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 // indirect
17+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
18+
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3
19+
)

go.sum

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
github.com/ciao-project/ciao v0.0.0-20180108144400-194264adc583 h1:Q8cD25/t4PB8XiCKMERa5KrkbrF4pDSgTLeLIL5erfc=
2+
github.com/ciao-project/ciao v0.0.0-20180108144400-194264adc583/go.mod h1:E4Y6ewbiZkB8WzlHjxj2a+WNJEUfGTCYQRkllEMsEjg=
3+
github.com/coreos/go-systemd v0.0.0-20170731111925-d21964639418 h1:0QH6fTJVDpblGjjozilaO++YRbnQNnTYh3yuFJHH0o8=
4+
github.com/coreos/go-systemd v0.0.0-20170731111925-d21964639418/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
5+
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
6+
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
7+
github.com/intel/govmm v0.0.0-20180104200030-22c99930c2f6 h1:aXt7UwonmIcuJxMQTRQsNvNtI53xYfHHQ+qopnSqcQA=
8+
github.com/intel/govmm v0.0.0-20180104200030-22c99930c2f6/go.mod h1:QKGWoQtjvkvFtzP6ybiM3lxUHqf83Sv3oLqyELUKH4g=
9+
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
10+
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
11+
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
12+
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
13+
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
14+
github.com/mattn/goveralls v0.0.8 h1:4xflElRkVgj/FcBVKTAkqSWhHFY2u2uv4c054kG2RY8=
15+
github.com/mattn/goveralls v0.0.8/go.mod h1:h8b4ow6FxSPMQHF6o2ve3qsclnffZjYTNEKmLesRwqw=
16+
github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
17+
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
18+
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
19+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
20+
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d h1:OsIJZZhPMbL7lkWvqWguX3Xd7om7VUGTdX54JkXCVx8=
21+
github.com/spf13/cobra v0.0.2-0.20171231101556-b95ab734e27d/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
22+
github.com/spf13/pflag v1.0.0 h1:oaPbdDe/x0UncahuwiPxW1GYJyilRAdsPnq3e1yaPcI=
23+
github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
24+
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
25+
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
26+
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
27+
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
28+
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9 h1:+Va2hqur1pIoaZgDZSzTxfatSy6IY0IOu7qmCh8b2W8=
29+
golang.org/x/net v0.0.0-20180201030042-309822c5b9b9/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
30+
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
31+
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
32+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
33+
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
34+
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
35+
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
36+
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
37+
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
38+
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
39+
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984 h1:4S3Dic2vY09agWhKAjYa6buMB7HsLkVrliEHZclmmSU=
40+
golang.org/x/text v0.3.1-0.20171227012246-e19ae1496984/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
41+
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
42+
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375 h1:SjQ2+AKWgZLc1xej6WSzL+Dfs5Uyd5xcZH1mGC411IA=
43+
golang.org/x/tools v0.0.0-20200522201501-cb1345f3a375/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
44+
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
45+
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
46+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
47+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
48+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
49+
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3 h1:AvhLfuYC9WaQFd0VTddg+tvjEcSy6/zAxUda5J/U68o=
50+
gopkg.in/yaml.v2 v2.0.0-20180108131554-1244d3ce02e3/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=

semaphore.sh

+17
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,16 @@ function finish {
2525
echo "= FAILURE ="
2626
fi
2727
echo "=============================="
28+
29+
rm -rf ${TEMPDIR}
30+
}
31+
32+
function get_latest_go {
33+
GO_URL=$(curl -s https://golang.org/dl/#stable | grep 'linux-amd64' | grep downloadBox | awk -F '"' '{print $4}')
34+
TEMPDIR=$(mktemp -d)
35+
curl -L https://golang.org/${GO_URL} --output -| tar -C ${TEMPDIR} -xzf -
36+
export GOROOT=${TEMPDIR}/go
37+
export PATH=${TEMPDIR}/go/bin:$PATH
2838
}
2939
3040
trap finish EXIT
@@ -33,6 +43,11 @@ created=0
3343
3444
if [[ ! -z "${SEMAPHORE_REPO_SLUG}" ]]
3545
then
46+
echo ""
47+
echo "===== Download stable go ====="
48+
echo ""
49+
get_latest_go
50+
3651
echo ""
3752
echo "===== Cloning repo ====="
3853
echo ""
@@ -205,6 +220,8 @@ fi
205220
206221
if [ "$SEMAPHORE_REPO_SLUG" = "intel/ccloudvm" ]
207222
then
223+
which go
224+
echo ${GOROOT}
208225
go get github.com/mattn/goveralls
209226
$GOPATH/bin/goveralls --race -v -service=semaphore --package github.com/intel/ccloudvm/ccvm
210227
else

vendor/github.com/ciao-project/ciao/.gitignore

-27
This file was deleted.

vendor/github.com/ciao-project/ciao/.travis.yml

-88
This file was deleted.

0 commit comments

Comments
 (0)