Skip to content
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 CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Added
to pants' use of PEX lockfiles. This is not a user-facing addition.
#5778 #5789 #5817 #5795 #5830 #5833 #5834 #5841 #5840 #5838 #5842 #5837 #5849 #5850
#5846 #5853 #5848 #5847 #5858 #5857 #5860 #5868 #5871 #5864 #5874 #5884 #5893 #5891
#5890 #5898 #5901 #5906 #5899 #5907 #5909 #5922 #5926 #5927
#5890 #5898 #5901 #5906 #5899 #5907 #5909 #5922 #5926 #5927 #5925
Contributed by @cognifloyd

* Added a joint index to solve the problem of slow mongo queries for scheduled executions. #5805
Expand Down
64 changes: 64 additions & 0 deletions st2common/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ st2_component_python_distribution(
"bin/st2-pack-download",
"bin/st2-pack-setup-virtualenv",
"bin/migrations/v3.5/st2-migrate-db-dict-field-values",
"bin/migrations/v3.8/st2-drop-st2exporter-marker-collections",
"bin/st2-run-pack-tests:shell",
"bin/st2ctl:shell",
"bin/st2-self-check:shell",
Expand All @@ -36,4 +37,67 @@ st2_component_python_distribution(
"noop": "st2common.rbac.backends.noop:NoOpRBACBackend",
},
},
dependencies=[
# no entry-point or script yet
"./st2common/garbage_collection/inquiries.py", # missing cmd + ./bin/st2-purge-inquiries
#
# Things that need to be included as part of the st2common library's API:
#
# ### Public API ###
#
"./st2common/logging", # used by all of our logging conf files
"./st2common/models/system", # used by runners
"./st2common/policies", # used by policies (see st2actions.policies)
"./st2common/runners", # used by runners and python actions
#
# ### Mixed Public+Internal API ###
#
"./st2common/services", # used by runners, python actions, st2api, ...
#
# ### Internal API ###
#
"./st2common/constants/garbage_collection.py", # used by garbage collector
"./st2common/constants/policy.py", # used by st2scheduler (in st2actions)
"./st2common/constants/timer.py", # used by st2timersengine (in st2reactor)
"./st2common/middleware", # used by st2auth, st2api, st2stream
"./st2common/models/api", # used by st2auth, st2api, st2stream
"./st2common/models/system", # used by st2auth, st2api, st2stream
"./st2common/models/db/timer.py", # used by st2api
"./st2common/models/db/webhook.py", # used by st2api
"./st2common/persistence/execution_queue.py", # used by st2scheduler (in st2actions)
"./st2common/stream", # used by st2stream
"./st2common/transport/consumers.py", # used by st2actions- and st2reactor-related services
"./st2common/util/actionalias_helpstring.py", # used by st2api
"./st2common/util/auth.py", # used by st2api, st2auth
"./st2common/util/keyvalue.py", # used by st2api
"./st2common/util/sandboxing.py", # used by python runner and sensor container
"./st2common/util/service.py", # used by st2scheduler (in st2actions)
"./st2common/util/wsgi.py", # used by st2stream
"./st2common/validators/api/misc.py", # used by st2api
#
# ### Dead Code (?) ###
#
# Added gunicorn bug workaround for SyncWorker users in #2571. No known active users. To use:
# `gunicorn -k st2common.util.gunicorn_workers.EventletSyncWorker ...`
# "./st2common/util/gunicorn_workers.py",
#
# Known dead code that should be deleted. Do not add these:
# ./st2common/callback/* (was for the old mistral_v2 runner. see #4038)
# ./st2common/constants/scheduler.py (unused since #4397)
# ./st2common/content/validators.py (unused since #939)
# ./st2common/exceptions/api.py (unused since #1840)
# ./st2common/exceptions/connection.py (unused since #1794)
# ./st2common/exceptions/resultstracker.py (unused since #5011)
# ./st2common/models/api/actionrunner.py (unused since #442)
# ./st2common/models/db/reactor.py (unused since #5922)
# ./st2common/persistence/reactor.py (unused since #5922)
# ./st2common/util/argument_parser.py (never used since added in e9ae7e31e1eb47e49f0fdc414ed6d2b8eccf4748)
# ./st2common/validators/workflow (unused since #5011)
],
# commands helpful in inspecting the dependencies (the "=(...)" is zsh syntax)
# python files under st2common that will not be included in the wheel
# comm -13 =(./pants dependencies --transitive st2common:st2common | grep -v -e : -e __init__.py | grep st2common/st2common | sort) =(find st2common/st2common -name '*.py' -and -not -name '__init__.py' | sort)
#
# python files required by other wheels that are missing from st2common
# comm -13 =(./pants dependencies --transitive st2common:st2common | grep st2common/st2common | sort) =(./pants list --filter-target-type=python_distribution --filter-address-regex=-st2common:st2common :: | xargs ./pants dependencies --transitive | grep st2common/st2common | sort)
)
18 changes: 18 additions & 0 deletions st2common/bin/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,22 @@ st2_shell_sources_and_resources(
name="shell",
sources=["st2ctl", "st2-self-check", "st2-run-pack-tests"],
skip_shellcheck=True,
overrides={
"st2ctl": {
"dependencies": [
"./st2-register-content",
"./st2-cleanup-db",
],
},
"st2-self-check": {
"dependencies": [
"./st2ctl:shell",
# TODO: dep on st2client cli?
],
},
# st2-run-pack-tests creates its own virtualenv on the fly and
# installs its dependencies, so they don't need to be listed here.
# It can optionally use the deps installed with st2tests package.
# "st2-run-pack-tests": {},
},
)
4 changes: 3 additions & 1 deletion st2common/bin/migrations/v3.5/BUILD
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# TODO: what to do about st2-migrate-db-dict-field-values ?
# st2_migrate_db_dict_field_values.py is a symlink to st2-migrate-db-dict-field-values
python_sources()
python_sources(
sources=["*.py", "st2*"],
)
3 changes: 3 additions & 0 deletions st2common/bin/migrations/v3.8/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
python_sources(
sources=["st2*"],
)
5 changes: 1 addition & 4 deletions st2common/bin/migrations/v3.8/st2-drop-st2exporter-marker-collections
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,7 @@ and the collections were not configured to be created automatically.
import sys
import traceback

import mongoengine as me
Copy link
Member Author

Choose a reason for hiding this comment

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

Flake8 noticed that this import was unused. Oops. Dropped.


from mongoengine.connection import get_db
from oslo_config import cfg

from st2common import config
from st2common.service_setup import db_setup
Expand Down Expand Up @@ -56,7 +53,7 @@ def main():
db_setup()

try:
delete_marker_collections(display_prompt=not cfg.CONF.yes)
Copy link
Member Author

Choose a reason for hiding this comment

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

pylint complained about this as the display_prompt kwarg doesn't exist. Oops.

I believe I copy/pasted this from the v3.5 migration script.

delete_marker_collections()
exit_code = 0
except Exception as e:
print("ABORTED: Collection deletion aborted on first failure: %s" % (str(e)))
Expand Down