Commit graph

104 commits

Author SHA1 Message Date
Jennifer Richards 041fa83d21
chore: handle errors in app-configure-blobstore.py (#8567) 2025-02-20 14:45:22 -06:00
Robert Sparks 997239a2ea
feat: write objects to blob storage (#8557)
* feat: basic blobstore infrastructure for dev

* refactor: (broken) attempt to put minio console behind nginx

* feat: initialize blobstore with boto3

* fix: abandon attempt to proxy minio. Use docker compose instead.

* feat: beginning of blob writes

* feat: storage utilities

* feat: test buckets

* chore: black

* chore: remove unused import

* chore: avoid f string when not needed

* fix: inform all settings files about blobstores

* fix: declare types for some settings

* ci: point to new target base

* ci: adjust test workflow

* fix: give the tests debug environment a blobstore

* fix: "better" name declarations

* ci: use devblobstore container

* chore: identify places to write to blobstorage

* chore: remove unreachable code

* feat: store materials

* feat: store statements

* feat: store status changes

* feat: store liaison attachments

* feat: store agendas provided with Interim session requests

* chore: capture TODOs

* feat: store polls and chatlogs

* chore: remove unneeded TODO

* feat: store drafts on submit and post

* fix: handle storage during doc expiration and resurrection

* fix: mirror an unlink

* chore: add/refine TODOs

* feat: store slide submissions

* fix: structure slide test correctly

* fix: correct sense of existence check

* feat: store some indexes

* feat: BlobShadowFileSystemStorage

* feat: shadow floorplans / host logos to the blob

* chore: remove unused import

* feat: strip path from blob shadow names

* feat: shadow photos / thumbs

* refactor: combine photo and photothumb blob kinds

The photos / thumbs were already dropped in the same
directory, so let's not add a distinction at this point.

* style: whitespace

* refactor: use kwargs consistently

* chore: migrations

* refactor: better deconstruct(); rebuild migrations

* fix: use new class in mack patch

* chore: add TODO

* feat: store group index documents

* chore: identify more TODO

* feat: store reviews

* fix: repair merge

* chore: remove unnecessary TODO

* feat: StoredObject metadata

* fix: deburr some debugging code

* fix: only set the deleted timestamp once

* chore: correct typo

* fix: get_or_create vs get and test

* fix: avoid the questionable is_seekable helper

* chore: capture future design consideration

* chore: blob store cfg for k8s

* chore: black

* chore: copyright

* ci: bucket name prefix option + run Black

Adds/uses DATATRACKER_BLOB_STORE_BUCKET_PREFIX option. Other changes
are just Black styling.

* ci: fix typo in bucket name expression

* chore: parameters in app-configure-blobstore

Allows use with other blob stores.

* ci: remove verify=False option

* fix: don't return value from __init__

* feat: option to log timing of S3Storage calls

* chore: units

* fix: deleted->null when storing a file

* style: Black

* feat: log as JSON; refactor to share code; handle exceptions

* ci: add ietf_log_blob_timing option for k8s

* test: --no-manage-blobstore option for running tests

* test: use blob store settings from env, if set

* test: actually set a couple more storage opts

* feat: offswitch (#8541)

* feat: offswitch

* fix: apply ENABLE_BLOBSTORAGE to BlobShadowFileSystemStorage behavior

* chore: log timing of blob reads

* chore: import Config from botocore.config

* chore(deps): import boto3-stubs / botocore

botocore is implicitly imported, but make it explicit
since we refer to it directly

* chore: drop type annotation that mypy loudly ignores

* refactor: add storage methods via mixin

Shares code between Document and DocHistory without
putting it in the base DocumentInfo class, which
lacks the name field. Also makes mypy happy.

* feat: add timeout / retry limit to boto client

* ci: let k8s config the timeouts via env

* chore: repair merge resolution typo

* chore: tweak settings imports

* chore: simplify k8s/settings_local.py imports

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2025-02-19 17:41:10 -06:00
Robert Sparks e5c4a9f298
feat: additional filesystem monitoring (#8405)
* feat: additional filesystem monitoring

* chore: rename setting for tmp directory

* fix: restructure path to new endpoint

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2025-01-09 13:07:51 -06:00
Lars Eggert 35074660dc
chore: Prevent test suite artifact creation in work directory (#6438)
* chore: Prevent test suite artifact creation in work directory

Also remove a few other stale test assets while I'm here.

* Try and fix CI

* Change IDSUBMIT_REPOSITORY_PATH

* Make the dir

* test: clean up media/nomcom directories

* test: de-dup settings_temp_path_overrides

* chore: remove debug

* refactor: avoid premature import of test_utils

* refactor: drop useless lambda wrapper

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
2024-09-18 14:08:01 -05:00
Nicolas Giard 96902bf3b8
chore: fix app-init.sh chown check 2024-05-24 16:41:19 -04:00
Nicolas Giard b951c80a4d
chore: update app-init.sh with linux host chown check 2024-05-24 16:34:41 -04:00
Robert Sparks cedd58f950
feat: obviate ghostlinkd (#7336)
* wip: identify whats needed to obviate ghostlinkd

* fix: hardlink new charter files to ftp directory

* fix: hardlink new charter files to ftp directory (continued)

* chore: bring settings comment up to date

* chore: add archive and ftp dirs to setup of various environments

* fix: test charter submits write to ftp dir

* chore: remove debug

* fix: test charter approval writes to ftp dir

* fix: link review revisions into ftp dir

* fix: link to all archive and ftp on submission post

* chore: clean comments, move action to github issue

* fix: link idindex files to all archive and ftp

* chore: deflake

* chore: remove TODO comment

* fix: use settings

* chore: rename new setting
2024-04-19 16:18:52 -05:00
Lars Eggert 3d44825333
ci: Switch to using geckodriver (#6541)
* Switch to using geckodriver

* Switch to selenium 4

* Undo

* Remove comment

* Fixes

* Restore non-standard line endings to minimize diff

* Undo

* Remove comment

* test: Fix test_upcoming_view_time_zone_selection

The inputs are hidden and managed by JS, so click
the visible elements instead.

* test: Clumsy fix to test_upcoming_materials_modal

Waiting for the button to be clickable does not
work because the modal is still fading in, so does
not actually close. Would be better to check for it
responding, but I haven't found the right way to do
that yet.

* test: Fix test_add_author_forms

Sending '\n' does not seem to work as it did before,
so click the option instead.

Also reverted some fixme hacks that seem to be obe.

* ci: Update base.Dockerfile

* test: add resource limits to dev/tests/debug.sh env

* ci: add upload of geckodriver.log on failure

* ci: run tests as user 1001

* ci: run app-create-dirs as sudo

* ci: set home folder to root to run tests

---------

Co-authored-by: Jennifer Richards <jennifer@staff.ietf.org>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-11-21 15:30:50 -06:00
Robert Sparks 73137364cc
chore: rename test settings and shorten runserver instructions (#6131) 2023-08-11 11:21:38 -05:00
Nicolas Giard 4179d08dbb
chore(dev): silence browserlist warnings 2023-06-15 23:30:10 -04:00
Lars Eggert 860e661cf5
fix: port 8000 -> 8001 (#5788) 2023-06-08 14:15:46 -05:00
Nicolas Giard 52e175b39b
chore: start devcontainer services on re-open (#5776) 2023-06-06 17:07:06 -05:00
Nicolas Giard 055651f5f7
chore: fix app-init.sh 2023-06-05 18:06:19 -04:00
Nicolas Giard 03a192b54c
chore: add nginx reverse proxy to dev environment (#5745)
* chore: add nginx reverse proxy to dev environment

* chore: replace settings_local in docker and backup old
2023-06-05 16:47:06 -05:00
Nicolas Giard 2163a01adc
chore: move git safe directory command to top 2023-05-10 15:40:22 -04:00
Nicolas Giard 871afb1b86
chore: add git safe directory to docker init script 2023-05-10 15:20:48 -04:00
Robert Sparks 400a830661
chore: add bibxml-ids dir to container build. (#5590) 2023-05-08 15:16:31 -05:00
Nicolas Giard 86a183ec21
chore: cleanup of legacy scripts 2023-04-25 16:42:46 -04:00
Robert Sparks be47b76128
fix: more search_path tweaking (#5535) 2023-04-25 13:35:33 -05:00
Nicolas Giard 7f2043336b
chore: remove alter search_path from app-init.sh 2023-04-25 14:17:17 -04:00
Robert Sparks e649bfdb3b
chore: wrangle db search_path (#5523) 2023-04-25 11:59:58 -05:00
Nicolas Giard 16ba4a438b
fix: set search_path to datatracker 2023-04-18 21:42:01 -04:00
Nicolas Giard 2ef6985674
chore: update db-import db name 2023-04-18 19:22:39 -04:00
Nicolas Giard fd92dc2b8d
ci: add no-owner flag to db-import.sh 2023-04-12 22:52:12 -04:00
Nicolas Giard d7f808393d
chore: change db workflow for pg 2023-04-12 22:26:37 -04:00
Jim Fenton 0f1a6c960f
chore: Update test docs to postgresql; remove extraneous sqlite stuff (#5400)
* chore: Update test docs to postgresql; remove extraneous sqlite stuff

* Reverted addition of settings_postgrestest.py to .gitignore
2023-03-29 10:45:03 +09:00
Jennifer Richards 6b826fd985
refactor: Purge old migrations and update ci to build on a clean schema (#5431)
* refactor: Remove all existing migrations

* refactor: Create clean set of migrations

* chore: Skip check_statetype_slugs when DB is not yet populated

* fix: Do not cache active_groups_menu on module import

* fix: Do not patch timezone awareness out of oidc-provider

* refactor: Migrate to create postgres schema, only use pgloader for data

* ci: Use migration scripts from feat/pg-migrations branch

* Revert "ci: Use migration scripts from feat/pg-migrations branch"

This reverts commit c82f64c614241ccede4865a50d494725c8a47c15.

* ci: Run check before migrate

* fix: Remove redundant migration caused by merge error

* chore: Add casts/ALTER TABLEs to eliminate pgloader errors/warnings

* chore: Change schema name to match docker image assumptions

* chore: Clear out schema so we get a clean start in case of a retry
2023-03-28 18:06:07 +09:00
Robert Sparks 88a78cf1ab
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-20 13:46:32 -05:00
Robert Sparks c3e6708b72
chore: change the way migrations are invoked for actions and dev builds (#5356) 2023-03-16 12:24:03 -05:00
Robert Sparks 82f23da2b3
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-02-28 16:25:46 -06:00
Robert Sparks ad553ccdc0
fix: repair app container use of assets (#5241) 2023-02-28 15:01:16 -06:00
Robert Sparks 117bb2a5b8
ci: clean up after recent exploration. 2023-02-02 13:19:37 -06:00
Robert Sparks ec0f718191
ci: further pg_restore tuning 2023-02-02 11:59:41 -06:00
Robert Sparks 1d26aa0004
ci: change prestate before pg_restore 2023-02-02 11:30:41 -06:00
Robert Sparks 2ebe85872c
ci: let pgloader do all the clean and creation work 2023-02-02 10:52:13 -06:00
Nicolas Giard a1185a8eeb
ci: enable citext on db without schema 2023-02-02 04:05:00 -05:00
Nicolas Giard 58844720b6
ci: enable citext on public schema 2023-02-02 03:38:45 -05:00
Nicolas Giard fff220c7fd
ci: set schema search path before pg_restore 2023-02-02 03:09:41 -05:00
Nicolas Giard 85b352676b
ci: add citext pg extension to import script 2023-02-01 21:05:39 -05:00
Robert Sparks 24bb789cd2
feat: add citext to default db template (#5069) 2023-02-01 15:12:38 -06:00
Nicolas Giard 51b68d6365
ci: fix db-pg-migrate script to use pgdb instead of pg 2022-12-19 18:11:23 -05:00
Nicolas Giard c01054432b
ci: set pgloader workers to 3 2022-12-19 17:50:48 -05:00
Nicolas Giard 29731bf36d
ci: reduce pgloader workers arg to 1 2022-12-19 16:50:46 -05:00
Nicolas Giard 24c8738e1e
ci: fix db migrate script to use mysql first 2022-12-19 16:37:56 -05:00
Nicolas Giard cdef8f4114
ci: use lower batch size for pg migrate 2022-12-15 17:45:15 -05:00
Nicolas Giard 94d367000b
ci: add search path modif to db dump import 2022-12-15 15:43:25 -05:00
Nicolas Giard a60d52253e
chore: use prebuilt pg db image in dev (#4890) 2022-12-15 14:00:51 -06:00
Nicolas Giard 6f8caaf342
ci: add createdb to db-pg-import.sh 2022-12-14 02:13:44 +00:00
Nicolas Giard 96be49f9d3
ci: add dropdb to db-pg-import.sh 2022-12-14 02:02:21 +00:00
Nicolas Giard 6a70cefb55
ci: remove dropdb from db-pg-import.sh 2022-12-14 01:21:26 +00:00