Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
458bbd4
wip get urls from dmrpp
hannahilea Oct 28, 2025
be8ecf4
urls available from EffectiveUrlCache
hannahilea Oct 28, 2025
61ffd33
parse s3 credentials from tea endpoint
hannahilea Oct 29, 2025
60271a2
Split SignedUrlCache out of EffectiveUrlCache
hannahilea Oct 29, 2025
a19ee90
Split SignedUrlCache out of EffectiveUrlCache
hannahilea Oct 29, 2025
a926716
wip start adding aws sdk dependence
hannahilea Oct 29, 2025
0a3691d
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 29, 2025
738ae40
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 29, 2025
db5fb39
Add unit test: cache_disabled
hannahilea Oct 30, 2025
ea21df6
Merge branch 'hr/HYRAX-1732-TEA-party-3' of https://github.com/OPENDA…
hannahilea Oct 30, 2025
2e0c4b7
Update test: set_skip_regex
hannahilea Oct 30, 2025
1bce392
Add test: dump
hannahilea Oct 30, 2025
0652066
Fill in credential expiration wip
hannahilea Oct 30, 2025
19a9240
Clear all caches for unit test setup
hannahilea Oct 31, 2025
ff57cd3
Add test and fix behavior: invalid response json
hannahilea Oct 31, 2025
2466331
Test non-http behavior
hannahilea Oct 31, 2025
b384fd9
Add test: cache signed url components
hannahilea Oct 31, 2025
7a3e8a3
Add test: retrieved signed url components
hannahilea Oct 31, 2025
0142bed
Add messages to unit test asserts
hannahilea Oct 31, 2025
4792441
add test for gets3credentials from endpoing
hannahilea Oct 31, 2025
53e288c
remove stale tests
hannahilea Oct 31, 2025
1df8485
Clean up
hannahilea Oct 31, 2025
05d79c8
handle timestamp wrangling differently
hannahilea Oct 31, 2025
c440ee8
update docstrings
hannahilea Oct 31, 2025
aa65428
clean up dump to include all cache maps
hannahilea Oct 31, 2025
01b5669
aws wip
hannahilea Oct 30, 2025
c265781
wip sadness
hannahilea Nov 3, 2025
59ab7e0
Move SignedUrlCache implementation into .cc
hannahilea Nov 5, 2025
cd869e7
move SignedUrlCache from http to aws
hannahilea Nov 6, 2025
c6b2c9d
enable aws signedurlcachetest tests
hannahilea Nov 13, 2025
fd688d3
add helper function for splitting s3 paths
hannahilea Nov 13, 2025
a45935b
add expiration calculation
hannahilea Nov 14, 2025
d56a9cd
safety first
hannahilea Nov 14, 2025
487d098
add docstring remove todo
hannahilea Nov 17, 2025
96a2a10
move warning
hannahilea Nov 17, 2025
14c01e3
temp disable tests to understand travis failure
hannahilea Nov 17, 2025
939c1f2
commit out all signedurlcachetests to see if it still fails
hannahilea Nov 17, 2025
8a0813e
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Nov 17, 2025
08057a9
fix linking in ngap_container
hannahilea Nov 17, 2025
8d77254
wip linker
hannahilea Nov 17, 2025
39cbd6a
Update mkchk script to show errors where build failed
hannahilea Nov 17, 2025
1b55513
add test output to .gitignore
hannahilea Nov 17, 2025
7708576
fix ngap_container linker
hannahilea Nov 17, 2025
a1de61a
Fix dmrpp_module/unit tests linking
hannahilea Nov 18, 2025
1426168
linker changes; can now make bes, pass all unit tests w/out linker fa…
hannahilea Nov 18, 2025
91cd9d5
Link aws to the standalone
hannahilea Nov 18, 2025
d0a5c6f
fix dmrpp module linking
hannahilea Nov 19, 2025
6b54d8a
re-enable signedurlcachetest
hannahilea Nov 19, 2025
2f6f226
revert unnecessary abspath change
hannahilea Nov 19, 2025
bd5a27d
Merge branch 'master' into hr/HYRAX-1732-TEA-party-3
hannahilea Nov 19, 2025
27352b6
clean up
hannahilea Nov 19, 2025
9dd8da5
more clean-up
hannahilea Nov 19, 2025
d0d57d6
comment out signedurlcachetest to see if everything else will build o…
hannahilea Nov 19, 2025
9f5f155
fix tests link, remove aws link from standalone
hannahilea Nov 20, 2025
0e4b204
revert top makefile.am changes
hannahilea Nov 20, 2025
c6b6ba4
re-enable tests to see if they fail
hannahilea Nov 20, 2025
e193ac7
update travis yml to print aws test fail log to output
hannahilea Nov 20, 2025
68c6686
might as well turn 'em all on
hannahilea Nov 20, 2025
0487038
just test aws
hannahilea Nov 20, 2025
8e2315a
fix log path
hannahilea Nov 20, 2025
baa95d5
argh
hannahilea Nov 20, 2025
d950f29
Add bes.conf.in to aws tests
hannahilea Nov 20, 2025
17e2d8f
fix substring test
hannahilea Nov 20, 2025
a3a4a01
maybe travis has less future
hannahilea Nov 20, 2025
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
197 changes: 100 additions & 97 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,110 +147,113 @@ jobs:
# - export RUNTESTFLAGS="-v"
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer
- make -j16 && make install && besctl start && make check -j16 && besctl stop
- make -j16 && make install && besctl start && cd aws && make check -j16 && besctl stop
after_failure:
- cat /home/travis/build/OPENDAP/bes/aws/unit-tests/test-suite.log

