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

DAOS-14261 engine: Add dss_chore for I/O forwarding (#13372) #14158

Merged
merged 14 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from 12 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
62 changes: 31 additions & 31 deletions .github/CODEOWNERS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it intentional to comment these out?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. Just realized it's for the google branch :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, just making it so we don't bug everyone.. Unfortunately, until CODEOWNERS lands, it will still do so.

Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -2,58 +2,58 @@
# a component sha1 to ensure that corresponding package build is done
#utils/build.config @daos-stack/release-engineering
# or updates packaging in any way
utils/rpms @daos-stack/build-and-release-watchers
#utils/rpms @daos-stack/build-and-release-watchers

src/gurt @daos-stack/common-watchers
src/common @daos-stack/common-watchers
#src/gurt @daos-stack/common-watchers
#src/common @daos-stack/common-watchers

# any PR that touches Go files should get a review from go-owners
*.go @daos-stack/go-owners @daos-stack/go-watchers
#*.go @daos-stack/go-owners @daos-stack/go-watchers

# Notify vos-watcher of files touched affecting VOS
src/vos/ @daos-stack/vos-owners @daos-stack/vos-watchers
src/common/btree*.* @daos-stack/vos-owners @daos-stack/vos-watchers
src/include/daos/btree*.* @daos-stack/vos-owners @daos-stack/vos-watchers
src/include/daos_srv/vos*.* @daos-stack/vos-owners @daos-stack/vos-watchers
src/include/daos_srv/evtree.h @daos-stack/vos-owners @daos-stack/vos-watchers
#src/vos/ @daos-stack/vos-owners @daos-stack/vos-watchers
#src/common/btree*.* @daos-stack/vos-owners @daos-stack/vos-watchers
#src/include/daos/btree*.* @daos-stack/vos-owners @daos-stack/vos-watchers
#src/include/daos_srv/vos*.* @daos-stack/vos-owners @daos-stack/vos-watchers
#src/include/daos_srv/evtree.h @daos-stack/vos-owners @daos-stack/vos-watchers

# Jenkinsfile changes should be reviewed by Release Engineering
Jenkinsfile @daos-stack/build-and-release-watchers
#Jenkinsfile @daos-stack/build-and-release-watchers

# any PR that touches client API or high level client code
src/client @daos-stack/client-api-owners @daos-stack/client-api-watchers
src/include/daos_*.* @daos-stack/client-api-owners @daos-stack/client-api-watchers
#src/client @daos-stack/client-api-owners @daos-stack/client-api-watchers
#src/include/daos_*.* @daos-stack/client-api-owners @daos-stack/client-api-watchers

# doc-watchers: files affecting documentation (docs, doxygen, etc.)
mkdocs.yml @daos-stack/doc-watchers
Doxyfile @daos-stack/doc-watchers
docs/ @daos-stack/doc-watchers
#mkdocs.yml @daos-stack/doc-watchers
#Doxyfile @daos-stack/doc-watchers
#docs/ @daos-stack/doc-watchers
#src/include/*.h @daos-stack/doc-watchers
*.md @daos-stack/doc-watchers
#*.md @daos-stack/doc-watchers

# dev-build-watchers: Files affecting local builds (e.g. SCons)
SConstruct @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
SConscript @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
site_scons/ @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
utils/sl @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
#SConstruct @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
#SConscript @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
#site_scons/ @daos-stack/dev-build-owners @daos-stack/dev-build-watchers
#utils/sl @daos-stack/dev-build-owners @daos-stack/dev-build-watchers

# ftest-watchers: files affecting functional tests
src/tests/ftest @daos-stack/ftest-owners @daos-stack/ftest-watchers
#src/tests/ftest @daos-stack/ftest-owners @daos-stack/ftest-watchers

# telem-watchers: Changes related to the telemetry library
src/utils/daos_metrics @daos-stack/telem-watchers
src/gurt/telemetry.c @daos-stack/telem-watchers
#src/utils/daos_metrics @daos-stack/telem-watchers
#src/gurt/telemetry.c @daos-stack/telem-watchers

# PRs that touch the object layer
src/object/ @daos-stack/object-owners @daos-stack/object-watchers
src/rebuild/ @daos-stack/object-owners @daos-stack/object-watchers
src/dtx/ @daos-stack/object-owners @daos-stack/object-watchers
#src/object/ @daos-stack/object-owners @daos-stack/object-watchers
#src/rebuild/ @daos-stack/object-owners @daos-stack/object-watchers
#src/dtx/ @daos-stack/object-owners @daos-stack/object-watchers

# PRs that touch the CaRT layer
src/cart/ @daos-stack/cart-owners @daos-stack/cart-watchers
#src/cart/ @daos-stack/cart-owners @daos-stack/cart-watchers

# PRs that touch the metadata
src/pool/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
src/container/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
src/rdb/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
src/rsvc/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
#src/pool/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
#src/container/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
#src/rdb/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
#src/rsvc/ @daos-stack/metadata-owners @daos-stack/metadata-watchers
8 changes: 4 additions & 4 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -289,16 +289,16 @@ pipeline {
description: 'Run the Functional on Ubuntu 20.04 test stage' +
' Requires CI_MORE_FUNCTIONAL_PR_TESTS')
booleanParam(name: 'CI_medium_TEST',
defaultValue: true,
defaultValue: false,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

debugging?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I'm disabling hardware testing on the google branch so we don't use too much resources

description: 'Run the Functional Hardware Medium test stage')
booleanParam(name: 'CI_medium-verbs-provider_TEST',
defaultValue: true,
defaultValue: false,
description: 'Run the Functional Hardware Medium Verbs Provider test stage')
booleanParam(name: 'CI_medium-ucx-provider_TEST',
defaultValue: true,
defaultValue: false,
description: 'Run the Functional Hardware Medium UCX Provider test stage')
booleanParam(name: 'CI_large_TEST',
defaultValue: true,
defaultValue: false,
description: 'Run the Functional Hardware Large test stage')
string(name: 'CI_UNIT_VM1_LABEL',
defaultValue: 'ci_vm1',
Expand Down
4 changes: 2 additions & 2 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ endif
SCONS = scons -j $(NUMJOBS)
DEB_SCONS_OPTIONS := --config=force --no-rpath USE_INSTALLED=all \
CONF_DIR=$(sysconfdir)/daos PREFIX=$(prefix) \
$(SCONS_ARGS)
$(SCONS_ARGS) STATIC_FUSE=0

export GOCACHE := $(CURDIR)/.gocache

Expand All @@ -34,7 +34,7 @@ override_dh_auto_build:

override_dh_auto_clean:
echo $(DEB_BUILD_OPTIONS)
$(SCONS) --clean
$(SCONS) --clean STATIC_FUSE=0
rm -rf build install
find . -name '*.pyc' -delete
rm -rf _build.external-Linux
Expand Down
2 changes: 1 addition & 1 deletion site_scons/prereq_tools/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -520,7 +520,7 @@ def run_build(self, opts):
# argobots is not really needed by client but it's difficult to separate
common_reqs = ['argobots', 'ucx', 'ofi', 'hwloc', 'mercury', 'boost', 'uuid',
'crypto', 'protobufc', 'lz4', 'isal', 'isal_crypto']
client_reqs = ['fuse', 'json-c', 'capstone', 'archive']
client_reqs = ['fuse', 'json-c', 'capstone']
server_reqs = ['pmdk', 'spdk', 'ipmctl']
test_reqs = ['cmocka']

Expand Down
33 changes: 33 additions & 0 deletions src/cart/utils/memcheck-cart.supp
Original file line number Diff line number Diff line change
Expand Up @@ -444,6 +444,24 @@
...
fun:indexbytebody
}
{
go-cond-racecall
Memcheck:Cond
...
fun:racecall
}
{
go-value8-write_racecall
Memcheck:Value8
fun:__tsan_write
fun:racecall
}
{
go-value8-racecall
Memcheck:Value8
fun:_ZN6__tsan9ShadowSetEPNS_9RawShadowES1_S0_
fun:racecall
}
{
FI leak 8
Memcheck:Leak
Expand Down Expand Up @@ -483,9 +501,12 @@
Memcheck:Param
sendmsg(msg.msg_iov[1])
...
fun:sendmsg
fun:ofi_sockapi_sendv_socket
fun:ofi_bsock_sendv
...
fun:fi_senddata
...
}
{
Tcp provider with ofi rxm
Expand All @@ -495,6 +516,7 @@
fun:ofi_bsock_sendv
...
fun:fi_tsend
...
}
{
Tcp provider with ofi rxm 2
Expand Down Expand Up @@ -539,3 +561,14 @@
Memcheck:Value8
fun:aeshashbody
}
{
DAOS-15159
Memcheck:Param
write(buf)
fun:runtime/internal/syscall.Syscall6
}
{
DAOS-15548
Memcheck:Addr1
fun:racecallatomic
}
10 changes: 8 additions & 2 deletions src/control/lib/control/rpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,11 @@ func TestControl_InvokeUnaryRPCAsync(t *testing.T) {
"request timeout": {
timeout: 1 * time.Nanosecond,
req: &testRequest{
rpcFn: func(_ context.Context, _ *grpc.ClientConn) (proto.Message, error) {
rpcFn: func(ctx context.Context, _ *grpc.ClientConn) (proto.Message, error) {
time.Sleep(1 * time.Microsecond)
if ctx.Err() != nil {
return nil, ctx.Err()
}
return defaultMessage, nil
},
},
Expand All @@ -120,7 +123,10 @@ func TestControl_InvokeUnaryRPCAsync(t *testing.T) {
}
}(),
req: &testRequest{
rpcFn: func(_ context.Context, _ *grpc.ClientConn) (proto.Message, error) {
rpcFn: func(ctx context.Context, _ *grpc.ClientConn) (proto.Message, error) {
if ctx.Err() != nil {
return nil, ctx.Err()
}
time.Sleep(10 * time.Second) // shouldn't be allowed to run this long
return defaultMessage, nil
},
Expand Down
4 changes: 4 additions & 0 deletions src/control/logging/syslog_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ func TestSyslogOutput(t *testing.T) {
t.Log("current user does not have permissions to view system log")
return
}
if _, err := syslog.New(syslog.LOG_ALERT, "test"); err != nil {
t.Logf("unable to connect to syslog: %s -- not running this test", err)
return
}

rand.Seed(time.Now().UnixNano())
runes := []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
Expand Down
4 changes: 2 additions & 2 deletions src/control/provider/system/system_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func TestIsMounted(t *testing.T) {
expErr: errors.New("no such file or directory"),
},
"neither dir nor device": {
target: "/dev/log",
target: "/dev/stderr",
expErr: errors.New("not a valid mount target"),
},
} {
Expand Down Expand Up @@ -173,7 +173,7 @@ func TestSystemLinux_GetFsType(t *testing.T) {
expErr: syscall.ENOENT,
},
"temp dir": {
path: "/run",
path: "/dev",
expResult: &FsType{
Name: "tmpfs",
NoSUID: true,
Expand Down
Loading
Loading