- stage: build-and-package
name: "distcheck"
script:
- export BES_BUILD=distcheck
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer
- make distcheck -j16 GZIP_ENV=--fast

- stage: build-and-package
name: "Enterprise Linux 8 RPMs (via Rocky8)"
script:
- export BES_BUILD=rocky8
- mkdir -p $prefix/rpmbuild
- echo "branch name ${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
- docker run --env prefix=/root/install --volume $prefix/rpmbuild:/root/rpmbuild
--volume $TRAVIS_BUILD_DIR:/root/travis
--env OS=rocky8
--env DIST=el8
--env LIBDAP_RPM_VERSION=$LIBDAP_RPM_VERSION
--env BES_BUILD_NUMBER=$BES_BUILD_NUMBER
--env AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
--env AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
opendap/rocky8_hyrax_builder:latest /root/travis/travis/build-rpm.sh
# - stage: build-and-package
# name: "distcheck"
# script:
# - export BES_BUILD=distcheck
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer
# - make distcheck -j16 GZIP_ENV=--fast

- stage: build-and-package
name: "dist"
script:
- export BES_BUILD=srcdist
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
- make dist -j7
# Make both a bes-<version>-<build num> and bes-snapshot tar.gz. This will simplify
# other operations that use the bes source code. Note that the VERSION file holds a
# string that is the version number that is set by the configure script and the build
# number passed into configure when it is run. jhrg 3/23/21
- SOURCE_VERSION=$(cat bes_VERSION)
- mv bes-*.tar.gz bes-$SOURCE_VERSION.tar.gz
- cp bes-$SOURCE_VERSION.tar.gz bes-snapshot.tar.gz
# - stage: build-and-package
# name: "Enterprise Linux 8 RPMs (via Rocky8)"
# script:
# - export BES_BUILD=rocky8
# - mkdir -p $prefix/rpmbuild
# - echo "branch name ${TRAVIS_PULL_REQUEST_BRANCH:-$TRAVIS_BRANCH}"
# - docker run --env prefix=/root/install --volume $prefix/rpmbuild:/root/rpmbuild
# --volume $TRAVIS_BUILD_DIR:/root/travis
# --env OS=rocky8
# --env DIST=el8
# --env LIBDAP_RPM_VERSION=$LIBDAP_RPM_VERSION
# --env BES_BUILD_NUMBER=$BES_BUILD_NUMBER
# --env AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
# --env AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
# opendap/rocky8_hyrax_builder:latest /root/travis/travis/build-rpm.sh

- stage: scan
name: "scan bes"
script:
- export BES_BUILD=sonar-bes-framework
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-framework.properties -Dsonar.login=$SONAR_LOGIN
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes | grep "QUALITY GATE PASS"
# - stage: build-and-package
# name: "dist"
# script:
# - export BES_BUILD=srcdist
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
# - make dist -j7
# # Make both a bes-<version>-<build num> and bes-snapshot tar.gz. This will simplify
# # other operations that use the bes source code. Note that the VERSION file holds a
# # string that is the version number that is set by the configure script and the build
# # number passed into configure when it is run. jhrg 3/23/21
# - SOURCE_VERSION=$(cat bes_VERSION)
# - mv bes-*.tar.gz bes-$SOURCE_VERSION.tar.gz
# - cp bes-$SOURCE_VERSION.tar.gz bes-snapshot.tar.gz

- stage: scan
name: "scan bes-modules-1"
script:
- export BES_BUILD=sonar-bes-modules
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-modules-1.properties -Dsonar.login=$SONAR_MODULES_LOGIN
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-modules | grep "QUALITY GATE PASS"
# - stage: scan
# name: "scan bes"
# script:
# - export BES_BUILD=sonar-bes-framework
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-framework.properties -Dsonar.login=$SONAR_LOGIN
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes | grep "QUALITY GATE PASS"

- stage: scan
name: "scan bes-hdf-handlers"
script:
- export BES_BUILD=sonar-bes-hdf-handlers
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
- build-wrapper-linux-x86-64 --out-dir bw-output make -j16
- sonar-scanner -Dproject.settings=sonar-bes-hdf-handlers.properties -Dsonar.login=$SONAR_SUBMODULES_LOGIN
# We call the hdf4/5 handlers scan opendap-bes-submodules for historical reasons. jhrg 1/13/22
- curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-submodules | grep "QUALITY GATE PASS"
# - stage: scan
# name: "scan bes-modules-1"
# script:
# - export BES_BUILD=sonar-bes-modules
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-modules-1.properties -Dsonar.login=$SONAR_MODULES_LOGIN
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-modules | grep "QUALITY GATE PASS"

- stage: hyrax-olfs-trigger
name: "Hyrax OLFS Trigger"
script:
- export STAGE=hyrax-olfs
- echo $STAGE
- autoreconf --force --install --verbose
- ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
- ./travis/trigger-olfs-build.sh
# - stage: scan
# name: "scan bes-hdf-handlers"
# script:
# - export BES_BUILD=sonar-bes-hdf-handlers
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --enable-developer --enable-coverage
# - build-wrapper-linux-x86-64 --out-dir bw-output make -j16
# - sonar-scanner -Dproject.settings=sonar-bes-hdf-handlers.properties -Dsonar.login=$SONAR_SUBMODULES_LOGIN
# # We call the hdf4/5 handlers scan opendap-bes-submodules for historical reasons. jhrg 1/13/22
# - curl -s https://sonarcloud.io/api/project_badges/quality_gate?project=opendap-bes-submodules | grep "QUALITY GATE PASS"

# - stage: hyrax-olfs-trigger
# name: "Hyrax OLFS Trigger"
# script:
# - export STAGE=hyrax-olfs
# - echo $STAGE
# - autoreconf --force --install --verbose
# - ./configure --disable-dependency-tracking --prefix=$prefix --with-dependencies=$prefix/deps --with-build=$BES_BUILD_NUMBER
# - ./travis/trigger-olfs-build.sh

after_script:
- ./travis/upload-test-results.sh
# after_script:
# - ./travis/upload-test-results.sh

before_deploy:
- export DEPLOY="S3"
# Make sure that we have the target dir...
- mkdir -p $TRAVIS_BUILD_DIR/package;
# Source distribution prep (copies both the 'version' and 'snapshot')
- if test "$BES_BUILD" = "srcdist"; then cp bes-*.tar.gz $TRAVIS_BUILD_DIR/package; fi
# Rocky8 distribution prep
- if test "$BES_BUILD" = "rocky8"; then ./travis/rpm-to-package-dir.sh "el8"; fi
# Check for the stuff...
- ls -l $TRAVIS_BUILD_DIR/package
# before_deploy:
# - export DEPLOY="S3"
# # Make sure that we have the target dir...
# - mkdir -p $TRAVIS_BUILD_DIR/package;
# # Source distribution prep (copies both the 'version' and 'snapshot')
# - if test "$BES_BUILD" = "srcdist"; then cp bes-*.tar.gz $TRAVIS_BUILD_DIR/package; fi
# # Rocky8 distribution prep
# - if test "$BES_BUILD" = "rocky8"; then ./travis/rpm-to-package-dir.sh "el8"; fi
# # Check for the stuff...
# - ls -l $TRAVIS_BUILD_DIR/package

# The deploy section copies the snapshot build product our S3 bucket and to www.opendap.org
deploy:
# Push all build results to our S3 bucket
- provider: s3
access_key_id: $AWS_ACCESS_KEY_ID
secret_access_key: $AWS_SECRET_ACCESS_KEY
bucket: opendap.travis.build
skip_cleanup: true
local_dir: $TRAVIS_BUILD_DIR/package
on:
all_branches: true
condition: $BES_BUILD =~ ^rocky8|srcdist$
# # The deploy section copies the snapshot build product our S3 bucket and to www.opendap.org
# deploy:
# # Push all build results to our S3 bucket
# - provider: s3
# access_key_id: $AWS_ACCESS_KEY_ID
# secret_access_key: $AWS_SECRET_ACCESS_KEY
# bucket: opendap.travis.build
# skip_cleanup: true
# local_dir: $TRAVIS_BUILD_DIR/package
# on:
# all_branches: true
# condition: $BES_BUILD =~ ^rocky8|srcdist$
10 changes: 7 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -262,14 +262,18 @@ add_executable(
dap/ShowPathInfoResponseHandler.h
dap/TempFile.cc
dap/TempFile.h
dap/DapUtils.cc
dap/DapUtils.h
dap/DapUtils.cc
dap/DapUtils.h

dapreader/DapModule.cc
dapreader/DapModule.h
dapreader/DapRequestHandler.cc
dapreader/DapRequestHandler.h

aws/SignedUrlCache.cc
aws/SignedUrlCache.h
aws/unit-tests/SignedUrlCacheTest.cc

dispatch/PicoSHA2/example/hasher.cpp
dispatch/PicoSHA2/example/interactive_hasher.cpp
dispatch/PicoSHA2/test/test.cpp
Expand Down Expand Up @@ -414,7 +418,7 @@ add_executable(
dispatch/BESModuleApp.h
dispatch/BESNames.h
dispatch/BESNotFoundError.h
dispatch/BESObj.h
dispatch/BESObj.h
dispatch/BESPlugin.h
dispatch/BESPluginFactory.h
dispatch/BESProcIdResponseHandler.cc
Expand Down
10 changes: 7 additions & 3 deletions aws/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

AUTOMAKE_OPTIONS = foreign

AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/dispatch
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/dispatch -I$(top_srcdir)/http

if BES_DEVELOPER
AM_CPPFLAGS += -DBES_DEVELOPER
Expand All @@ -15,6 +15,8 @@ AM_CXXFLAGS=
AM_LDFLAGS =
include $(top_srcdir)/coverage.mk

LDADD = $(BES_HTTP_LIB)

SUBDIRS = . unit-tests

noinst_LTLIBRARIES = libbes_aws.la
Expand Down Expand Up @@ -47,5 +49,7 @@ cccc:
-mkdir $(C4_DIR)
cccc --outdir=$(C4_DIR) $(SRCS) $(HDRS)

SRCS = AWS_SDK.cc
HDRS = AWS_SDK.h IAWS_SDK.h
SRCS = AWS_SDK.cc \
SignedUrlCache.cc
HDRS = AWS_SDK.h IAWS_SDK.h \
SignedUrlCache.h
Loading