From f216679a73e4833731f8df208b1f0888a453c2b1 Mon Sep 17 00:00:00 2001 From: David Garcia Date: Fri, 5 Mar 2021 13:29:55 +0100 Subject: [PATCH] Add Squid metrics packages --- hackfest_squid_metrics_cnf/build_charms.sh | 13 + .../charms/grafana-operator/.flake8 | 9 + .../charms/grafana-operator/.gitignore | 4 + .../charms/grafana-operator/LICENSE | 674 ++++++ .../charms/grafana-operator/README.md | 64 + .../charms/grafana-operator/config.yaml | 11 + .../charms/grafana-operator/dispatch | 3 + .../charms/grafana-operator/hooks/install | 1 + .../charms/grafana-operator/hooks/start | 1 + .../grafana-operator/hooks/upgrade-charm | 1 + .../charms/grafana-operator/icon.svg | 12 + .../charms/grafana-operator/metadata.yaml | 34 + .../grafana-operator/requirements-dev.txt | 2 + .../charms/grafana-operator/requirements.txt | 2 + .../charms/grafana-operator/run_tests | 16 + .../charms/grafana-operator/src/charm.py | 494 +++++ .../charms/grafana-operator/tests/__init__.py | 0 .../grafana-operator/tests/test_charm.py | 490 +++++ .../venv/PyYAML-5.4.1.dist-info/INSTALLER | 1 + .../venv/PyYAML-5.4.1.dist-info/LICENSE | 20 + .../venv/PyYAML-5.4.1.dist-info/METADATA | 46 + .../venv/PyYAML-5.4.1.dist-info/RECORD | 43 + .../venv/PyYAML-5.4.1.dist-info/WHEEL | 5 + .../venv/PyYAML-5.4.1.dist-info/top_level.txt | 2 + .../grafana-operator/venv/_yaml/__init__.py | 33 + .../venv/oci_image-1.0.0.dist-info/INSTALLER | 1 + .../venv/oci_image-1.0.0.dist-info/METADATA | 63 + .../venv/oci_image-1.0.0.dist-info/RECORD | 7 + .../venv/oci_image-1.0.0.dist-info/WHEEL | 5 + .../oci_image-1.0.0.dist-info/top_level.txt | 1 + .../charms/grafana-operator/venv/oci_image.py | 53 + .../venv/ops-1.1.0.dist-info/INSTALLER | 1 + .../venv/ops-1.1.0.dist-info/LICENSE.txt | 202 ++ .../venv/ops-1.1.0.dist-info/METADATA | 263 +++ .../venv/ops-1.1.0.dist-info/RECORD | 28 + .../venv/ops-1.1.0.dist-info/WHEEL | 5 + .../venv/ops-1.1.0.dist-info/top_level.txt | 1 + .../grafana-operator/venv/ops/__init__.py | 20 + .../charms/grafana-operator/venv/ops/charm.py | 823 ++++++++ .../grafana-operator/venv/ops/framework.py | 1199 +++++++++++ .../grafana-operator/venv/ops/jujuversion.py | 114 + .../grafana-operator/venv/ops/lib/__init__.py | 264 +++ .../charms/grafana-operator/venv/ops/log.py | 58 + .../charms/grafana-operator/venv/ops/main.py | 406 ++++ .../charms/grafana-operator/venv/ops/model.py | 1314 ++++++++++++ .../grafana-operator/venv/ops/storage.py | 374 ++++ .../grafana-operator/venv/ops/testing.py | 826 ++++++++ .../grafana-operator/venv/ops/version.py | 3 + .../grafana-operator/venv/yaml/__init__.py | 427 ++++ .../yaml/_yaml.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 2342916 bytes .../grafana-operator/venv/yaml/composer.py | 139 ++ .../grafana-operator/venv/yaml/constructor.py | 748 +++++++ .../grafana-operator/venv/yaml/cyaml.py | 101 + .../grafana-operator/venv/yaml/dumper.py | 62 + .../grafana-operator/venv/yaml/emitter.py | 1137 ++++++++++ .../grafana-operator/venv/yaml/error.py | 75 + .../grafana-operator/venv/yaml/events.py | 86 + .../grafana-operator/venv/yaml/loader.py | 63 + .../grafana-operator/venv/yaml/nodes.py | 49 + .../grafana-operator/venv/yaml/parser.py | 589 ++++++ .../grafana-operator/venv/yaml/reader.py | 185 ++ .../grafana-operator/venv/yaml/representer.py | 389 ++++ .../grafana-operator/venv/yaml/resolver.py | 227 ++ .../grafana-operator/venv/yaml/scanner.py | 1435 +++++++++++++ .../grafana-operator/venv/yaml/serializer.py | 111 + .../grafana-operator/venv/yaml/tokens.py | 104 + .../charms/ops/grafana-operator/.flake8 | 9 + .../charms/ops/grafana-operator/.gitignore | 4 + .../charms/ops/grafana-operator/.jujuignore | 3 + .../charms/ops/grafana-operator/LICENSE | 674 ++++++ .../charms/ops/grafana-operator/README.md | 64 + .../charms/ops/grafana-operator/config.yaml | 11 + .../charms/ops/grafana-operator/icon.svg | 12 + .../charms/ops/grafana-operator/metadata.yaml | 34 + .../ops/grafana-operator/requirements-dev.txt | 2 + .../ops/grafana-operator/requirements.txt | 2 + .../charms/ops/grafana-operator/run_tests | 16 + .../charms/ops/grafana-operator/src/charm.py | 494 +++++ .../ops/grafana-operator/tests/__init__.py | 0 .../ops/grafana-operator/tests/test_charm.py | 490 +++++ .../charms/ops/prometheus-operator/.flake8 | 9 + .../charms/ops/prometheus-operator/.gitignore | 6 + .../ops/prometheus-operator/.jujuignore | 3 + .../charms/ops/prometheus-operator/LICENSE | 674 ++++++ .../charms/ops/prometheus-operator/README.md | 78 + .../ops/prometheus-operator/actions.yaml | 3 + .../prometheus-operator/actions/reload-config | 2 + .../ops/prometheus-operator/config.yaml | 99 + .../config/prometheus-k8s.yml | 283 +++ .../charms/ops/prometheus-operator/icon.svg | 50 + .../ops/prometheus-operator/metadata.yaml | 34 + .../prometheus-operator/requirements-dev.txt | 5 + .../ops/prometheus-operator/requirements.txt | 2 + .../charms/ops/prometheus-operator/run_tests | 16 + .../charms/ops/prometheus-operator/setup.py | 21 + .../ops/prometheus-operator/src/charm.py | 377 ++++ .../ops/prometheus-operator/tests/__init__.py | 0 .../prometheus-operator/tests/test_charm.py | 313 +++ .../charms/ops/squid-operator/README.md | 47 + .../charms/ops/squid-operator/actions.yaml | 14 + .../charms/ops/squid-operator/config.yaml | 5 + .../charms/ops/squid-operator/metadata.yaml | 22 + .../ops/squid-operator/requirements.txt | 3 + .../charms/ops/squid-operator/squid.charm | Bin 0 -> 1157519 bytes .../charms/ops/squid-operator/src/charm.py | 122 ++ .../ops/squid-operator/template/squid.conf | 26 + .../charms/ops/squid-operator/tox.ini | 46 + .../charms/prometheus-operator/.flake8 | 9 + .../charms/prometheus-operator/.gitignore | 5 + .../charms/prometheus-operator/LICENSE | 674 ++++++ .../charms/prometheus-operator/README.md | 78 + .../charms/prometheus-operator/actions.yaml | 3 + .../prometheus-operator/actions/reload-config | 2 + .../charms/prometheus-operator/config.yaml | 99 + .../config/prometheus-k8s.yml | 283 +++ .../charms/prometheus-operator/dispatch | 3 + .../charms/prometheus-operator/hooks/install | 1 + .../charms/prometheus-operator/hooks/start | 1 + .../prometheus-operator/hooks/upgrade-charm | 1 + .../charms/prometheus-operator/icon.svg | 50 + .../charms/prometheus-operator/metadata.yaml | 34 + .../prometheus-operator/requirements-dev.txt | 5 + .../prometheus-operator/requirements.txt | 2 + .../charms/prometheus-operator/run_tests | 16 + .../charms/prometheus-operator/setup.py | 21 + .../charms/prometheus-operator/src/charm.py | 377 ++++ .../prometheus-operator/tests/__init__.py | 0 .../prometheus-operator/tests/test_charm.py | 313 +++ .../venv/PyYAML-5.4.1.dist-info/INSTALLER | 1 + .../venv/PyYAML-5.4.1.dist-info/LICENSE | 20 + .../venv/PyYAML-5.4.1.dist-info/METADATA | 46 + .../venv/PyYAML-5.4.1.dist-info/RECORD | 43 + .../venv/PyYAML-5.4.1.dist-info/WHEEL | 5 + .../venv/PyYAML-5.4.1.dist-info/top_level.txt | 2 + .../venv/_yaml/__init__.py | 33 + .../venv/ops-1.1.0.dist-info/INSTALLER | 1 + .../venv/ops-1.1.0.dist-info/LICENSE.txt | 202 ++ .../venv/ops-1.1.0.dist-info/METADATA | 263 +++ .../venv/ops-1.1.0.dist-info/RECORD | 28 + .../venv/ops-1.1.0.dist-info/WHEEL | 5 + .../venv/ops-1.1.0.dist-info/top_level.txt | 1 + .../prometheus-operator/venv/ops/__init__.py | 20 + .../prometheus-operator/venv/ops/charm.py | 823 ++++++++ .../prometheus-operator/venv/ops/framework.py | 1199 +++++++++++ .../venv/ops/jujuversion.py | 114 + .../venv/ops/lib/__init__.py | 264 +++ .../prometheus-operator/venv/ops/log.py | 58 + .../prometheus-operator/venv/ops/main.py | 406 ++++ .../prometheus-operator/venv/ops/model.py | 1314 ++++++++++++ .../prometheus-operator/venv/ops/storage.py | 374 ++++ .../prometheus-operator/venv/ops/testing.py | 826 ++++++++ .../prometheus-operator/venv/ops/version.py | 3 + .../venv/pyaml-20.4.0.dist-info/COPYING | 13 + .../venv/pyaml-20.4.0.dist-info/INSTALLER | 1 + .../venv/pyaml-20.4.0.dist-info/METADATA | 337 +++ .../venv/pyaml-20.4.0.dist-info/RECORD | 14 + .../venv/pyaml-20.4.0.dist-info/WHEEL | 6 + .../venv/pyaml-20.4.0.dist-info/top_level.txt | 1 + .../venv/pyaml/__init__.py | 211 ++ .../venv/pyaml/__main__.py | 48 + .../venv/pyaml/tests/__init__.py | 0 .../venv/pyaml/tests/dump.py | 433 ++++ .../prometheus-operator/venv/yaml/__init__.py | 427 ++++ .../yaml/_yaml.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 2342916 bytes .../prometheus-operator/venv/yaml/composer.py | 139 ++ .../venv/yaml/constructor.py | 748 +++++++ .../prometheus-operator/venv/yaml/cyaml.py | 101 + .../prometheus-operator/venv/yaml/dumper.py | 62 + .../prometheus-operator/venv/yaml/emitter.py | 1137 ++++++++++ .../prometheus-operator/venv/yaml/error.py | 75 + .../prometheus-operator/venv/yaml/events.py | 86 + .../prometheus-operator/venv/yaml/loader.py | 63 + .../prometheus-operator/venv/yaml/nodes.py | 49 + .../prometheus-operator/venv/yaml/parser.py | 589 ++++++ .../prometheus-operator/venv/yaml/reader.py | 185 ++ .../venv/yaml/representer.py | 389 ++++ .../prometheus-operator/venv/yaml/resolver.py | 227 ++ .../prometheus-operator/venv/yaml/scanner.py | 1435 +++++++++++++ .../venv/yaml/serializer.py | 111 + .../prometheus-operator/venv/yaml/tokens.py | 104 + .../charms/squid-operator/README.md | 47 + .../charms/squid-operator/actions.yaml | 14 + .../charms/squid-operator/config.yaml | 5 + .../charms/squid-operator/dispatch | 3 + .../charms/squid-operator/hooks/install | 1 + .../charms/squid-operator/hooks/start | 1 + .../charms/squid-operator/hooks/upgrade-charm | 1 + .../charms/squid-operator/metadata.yaml | 22 + .../charms/squid-operator/requirements.txt | 3 + .../charms/squid-operator/squid.charm | Bin 0 -> 1157519 bytes .../charms/squid-operator/src/charm.py | 122 ++ .../charms/squid-operator/template/squid.conf | 26 + .../charms/squid-operator/tox.ini | 46 + .../venv/Jinja2-2.11.3.dist-info/INSTALLER | 1 + .../venv/Jinja2-2.11.3.dist-info/LICENSE.rst | 28 + .../venv/Jinja2-2.11.3.dist-info/METADATA | 106 + .../venv/Jinja2-2.11.3.dist-info/RECORD | 61 + .../venv/Jinja2-2.11.3.dist-info/WHEEL | 6 + .../Jinja2-2.11.3.dist-info/entry_points.txt | 3 + .../Jinja2-2.11.3.dist-info/top_level.txt | 1 + .../venv/MarkupSafe-1.1.1.dist-info/INSTALLER | 1 + .../MarkupSafe-1.1.1.dist-info/LICENSE.rst | 28 + .../venv/MarkupSafe-1.1.1.dist-info/METADATA | 94 + .../venv/MarkupSafe-1.1.1.dist-info/RECORD | 16 + .../venv/MarkupSafe-1.1.1.dist-info/WHEEL | 5 + .../MarkupSafe-1.1.1.dist-info/top_level.txt | 1 + .../venv/PyYAML-5.4.1.dist-info/INSTALLER | 1 + .../venv/PyYAML-5.4.1.dist-info/LICENSE | 20 + .../venv/PyYAML-5.4.1.dist-info/METADATA | 46 + .../venv/PyYAML-5.4.1.dist-info/RECORD | 43 + .../venv/PyYAML-5.4.1.dist-info/WHEEL | 5 + .../venv/PyYAML-5.4.1.dist-info/top_level.txt | 2 + .../squid-operator/venv/_yaml/__init__.py | 33 + .../squid-operator/venv/jinja2/__init__.py | 44 + .../squid-operator/venv/jinja2/_compat.py | 132 ++ .../squid-operator/venv/jinja2/_identifier.py | 6 + .../venv/jinja2/asyncfilters.py | 158 ++ .../venv/jinja2/asyncsupport.py | 264 +++ .../squid-operator/venv/jinja2/bccache.py | 350 ++++ .../squid-operator/venv/jinja2/compiler.py | 1843 +++++++++++++++++ .../squid-operator/venv/jinja2/constants.py | 21 + .../squid-operator/venv/jinja2/debug.py | 268 +++ .../squid-operator/venv/jinja2/defaults.py | 44 + .../squid-operator/venv/jinja2/environment.py | 1362 ++++++++++++ .../squid-operator/venv/jinja2/exceptions.py | 177 ++ .../charms/squid-operator/venv/jinja2/ext.py | 704 +++++++ .../squid-operator/venv/jinja2/filters.py | 1382 ++++++++++++ .../squid-operator/venv/jinja2/idtracking.py | 290 +++ .../squid-operator/venv/jinja2/lexer.py | 848 ++++++++ .../squid-operator/venv/jinja2/loaders.py | 504 +++++ .../charms/squid-operator/venv/jinja2/meta.py | 101 + .../squid-operator/venv/jinja2/nativetypes.py | 94 + .../squid-operator/venv/jinja2/nodes.py | 1088 ++++++++++ .../squid-operator/venv/jinja2/optimizer.py | 41 + .../squid-operator/venv/jinja2/parser.py | 939 +++++++++ .../squid-operator/venv/jinja2/runtime.py | 1011 +++++++++ .../squid-operator/venv/jinja2/sandbox.py | 510 +++++ .../squid-operator/venv/jinja2/tests.py | 215 ++ .../squid-operator/venv/jinja2/utils.py | 737 +++++++ .../squid-operator/venv/jinja2/visitor.py | 81 + .../venv/markupsafe/__init__.py | 327 +++ .../squid-operator/venv/markupsafe/_compat.py | 33 + .../venv/markupsafe/_constants.py | 264 +++ .../squid-operator/venv/markupsafe/_native.py | 69 + .../venv/markupsafe/_speedups.c | 423 ++++ .../_speedups.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 48016 bytes .../venv/oci_image-1.0.0.dist-info/INSTALLER | 1 + .../venv/oci_image-1.0.0.dist-info/METADATA | 63 + .../venv/oci_image-1.0.0.dist-info/RECORD | 7 + .../venv/oci_image-1.0.0.dist-info/WHEEL | 5 + .../oci_image-1.0.0.dist-info/top_level.txt | 1 + .../charms/squid-operator/venv/oci_image.py | 53 + .../venv/ops-1.1.0.dist-info/INSTALLER | 1 + .../venv/ops-1.1.0.dist-info/LICENSE.txt | 202 ++ .../venv/ops-1.1.0.dist-info/METADATA | 263 +++ .../venv/ops-1.1.0.dist-info/RECORD | 28 + .../venv/ops-1.1.0.dist-info/WHEEL | 5 + .../venv/ops-1.1.0.dist-info/top_level.txt | 1 + .../squid-operator/venv/ops/__init__.py | 20 + .../charms/squid-operator/venv/ops/charm.py | 823 ++++++++ .../squid-operator/venv/ops/framework.py | 1199 +++++++++++ .../squid-operator/venv/ops/jujuversion.py | 114 + .../squid-operator/venv/ops/lib/__init__.py | 264 +++ .../charms/squid-operator/venv/ops/log.py | 58 + .../charms/squid-operator/venv/ops/main.py | 406 ++++ .../charms/squid-operator/venv/ops/model.py | 1314 ++++++++++++ .../charms/squid-operator/venv/ops/storage.py | 374 ++++ .../charms/squid-operator/venv/ops/testing.py | 826 ++++++++ .../charms/squid-operator/venv/ops/version.py | 3 + .../squid-operator/venv/yaml/__init__.py | 427 ++++ .../yaml/_yaml.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 2342916 bytes .../squid-operator/venv/yaml/composer.py | 139 ++ .../squid-operator/venv/yaml/constructor.py | 748 +++++++ .../charms/squid-operator/venv/yaml/cyaml.py | 101 + .../charms/squid-operator/venv/yaml/dumper.py | 62 + .../squid-operator/venv/yaml/emitter.py | 1137 ++++++++++ .../charms/squid-operator/venv/yaml/error.py | 75 + .../charms/squid-operator/venv/yaml/events.py | 86 + .../charms/squid-operator/venv/yaml/loader.py | 63 + .../charms/squid-operator/venv/yaml/nodes.py | 49 + .../charms/squid-operator/venv/yaml/parser.py | 589 ++++++ .../charms/squid-operator/venv/yaml/reader.py | 185 ++ .../squid-operator/venv/yaml/representer.py | 389 ++++ .../squid-operator/venv/yaml/resolver.py | 227 ++ .../squid-operator/venv/yaml/scanner.py | 1435 +++++++++++++ .../squid-operator/venv/yaml/serializer.py | 111 + .../charms/squid-operator/venv/yaml/tokens.py | 104 + .../juju-bundles/bundle.yaml | 16 + hackfest_squid_metrics_cnf/squid_vnfd.yaml | 39 + .../squid_metrics_cnf_nsd.yaml | 23 + 290 files changed, 60191 insertions(+) create mode 100755 hackfest_squid_metrics_cnf/build_charms.sh create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/.flake8 create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/.gitignore create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/config.yaml create mode 100755 hackfest_squid_metrics_cnf/charms/grafana-operator/dispatch create mode 120000 hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/install create mode 120000 hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/start create mode 120000 hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/upgrade-charm create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/icon.svg create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/requirements-dev.txt create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/requirements.txt create mode 100755 hackfest_squid_metrics_cnf/charms/grafana-operator/run_tests create mode 100755 hackfest_squid_metrics_cnf/charms/grafana-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/tests/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/tests/test_charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/_yaml/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/LICENSE.txt create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/framework.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/jujuversion.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/lib/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/log.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/main.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/model.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/storage.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/testing.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/version.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/__init__.py create mode 100755 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/composer.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/constructor.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/cyaml.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/dumper.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/emitter.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/error.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/events.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/loader.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/nodes.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/parser.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/reader.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/representer.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/resolver.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/scanner.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/serializer.py create mode 100644 hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/tokens.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.flake8 create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.gitignore create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.jujuignore create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/config.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/icon.svg create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements-dev.txt create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements.txt create mode 100755 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/run_tests create mode 100755 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/test_charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.flake8 create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.gitignore create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.jujuignore create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions.yaml create mode 100755 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions/reload-config create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config/prometheus-k8s.yml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/icon.svg create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements-dev.txt create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements.txt create mode 100755 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/run_tests create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/setup.py create mode 100755 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/test_charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/actions.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/config.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/requirements.txt create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/squid.charm create mode 100755 hackfest_squid_metrics_cnf/charms/ops/squid-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/template/squid.conf create mode 100644 hackfest_squid_metrics_cnf/charms/ops/squid-operator/tox.ini create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/.flake8 create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/.gitignore create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/actions.yaml create mode 100755 hackfest_squid_metrics_cnf/charms/prometheus-operator/actions/reload-config create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/config.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/config/prometheus-k8s.yml create mode 100755 hackfest_squid_metrics_cnf/charms/prometheus-operator/dispatch create mode 120000 hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/install create mode 120000 hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/start create mode 120000 hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/upgrade-charm create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/icon.svg create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements-dev.txt create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements.txt create mode 100755 hackfest_squid_metrics_cnf/charms/prometheus-operator/run_tests create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/setup.py create mode 100755 hackfest_squid_metrics_cnf/charms/prometheus-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/test_charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/_yaml/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/LICENSE.txt create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/framework.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/jujuversion.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/lib/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/log.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/main.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/model.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/storage.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/testing.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/version.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/COPYING create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__main__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/dump.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/__init__.py create mode 100755 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/composer.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/constructor.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/cyaml.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/dumper.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/emitter.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/error.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/events.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/loader.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/nodes.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/parser.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/reader.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/representer.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/resolver.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/scanner.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/serializer.py create mode 100644 hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/tokens.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/README.md create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/actions.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/config.yaml create mode 100755 hackfest_squid_metrics_cnf/charms/squid-operator/dispatch create mode 120000 hackfest_squid_metrics_cnf/charms/squid-operator/hooks/install create mode 120000 hackfest_squid_metrics_cnf/charms/squid-operator/hooks/start create mode 120000 hackfest_squid_metrics_cnf/charms/squid-operator/hooks/upgrade-charm create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/metadata.yaml create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/requirements.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/squid.charm create mode 100755 hackfest_squid_metrics_cnf/charms/squid-operator/src/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/template/squid.conf create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/tox.ini create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/LICENSE.rst create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/entry_points.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/LICENSE.rst create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/LICENSE create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/_yaml/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_compat.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_identifier.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncfilters.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncsupport.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/bccache.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/compiler.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/constants.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/debug.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/defaults.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/environment.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/exceptions.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/ext.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/filters.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/idtracking.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/lexer.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/loaders.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/meta.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/nativetypes.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/nodes.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/optimizer.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/parser.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/runtime.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/sandbox.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/tests.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/utils.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/visitor.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/_compat.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/_constants.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/_native.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/_speedups.c create mode 100755 hackfest_squid_metrics_cnf/charms/squid-operator/venv/markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image-1.0.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image-1.0.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image-1.0.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image-1.0.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image-1.0.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/oci_image.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/INSTALLER create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/LICENSE.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/METADATA create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/RECORD create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/WHEEL create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops-1.1.0.dist-info/top_level.txt create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/charm.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/framework.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/jujuversion.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/lib/__init__.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/log.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/main.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/model.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/storage.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/testing.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/ops/version.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/__init__.py create mode 100755 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/composer.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/constructor.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/cyaml.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/dumper.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/emitter.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/error.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/events.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/loader.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/nodes.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/parser.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/reader.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/representer.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/resolver.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/scanner.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/serializer.py create mode 100644 hackfest_squid_metrics_cnf/charms/squid-operator/venv/yaml/tokens.py create mode 100644 hackfest_squid_metrics_cnf/juju-bundles/bundle.yaml create mode 100644 hackfest_squid_metrics_cnf/squid_vnfd.yaml create mode 100644 hackfest_squid_metrics_cnf_ns/squid_metrics_cnf_nsd.yaml diff --git a/hackfest_squid_metrics_cnf/build_charms.sh b/hackfest_squid_metrics_cnf/build_charms.sh new file mode 100755 index 00000000..0bc2b733 --- /dev/null +++ b/hackfest_squid_metrics_cnf/build_charms.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +CHARM_NAMES="grafana-operator prometheus-operator squid-operator" + +cd charms/ops +for charm in $CHARM_NAMES; do + echo "Building charm $charm" + cd $charm + charmcraft build + mv build ../../$charm + cd .. +done +cd ../.. \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/.flake8 b/hackfest_squid_metrics_cnf/charms/grafana-operator/.flake8 new file mode 100644 index 00000000..8ef84fcd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/.flake8 @@ -0,0 +1,9 @@ +[flake8] +max-line-length = 99 +select: E,W,F,C,N +exclude: + venv + .git + build + dist + *.egg_info diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/.gitignore b/hackfest_squid_metrics_cnf/charms/grafana-operator/.gitignore new file mode 100644 index 00000000..7d315ecb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/.gitignore @@ -0,0 +1,4 @@ +build +*.charm +.idea +__pycache__ diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/LICENSE b/hackfest_squid_metrics_cnf/charms/grafana-operator/LICENSE new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/README.md b/hackfest_squid_metrics_cnf/charms/grafana-operator/README.md new file mode 100644 index 00000000..6f3abb7f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/README.md @@ -0,0 +1,64 @@ +# Grafana Charm + +## Description + +This is the Grafana charm for Kubernetes using the Operator Framework. + +## Usage + +Initial setup (ensure microk8s is a clean slate with `microk8s.reset` or a fresh install with `snap install microk8s --classic`: +```bash +microk8s.enable dns storage registry dashboard +juju bootstrap microk8s mk8s +juju add-model lma +juju create-storage-pool operator-storage kubernetes storage-class=microk8s-hostpath +``` + +Deploy Grafana on its own: +```bash +git clone git@github.com:canonical/grafana-operator.git +cd grafana-operator +charmcraft build +juju deploy ./grafana.charm --resource grafana-image=grafana/grafana:7.2.1 +``` + +View the dashboard in a browser: +1. `juju status` to check the IP of the of the running Grafana application +2. Navigate to `http://IP_ADDRESS:3000` +3. Log in with the default credentials username=admin, password=admin. + +Add Prometheus as a datasource: +```bash +git clone git@github.com:canonical/prometheus-operator.git +cd prometheus-operator +charmcraft build +juju deploy ./prometheus.charm +juju add-relation grafana prometheus +watch -c juju status --color # wait for things to settle down +``` +> Once the deployed charm and relation settles, you should be able to see Prometheus data propagating to the Grafana dashboard. + +### High Availability Grafana + +This charm is written to support a high-availability Grafana cluster, but a database relation is required (MySQL or Postgresql). + +If HA is not required, there is no need to add a database relation. + +> NOTE: HA should not be considered for production use. + +... + +## Developing + +Create and activate a virtualenv, +and install the development requirements, + + virtualenv -p python3 venv + source venv/bin/activate + pip install -r requirements-dev.txt + +## Testing + +Just run `run_tests`: + + ./run_tests diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/grafana-operator/config.yaml new file mode 100644 index 00000000..c91c65a3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/config.yaml @@ -0,0 +1,11 @@ +options: + port: + description: The port grafana will be listening on + type: int + default: 3000 + grafana_log_level: + type: string + description: | + Logging level for Grafana. Options are “debug”, “info”, + “warn”, “error”, and “critical”. + default: info \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/dispatch b/hackfest_squid_metrics_cnf/charms/grafana-operator/dispatch new file mode 100755 index 00000000..fe31c056 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/dispatch @@ -0,0 +1,3 @@ +#!/bin/sh + +JUJU_DISPATCH_PATH="${JUJU_DISPATCH_PATH:-$0}" PYTHONPATH=lib:venv ./src/charm.py diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/install b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/install new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/install @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/start b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/start new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/start @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/upgrade-charm b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/upgrade-charm new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/hooks/upgrade-charm @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/icon.svg b/hackfest_squid_metrics_cnf/charms/grafana-operator/icon.svg new file mode 100644 index 00000000..2ad84eeb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/grafana-operator/metadata.yaml new file mode 100644 index 00000000..1979c947 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/metadata.yaml @@ -0,0 +1,34 @@ +name: grafana +summary: Data visualization and observability with Grafana +maintainers: + - Justin Clark +description: | + Grafana provides dashboards for monitoring data and this + charm is written to allow for HA on Kubernetes and can take + multiple data sources (for example, Prometheus). +tags: + - lma + - grafana + - prometheus + - monitoring + - observability +series: + - kubernetes +provides: + grafana-source: + interface: grafana-datasource + grafana-dashboard: + interface: grafana-dash +requires: + database: + interface: db + limit: 1 +peers: + grafana: + interface: grafana-peers +storage: + sqlitedb: + type: filesystem + location: /var/lib/grafana +deployment: + service: loadbalancer diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements-dev.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements-dev.txt new file mode 100644 index 00000000..eded4414 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements-dev.txt @@ -0,0 +1,2 @@ +-r requirements.txt +flake8 diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements.txt new file mode 100644 index 00000000..ca625b4c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/requirements.txt @@ -0,0 +1,2 @@ +ops +git+https://github.com/juju-solutions/resource-oci-image/@c5778285d332edf3d9a538f9d0c06154b7ec1b0b#egg=oci-image \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/run_tests b/hackfest_squid_metrics_cnf/charms/grafana-operator/run_tests new file mode 100755 index 00000000..14bb4f4e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/run_tests @@ -0,0 +1,16 @@ +#!/bin/sh -e +# Copyright 2020 Justin +# See LICENSE file for licensing details. + +if [ -z "$VIRTUAL_ENV" -a -d venv/ ]; then + . venv/bin/activate +fi + +if [ -z "$PYTHONPATH" ]; then + export PYTHONPATH=src +else + export PYTHONPATH="src:$PYTHONPATH" +fi + +flake8 +python3 -m unittest -v "$@" diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/src/charm.py new file mode 100755 index 00000000..1053f8f8 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/src/charm.py @@ -0,0 +1,494 @@ +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- + +import logging +import hashlib +import textwrap + +from oci_image import OCIImageResource, OCIImageResourceError +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus, BlockedStatus + +log = logging.getLogger() + + +# These are the required and optional relation data fields +# In other words, when relating to this charm, these are the fields +# that will be processed by this charm. +REQUIRED_DATASOURCE_FIELDS = { + 'private-address', # the hostname/IP of the data source server + 'port', # the port of the data source server + 'source-type', # the data source type (e.g. prometheus) +} + +OPTIONAL_DATASOURCE_FIELDS = { + 'source-name', # a human-readable name of the source +} + +# https://grafana.com/docs/grafana/latest/administration/configuration/#database +REQUIRED_DATABASE_FIELDS = { + 'type', # mysql, postgres or sqlite3 (sqlite3 doesn't work for HA) + 'host', # in the form ':', e.g. 127.0.0.1:3306 + 'name', + 'user', + 'password', +} + +# verify with Grafana documentation to ensure fields have valid values +# as this charm will not directly handle these cases +# TODO: fill with optional fields +OPTIONAL_DATABASE_FIELDS = set() + +VALID_DATABASE_TYPES = {'mysql', 'postgres', 'sqlite3'} + + +def get_container(pod_spec, container_name): + """Find and return the first container in pod_spec whose name is + container_name, otherwise return None.""" + for container in pod_spec['containers']: + if container['name'] == container_name: + return container + raise ValueError("Unable to find container named '{}' in pod spec".format( + container_name)) + + +class GrafanaK8s(CharmBase): + """Charm to run Grafana on Kubernetes. + + This charm allows for high-availability + (as long as a non-sqlite database relation is present). + + Developers of this charm should be aware of the Grafana provisioning docs: + https://grafana.com/docs/grafana/latest/administration/provisioning/ + """ + + datastore = StoredState() + + def __init__(self, *args): + log.debug('Initializing charm.') + super().__init__(*args) + + # -- get image information + self.image = OCIImageResource(self, 'grafana-image') + + # -- standard hooks + self.framework.observe(self.on.config_changed, self.on_config_changed) + self.framework.observe(self.on.update_status, self.on_update_status) + self.framework.observe(self.on.stop, self._on_stop) + + # -- grafana-source relation observations + self.framework.observe(self.on['grafana-source'].relation_changed, + self.on_grafana_source_changed) + self.framework.observe(self.on['grafana-source'].relation_broken, + self.on_grafana_source_broken) + + # -- grafana (peer) relation observations + self.framework.observe(self.on['grafana'].relation_changed, + self.on_peer_changed) + # self.framework.observe(self.on['grafana'].relation_departed, + # self.on_peer_departed) + + # -- database relation observations + self.framework.observe(self.on['database'].relation_changed, + self.on_database_changed) + self.framework.observe(self.on['database'].relation_broken, + self.on_database_broken) + + # -- initialize states -- + self.datastore.set_default(sources=dict()) # available data sources + self.datastore.set_default(source_names=set()) # unique source names + self.datastore.set_default(sources_to_delete=set()) + self.datastore.set_default(database=dict()) # db configuration + + @property + def has_peer(self) -> bool: + rel = self.model.get_relation('grafana') + return len(rel.units) > 0 if rel is not None else False + + @property + def has_db(self) -> bool: + """Only consider a DB connection if we have config info.""" + return len(self.datastore.database) > 0 + + def _on_stop(self, _): + """Go into maintenance state if the unit is stopped.""" + self.unit.status = MaintenanceStatus('Pod is terminating.') + + def on_config_changed(self, _): + self.configure_pod() + + def on_update_status(self, _): + """Various health checks of the charm.""" + self._check_high_availability() + + def on_grafana_source_changed(self, event): + """ Get relation data for Grafana source and set k8s pod spec. + + This event handler (if the unit is the leader) will get data for + an incoming grafana-source relation and make the relation data + is available in the app's datastore object (StoredState). + """ + + # if this unit is the leader, set the required data + # of the grafana-source in this charm's datastore + if not self.unit.is_leader(): + return + + # if there is no available unit, remove data-source info if it exists + if event.unit is None: + log.warning("event unit can't be None when setting data sources.") + return + + # dictionary of all the required/optional datasource field values + # using this as a more generic way of getting data source fields + datasource_fields = \ + {field: event.relation.data[event.unit].get(field) for field in + REQUIRED_DATASOURCE_FIELDS | OPTIONAL_DATASOURCE_FIELDS} + + missing_fields = [field for field + in REQUIRED_DATASOURCE_FIELDS + if datasource_fields.get(field) is None] + # check the relation data for missing required fields + if len(missing_fields) > 0: + log.error("Missing required data fields for grafana-source " + "relation: {}".format(missing_fields)) + self._remove_source_from_datastore(event.relation.id) + return + + # specifically handle optional fields if necessary + # check if source-name was not passed or if we have already saved the provided name + if datasource_fields['source-name'] is None\ + or datasource_fields['source-name'] in self.datastore.source_names: + default_source_name = '{}_{}'.format( + event.app.name, + event.relation.id + ) + log.warning("No name 'grafana-source' or provided name is already in use. " + "Using safe default: {}.".format(default_source_name)) + datasource_fields['source-name'] = default_source_name + + self.datastore.source_names.add(datasource_fields['source-name']) + + # set the first grafana-source as the default (needed for pod config) + # if `self.datastore.sources` is currently empty, this is the first + datasource_fields['isDefault'] = 'false' + if not dict(self.datastore.sources): + datasource_fields['isDefault'] = 'true' + + # add unit name so the source can be removed might be a + # duplicate of 'source-name', but this will guarantee lookup + datasource_fields['unit_name'] = event.unit.name + + # add the new datasource relation data to the current state + new_source_data = { + field: value for field, value in datasource_fields.items() + if value is not None + } + self.datastore.sources.update({event.relation.id: new_source_data}) + self.configure_pod() + + def on_grafana_source_broken(self, event): + """When a grafana-source is removed, delete from the datastore.""" + if self.unit.is_leader(): + self._remove_source_from_datastore(event.relation.id) + self.configure_pod() + + def on_peer_changed(self, _): + # TODO: https://grafana.com/docs/grafana/latest/tutorials/ha_setup/ + # According to these docs ^, as long as we have a DB, HA should + # work out of the box if we are OK with "Sticky Sessions" + # but having "Stateless Sessions" could require more config + + # if the config changed, set a new pod spec + self.configure_pod() + + def on_peer_departed(self, _): + """Sets pod spec with new info.""" + # TODO: setting pod spec shouldn't do anything now, + # but if we ever need to change config based peer units, + # we will want to make sure configure_pod() is called + self.configure_pod() + + def on_database_changed(self, event): + """Sets configuration information for database connection.""" + if not self.unit.is_leader(): + return + + if event.unit is None: + log.warning("event unit can't be None when setting db config.") + return + + # save the necessary configuration of this database connection + database_fields = \ + {field: event.relation.data[event.unit].get(field) for field in + REQUIRED_DATABASE_FIELDS | OPTIONAL_DATABASE_FIELDS} + + # if any required fields are missing, warn the user and return + missing_fields = [field for field + in REQUIRED_DATABASE_FIELDS + if database_fields.get(field) is None] + if len(missing_fields) > 0: + log.error("Missing required data fields for related database " + "relation: {}".format(missing_fields)) + return + + # check if the passed database type is not in VALID_DATABASE_TYPES + if database_fields['type'] not in VALID_DATABASE_TYPES: + log.error('Grafana can only accept databases of the following ' + 'types: {}'.format(VALID_DATABASE_TYPES)) + return + + # add the new database relation data to the datastore + self.datastore.database.update({ + field: value for field, value in database_fields.items() + if value is not None + }) + self.configure_pod() + + def on_database_broken(self, _): + """Removes database connection info from datastore. + + We are guaranteed to only have one DB connection, so clearing + datastore.database is all we need for the change to be propagated + to the pod spec.""" + if not self.unit.is_leader(): + return + + # remove the existing database info from datastore + self.datastore.database = dict() + + # set pod spec because datastore config has changed + self.configure_pod() + + def _remove_source_from_datastore(self, rel_id): + """Remove the grafana-source from the datastore. + + Once removed from the datastore, this datasource will not + part of the next pod spec.""" + log.info('Removing all data for relation: {}'.format(rel_id)) + removed_source = self.datastore.sources.pop(rel_id, None) + if removed_source is None: + log.warning('Could not remove source for relation: {}'.format( + rel_id)) + else: + # free name from charm's set of source names + # and save to set which will be used in set_pod_spec + self.datastore.source_names.remove(removed_source['source-name']) + self.datastore.sources_to_delete.add(removed_source['source-name']) + + def _check_high_availability(self): + """Checks whether the configuration allows for HA.""" + if self.has_peer: + if self.has_db: + log.info('high availability possible.') + status = MaintenanceStatus('Grafana ready for HA.') + else: + log.warning('high availability not possible ' + 'with current configuration.') + status = BlockedStatus('Need database relation for HA.') + else: + log.info('running Grafana on single node.') + status = MaintenanceStatus('Grafana ready on single node.') + + # make sure we don't have a maintenance status overwrite + # a currently active status + if isinstance(status, MaintenanceStatus) \ + and isinstance(self.unit.status, ActiveStatus): + return status + + self.unit.status = status + return status + + def _make_delete_datasources_config_text(self) -> str: + """Generate text of data sources to delete.""" + if not self.datastore.sources_to_delete: + return "\n" + + delete_datasources_text = textwrap.dedent(""" + deleteDatasources:""") + for name in self.datastore.sources_to_delete: + delete_datasources_text += textwrap.dedent(""" + - name: {} + orgId: 1""".format(name)) + + # clear datastore.sources_to_delete and return text result + self.datastore.sources_to_delete.clear() + return delete_datasources_text + '\n\n' + + def _make_data_source_config_text(self) -> str: + """Build config based on Data Sources section of provisioning docs.""" + # get starting text for the config file and sources to delete + delete_text = self._make_delete_datasources_config_text() + config_text = textwrap.dedent(""" + apiVersion: 1 + """) + config_text += delete_text + if self.datastore.sources: + config_text += "datasources:" + for rel_id, source_info in self.datastore.sources.items(): + # TODO: handle more optional fields and verify that current + # defaults are what we want (e.g. "access") + config_text += textwrap.dedent(""" + - name: {0} + type: {1} + access: proxy + url: http://{2}:{3} + isDefault: {4} + editable: true + orgId: 1""").format( + source_info['source-name'], + source_info['source-type'], + source_info['private-address'], + source_info['port'], + source_info['isDefault'], + ) + + # check if there these are empty + return config_text + '\n' + + def _update_pod_data_source_config_file(self, pod_spec): + """Adds datasources to pod configuration.""" + file_text = self._make_data_source_config_text() + data_source_file_meta = { + 'name': 'grafana-datasources', + 'mountPath': '/etc/grafana/provisioning/datasources', + 'files': [{ + 'path': 'datasources.yaml', + 'content': file_text, + }] + } + container = get_container(pod_spec, self.app.name) + container['volumeConfig'].append(data_source_file_meta) + + # get hash string of the new file text and put into container config + # if this changes, it will trigger a pod restart + file_text_hash = hashlib.md5(file_text.encode()).hexdigest() + if 'DATASOURCES_YAML' in container['envConfig'] \ + and container['envConfig']['DATASOURCES_YAML'] != file_text_hash: + log.info('datasources.yaml hash has changed. ' + 'Triggering pod restart.') + container['envConfig']['DATASOURCES_YAML'] = file_text_hash + + def _make_config_ini_text(self): + """Create the text of the config.ini file. + + More information about this can be found in the Grafana docs: + https://grafana.com/docs/grafana/latest/administration/configuration/ + """ + + config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """.format( + self.model.config['grafana_log_level'], + )) + + # if there is a database available, add that information + if self.datastore.database: + db_config = self.datastore.database + config_text += textwrap.dedent(""" + [database] + type = {0} + host = {1} + name = {2} + user = {3} + password = {4} + url = {0}://{3}:{4}@{1}/{2}""".format( + db_config['type'], + db_config['host'], + db_config['name'], + db_config['user'], + db_config['password'], + )) + return config_text + + def _update_pod_config_ini_file(self, pod_spec): + file_text = self._make_config_ini_text() + config_ini_file_meta = { + 'name': 'grafana-config-ini', + 'mountPath': '/etc/grafana', + 'files': [{ + 'path': 'grafana.ini', + 'content': file_text + }] + } + container = get_container(pod_spec, self.app.name) + container['volumeConfig'].append(config_ini_file_meta) + + # get hash string of the new file text and put into container config + # if this changes, it will trigger a pod restart + file_text_hash = hashlib.md5(file_text.encode()).hexdigest() + if 'GRAFANA_INI' in container['envConfig'] \ + and container['envConfig']['GRAFANA_INI'] != file_text_hash: + log.info('grafana.ini hash has changed. Triggering pod restart.') + container['envConfig']['GRAFANA_INI'] = file_text_hash + + def _build_pod_spec(self): + """Builds the pod spec based on available info in datastore`.""" + + config = self.model.config + + spec = { + 'version': 3, + 'containers': [{ + 'name': self.app.name, + 'image': "ubuntu/grafana:latest", + 'ports': [{ + 'containerPort': config['port'], + 'protocol': 'TCP' + }], + 'volumeConfig': [], + 'envConfig': {}, # used to store hashes of config file text + 'kubernetes': { + 'readinessProbe': { + 'httpGet': { + 'path': '/api/health', + 'port': config['port'] + }, + 'initialDelaySeconds': 10, + 'timeoutSeconds': 30 + }, + }, + }] + } + + return spec + + def configure_pod(self): + """Set Juju / Kubernetes pod spec built from `_build_pod_spec()`.""" + + # check for valid high availability (or single node) configuration + self._check_high_availability() + + # in the case where we have peers but no DB connection, + # don't set the pod spec until it is resolved + if self.unit.status == BlockedStatus('Need database relation for HA.'): + log.error('Application is in a blocked state. ' + 'Please resolve before pod spec can be set.') + return + + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + # general pod spec component updates + self.unit.status = MaintenanceStatus('Building pod spec.') + pod_spec = self._build_pod_spec() + if not pod_spec: + return + self._update_pod_data_source_config_file(pod_spec) + self._update_pod_config_ini_file(pod_spec) + + # set the pod spec with Juju + self.model.pod.set_spec(pod_spec) + self.unit.status = ActiveStatus() + + +if __name__ == '__main__': + main(GrafanaK8s) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/tests/__init__.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/tests/test_charm.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/tests/test_charm.py new file mode 100644 index 00000000..e6b87e41 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/tests/test_charm.py @@ -0,0 +1,490 @@ +import hashlib +import textwrap +import unittest + +from ops.testing import Harness +from ops.model import ( + TooManyRelatedAppsError, + ActiveStatus, +) +from charm import ( + GrafanaK8s, + MaintenanceStatus, + BlockedStatus, + get_container, +) + +BASE_CONFIG = { + 'port': 3000, + 'grafana_log_level': 'info', +} + + +class GrafanaCharmTest(unittest.TestCase): + + def setUp(self) -> None: + self.harness = Harness(GrafanaK8s) + self.addCleanup(self.harness.cleanup) + self.harness.begin() + self.harness.add_oci_resource('grafana-image') + + def test__grafana_source_data(self): + + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + self.assertIsInstance(rel_id, int) + + # test that the unit data propagates the correct way + # which is through the triggering of on_relation_changed + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-type': 'prometheus', + 'source-name': 'prometheus-app', + }) + + expected_first_source_data = { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-name': 'prometheus-app', + 'source-type': 'prometheus', + 'isDefault': 'true', + 'unit_name': 'prometheus/0' + } + self.assertEqual(expected_first_source_data, + dict(self.harness.charm.datastore.sources[rel_id])) + + # test that clearing the relation data leads to + # the datastore for this data source being cleared + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': None, + 'port': None, + }) + self.assertEqual(None, self.harness.charm.datastore.sources.get(rel_id)) + + def test__ha_database_and_status_check(self): + """If there is a peer connection and no database (needed for HA), + the charm should put the application in a blocked state.""" + + # start charm with one peer and no database relation + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.unit.status, + ActiveStatus()) + + # ensure _check_high_availability() ends up with the correct status + status = self.harness.charm._check_high_availability() + self.assertEqual(status, MaintenanceStatus('Grafana ready on single node.')) + + # make sure that triggering 'update-status' hook does not + # overwrite the current active status + self.harness.charm.on.update_status.emit() + self.assertEqual(self.harness.charm.unit.status, + ActiveStatus()) + + peer_rel_id = self.harness.add_relation('grafana', 'grafana') + + # add main unit and its data + # self.harness.add_relation_unit(peer_rel_id, 'grafana/0') + # will trigger the grafana-changed hook + self.harness.update_relation_data(peer_rel_id, + 'grafana/0', + {'private-address': '10.1.2.3'}) + + # add peer unit and its data + self.harness.add_relation_unit(peer_rel_id, 'grafana/1') + self.harness.update_relation_data(peer_rel_id, + 'grafana/1', + {'private-address': '10.0.0.1'}) + + self.assertTrue(self.harness.charm.has_peer) + self.assertFalse(self.harness.charm.has_db) + self.assertEqual( + self.harness.charm.unit.status, + BlockedStatus('Need database relation for HA.') + ) + + # ensure update-status hook doesn't overwrite this + self.harness.charm.on.update_status.emit() + self.assertEqual(self.harness.charm.unit.status, + BlockedStatus('Need database relation for HA.')) + + # now add the database connection and the model should + # not have a blocked status + db_rel_id = self.harness.add_relation('database', 'mysql') + self.harness.add_relation_unit(db_rel_id, 'mysql/0') + self.harness.update_relation_data(db_rel_id, + 'mysql/0', + { + 'type': 'mysql', + 'host': '10.10.10.10:3306', + 'name': 'test_mysql_db', + 'user': 'test-admin', + 'password': 'super!secret!password', + }) + self.assertTrue(self.harness.charm.has_db) + self.assertEqual(self.harness.charm.unit.status, ActiveStatus()) + + # ensure _check_high_availability() ends up with the correct status + status = self.harness.charm._check_high_availability() + self.assertEqual(status, MaintenanceStatus('Grafana ready for HA.')) + + def test__database_relation_data(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.database, {}) + + # add relation and update relation data + rel_id = self.harness.add_relation('database', 'mysql') + rel = self.harness.model.get_relation('database') + self.harness.add_relation_unit(rel_id, 'mysql/0') + test_relation_data = { + 'type': 'mysql', + 'host': '0.1.2.3:3306', + 'name': 'my-test-db', + 'user': 'test-user', + 'password': 'super!secret!password', + } + self.harness.update_relation_data(rel_id, + 'mysql/0', + test_relation_data) + # check that charm datastore was properly set + self.assertEqual(dict(self.harness.charm.datastore.database), + test_relation_data) + + # now depart this relation and ensure the datastore is emptied + self.harness.charm.on.database_relation_broken.emit(rel) + self.assertEqual({}, dict(self.harness.charm.datastore.database)) + + def test__multiple_database_relation_handling(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.database, {}) + + # add first database relation + self.harness.add_relation('database', 'mysql') + + # add second database relation -- should fail here + with self.assertRaises(TooManyRelatedAppsError): + self.harness.add_relation('database', 'mysql') + self.harness.charm.model.get_relation('database') + + def test__multiple_source_relations(self): + """This will test data-source config text with multiple sources. + + Specifically, it will test multiple grafana-source relations.""" + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + rel_id0 = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id0, 'prometheus/0') + + # add test data to grafana-source relation + # and test that _make_data_source_config_text() works as expected + prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus' + } + self.harness.update_relation_data(rel_id0, 'prometheus/0', prom_source_data) + header_text = textwrap.dedent(""" + apiVersion: 1 + + datasources:""") + correct_config_text0 = header_text + textwrap.dedent(""" + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1""") + + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text0 + '\n', generated_text) + + # add another source relation and check the resulting config text + jaeger_source_data = { + 'private-address': '255.255.255.0', + 'port': 7890, + 'source-type': 'jaeger', + 'source-name': 'jaeger-application' + } + rel_id1 = self.harness.add_relation('grafana-source', 'jaeger') + self.harness.add_relation_unit(rel_id1, 'jaeger/0') + self.harness.update_relation_data(rel_id1, 'jaeger/0', jaeger_source_data) + + correct_config_text1 = correct_config_text0 + textwrap.dedent(""" + - name: jaeger-application + type: jaeger + access: proxy + url: http://255.255.255.0:7890 + isDefault: false + editable: true + orgId: 1""") + + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text1 + '\n', generated_text) + + # test removal of second source results in config_text + # that is the same as the original + self.harness.update_relation_data(rel_id1, + 'jaeger/0', + { + 'private-address': None, + 'port': None, + }) + generated_text = self.harness.charm._make_data_source_config_text() + correct_text_after_removal = textwrap.dedent(""" + apiVersion: 1 + + deleteDatasources: + - name: jaeger-application + orgId: 1 + + datasources: + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1""") + + self.assertEqual(correct_text_after_removal + '\n', generated_text) + + # now test that the 'deleteDatasources' is gone + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text0 + '\n', generated_text) + + def test__pod_spec_container_datasources(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + + # add test data to grafana-source relation + # and test that _make_data_source_config_text() works as expected + prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus' + } + self.harness.update_relation_data(rel_id, 'prometheus/0', prom_source_data) + + data_source_file_text = textwrap.dedent(""" + apiVersion: 1 + + datasources: + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1 + """) + + config_ini_file_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """).format( + self.harness.model.config['grafana_log_level'], + ) + + expected_container_files_spec = [ + { + 'name': 'grafana-datasources', + 'mountPath': '/etc/grafana/provisioning/datasources', + 'files': [{ + 'path': 'datasources.yaml', + 'content': data_source_file_text, + }], + }, + { + 'name': 'grafana-config-ini', + 'mountPath': '/etc/grafana', + 'files': [{ + 'path': 'grafana.ini', + 'content': config_ini_file_text, + }] + } + ] + pod_spec, _ = self.harness.get_pod_spec() + container = get_container(pod_spec, 'grafana') + actual_container_files_spec = container['volumeConfig'] + self.assertEqual(expected_container_files_spec, + actual_container_files_spec) + + def test__access_sqlite_storage_location(self): + expected_path = '/var/lib/grafana' + actual_path = self.harness.charm.meta.storages['sqlitedb'].location + self.assertEqual(expected_path, actual_path) + + def test__config_ini_without_database(self): + self.harness.update_config(BASE_CONFIG) + expected_config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """).format( + self.harness.model.config['grafana_log_level'], + ) + + actual_config_text = self.harness.charm._make_config_ini_text() + self.assertEqual(expected_config_text, actual_config_text) + + def test__config_ini_with_database(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + + # add database relation and update relation data + rel_id = self.harness.add_relation('database', 'mysql') + self.harness.add_relation_unit(rel_id, 'mysql/0') + test_relation_data = { + 'type': 'mysql', + 'host': '0.1.2.3:3306', + 'name': 'my-test-db', + 'user': 'test-user', + 'password': 'super!secret!password', + } + self.harness.update_relation_data(rel_id, + 'mysql/0', + test_relation_data) + + # test the results of _make_config_ini_text() + expected_config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + + [database] + type = mysql + host = 0.1.2.3:3306 + name = my-test-db + user = test-user + password = super!secret!password + url = mysql://test-user:super!secret!password@0.1.2.3:3306/my-test-db""").format( + self.harness.model.config['grafana_log_level'], + ) + + actual_config_text = self.harness.charm._make_config_ini_text() + self.assertEqual(expected_config_text, actual_config_text) + + def test__duplicate_source_names(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + p_rel_id = self.harness.add_relation('grafana-source', 'prometheus') + p_rel = self.harness.model.get_relation('grafana-source', p_rel_id) + self.harness.add_relation_unit(p_rel_id, 'prometheus/0') + + # add test data to grafana-source relation + prom_source_data0 = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus', + 'source-name': 'duplicate-source-name' + } + self.harness.update_relation_data(p_rel_id, 'prometheus/0', prom_source_data0) + expected_prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-name': 'duplicate-source-name', + 'source-type': 'prometheus', + 'isDefault': 'true', + 'unit_name': 'prometheus/0' + } + self.assertEqual(dict(self.harness.charm.datastore.sources[p_rel_id]), + expected_prom_source_data) + + # add second source with the same name as the first source + g_rel_id = self.harness.add_relation('grafana-source', 'graphite') + g_rel = self.harness.model.get_relation('grafana-source', g_rel_id) + self.harness.add_relation_unit(g_rel_id, 'graphite/0') + + graphite_source_data0 = { + 'private-address': '192.12.23.34', + 'port': 4321, + 'source-type': 'graphite', + 'source-name': 'duplicate-source-name' + } + expected_graphite_source_data = { + 'isDefault': 'false', + 'port': 4321, + 'private-address': '192.12.23.34', + 'source-name': 'graphite_1', + 'source-type': 'graphite', + 'unit_name': 'graphite/0' + } + self.harness.update_relation_data(g_rel_id, 'graphite/0', graphite_source_data0) + self.assertEqual( + expected_graphite_source_data, + dict(self.harness.charm.datastore.sources.get(g_rel_id)) + ) + self.assertEqual(2, len(self.harness.charm.datastore.sources)) + + # now remove the relation and ensure datastore source-name is removed + self.harness.charm.on.grafana_source_relation_broken.emit(p_rel) + self.assertEqual(None, self.harness.charm.datastore.sources.get(p_rel_id)) + self.assertEqual(1, len(self.harness.charm.datastore.sources)) + + # remove graphite relation + self.harness.charm.on.grafana_source_relation_broken.emit(g_rel) + self.assertEqual(None, self.harness.charm.datastore.sources.get(g_rel_id)) + self.assertEqual(0, len(self.harness.charm.datastore.sources)) + + def test__idempotent_datasource_file_hash(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + self.assertIsInstance(rel_id, int) + + # test that the unit data propagates the correct way + # which is through the triggering of on_relation_changed + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-type': 'prometheus', + 'source-name': 'prometheus-app', + }) + + # get a hash of the created file and check that it matches the pod spec + pod_spec, _ = self.harness.get_pod_spec() + container = get_container(pod_spec, 'grafana') + hash_text = hashlib.md5( + container['volumeConfig'][0]['files'][0]['content'].encode()).hexdigest() + self.assertEqual(container['envConfig']['DATASOURCES_YAML'], hash_text) + + # test the idempotence of the call by re-configuring the pod spec + self.harness.charm.configure_pod() + self.assertEqual(container['envConfig']['DATASOURCES_YAML'], hash_text) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/LICENSE b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/LICENSE new file mode 100644 index 00000000..2f1b8e15 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2017-2021 Ingy döt Net +Copyright (c) 2006-2016 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/METADATA new file mode 100644 index 00000000..565f05b7 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/METADATA @@ -0,0 +1,46 @@ +Metadata-Version: 2.1 +Name: PyYAML +Version: 5.4.1 +Summary: YAML parser and emitter for Python +Home-page: https://pyyaml.org/ +Author: Kirill Simonov +Author-email: xi@resolvent.net +License: MIT +Download-URL: https://pypi.org/project/PyYAML/ +Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues +Project-URL: CI, https://github.com/yaml/pyyaml/actions +Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation +Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core +Project-URL: Source Code, https://github.com/yaml/pyyaml +Platform: Any +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* + +YAML is a data serialization format designed for human readability +and interaction with scripting languages. PyYAML is a YAML parser +and emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistence. + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/RECORD new file mode 100644 index 00000000..68ca4da2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/RECORD @@ -0,0 +1,43 @@ +PyYAML-5.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyYAML-5.4.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 +PyYAML-5.4.1.dist-info/METADATA,sha256=XnrM5LY-uS85ica26gKUK0dGG-xmPjmGfDTSLpIHQFk,2087 +PyYAML-5.4.1.dist-info/RECORD,, +PyYAML-5.4.1.dist-info/WHEEL,sha256=Dh4w5P6PPWbqyqoE6MHlzbFQwZXlM-voWJDf2WUsS2g,108 +PyYAML-5.4.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 +_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 +_yaml/__pycache__/__init__.cpython-38.pyc,, +yaml/__init__.py,sha256=gfp2CbRVhzknghkiiJD2l6Z0pI-mv_iZHPSJ4aj0-nY,13170 +yaml/__pycache__/__init__.cpython-38.pyc,sha256=n0YyVkjiOLmcjlR2NXE5TIZf7Z2clZ6sqQ5KlyuTWSI,11845 +yaml/__pycache__/composer.cpython-38.pyc,sha256=OVPzAKAvC2-Tiv4HUwUUG9JHCzG17nvsRQcFTCtY9xs,3563 +yaml/__pycache__/constructor.cpython-38.pyc,sha256=EXPDY7Prtv3F6QbXiJc5F4BvJQyCCGRu83WF4u6X7Vo,20822 +yaml/__pycache__/cyaml.cpython-38.pyc,sha256=wI01UFU-WhUcdnnczL5QpKu0ZNQTttSzXbleIvIfcvM,3411 +yaml/__pycache__/dumper.cpython-38.pyc,sha256=9wIctrlMpF4ksMWuCc5QAyZSenGiRVyrtU-1pAfj54U,1823 +yaml/__pycache__/emitter.cpython-38.pyc,sha256=kd_QGJd0GjpfgQPN9DlG_7HwKfJnJ24JxtdiUOxM9iE,25353 +yaml/__pycache__/error.cpython-38.pyc,sha256=j6mkXgDmzV0y0lo6FeUrvZL2vHN6Vkc52k0_R0oOn6g,2300 +yaml/__pycache__/events.cpython-38.pyc,sha256=NFsoAO36pPL_uxoCO-xRxKndQ3vx47mkStOYjfoQVZ8,3974 +yaml/__pycache__/loader.cpython-38.pyc,sha256=lEMB2brjPrfMjXXTJpCEx6-ct4eI6LYovD4hW5ZuGsw,2164 +yaml/__pycache__/nodes.cpython-38.pyc,sha256=Kkxh_oL04gQg-YFWwnfjpIoYspsXO4GEqKTr3NbxOD8,1725 +yaml/__pycache__/parser.cpython-38.pyc,sha256=0R9Qx0cBMUoOLzMOWeXCyXsC4S4KJ7oPHdmTVPQ4FbQ,11924 +yaml/__pycache__/reader.cpython-38.pyc,sha256=ZpOMJ6rZDc8EWffI4vZR_Fhcu3WmhgT_GAkDrKkEtPo,4537 +yaml/__pycache__/representer.cpython-38.pyc,sha256=tR9wWffCThWXwQe47uYFdHg2bCkqNjBcwmG7RSHmWS4,10069 +yaml/__pycache__/resolver.cpython-38.pyc,sha256=zsLBuCKn8KAJPVGo5J_xZSytifJktdTtkUNnltOt__I,5498 +yaml/__pycache__/scanner.cpython-38.pyc,sha256=N8ubxRd6bZBjoRna6CU8wK1Imb_7TWOsudzPh9JDDkQ,25269 +yaml/__pycache__/serializer.cpython-38.pyc,sha256=9JDH7ONP5zFlep0f2yNWRoOSZr5Y28jL012O1EIbuug,3320 +yaml/__pycache__/tokens.cpython-38.pyc,sha256=haBW6UBDhVFog2xIe63OkrAP_9JRFyNKCROFPRJiyu0,4935 +yaml/_yaml.cpython-38-x86_64-linux-gnu.so,sha256=fxjEXaSdzion1SMwhu9Ikx-JOVNtcl6KvW_pyGBt-cU,2342916 +yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 +yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 +yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 +yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 +yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 +yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 +yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 +yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 +yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 +yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 +yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 +yaml/representer.py,sha256=82UM3ZxUQKqsKAF4ltWOxCS6jGPIFtXpGs7mvqyv4Xs,14184 +yaml/resolver.py,sha256=Z1W8AOMA6Proy4gIO2OhUO4IPS_bFNAl0Ca3rwChpPg,8999 +yaml/scanner.py,sha256=KeQIKGNlSyPE8QDwionHxy9CgbqE5teJEz05FR9-nAg,51277 +yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 +yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/WHEEL new file mode 100644 index 00000000..69d594f0 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: false +Tag: cp38-cp38-manylinux1_x86_64 + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt new file mode 100644 index 00000000..e6475e91 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt @@ -0,0 +1,2 @@ +_yaml +yaml diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/_yaml/__init__.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/_yaml/__init__.py new file mode 100644 index 00000000..7baa8c4b --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/_yaml/__init__.py @@ -0,0 +1,33 @@ +# This is a stub package designed to roughly emulate the _yaml +# extension module, which previously existed as a standalone module +# and has been moved into the `yaml` package namespace. +# It does not perfectly mimic its old counterpart, but should get +# close enough for anyone who's relying on it even when they shouldn't. +import yaml + +# in some circumstances, the yaml module we imoprted may be from a different version, so we need +# to tread carefully when poking at it here (it may not have the attributes we expect) +if not getattr(yaml, '__with_libyaml__', False): + from sys import version_info + + exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError + raise exc("No module named '_yaml'") +else: + from yaml._yaml import * + import warnings + warnings.warn( + 'The _yaml extension module is now located at yaml._yaml' + ' and its location is subject to change. To use the' + ' LibYAML-based parser and emitter, import from `yaml`:' + ' `from yaml import CLoader as Loader, CDumper as Dumper`.', + DeprecationWarning + ) + del warnings + # Don't `del yaml` here because yaml is actually an existing + # namespace member of _yaml. + +__name__ = '_yaml' +# If the module is top-level (i.e. not a part of any specific package) +# then the attribute should be set to ''. +# https://docs.python.org/3.8/library/types.html +__package__ = '' diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/METADATA new file mode 100644 index 00000000..b21b997f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/METADATA @@ -0,0 +1,63 @@ +Metadata-Version: 2.1 +Name: oci-image +Version: 1.0.0 +Summary: Helper for dealing with OCI Image resources in the charm operator framework +Home-page: https://github.com/juju-solutions/resource-oci-image +Author: Cory Johns +Author-email: johnsca@gmail.com +License: Apache License 2.0 +Platform: UNKNOWN + +# OCI Image Resource helper + +This is a helper for working with OCI image resources in the charm operator +framework. + +## Installation + +Add it to your `requirements.txt`. Since it's not in PyPI, you'll need to use +the GitHub archive URL (or `git+` URL, if you want to pin to a specific commit): + +``` +https://github.com/juju-solutions/resource-oci-image/archive/master.zip +``` + +## Usage + +The `OCIImageResource` class will wrap the framework resource for the given +resource name, and calling `fetch` on it will either return the image info +or raise an `OCIImageResourceError` if it can't fetch or parse the image +info. The exception will have a `status` attribute you can use directly, +or a `status_message` attribute if you just want that. + +Example usage: + +```python +from ops.charm import CharmBase +from ops.main import main +from oci_image import OCIImageResource, OCIImageResourceError + +class MyCharm(CharmBase): + def __init__(self, *args): + super().__init__(*args) + self.image = OCIImageResource(self, 'resource-name') + self.framework.observe(self.on.start, self.on_start) + + def on_start(self, event): + try: + image_info = self.image.fetch() + except OCIImageResourceError as e: + self.model.unit.status = e.status + event.defer() + return + + self.model.pod.set_spec({'containers': [{ + 'name': 'my-charm', + 'imageDetails': image_info, + }]}) + +if __name__ == "__main__": + main(MyCharm) +``` + + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/RECORD new file mode 100644 index 00000000..c265196b --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/RECORD @@ -0,0 +1,7 @@ +__pycache__/oci_image.cpython-38.pyc,, +oci_image-1.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +oci_image-1.0.0.dist-info/METADATA,sha256=QIpPa4JcSPa_Ci0n-DaCNp4PkKovZudFW8FnpnauJnQ,1808 +oci_image-1.0.0.dist-info/RECORD,, +oci_image-1.0.0.dist-info/WHEEL,sha256=EVRjI69F5qVjm_YgqcTXPnTAv3BfSUr0WVAHuSP3Xoo,92 +oci_image-1.0.0.dist-info/top_level.txt,sha256=M4dLaObLx7irI4EO-A4_VJP_b-A6dDD7hB5QyVKdHOY,10 +oci_image.py,sha256=c75VR2vSmOp9pPTP2cnsxo23CqhhFbRtnIOtMjzDyXY,1794 diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/WHEEL new file mode 100644 index 00000000..83ff02e9 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.35.1) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/top_level.txt new file mode 100644 index 00000000..cd696238 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image-1.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +oci_image diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image.py new file mode 100644 index 00000000..f4d3818f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/oci_image.py @@ -0,0 +1,53 @@ +from pathlib import Path + +import yaml +from ops.framework import Object +from ops.model import BlockedStatus, ModelError + + +class OCIImageResource(Object): + def __init__(self, charm, resource_name): + super().__init__(charm, resource_name) + self.resource_name = resource_name + + def fetch(self): + try: + resource_path = self.model.resources.fetch(self.resource_name) + except ModelError as e: + raise MissingResourceError(self.resource_name) from e + if not resource_path.exists(): + raise MissingResourceError(self.resource_name) + resource_text = Path(resource_path).read_text() + if not resource_text: + raise MissingResourceError(self.resource_name) + try: + resource_data = yaml.safe_load(resource_text) + except yaml.YAMLError as e: + raise InvalidResourceError(self.resource_name) from e + else: + # Translate the data from the format used by the charm store to the + # format used by the Juju K8s pod spec, since that is how this is + # typically used. + return { + 'imagePath': resource_data['registrypath'], + 'username': resource_data['username'], + 'password': resource_data['password'], + } + + +class OCIImageResourceError(ModelError): + status_type = BlockedStatus + status_message = 'Resource error' + + def __init__(self, resource_name): + super().__init__(resource_name) + self.status = self.status_type( + f'{self.status_message}: {resource_name}') + + +class MissingResourceError(OCIImageResourceError): + status_message = 'Missing resource' + + +class InvalidResourceError(OCIImageResourceError): + status_message = 'Invalid resource' diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/LICENSE.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/METADATA new file mode 100644 index 00000000..cd45af93 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/METADATA @@ -0,0 +1,263 @@ +Metadata-Version: 2.1 +Name: ops +Version: 1.1.0 +Summary: The Python library behind great charms +Home-page: https://github.com/canonical/operator +Author: The Charmcraft team at Canonical Ltd. +Author-email: charmcraft@lists.launchpad.net +License: Apache-2.0 +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 3 +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Operating System :: POSIX :: Linux +Requires-Python: >=3.5 +Description-Content-Type: text/markdown +Requires-Dist: PyYAML + +# The Operator Framework + +This Operator Framework simplifies [Kubernetes +operator](https://charmhub.io/about) development for +[model-driven application +management](https://juju.is/model-driven-operations). + +A Kubernetes operator is a container that drives lifecycle management, +configuration, integration and daily actions for an application. +Operators simplify software management and operations. They capture +reusable app domain knowledge from experts in a software component that +can be shared. + +This project extends the operator pattern to enable +[universal operators](https://juju.is/universal-operators), not just +for Kubernetes but also operators for traditional Linux or Windows +application management. + +Operators use an [Operator Lifecycle Manager +(OLM)](https://juju.is/operator-lifecycle-manager) to coordinate their +work in a cluster. The system uses Golang for concurrent event +processing under the hood, but enables the operators to be written in +Python. + +## Simple, composable operators + +Operators should 'do one thing and do it well'. Each operator drives a +single microservice and can be [composed with other +operators](https://juju.is/integration) to deliver a complex application. + +It is better to have small, reusable operators that each drive a single +microservice very well. The operator handles instantiation, scaling, +configuration, optimisation, networking, service mesh, observability, +and day-2 operations specific to that microservice. + +Operator composition takes place through declarative integration in +the OLM. Operators declare integration endpoints, and discover lines of +integration between those endpoints dynamically at runtime. + +## Pure Python operators + +The framework provides a standard Python library and object model that +represents the application graph, and an event distribution mechanism for +distributed system coordination and communication. + +The OLM is written in Golang for efficient concurrency in event handling +and distribution. Operators can be written in any language. We recommend +this Python framework for ease of design, development and collaboration. + +## Better collaboration + +Operator developers publish Python libraries that make it easy to integrate +your operator with their operator. The framework includes standard tools +to distribute these integration libraries and keep them up to date. + +Development collaboration happens at [Charmhub.io](https://charmhub.io/) where +operators are published along with integration libraries. Design and +code review discussions are hosted in the +[Charmhub forum](https://discourse.charmhub.io/). We recommend the +[Open Operator Manifesto](https://charmhub.io/manifesto) as a guideline for +high quality operator engineering. + +## Event serialization and operator services + +Distributed systems can be hard! So this framework exists to make it much +simpler to reason about operator behaviour, especially in complex deployments. +The OLM provides [operator services](https://juju.is/operator-services) such +as provisioning, event delivery, leader election and model management. + +Coordination between operators is provided by a cluster-wide event +distribution system. Events are serialized to avoid race conditions in any +given container or machine. This greatly simplifies the development of +operators for high availability, scale-out and integrated applications. + +## Model-driven Operator Lifecycle Manager + +A key goal of the project is to improve the user experience for admins +working with multiple different operators. + +We embrace [model-driven operations](https://juju.is/model-driven-operations) +in the Operator Lifecycle Manager. The model encompasses capacity, +storage, networking, the application graph and administrative access. + +Admins describe the application graph of integrated microservices, and +the OLM then drives instantiation. A change in the model is propagated +to all affected operators, reducing the duplication of effort and +repetition normally found in operating a complex topology of services. + +Administrative actions, updates, configuration and integration are all +driven through the OLM. + +# Getting started + +A package of operator code is called a charm. You will use `charmcraft` +to register your operator name, and publish it when you are ready. + +``` +$ sudo snap install charmcraft --beta +charmcraft (beta) 0.6.0 from John Lenton (chipaca) installed +``` + +Charms written using the operator framework are just Python code. The goal +is to feel natural for somebody used to coding in Python, and reasonably +easy to learn for somebody who is not a pythonista. + +The dependencies of the operator framework are kept as minimal as possible; +currently that's Python 3.5 or greater, and `PyYAML` (both are included by +default in Ubuntu's cloud images from 16.04 on). + +# A quick introduction + +Make an empty directory `my-charm` and cd into it. Then start a new charm +with: + +``` +$ charmcraft init +All done. +There are some notes about things we think you should do. +These are marked with ‘TODO:’, as is customary. Namely: + README.md: fill out the description + README.md: explain how to use the charm + metadata.yaml: fill out the charm's description + metadata.yaml: fill out the charm's summary +``` + +Charmed operators are just Python code. The entry point to your charm can +be any filename, by default this is `src/charm.py` which must be executable +(and probably have `#!/usr/bin/env python3` on the first line). + +You need a `metadata.yaml` to describe your charm, and if you will support +configuration of your charm then `config.yaml` files is required too. The +`requirements.txt` specifies any Python dependencies. + +``` +$ tree my-charm/ +my-charm/ +├── actions.yaml +├── config.yaml +├── LICENSE +├── metadata.yaml +├── README.md +├── requirements-dev.txt +├── requirements.txt +├── run_tests +├── src +│   └── charm.py +├── tests +│   ├── __init__.py +│   └── my_charm.py +``` + +`src/charm.py` here is the entry point to your charm code. At a minimum, it +needs to define a subclass of `CharmBase` and pass that into the framework +`main` function: + +```python +from ops.charm import CharmBase +from ops.main import main + +class MyCharm(CharmBase): + def __init__(self, *args): + super().__init__(*args) + self.framework.observe(self.on.start, self.on_start) + + def on_start(self, event): + # Handle the start event here. + +if __name__ == "__main__": + main(MyCharm) +``` + +That should be enough for you to be able to run + +``` +$ charmcraft build +Done, charm left in 'my-charm.charm' +$ juju deploy ./my-charm.charm +``` + +> 🛈 More information on [`charmcraft`](https://pypi.org/project/charmcraft/) can +> also be found on its [github page](https://github.com/canonical/charmcraft). + +Happy charming! + +# Testing your charms + +The operator framework provides a testing harness, so you can check your +charm does the right thing in different scenarios, without having to create +a full deployment. `pydoc3 ops.testing` has the details, including this +example: + +```python +harness = Harness(MyCharm) +# Do initial setup here +relation_id = harness.add_relation('db', 'postgresql') +# Now instantiate the charm to see events as the model changes +harness.begin() +harness.add_relation_unit(relation_id, 'postgresql/0') +harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) +# Check that charm has properly handled the relation_joined event for postgresql/0 +self.assertEqual(harness.charm. ...) +``` + +## Talk to us + +If you need help, have ideas, or would just like to chat with us, reach out on +IRC: we're in [#smooth-operator] on freenode (or try the [webchat]). + +We also pay attention to [Charmhub discourse](https://discourse.charmhub.io/) + +You can also deep dive into the [API docs] if that's your thing. + +[webchat]: https://webchat.freenode.net/#smooth-operator +[#smooth-operator]: irc://chat.freenode.net/%23smooth-operator +[discourse]: https://discourse.juju.is/c/charming +[API docs]: https://ops.rtfd.io/ + +## Operator Framework development + +To work in the framework itself you will need Python >= 3.5 and the +dependencies in `requirements-dev.txt` installed in your system, or a +virtualenv: + + virtualenv --python=python3 env + source env/bin/activate + pip install -r requirements-dev.txt + +Then you can try `./run_tests`, it should all go green. + +For improved performance on the tests, ensure that you have PyYAML +installed with the correct extensions: + + apt-get install libyaml-dev + pip install --force-reinstall --no-cache-dir pyyaml + +If you want to build the documentation you'll need the requirements from +`docs/requirements.txt`, or in your virtualenv + + pip install -r docs/requirements.txt + +and then you can run `./build_docs`. + + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/RECORD new file mode 100644 index 00000000..35eb15f5 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/RECORD @@ -0,0 +1,28 @@ +ops-1.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ops-1.1.0.dist-info/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358 +ops-1.1.0.dist-info/METADATA,sha256=ffVuqPnEob6-iBYjEf3lPShSbToJL17obFFufoW2F4g,9485 +ops-1.1.0.dist-info/RECORD,, +ops-1.1.0.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92 +ops-1.1.0.dist-info/top_level.txt,sha256=enC05wWafSg8iDKIvj3gvtAtEP2kYCyN5Gmd689q-_I,4 +ops/__init__.py,sha256=WaHb0dfp1KEe6jFV8Pm_mcdJ3ModiWujnQ6xLjNzPNQ,819 +ops/__pycache__/__init__.cpython-38.pyc,, +ops/__pycache__/charm.cpython-38.pyc,, +ops/__pycache__/framework.cpython-38.pyc,, +ops/__pycache__/jujuversion.cpython-38.pyc,, +ops/__pycache__/log.cpython-38.pyc,, +ops/__pycache__/main.cpython-38.pyc,, +ops/__pycache__/model.cpython-38.pyc,, +ops/__pycache__/storage.cpython-38.pyc,, +ops/__pycache__/testing.cpython-38.pyc,, +ops/__pycache__/version.cpython-38.pyc,, +ops/charm.py,sha256=7KyaNNA0t_a0h0hrzehSEWm4xU_Y5JIqGWHTg747qfU,32817 +ops/framework.py,sha256=1ByOtFKRR6kRzOEbfWnGEMNevixOYf18U0oZxKq8LsA,43769 +ops/jujuversion.py,sha256=9wMlUmngcAENV9RkgVVLWtZsyRQaf6XNrQQqUeY_fHA,4139 +ops/lib/__init__.py,sha256=QizPpuRWXjqbH5Gv7mnH8CcPR9BX7q2YNFnxyoSsA0g,9213 +ops/lib/__pycache__/__init__.cpython-38.pyc,, +ops/log.py,sha256=JVpt_Vkf_lWO2cucUcJfXjAWVTattk4xBscSs65Sn3I,2155 +ops/main.py,sha256=BUJZM4soFpsY4bO6zJ1bSHQeWJcm028gq0MhJT3rC8M,15523 +ops/model.py,sha256=yvM1yhidNyGpVdxkG365jPJRhQuE42EiiojBHJ7tL3c,47930 +ops/storage.py,sha256=jEfszzQGYDrl5wa03I6txvea-7lI661Yq6n7sIPa0fU,14192 +ops/testing.py,sha256=sH8PoNzGmfPdVWM1lBjStxHcNfQHsasFjF-WzHfDhFA,34898 +ops/version.py,sha256=UuaLFU_UN-InNFu4I23Y22huxQdbsOgTQ_d_r623fx4,46 diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/WHEEL new file mode 100644 index 00000000..b552003f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/top_level.txt new file mode 100644 index 00000000..2d81d3bb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops-1.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +ops diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/__init__.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/__init__.py new file mode 100644 index 00000000..f17b2969 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/__init__.py @@ -0,0 +1,20 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""The Operator Framework.""" + +from .version import version as __version__ # noqa: F401 (imported but unused) + +# Import here the bare minimum to break the circular import between modules +from . import charm # noqa: F401 (imported but unused) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/charm.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/charm.py new file mode 100644 index 00000000..82ed2fdd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/charm.py @@ -0,0 +1,823 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Base objects for the Charm, events and metadata.""" + +import enum +import os +import pathlib +import typing + +import yaml + +from ops.framework import Object, EventSource, EventBase, Framework, ObjectEvents +from ops import model + + +def _loadYaml(source): + if yaml.__with_libyaml__: + return yaml.load(source, Loader=yaml.CSafeLoader) + return yaml.load(source, Loader=yaml.SafeLoader) + + +class HookEvent(EventBase): + """Events raised by Juju to progress a charm's lifecycle. + + Hooks are callback methods of a charm class (a subclass of + :class:`CharmBase`) that are invoked in response to events raised + by Juju. These callback methods are the means by which a charm + governs the lifecycle of its application. + + The :class:`HookEvent` class is the base of a type hierarchy of events + related to the charm's lifecycle. + + :class:`HookEvent` subtypes are grouped into the following categories + + - Core lifecycle events + - Relation events + - Storage events + - Metric events + """ + + +class ActionEvent(EventBase): + """Events raised by Juju when an administrator invokes a Juju Action. + + This class is the data type of events triggered when an administrator + invokes a Juju Action. Callbacks bound to these events may be used + for responding to the administrator's Juju Action request. + + To read the parameters for the action, see the instance variable :attr:`params`. + To respond with the result of the action, call :meth:`set_results`. To add + progress messages that are visible as the action is progressing use + :meth:`log`. + + Attributes: + params: The parameters passed to the action. + """ + + def defer(self): + """Action events are not deferable like other events. + + This is because an action runs synchronously and the administrator + is waiting for the result. + """ + raise RuntimeError('cannot defer action events') + + def restore(self, snapshot: dict) -> None: + """Used by the operator framework to record the action. + + Not meant to be called directly by charm code. + """ + env_action_name = os.environ.get('JUJU_ACTION_NAME') + event_action_name = self.handle.kind[:-len('_action')].replace('_', '-') + if event_action_name != env_action_name: + # This could only happen if the dev manually emits the action, or from a bug. + raise RuntimeError('action event kind does not match current action') + # Params are loaded at restore rather than __init__ because + # the model is not available in __init__. + self.params = self.framework.model._backend.action_get() + + def set_results(self, results: typing.Mapping) -> None: + """Report the result of the action. + + Args: + results: The result of the action as a Dict + """ + self.framework.model._backend.action_set(results) + + def log(self, message: str) -> None: + """Send a message that a user will see while the action is running. + + Args: + message: The message for the user. + """ + self.framework.model._backend.action_log(message) + + def fail(self, message: str = '') -> None: + """Report that this action has failed. + + Args: + message: Optional message to record why it has failed. + """ + self.framework.model._backend.action_fail(message) + + +class InstallEvent(HookEvent): + """Event triggered when a charm is installed. + + This event is triggered at the beginning of a charm's + lifecycle. Any associated callback method should be used to + perform one-time setup operations, such as installing prerequisite + software. + """ + + +class StartEvent(HookEvent): + """Event triggered immediately after first configuation change. + + This event is triggered immediately after the first + :class:`ConfigChangedEvent`. Callback methods bound to the event should be + used to ensure that the charm’s software is in a running state. Note that + the charm’s software should be configured so as to persist in this state + through reboots without further intervention on Juju’s part. + """ + + +class StopEvent(HookEvent): + """Event triggered when a charm is shut down. + + This event is triggered when an application's removal is requested + by the client. The event fires immediately before the end of the + unit’s destruction sequence. Callback methods bound to this event + should be used to ensure that the charm’s software is not running, + and that it will not start again on reboot. + """ + + +class RemoveEvent(HookEvent): + """Event triggered when a unit is about to be terminated. + + This event fires prior to Juju removing the charm and terminating its unit. + """ + + +class ConfigChangedEvent(HookEvent): + """Event triggered when a configuration change is requested. + + This event fires in several different situations. + + - immediately after the :class:`install ` event. + - after a :class:`relation is created `. + - after a :class:`leader is elected `. + - after changing charm configuration using the GUI or command line + interface + - when the charm :class:`starts `. + - when a new unit :class:`joins a relation `. + - when there is a :class:`change to an existing relation `. + + Any callback method bound to this event cannot assume that the + software has already been started; it should not start stopped + software, but should (if appropriate) restart running software to + take configuration changes into account. + """ + + +class UpdateStatusEvent(HookEvent): + """Event triggered by a status update request from Juju. + + This event is periodically triggered by Juju so that it can + provide constant feedback to the administrator about the status of + the application the charm is modeling. Any callback method bound + to this event should determine the "health" of the application and + set the status appropriately. + + The interval between :class:`update-status ` events can + be configured model-wide, e.g. ``juju model-config + update-status-hook-interval=1m``. + """ + + +class UpgradeCharmEvent(HookEvent): + """Event triggered by request to upgrade the charm. + + This event will be triggered when an administrator executes ``juju + upgrade-charm``. The event fires after Juju has unpacked the upgraded charm + code, and so this event will be handled by the callback method bound to the + event in the new codebase. The associated callback method is invoked + provided there is no existing error state. The callback method should be + used to reconcile current state written by an older version of the charm + into whatever form that is needed by the current charm version. + """ + + +class PreSeriesUpgradeEvent(HookEvent): + """Event triggered to prepare a unit for series upgrade. + + This event triggers when an administrator executes ``juju upgrade-series + MACHINE prepare``. The event will fire for each unit that is running on the + specified machine. Any callback method bound to this event must prepare the + charm for an upgrade to the series. This may include things like exporting + database content to a version neutral format, or evacuating running + instances to other machines. + + It can be assumed that only after all units on a machine have executed the + callback method associated with this event, the administrator will initiate + steps to actually upgrade the series. After the upgrade has been completed, + the :class:`PostSeriesUpgradeEvent` will fire. + """ + + +class PostSeriesUpgradeEvent(HookEvent): + """Event triggered after a series upgrade. + + This event is triggered after the administrator has done a distribution + upgrade (or rolled back and kept the same series). It is called in response + to ``juju upgrade-series MACHINE complete``. Associated charm callback + methods are expected to do whatever steps are necessary to reconfigure their + applications for the new series. This may include things like populating the + upgraded version of a database. Note however charms are expected to check if + the series has actually changed or whether it was rolled back to the + original series. + """ + + +class LeaderElectedEvent(HookEvent): + """Event triggered when a new leader has been elected. + + Juju will trigger this event when a new leader unit is chosen for + a given application. + + This event fires at least once after Juju selects a leader + unit. Callback methods bound to this event may take any action + required for the elected unit to assert leadership. Note that only + the elected leader unit will receive this event. + """ + + +class LeaderSettingsChangedEvent(HookEvent): + """Event triggered when leader changes any settings. + + DEPRECATED NOTICE + + This event has been deprecated in favor of using a Peer relation, + and having the leader set a value in the Application data bag for + that peer relation. (see :class:`RelationChangedEvent`). + """ + + +class CollectMetricsEvent(HookEvent): + """Event triggered by Juju to collect metrics. + + Juju fires this event every five minutes for the lifetime of the + unit. Callback methods bound to this event may use the :meth:`add_metrics` + method of this class to send measurements to Juju. + + Note that associated callback methods are currently sandboxed in + how they can interact with Juju. + """ + + def add_metrics(self, metrics: typing.Mapping, labels: typing.Mapping = None) -> None: + """Record metrics that have been gathered by the charm for this unit. + + Args: + metrics: A collection of {key: float} pairs that contains the + metrics that have been gathered + labels: {key:value} strings that can be applied to the + metrics that are being gathered + """ + self.framework.model._backend.add_metrics(metrics, labels) + + +class RelationEvent(HookEvent): + """A base class representing the various relation lifecycle events. + + Relation lifecycle events are generated when application units + participate in relations. Units can only participate in relations + after they have been "started", and before they have been + "stopped". Within that time window, the unit may participate in + several different relations at a time, including multiple + relations with the same name. + + Attributes: + relation: The :class:`~ops.model.Relation` involved in this event + app: The remote :class:`~ops.model.Application` that has triggered this + event + unit: The remote unit that has triggered this event. This may be + ``None`` if the relation event was triggered as an + :class:`~ops.model.Application` level event + + """ + + def __init__(self, handle, relation, app=None, unit=None): + super().__init__(handle) + + if unit is not None and unit.app != app: + raise RuntimeError( + 'cannot create RelationEvent with application {} and unit {}'.format(app, unit)) + + self.relation = relation + self.app = app + self.unit = unit + + def snapshot(self) -> dict: + """Used by the framework to serialize the event to disk. + + Not meant to be called by charm code. + """ + snapshot = { + 'relation_name': self.relation.name, + 'relation_id': self.relation.id, + } + if self.app: + snapshot['app_name'] = self.app.name + if self.unit: + snapshot['unit_name'] = self.unit.name + return snapshot + + def restore(self, snapshot: dict) -> None: + """Used by the framework to deserialize the event from disk. + + Not meant to be called by charm code. + """ + self.relation = self.framework.model.get_relation( + snapshot['relation_name'], snapshot['relation_id']) + + app_name = snapshot.get('app_name') + if app_name: + self.app = self.framework.model.get_app(app_name) + else: + self.app = None + + unit_name = snapshot.get('unit_name') + if unit_name: + self.unit = self.framework.model.get_unit(unit_name) + else: + self.unit = None + + +class RelationCreatedEvent(RelationEvent): + """Event triggered when a new relation is created. + + This is triggered when a new relation to another app is added in Juju. This + can occur before units for those applications have started. All existing + relations should be established before start. + """ + + +class RelationJoinedEvent(RelationEvent): + """Event triggered when a new unit joins a relation. + + This event is triggered whenever a new unit of a related + application joins the relation. The event fires only when that + remote unit is first observed by the unit. Callback methods bound + to this event may set any local unit settings that can be + determined using no more than the name of the joining unit and the + remote ``private-address`` setting, which is always available when + the relation is created and is by convention not deleted. + """ + + +class RelationChangedEvent(RelationEvent): + """Event triggered when relation data changes. + + This event is triggered whenever there is a change to the data bucket for a + related application or unit. Look at ``event.relation.data[event.unit/app]`` + to see the new information, where ``event`` is the event object passed to + the callback method bound to this event. + + This event always fires once, after :class:`RelationJoinedEvent`, and + will subsequently fire whenever that remote unit changes its settings for + the relation. Callback methods bound to this event should be the only ones + that rely on remote relation settings. They should not error if the settings + are incomplete, since it can be guaranteed that when the remote unit or + application changes its settings, the event will fire again. + + The settings that may be queried, or set, are determined by the relation’s + interface. + """ + + +class RelationDepartedEvent(RelationEvent): + """Event triggered when a unit leaves a relation. + + This is the inverse of the :class:`RelationJoinedEvent`, representing when a + unit is leaving the relation (the unit is being removed, the app is being + removed, the relation is being removed). It is fired once for each unit that + is going away. + + When the remote unit is known to be leaving the relation, this will result + in the :class:`RelationChangedEvent` firing at least once, after which the + :class:`RelationDepartedEvent` will fire. The :class:`RelationDepartedEvent` + will fire once only. Once the :class:`RelationDepartedEvent` has fired no + further :class:`RelationChangedEvent` will fire. + + Callback methods bound to this event may be used to remove all + references to the departing remote unit, because there’s no + guarantee that it’s still part of the system; it’s perfectly + probable (although not guaranteed) that the system running that + unit has already shut down. + + Once all callback methods bound to this event have been run for such a + relation, the unit agent will fire the :class:`RelationBrokenEvent`. + """ + + +class RelationBrokenEvent(RelationEvent): + """Event triggered when a relation is removed. + + If a relation is being removed (``juju remove-relation`` or ``juju + remove-application``), once all the units have been removed, this event will + fire to signal that the relationship has been fully terminated. + + The event indicates that the current relation is no longer valid, and that + the charm’s software must be configured as though the relation had never + existed. It will only be called after every callback method bound to + :class:`RelationDepartedEvent` has been run. If a callback method + bound to this event is being executed, it is gauranteed that no remote units + are currently known locally. + """ + + +class StorageEvent(HookEvent): + """Base class representing storage-related events. + + Juju can provide a variety of storage types to a charms. The + charms can define several different types of storage that are + allocated from Juju. Changes in state of storage trigger sub-types + of :class:`StorageEvent`. + """ + + +class StorageAttachedEvent(StorageEvent): + """Event triggered when new storage becomes available. + + This event is triggered when new storage is available for the + charm to use. + + Callback methods bound to this event allow the charm to run code + when storage has been added. Such methods will be run before the + :class:`InstallEvent` fires, so that the installation routine may + use the storage. The name prefix of this hook will depend on the + storage key defined in the ``metadata.yaml`` file. + """ + + +class StorageDetachingEvent(StorageEvent): + """Event triggered prior to removal of storage. + + This event is triggered when storage a charm has been using is + going away. + + Callback methods bound to this event allow the charm to run code + before storage is removed. Such methods will be run before storage + is detached, and always before the :class:`StopEvent` fires, thereby + allowing the charm to gracefully release resources before they are + removed and before the unit terminates. The name prefix of the + hook will depend on the storage key defined in the ``metadata.yaml`` + file. + """ + + +class CharmEvents(ObjectEvents): + """Events generated by Juju pertaining to application lifecycle. + + This class is used to create an event descriptor (``self.on``) attribute for + a charm class that inherits from :class:`CharmBase`. The event descriptor + may be used to set up event handlers for corresponding events. + + By default the following events will be provided through + :class:`CharmBase`:: + + self.on.install + self.on.start + self.on.remove + self.on.update_status + self.on.config_changed + self.on.upgrade_charm + self.on.pre_series_upgrade + self.on.post_series_upgrade + self.on.leader_elected + self.on.collect_metrics + + + In addition to these, depending on the charm's metadata (``metadata.yaml``), + named relation and storage events may also be defined. These named events + are created by :class:`CharmBase` using charm metadata. The named events may be + accessed as ``self.on[].`` + """ + + install = EventSource(InstallEvent) + start = EventSource(StartEvent) + stop = EventSource(StopEvent) + remove = EventSource(RemoveEvent) + update_status = EventSource(UpdateStatusEvent) + config_changed = EventSource(ConfigChangedEvent) + upgrade_charm = EventSource(UpgradeCharmEvent) + pre_series_upgrade = EventSource(PreSeriesUpgradeEvent) + post_series_upgrade = EventSource(PostSeriesUpgradeEvent) + leader_elected = EventSource(LeaderElectedEvent) + leader_settings_changed = EventSource(LeaderSettingsChangedEvent) + collect_metrics = EventSource(CollectMetricsEvent) + + +class CharmBase(Object): + """Base class that represents the charm overall. + + :class:`CharmBase` is used to create a charm. This is done by inheriting + from :class:`CharmBase` and customising the sub class as required. So to + create your own charm, say ``MyCharm``, define a charm class and set up the + required event handlers (“hooks”) in its constructor:: + + import logging + + from ops.charm import CharmBase + from ops.main import main + + logger = logging.getLogger(__name__) + + def MyCharm(CharmBase): + def __init__(self, *args): + logger.debug('Initializing Charm') + + super().__init__(*args) + + self.framework.observe(self.on.config_changed, self._on_config_changed) + self.framework.observe(self.on.stop, self._on_stop) + # ... + + if __name__ == "__main__": + main(MyCharm) + + As shown in the example above, a charm class is instantiated by + :func:`~ops.main.main` rather than charm authors directly instantiating a + charm. + + Args: + framework: The framework responsible for managing the Model and events for this + charm. + key: Ignored; will remove after deprecation period of the signature change. + + """ + + # note that without the #: below, sphinx will copy the whole of CharmEvents + # docstring inline which is less than ideal. + #: Used to set up event handlers; see :class:`CharmEvents`. + on = CharmEvents() + + def __init__(self, framework: Framework, key: typing.Optional = None): + super().__init__(framework, None) + + for relation_name in self.framework.meta.relations: + relation_name = relation_name.replace('-', '_') + self.on.define_event(relation_name + '_relation_created', RelationCreatedEvent) + self.on.define_event(relation_name + '_relation_joined', RelationJoinedEvent) + self.on.define_event(relation_name + '_relation_changed', RelationChangedEvent) + self.on.define_event(relation_name + '_relation_departed', RelationDepartedEvent) + self.on.define_event(relation_name + '_relation_broken', RelationBrokenEvent) + + for storage_name in self.framework.meta.storages: + storage_name = storage_name.replace('-', '_') + self.on.define_event(storage_name + '_storage_attached', StorageAttachedEvent) + self.on.define_event(storage_name + '_storage_detaching', StorageDetachingEvent) + + for action_name in self.framework.meta.actions: + action_name = action_name.replace('-', '_') + self.on.define_event(action_name + '_action', ActionEvent) + + @property + def app(self) -> model.Application: + """Application that this unit is part of.""" + return self.framework.model.app + + @property + def unit(self) -> model.Unit: + """Unit that this execution is responsible for.""" + return self.framework.model.unit + + @property + def meta(self) -> 'CharmMeta': + """Metadata of this charm.""" + return self.framework.meta + + @property + def charm_dir(self) -> pathlib.Path: + """Root directory of the charm as it is running.""" + return self.framework.charm_dir + + @property + def config(self) -> model.ConfigData: + """A mapping containing the charm's config and current values.""" + return self.model.config + + +class CharmMeta: + """Object containing the metadata for the charm. + + This is read from ``metadata.yaml`` and/or ``actions.yaml``. Generally + charms will define this information, rather than reading it at runtime. This + class is mostly for the framework to understand what the charm has defined. + + The :attr:`maintainers`, :attr:`tags`, :attr:`terms`, :attr:`series`, and + :attr:`extra_bindings` attributes are all lists of strings. The + :attr:`requires`, :attr:`provides`, :attr:`peers`, :attr:`relations`, + :attr:`storages`, :attr:`resources`, and :attr:`payloads` attributes are all + mappings of names to instances of the respective :class:`RelationMeta`, + :class:`StorageMeta`, :class:`ResourceMeta`, or :class:`PayloadMeta`. + + The :attr:`relations` attribute is a convenience accessor which includes all + of the ``requires``, ``provides``, and ``peers`` :class:`RelationMeta` + items. If needed, the role of the relation definition can be obtained from + its :attr:`role ` attribute. + + Attributes: + name: The name of this charm + summary: Short description of what this charm does + description: Long description for this charm + maintainers: A list of strings of the email addresses of the maintainers + of this charm. + tags: Charm store tag metadata for categories associated with this charm. + terms: Charm store terms that should be agreed to before this charm can + be deployed. (Used for things like licensing issues.) + series: The list of supported OS series that this charm can support. + The first entry in the list is the default series that will be + used by deploy if no other series is requested by the user. + subordinate: True/False whether this charm is intended to be used as a + subordinate charm. + min_juju_version: If supplied, indicates this charm needs features that + are not available in older versions of Juju. + requires: A dict of {name: :class:`RelationMeta` } for each 'requires' relation. + provides: A dict of {name: :class:`RelationMeta` } for each 'provides' relation. + peers: A dict of {name: :class:`RelationMeta` } for each 'peer' relation. + relations: A dict containing all :class:`RelationMeta` attributes (merged from other + sections) + storages: A dict of {name: :class:`StorageMeta`} for each defined storage. + resources: A dict of {name: :class:`ResourceMeta`} for each defined resource. + payloads: A dict of {name: :class:`PayloadMeta`} for each defined payload. + extra_bindings: A dict of additional named bindings that a charm can use + for network configuration. + actions: A dict of {name: :class:`ActionMeta`} for actions that the charm has defined. + Args: + raw: a mapping containing the contents of metadata.yaml + actions_raw: a mapping containing the contents of actions.yaml + + """ + + def __init__(self, raw: dict = {}, actions_raw: dict = {}): + self.name = raw.get('name', '') + self.summary = raw.get('summary', '') + self.description = raw.get('description', '') + self.maintainers = [] + if 'maintainer' in raw: + self.maintainers.append(raw['maintainer']) + if 'maintainers' in raw: + self.maintainers.extend(raw['maintainers']) + self.tags = raw.get('tags', []) + self.terms = raw.get('terms', []) + self.series = raw.get('series', []) + self.subordinate = raw.get('subordinate', False) + self.min_juju_version = raw.get('min-juju-version') + self.requires = {name: RelationMeta(RelationRole.requires, name, rel) + for name, rel in raw.get('requires', {}).items()} + self.provides = {name: RelationMeta(RelationRole.provides, name, rel) + for name, rel in raw.get('provides', {}).items()} + self.peers = {name: RelationMeta(RelationRole.peer, name, rel) + for name, rel in raw.get('peers', {}).items()} + self.relations = {} + self.relations.update(self.requires) + self.relations.update(self.provides) + self.relations.update(self.peers) + self.storages = {name: StorageMeta(name, storage) + for name, storage in raw.get('storage', {}).items()} + self.resources = {name: ResourceMeta(name, res) + for name, res in raw.get('resources', {}).items()} + self.payloads = {name: PayloadMeta(name, payload) + for name, payload in raw.get('payloads', {}).items()} + self.extra_bindings = raw.get('extra-bindings', {}) + self.actions = {name: ActionMeta(name, action) for name, action in actions_raw.items()} + + @classmethod + def from_yaml( + cls, metadata: typing.Union[str, typing.TextIO], + actions: typing.Optional[typing.Union[str, typing.TextIO]] = None): + """Instantiate a CharmMeta from a YAML description of metadata.yaml. + + Args: + metadata: A YAML description of charm metadata (name, relations, etc.) + This can be a simple string, or a file-like object. (passed to `yaml.safe_load`). + actions: YAML description of Actions for this charm (eg actions.yaml) + """ + meta = _loadYaml(metadata) + raw_actions = {} + if actions is not None: + raw_actions = _loadYaml(actions) + if raw_actions is None: + raw_actions = {} + return cls(meta, raw_actions) + + +class RelationRole(enum.Enum): + """An annotation for a charm's role in a relation. + + For each relation a charm's role may be + + - A Peer + - A service consumer in the relation ('requires') + - A service provider in the relation ('provides') + """ + peer = 'peer' + requires = 'requires' + provides = 'provides' + + def is_peer(self) -> bool: + """Return whether the current role is peer. + + A convenience to avoid having to import charm. + """ + return self is RelationRole.peer + + +class RelationMeta: + """Object containing metadata about a relation definition. + + Should not be constructed directly by charm code. Is gotten from one of + :attr:`CharmMeta.peers`, :attr:`CharmMeta.requires`, :attr:`CharmMeta.provides`, + or :attr:`CharmMeta.relations`. + + Attributes: + role: This is :class:`RelationRole`; one of peer/requires/provides + relation_name: Name of this relation from metadata.yaml + interface_name: Optional definition of the interface protocol. + scope: "global" or "container" scope based on how the relation should be used. + """ + + def __init__(self, role: RelationRole, relation_name: str, raw: dict): + if not isinstance(role, RelationRole): + raise TypeError("role should be a Role, not {!r}".format(role)) + self.role = role + self.relation_name = relation_name + self.interface_name = raw['interface'] + self.scope = raw.get('scope') + + +class StorageMeta: + """Object containing metadata about a storage definition. + + Attributes: + storage_name: Name of storage + type: Storage type + description: A text description of the storage + read_only: Whether or not the storage is read only + minimum_size: Minimum size of storage + location: Mount point of storage + multiple_range: Range of numeric qualifiers when multiple storage units are used + """ + + def __init__(self, name, raw): + self.storage_name = name + self.type = raw['type'] + self.description = raw.get('description', '') + self.shared = raw.get('shared', False) + self.read_only = raw.get('read-only', False) + self.minimum_size = raw.get('minimum-size') + self.location = raw.get('location') + self.multiple_range = None + if 'multiple' in raw: + range = raw['multiple']['range'] + if '-' not in range: + self.multiple_range = (int(range), int(range)) + else: + range = range.split('-') + self.multiple_range = (int(range[0]), int(range[1]) if range[1] else None) + + +class ResourceMeta: + """Object containing metadata about a resource definition. + + Attributes: + resource_name: Name of resource + filename: Name of file + description: A text description of resource + """ + + def __init__(self, name, raw): + self.resource_name = name + self.type = raw['type'] + self.filename = raw.get('filename', None) + self.description = raw.get('description', '') + + +class PayloadMeta: + """Object containing metadata about a payload definition. + + Attributes: + payload_name: Name of payload + type: Payload type + """ + + def __init__(self, name, raw): + self.payload_name = name + self.type = raw['type'] + + +class ActionMeta: + """Object containing metadata about an action's definition.""" + + def __init__(self, name, raw=None): + raw = raw or {} + self.name = name + self.title = raw.get('title', '') + self.description = raw.get('description', '') + self.parameters = raw.get('params', {}) # {: } + self.required = raw.get('required', []) # [, ...] diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/framework.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/framework.py new file mode 100644 index 00000000..d20c0007 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/framework.py @@ -0,0 +1,1199 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""The Operator Framework infrastructure.""" + +import collections +import collections.abc +import inspect +import keyword +import logging +import marshal +import os +import pathlib +import pdb +import re +import sys +import types +import weakref + +from ops import charm +from ops.storage import ( + NoSnapshotError, + SQLiteStorage, +) + +logger = logging.getLogger(__name__) + + +class Handle: + """Handle defines a name for an object in the form of a hierarchical path. + + The provided parent is the object (or that object's handle) that this handle + sits under, or None if the object identified by this handle stands by itself + as the root of its own hierarchy. + + The handle kind is a string that defines a namespace so objects with the + same parent and kind will have unique keys. + + The handle key is a string uniquely identifying the object. No other objects + under the same parent and kind may have the same key. + """ + + def __init__(self, parent, kind, key): + if parent and not isinstance(parent, Handle): + parent = parent.handle + self._parent = parent + self._kind = kind + self._key = key + if parent: + if key: + self._path = "{}/{}[{}]".format(parent, kind, key) + else: + self._path = "{}/{}".format(parent, kind) + else: + if key: + self._path = "{}[{}]".format(kind, key) + else: + self._path = "{}".format(kind) + + def nest(self, kind, key): + """Create a new handle as child of the current one.""" + return Handle(self, kind, key) + + def __hash__(self): + return hash((self.parent, self.kind, self.key)) + + def __eq__(self, other): + return (self.parent, self.kind, self.key) == (other.parent, other.kind, other.key) + + def __str__(self): + return self.path + + @property + def parent(self): + """Return own parent handle.""" + return self._parent + + @property + def kind(self): + """Return the handle's kind.""" + return self._kind + + @property + def key(self): + """Return the handle's key.""" + return self._key + + @property + def path(self): + """Return the handle's path.""" + return self._path + + @classmethod + def from_path(cls, path): + """Build a handle from the indicated path.""" + handle = None + for pair in path.split("/"): + pair = pair.split("[") + good = False + if len(pair) == 1: + kind, key = pair[0], None + good = True + elif len(pair) == 2: + kind, key = pair + if key and key[-1] == ']': + key = key[:-1] + good = True + if not good: + raise RuntimeError("attempted to restore invalid handle path {}".format(path)) + handle = Handle(handle, kind, key) + return handle + + +class EventBase: + """The base for all the different Events. + + Inherit this and override 'snapshot' and 'restore' methods to build a custom event. + """ + + def __init__(self, handle): + self.handle = handle + self.deferred = False + + def __repr__(self): + return "<%s via %s>" % (self.__class__.__name__, self.handle) + + def defer(self): + """Defer the event to the future. + + Deferring an event from a handler puts that handler into a queue, to be + called again the next time the charm is invoked. This invocation may be + the result of an action, or any event other than metric events. The + queue of events will be dispatched before the new event is processed. + + From the above you may deduce, but it's important to point out: + + * ``defer()`` does not interrupt the execution of the current event + handler. In almost all cases, a call to ``defer()`` should be followed + by an explicit ``return`` from the handler; + + * the re-execution of the deferred event handler starts from the top of + the handler method (not where defer was called); + + * only the handlers that actually called ``defer()`` are called again + (that is: despite talking about “deferring an event” it is actually + the handler/event combination that is deferred); and + + * any deferred events get processed before the event (or action) that + caused the current invocation of the charm. + + The general desire to call ``defer()`` happens when some precondition + isn't yet met. However, care should be exercised as to whether it is + better to defer this event so that you see it again, or whether it is + better to just wait for the event that indicates the precondition has + been met. + + For example, if ``config-changed`` is fired, and you are waiting for + different config, there is no reason to defer the event because there + will be a *different* ``config-changed`` event when the config actually + changes, rather than checking to see if maybe config has changed prior + to every other event that occurs. + + Similarly, if you need 2 events to occur before you are ready to + proceed (say event A and B). When you see event A, you could chose to + ``defer()`` it because you haven't seen B yet. However, that leads to: + + 1. event A fires, calls defer() + + 2. event B fires, event A handler is called first, still hasn't seen B + happen, so is deferred again. Then B happens, which progresses since + it has seen A. + + 3. At some future time, event C happens, which also checks if A can + proceed. + + """ + logger.debug("Deferring %s.", self) + self.deferred = True + + def snapshot(self): + """Return the snapshot data that should be persisted. + + Subclasses must override to save any custom state. + """ + return None + + def restore(self, snapshot): + """Restore the value state from the given snapshot. + + Subclasses must override to restore their custom state. + """ + self.deferred = False + + +class EventSource: + """EventSource wraps an event type with a descriptor to facilitate observing and emitting. + + It is generally used as: + + class SomethingHappened(EventBase): + pass + + class SomeObject(Object): + something_happened = EventSource(SomethingHappened) + + With that, instances of that type will offer the someobj.something_happened + attribute which is a BoundEvent and may be used to emit and observe the event. + """ + + def __init__(self, event_type): + if not isinstance(event_type, type) or not issubclass(event_type, EventBase): + raise RuntimeError( + 'Event requires a subclass of EventBase as an argument, got {}'.format(event_type)) + self.event_type = event_type + self.event_kind = None + self.emitter_type = None + + def _set_name(self, emitter_type, event_kind): + if self.event_kind is not None: + raise RuntimeError( + 'EventSource({}) reused as {}.{} and {}.{}'.format( + self.event_type.__name__, + self.emitter_type.__name__, + self.event_kind, + emitter_type.__name__, + event_kind, + )) + self.event_kind = event_kind + self.emitter_type = emitter_type + + def __get__(self, emitter, emitter_type=None): + if emitter is None: + return self + # Framework might not be available if accessed as CharmClass.on.event + # rather than charm_instance.on.event, but in that case it couldn't be + # emitted anyway, so there's no point to registering it. + framework = getattr(emitter, 'framework', None) + if framework is not None: + framework.register_type(self.event_type, emitter, self.event_kind) + return BoundEvent(emitter, self.event_type, self.event_kind) + + +class BoundEvent: + """Event bound to an Object.""" + + def __repr__(self): + return ''.format( + self.event_type.__name__, + type(self.emitter).__name__, + self.event_kind, + hex(id(self)), + ) + + def __init__(self, emitter, event_type, event_kind): + self.emitter = emitter + self.event_type = event_type + self.event_kind = event_kind + + def emit(self, *args, **kwargs): + """Emit event to all registered observers. + + The current storage state is committed before and after each observer is notified. + """ + framework = self.emitter.framework + key = framework._next_event_key() + event = self.event_type(Handle(self.emitter, self.event_kind, key), *args, **kwargs) + framework._emit(event) + + +class HandleKind: + """Helper descriptor to define the Object.handle_kind field. + + The handle_kind for an object defaults to its type name, but it may + be explicitly overridden if desired. + """ + + def __get__(self, obj, obj_type): + kind = obj_type.__dict__.get("handle_kind") + if kind: + return kind + return obj_type.__name__ + + +class _Metaclass(type): + """Helper class to ensure proper instantiation of Object-derived classes. + + This class currently has a single purpose: events derived from EventSource + that are class attributes of Object-derived classes need to be told what + their name is in that class. For example, in + + class SomeObject(Object): + something_happened = EventSource(SomethingHappened) + + the instance of EventSource needs to know it's called 'something_happened'. + + Starting from python 3.6 we could use __set_name__ on EventSource for this, + but until then this (meta)class does the equivalent work. + + TODO: when we drop support for 3.5 drop this class, and rename _set_name in + EventSource to __set_name__; everything should continue to work. + + """ + + def __new__(typ, *a, **kw): + k = super().__new__(typ, *a, **kw) + # k is now the Object-derived class; loop over its class attributes + for n, v in vars(k).items(): + # we could do duck typing here if we want to support + # non-EventSource-derived shenanigans. We don't. + if isinstance(v, EventSource): + # this is what 3.6+ does automatically for us: + v._set_name(k, n) + return k + + +class Object(metaclass=_Metaclass): + """Base class of all the charm-related objects.""" + + handle_kind = HandleKind() + + def __init__(self, parent, key): + kind = self.handle_kind + if isinstance(parent, Framework): + self.framework = parent + # Avoid Framework instances having a circular reference to themselves. + if self.framework is self: + self.framework = weakref.proxy(self.framework) + self.handle = Handle(None, kind, key) + else: + self.framework = parent.framework + self.handle = Handle(parent, kind, key) + self.framework._track(self) + + # TODO Detect conflicting handles here. + + @property + def model(self): + """Shortcut for more simple access the model.""" + return self.framework.model + + +class ObjectEvents(Object): + """Convenience type to allow defining .on attributes at class level.""" + + handle_kind = "on" + + def __init__(self, parent=None, key=None): + if parent is not None: + super().__init__(parent, key) + else: + self._cache = weakref.WeakKeyDictionary() + + def __get__(self, emitter, emitter_type): + if emitter is None: + return self + instance = self._cache.get(emitter) + if instance is None: + # Same type, different instance, more data. Doing this unusual construct + # means people can subclass just this one class to have their own 'on'. + instance = self._cache[emitter] = type(self)(emitter) + return instance + + @classmethod + def define_event(cls, event_kind, event_type): + """Define an event on this type at runtime. + + cls: a type to define an event on. + + event_kind: an attribute name that will be used to access the + event. Must be a valid python identifier, not be a keyword + or an existing attribute. + + event_type: a type of the event to define. + + """ + prefix = 'unable to define an event with event_kind that ' + if not event_kind.isidentifier(): + raise RuntimeError(prefix + 'is not a valid python identifier: ' + event_kind) + elif keyword.iskeyword(event_kind): + raise RuntimeError(prefix + 'is a python keyword: ' + event_kind) + try: + getattr(cls, event_kind) + raise RuntimeError( + prefix + 'overlaps with an existing type {} attribute: {}'.format(cls, event_kind)) + except AttributeError: + pass + + event_descriptor = EventSource(event_type) + event_descriptor._set_name(cls, event_kind) + setattr(cls, event_kind, event_descriptor) + + def _event_kinds(self): + event_kinds = [] + # We have to iterate over the class rather than instance to allow for properties which + # might call this method (e.g., event views), leading to infinite recursion. + for attr_name, attr_value in inspect.getmembers(type(self)): + if isinstance(attr_value, EventSource): + # We actually care about the bound_event, however, since it + # provides the most info for users of this method. + event_kinds.append(attr_name) + return event_kinds + + def events(self): + """Return a mapping of event_kinds to bound_events for all available events.""" + return {event_kind: getattr(self, event_kind) for event_kind in self._event_kinds()} + + def __getitem__(self, key): + return PrefixedEvents(self, key) + + def __repr__(self): + k = type(self) + event_kinds = ', '.join(sorted(self._event_kinds())) + return '<{}.{}: {}>'.format(k.__module__, k.__qualname__, event_kinds) + + +class PrefixedEvents: + """Events to be found in all events using a specific prefix.""" + + def __init__(self, emitter, key): + self._emitter = emitter + self._prefix = key.replace("-", "_") + '_' + + def __getattr__(self, name): + return getattr(self._emitter, self._prefix + name) + + +class PreCommitEvent(EventBase): + """Events that will be emited first on commit.""" + + +class CommitEvent(EventBase): + """Events that will be emited second on commit.""" + + +class FrameworkEvents(ObjectEvents): + """Manager of all framework events.""" + pre_commit = EventSource(PreCommitEvent) + commit = EventSource(CommitEvent) + + +class NoTypeError(Exception): + """No class to hold it was found when restoring an event.""" + + def __init__(self, handle_path): + self.handle_path = handle_path + + def __str__(self): + return "cannot restore {} since no class was registered for it".format(self.handle_path) + + +# the message to show to the user when a pdb breakpoint goes active +_BREAKPOINT_WELCOME_MESSAGE = """ +Starting pdb to debug charm operator. +Run `h` for help, `c` to continue, or `exit`/CTRL-d to abort. +Future breakpoints may interrupt execution again. +More details at https://discourse.jujucharms.com/t/debugging-charm-hooks + +""" + + +_event_regex = r'^(|.*/)on/[a-zA-Z_]+\[\d+\]$' + + +class Framework(Object): + """Main interface to from the Charm to the Operator Framework internals.""" + + on = FrameworkEvents() + + # Override properties from Object so that we can set them in __init__. + model = None + meta = None + charm_dir = None + + def __init__(self, storage, charm_dir, meta, model): + + super().__init__(self, None) + + self.charm_dir = charm_dir + self.meta = meta + self.model = model + self._observers = [] # [(observer_path, method_name, parent_path, event_key)] + self._observer = weakref.WeakValueDictionary() # {observer_path: observer} + self._objects = weakref.WeakValueDictionary() + self._type_registry = {} # {(parent_path, kind): cls} + self._type_known = set() # {cls} + + if isinstance(storage, (str, pathlib.Path)): + logger.warning( + "deprecated: Framework now takes a Storage not a path") + storage = SQLiteStorage(storage) + self._storage = storage + + # We can't use the higher-level StoredState because it relies on events. + self.register_type(StoredStateData, None, StoredStateData.handle_kind) + stored_handle = Handle(None, StoredStateData.handle_kind, '_stored') + try: + self._stored = self.load_snapshot(stored_handle) + except NoSnapshotError: + self._stored = StoredStateData(self, '_stored') + self._stored['event_count'] = 0 + + # Flag to indicate that we already presented the welcome message in a debugger breakpoint + self._breakpoint_welcomed = False + + # Parse the env var once, which may be used multiple times later + debug_at = os.environ.get('JUJU_DEBUG_AT') + self._juju_debug_at = debug_at.split(',') if debug_at else () + + def set_breakpointhook(self): + """Hook into sys.breakpointhook so the builtin breakpoint() works as expected. + + This method is called by ``main``, and is not intended to be + called by users of the framework itself outside of perhaps + some testing scenarios. + + It returns the old value of sys.excepthook. + + The breakpoint function is a Python >= 3.7 feature. + + This method was added in ops 1.0; before that, it was done as + part of the Framework's __init__. + """ + old_breakpointhook = getattr(sys, 'breakpointhook', None) + if old_breakpointhook is not None: + # Hook into builtin breakpoint, so if Python >= 3.7, devs will be able to just do + # breakpoint() + sys.breakpointhook = self.breakpoint + return old_breakpointhook + + def close(self): + """Close the underlying backends.""" + self._storage.close() + + def _track(self, obj): + """Track object and ensure it is the only object created using its handle path.""" + if obj is self: + # Framework objects don't track themselves + return + if obj.handle.path in self.framework._objects: + raise RuntimeError( + 'two objects claiming to be {} have been created'.format(obj.handle.path)) + self._objects[obj.handle.path] = obj + + def _forget(self, obj): + """Stop tracking the given object. See also _track.""" + self._objects.pop(obj.handle.path, None) + + def commit(self): + """Save changes to the underlying backends.""" + # Give a chance for objects to persist data they want to before a commit is made. + self.on.pre_commit.emit() + # Make sure snapshots are saved by instances of StoredStateData. Any possible state + # modifications in on_commit handlers of instances of other classes will not be persisted. + self.on.commit.emit() + # Save our event count after all events have been emitted. + self.save_snapshot(self._stored) + self._storage.commit() + + def register_type(self, cls, parent, kind=None): + """Register a type to a handle.""" + if parent and not isinstance(parent, Handle): + parent = parent.handle + if parent: + parent_path = parent.path + else: + parent_path = None + if not kind: + kind = cls.handle_kind + self._type_registry[(parent_path, kind)] = cls + self._type_known.add(cls) + + def save_snapshot(self, value): + """Save a persistent snapshot of the provided value. + + The provided value must implement the following interface: + + value.handle = Handle(...) + value.snapshot() => {...} # Simple builtin types only. + value.restore(snapshot) # Restore custom state from prior snapshot. + """ + if type(value) not in self._type_known: + raise RuntimeError( + 'cannot save {} values before registering that type'.format(type(value).__name__)) + data = value.snapshot() + + # Use marshal as a validator, enforcing the use of simple types, as we later the + # information is really pickled, which is too error prone for future evolution of the + # stored data (e.g. if the developer stores a custom object and later changes its + # class name; when unpickling the original class will not be there and event + # data loading will fail). + try: + marshal.dumps(data) + except ValueError: + msg = "unable to save the data for {}, it must contain only simple types: {!r}" + raise ValueError(msg.format(value.__class__.__name__, data)) + + self._storage.save_snapshot(value.handle.path, data) + + def load_snapshot(self, handle): + """Load a persistent snapshot.""" + parent_path = None + if handle.parent: + parent_path = handle.parent.path + cls = self._type_registry.get((parent_path, handle.kind)) + if not cls: + raise NoTypeError(handle.path) + data = self._storage.load_snapshot(handle.path) + obj = cls.__new__(cls) + obj.framework = self + obj.handle = handle + obj.restore(data) + self._track(obj) + return obj + + def drop_snapshot(self, handle): + """Discard a persistent snapshot.""" + self._storage.drop_snapshot(handle.path) + + def observe(self, bound_event: BoundEvent, observer: types.MethodType): + """Register observer to be called when bound_event is emitted. + + The bound_event is generally provided as an attribute of the object that emits + the event, and is created in this style:: + + class SomeObject: + something_happened = Event(SomethingHappened) + + That event may be observed as:: + + framework.observe(someobj.something_happened, self._on_something_happened) + + Raises: + RuntimeError: if bound_event or observer are the wrong type. + """ + if not isinstance(bound_event, BoundEvent): + raise RuntimeError( + 'Framework.observe requires a BoundEvent as second parameter, got {}'.format( + bound_event)) + if not isinstance(observer, types.MethodType): + # help users of older versions of the framework + if isinstance(observer, charm.CharmBase): + raise TypeError( + 'observer methods must now be explicitly provided;' + ' please replace observe(self.on.{0}, self)' + ' with e.g. observe(self.on.{0}, self._on_{0})'.format( + bound_event.event_kind)) + raise RuntimeError( + 'Framework.observe requires a method as third parameter, got {}'.format(observer)) + + event_type = bound_event.event_type + event_kind = bound_event.event_kind + emitter = bound_event.emitter + + self.register_type(event_type, emitter, event_kind) + + if hasattr(emitter, "handle"): + emitter_path = emitter.handle.path + else: + raise RuntimeError( + 'event emitter {} must have a "handle" attribute'.format(type(emitter).__name__)) + + # Validate that the method has an acceptable call signature. + sig = inspect.signature(observer) + # Self isn't included in the params list, so the first arg will be the event. + extra_params = list(sig.parameters.values())[1:] + + method_name = observer.__name__ + observer = observer.__self__ + if not sig.parameters: + raise TypeError( + '{}.{} must accept event parameter'.format(type(observer).__name__, method_name)) + elif any(param.default is inspect.Parameter.empty for param in extra_params): + # Allow for additional optional params, since there's no reason to exclude them, but + # required params will break. + raise TypeError( + '{}.{} has extra required parameter'.format(type(observer).__name__, method_name)) + + # TODO Prevent the exact same parameters from being registered more than once. + + self._observer[observer.handle.path] = observer + self._observers.append((observer.handle.path, method_name, emitter_path, event_kind)) + + def _next_event_key(self): + """Return the next event key that should be used, incrementing the internal counter.""" + # Increment the count first; this means the keys will start at 1, and 0 + # means no events have been emitted. + self._stored['event_count'] += 1 + return str(self._stored['event_count']) + + def _emit(self, event): + """See BoundEvent.emit for the public way to call this.""" + saved = False + event_path = event.handle.path + event_kind = event.handle.kind + parent_path = event.handle.parent.path + # TODO Track observers by (parent_path, event_kind) rather than as a list of + # all observers. Avoiding linear search through all observers for every event + for observer_path, method_name, _parent_path, _event_kind in self._observers: + if _parent_path != parent_path: + continue + if _event_kind and _event_kind != event_kind: + continue + if not saved: + # Save the event for all known observers before the first notification + # takes place, so that either everyone interested sees it, or nobody does. + self.save_snapshot(event) + saved = True + # Again, only commit this after all notices are saved. + self._storage.save_notice(event_path, observer_path, method_name) + if saved: + self._reemit(event_path) + + def reemit(self): + """Reemit previously deferred events to the observers that deferred them. + + Only the specific observers that have previously deferred the event will be + notified again. Observers that asked to be notified about events after it's + been first emitted won't be notified, as that would mean potentially observing + events out of order. + """ + self._reemit() + + def _reemit(self, single_event_path=None): + last_event_path = None + deferred = True + for event_path, observer_path, method_name in self._storage.notices(single_event_path): + event_handle = Handle.from_path(event_path) + + if last_event_path != event_path: + if not deferred and last_event_path is not None: + self._storage.drop_snapshot(last_event_path) + last_event_path = event_path + deferred = False + + try: + event = self.load_snapshot(event_handle) + except NoTypeError: + self._storage.drop_notice(event_path, observer_path, method_name) + continue + + event.deferred = False + observer = self._observer.get(observer_path) + if observer: + if single_event_path is None: + logger.debug("Re-emitting %s.", event) + custom_handler = getattr(observer, method_name, None) + if custom_handler: + event_is_from_juju = isinstance(event, charm.HookEvent) + event_is_action = isinstance(event, charm.ActionEvent) + if (event_is_from_juju or event_is_action) and 'hook' in self._juju_debug_at: + # Present the welcome message and run under PDB. + self._show_debug_code_message() + pdb.runcall(custom_handler, event) + else: + # Regular call to the registered method. + custom_handler(event) + + if event.deferred: + deferred = True + else: + self._storage.drop_notice(event_path, observer_path, method_name) + # We intentionally consider this event to be dead and reload it from + # scratch in the next path. + self.framework._forget(event) + + if not deferred and last_event_path is not None: + self._storage.drop_snapshot(last_event_path) + + def _show_debug_code_message(self): + """Present the welcome message (only once!) when using debugger functionality.""" + if not self._breakpoint_welcomed: + self._breakpoint_welcomed = True + print(_BREAKPOINT_WELCOME_MESSAGE, file=sys.stderr, end='') + + def breakpoint(self, name=None): + """Add breakpoint, optionally named, at the place where this method is called. + + For the breakpoint to be activated the JUJU_DEBUG_AT environment variable + must be set to "all" or to the specific name parameter provided, if any. In every + other situation calling this method does nothing. + + The framework also provides a standard breakpoint named "hook", that will + stop execution when a hook event is about to be handled. + + For those reasons, the "all" and "hook" breakpoint names are reserved. + """ + # If given, validate the name comply with all the rules + if name is not None: + if not isinstance(name, str): + raise TypeError('breakpoint names must be strings') + if name in ('hook', 'all'): + raise ValueError('breakpoint names "all" and "hook" are reserved') + if not re.match(r'^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$', name): + raise ValueError('breakpoint names must look like "foo" or "foo-bar"') + + indicated_breakpoints = self._juju_debug_at + if not indicated_breakpoints: + return + + if 'all' in indicated_breakpoints or name in indicated_breakpoints: + self._show_debug_code_message() + + # If we call set_trace() directly it will open the debugger *here*, so indicating + # it to use our caller's frame + code_frame = inspect.currentframe().f_back + pdb.Pdb().set_trace(code_frame) + else: + logger.warning( + "Breakpoint %r skipped (not found in the requested breakpoints: %s)", + name, indicated_breakpoints) + + def remove_unreferenced_events(self): + """Remove events from storage that are not referenced. + + In older versions of the framework, events that had no observers would get recorded but + never deleted. This makes a best effort to find these events and remove them from the + database. + """ + event_regex = re.compile(_event_regex) + to_remove = [] + for handle_path in self._storage.list_snapshots(): + if event_regex.match(handle_path): + notices = self._storage.notices(handle_path) + if next(notices, None) is None: + # There are no notices for this handle_path, it is valid to remove it + to_remove.append(handle_path) + for handle_path in to_remove: + self._storage.drop_snapshot(handle_path) + + +class StoredStateData(Object): + """Manager of the stored data.""" + + def __init__(self, parent, attr_name): + super().__init__(parent, attr_name) + self._cache = {} + self.dirty = False + + def __getitem__(self, key): + return self._cache.get(key) + + def __setitem__(self, key, value): + self._cache[key] = value + self.dirty = True + + def __contains__(self, key): + return key in self._cache + + def snapshot(self): + """Return the current state.""" + return self._cache + + def restore(self, snapshot): + """Restore current state to the given snapshot.""" + self._cache = snapshot + self.dirty = False + + def on_commit(self, event): + """Save changes to the storage backend.""" + if self.dirty: + self.framework.save_snapshot(self) + self.dirty = False + + +class BoundStoredState: + """Stored state data bound to a specific Object.""" + + def __init__(self, parent, attr_name): + parent.framework.register_type(StoredStateData, parent) + + handle = Handle(parent, StoredStateData.handle_kind, attr_name) + try: + data = parent.framework.load_snapshot(handle) + except NoSnapshotError: + data = StoredStateData(parent, attr_name) + + # __dict__ is used to avoid infinite recursion. + self.__dict__["_data"] = data + self.__dict__["_attr_name"] = attr_name + + parent.framework.observe(parent.framework.on.commit, self._data.on_commit) + + def __getattr__(self, key): + # "on" is the only reserved key that can't be used in the data map. + if key == "on": + return self._data.on + if key not in self._data: + raise AttributeError("attribute '{}' is not stored".format(key)) + return _wrap_stored(self._data, self._data[key]) + + def __setattr__(self, key, value): + if key == "on": + raise AttributeError("attribute 'on' is reserved and cannot be set") + + value = _unwrap_stored(self._data, value) + + if not isinstance(value, (type(None), int, float, str, bytes, list, dict, set)): + raise AttributeError( + 'attribute {!r} cannot be a {}: must be int/float/dict/list/etc'.format( + key, type(value).__name__)) + + self._data[key] = _unwrap_stored(self._data, value) + + def set_default(self, **kwargs): + """Set the value of any given key if it has not already been set.""" + for k, v in kwargs.items(): + if k not in self._data: + self._data[k] = v + + +class StoredState: + """A class used to store data the charm needs persisted across invocations. + + Example:: + + class MyClass(Object): + _stored = StoredState() + + Instances of `MyClass` can transparently save state between invocations by + setting attributes on `_stored`. Initial state should be set with + `set_default` on the bound object, that is:: + + class MyClass(Object): + _stored = StoredState() + + def __init__(self, parent, key): + super().__init__(parent, key) + self._stored.set_default(seen=set()) + self.framework.observe(self.on.seen, self._on_seen) + + def _on_seen(self, event): + self._stored.seen.add(event.uuid) + + """ + + def __init__(self): + self.parent_type = None + self.attr_name = None + + def __get__(self, parent, parent_type=None): + if self.parent_type is not None and self.parent_type not in parent_type.mro(): + # the StoredState instance is being shared between two unrelated classes + # -> unclear what is exepcted of us -> bail out + raise RuntimeError( + 'StoredState shared by {} and {}'.format( + self.parent_type.__name__, parent_type.__name__)) + + if parent is None: + # accessing via the class directly (e.g. MyClass.stored) + return self + + bound = None + if self.attr_name is not None: + bound = parent.__dict__.get(self.attr_name) + if bound is not None: + # we already have the thing from a previous pass, huzzah + return bound + + # need to find ourselves amongst the parent's bases + for cls in parent_type.mro(): + for attr_name, attr_value in cls.__dict__.items(): + if attr_value is not self: + continue + # we've found ourselves! is it the first time? + if bound is not None: + # the StoredState instance is being stored in two different + # attributes -> unclear what is expected of us -> bail out + raise RuntimeError("StoredState shared by {0}.{1} and {0}.{2}".format( + cls.__name__, self.attr_name, attr_name)) + # we've found ourselves for the first time; save where, and bind the object + self.attr_name = attr_name + self.parent_type = cls + bound = BoundStoredState(parent, attr_name) + + if bound is not None: + # cache the bound object to avoid the expensive lookup the next time + # (don't use setattr, to keep things symmetric with the fast-path lookup above) + parent.__dict__[self.attr_name] = bound + return bound + + raise AttributeError( + 'cannot find {} attribute in type {}'.format( + self.__class__.__name__, parent_type.__name__)) + + +def _wrap_stored(parent_data, value): + t = type(value) + if t is dict: + return StoredDict(parent_data, value) + if t is list: + return StoredList(parent_data, value) + if t is set: + return StoredSet(parent_data, value) + return value + + +def _unwrap_stored(parent_data, value): + t = type(value) + if t is StoredDict or t is StoredList or t is StoredSet: + return value._under + return value + + +def _wrapped_repr(obj): + t = type(obj) + if obj._under: + return "{}.{}({!r})".format(t.__module__, t.__name__, obj._under) + else: + return "{}.{}()".format(t.__module__, t.__name__) + + +class StoredDict(collections.abc.MutableMapping): + """A dict-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def __getitem__(self, key): + return _wrap_stored(self._stored_data, self._under[key]) + + def __setitem__(self, key, value): + self._under[key] = _unwrap_stored(self._stored_data, value) + self._stored_data.dirty = True + + def __delitem__(self, key): + del self._under[key] + self._stored_data.dirty = True + + def __iter__(self): + return self._under.__iter__() + + def __len__(self): + return len(self._under) + + def __eq__(self, other): + if isinstance(other, StoredDict): + return self._under == other._under + elif isinstance(other, collections.abc.Mapping): + return self._under == other + else: + return NotImplemented + + __repr__ = _wrapped_repr + + +class StoredList(collections.abc.MutableSequence): + """A list-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def __getitem__(self, index): + return _wrap_stored(self._stored_data, self._under[index]) + + def __setitem__(self, index, value): + self._under[index] = _unwrap_stored(self._stored_data, value) + self._stored_data.dirty = True + + def __delitem__(self, index): + del self._under[index] + self._stored_data.dirty = True + + def __len__(self): + return len(self._under) + + def insert(self, index, value): + """Insert value before index.""" + self._under.insert(index, value) + self._stored_data.dirty = True + + def append(self, value): + """Append value to the end of the list.""" + self._under.append(value) + self._stored_data.dirty = True + + def __eq__(self, other): + if isinstance(other, StoredList): + return self._under == other._under + elif isinstance(other, collections.abc.Sequence): + return self._under == other + else: + return NotImplemented + + def __lt__(self, other): + if isinstance(other, StoredList): + return self._under < other._under + elif isinstance(other, collections.abc.Sequence): + return self._under < other + else: + return NotImplemented + + def __le__(self, other): + if isinstance(other, StoredList): + return self._under <= other._under + elif isinstance(other, collections.abc.Sequence): + return self._under <= other + else: + return NotImplemented + + def __gt__(self, other): + if isinstance(other, StoredList): + return self._under > other._under + elif isinstance(other, collections.abc.Sequence): + return self._under > other + else: + return NotImplemented + + def __ge__(self, other): + if isinstance(other, StoredList): + return self._under >= other._under + elif isinstance(other, collections.abc.Sequence): + return self._under >= other + else: + return NotImplemented + + __repr__ = _wrapped_repr + + +class StoredSet(collections.abc.MutableSet): + """A set-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def add(self, key): + """Add a key to a set. + + This has no effect if the key is already present. + """ + self._under.add(key) + self._stored_data.dirty = True + + def discard(self, key): + """Remove a key from a set if it is a member. + + If the key is not a member, do nothing. + """ + self._under.discard(key) + self._stored_data.dirty = True + + def __contains__(self, key): + return key in self._under + + def __iter__(self): + return self._under.__iter__() + + def __len__(self): + return len(self._under) + + @classmethod + def _from_iterable(cls, it): + """Construct an instance of the class from any iterable input. + + Per https://docs.python.org/3/library/collections.abc.html + if the Set mixin is being used in a class with a different constructor signature, + you will need to override _from_iterable() with a classmethod that can construct + new instances from an iterable argument. + """ + return set(it) + + def __le__(self, other): + if isinstance(other, StoredSet): + return self._under <= other._under + elif isinstance(other, collections.abc.Set): + return self._under <= other + else: + return NotImplemented + + def __ge__(self, other): + if isinstance(other, StoredSet): + return self._under >= other._under + elif isinstance(other, collections.abc.Set): + return self._under >= other + else: + return NotImplemented + + def __eq__(self, other): + if isinstance(other, StoredSet): + return self._under == other._under + elif isinstance(other, collections.abc.Set): + return self._under == other + else: + return NotImplemented + + __repr__ = _wrapped_repr diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/jujuversion.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/jujuversion.py new file mode 100644 index 00000000..61d420d3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/jujuversion.py @@ -0,0 +1,114 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""A helper to work with the Juju version.""" + +import os +import re +from functools import total_ordering + + +@total_ordering +class JujuVersion: + """Helper to work with the Juju version. + + It knows how to parse the ``JUJU_VERSION`` environment variable, and exposes different + capabilities according to the specific version, allowing also to compare with other + versions. + """ + + PATTERN = r'''^ + (?P\d{1,9})\.(?P\d{1,9}) # and numbers are always there + ((?:\.|-(?P[a-z]+))(?P\d{1,9}))? # sometimes with . or - + (\.(?P\d{1,9}))?$ # and sometimes with a number. + ''' + + def __init__(self, version): + m = re.match(self.PATTERN, version, re.VERBOSE) + if not m: + raise RuntimeError('"{}" is not a valid Juju version string'.format(version)) + + d = m.groupdict() + self.major = int(m.group('major')) + self.minor = int(m.group('minor')) + self.tag = d['tag'] or '' + self.patch = int(d['patch'] or 0) + self.build = int(d['build'] or 0) + + def __repr__(self): + if self.tag: + s = '{}.{}-{}{}'.format(self.major, self.minor, self.tag, self.patch) + else: + s = '{}.{}.{}'.format(self.major, self.minor, self.patch) + if self.build > 0: + s += '.{}'.format(self.build) + return s + + def __eq__(self, other): + if self is other: + return True + if isinstance(other, str): + other = type(self)(other) + elif not isinstance(other, JujuVersion): + raise RuntimeError('cannot compare Juju version "{}" with "{}"'.format(self, other)) + return ( + self.major == other.major + and self.minor == other.minor + and self.tag == other.tag + and self.build == other.build + and self.patch == other.patch) + + def __lt__(self, other): + if self is other: + return False + if isinstance(other, str): + other = type(self)(other) + elif not isinstance(other, JujuVersion): + raise RuntimeError('cannot compare Juju version "{}" with "{}"'.format(self, other)) + + if self.major != other.major: + return self.major < other.major + elif self.minor != other.minor: + return self.minor < other.minor + elif self.tag != other.tag: + if not self.tag: + return False + elif not other.tag: + return True + return self.tag < other.tag + elif self.patch != other.patch: + return self.patch < other.patch + elif self.build != other.build: + return self.build < other.build + return False + + @classmethod + def from_environ(cls) -> 'JujuVersion': + """Build a JujuVersion from JUJU_VERSION.""" + v = os.environ.get('JUJU_VERSION') + if v is None: + v = '0.0.0' + return cls(v) + + def has_app_data(self) -> bool: + """Determine whether this juju version knows about app data.""" + return (self.major, self.minor, self.patch) >= (2, 7, 0) + + def is_dispatch_aware(self) -> bool: + """Determine whether this juju version knows about dispatch.""" + return (self.major, self.minor, self.patch) >= (2, 8, 0) + + def has_controller_storage(self) -> bool: + """Determine whether this juju version supports controller-side storage.""" + return (self.major, self.minor, self.patch) >= (2, 8, 0) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/lib/__init__.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/lib/__init__.py new file mode 100644 index 00000000..22b5a84e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/lib/__init__.py @@ -0,0 +1,264 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Infrastructure for the opslib functionality.""" + +import logging +import os +import re +import sys + +from ast import literal_eval +from importlib.util import module_from_spec +from importlib.machinery import ModuleSpec +from pkgutil import get_importer +from types import ModuleType +from typing import List + +__all__ = ('use', 'autoimport') + +logger = logging.getLogger(__name__) + +_libraries = None + +_libline_re = re.compile(r'''^LIB([A-Z]+)\s*=\s*([0-9]+|['"][a-zA-Z0-9_.\-@]+['"])''') +_libname_re = re.compile(r'''^[a-z][a-z0-9]+$''') + +# Not perfect, but should do for now. +_libauthor_re = re.compile(r'''^[A-Za-z0-9_+.-]+@[a-z0-9_-]+(?:\.[a-z0-9_-]+)*\.[a-z]{2,3}$''') + + +def use(name: str, api: int, author: str) -> ModuleType: + """Use a library from the ops libraries. + + Args: + name: the name of the library requested. + api: the API version of the library. + author: the author of the library. If not given, requests the + one in the standard library. + + Raises: + ImportError: if the library cannot be found. + TypeError: if the name, api, or author are the wrong type. + ValueError: if the name, api, or author are invalid. + """ + if not isinstance(name, str): + raise TypeError("invalid library name: {!r} (must be a str)".format(name)) + if not isinstance(author, str): + raise TypeError("invalid library author: {!r} (must be a str)".format(author)) + if not isinstance(api, int): + raise TypeError("invalid library API: {!r} (must be an int)".format(api)) + if api < 0: + raise ValueError('invalid library api: {} (must be ≥0)'.format(api)) + if not _libname_re.match(name): + raise ValueError("invalid library name: {!r} (chars and digits only)".format(name)) + if not _libauthor_re.match(author): + raise ValueError("invalid library author email: {!r}".format(author)) + + if _libraries is None: + autoimport() + + versions = _libraries.get((name, author), ()) + for lib in versions: + if lib.api == api: + return lib.import_module() + + others = ', '.join(str(lib.api) for lib in versions) + if others: + msg = 'cannot find "{}" from "{}" with API version {} (have {})'.format( + name, author, api, others) + else: + msg = 'cannot find library "{}" from "{}"'.format(name, author) + + raise ImportError(msg, name=name) + + +def autoimport(): + """Find all libs in the path and enable use of them. + + You only need to call this if you've installed a package or + otherwise changed sys.path in the current run, and need to see the + changes. Otherwise libraries are found on first call of `use`. + """ + global _libraries + _libraries = {} + for spec in _find_all_specs(sys.path): + lib = _parse_lib(spec) + if lib is None: + continue + + versions = _libraries.setdefault((lib.name, lib.author), []) + versions.append(lib) + versions.sort(reverse=True) + + +def _find_all_specs(path): + for sys_dir in path: + if sys_dir == "": + sys_dir = "." + try: + top_dirs = os.listdir(sys_dir) + except (FileNotFoundError, NotADirectoryError): + continue + except OSError as e: + logger.debug("Tried to look for ops.lib packages under '%s': %s", sys_dir, e) + continue + logger.debug("Looking for ops.lib packages under '%s'", sys_dir) + for top_dir in top_dirs: + opslib = os.path.join(sys_dir, top_dir, 'opslib') + try: + lib_dirs = os.listdir(opslib) + except (FileNotFoundError, NotADirectoryError): + continue + except OSError as e: + logger.debug(" Tried '%s': %s", opslib, e) # *lots* of things checked here + continue + else: + logger.debug(" Trying '%s'", opslib) + finder = get_importer(opslib) + if finder is None: + logger.debug(" Finder for '%s' is None", opslib) + continue + if not hasattr(finder, 'find_spec'): + logger.debug(" Finder for '%s' has no find_spec", opslib) + continue + for lib_dir in lib_dirs: + spec_name = "{}.opslib.{}".format(top_dir, lib_dir) + spec = finder.find_spec(spec_name) + if spec is None: + logger.debug(" No spec for %r", spec_name) + continue + if spec.loader is None: + # a namespace package; not supported + logger.debug(" No loader for %r (probably a namespace package)", spec_name) + continue + + logger.debug(" Found %r", spec_name) + yield spec + + +# only the first this many lines of a file are looked at for the LIB* constants +_MAX_LIB_LINES = 99 +# these keys, with these types, are needed to have an opslib +_NEEDED_KEYS = {'NAME': str, 'AUTHOR': str, 'API': int, 'PATCH': int} + + +def _join_and(keys: List[str]) -> str: + if len(keys) == 0: + return "" + if len(keys) == 1: + return keys[0] + return ", ".join(keys[:-1]) + ", and " + keys[-1] + + +class _Missing: + """Helper to get the difference between what was found and what was needed when logging.""" + + def __init__(self, found): + self._found = found + + def __str__(self): + exp = set(_NEEDED_KEYS) + got = set(self._found) + if len(got) == 0: + return "missing {}".format(_join_and(sorted(exp))) + return "got {}, but missing {}".format( + _join_and(sorted(got)), + _join_and(sorted(exp - got))) + + +def _parse_lib(spec): + if spec.origin is None: + # "can't happen" + logger.warning("No origin for %r (no idea why; please report)", spec.name) + return None + + logger.debug(" Parsing %r", spec.name) + + try: + with open(spec.origin, 'rt', encoding='utf-8') as f: + libinfo = {} + for n, line in enumerate(f): + if len(libinfo) == len(_NEEDED_KEYS): + break + if n > _MAX_LIB_LINES: + logger.debug( + " Missing opslib metadata after reading to line %d: %s", + _MAX_LIB_LINES, _Missing(libinfo)) + return None + m = _libline_re.match(line) + if m is None: + continue + key, value = m.groups() + if key in _NEEDED_KEYS: + value = literal_eval(value) + if not isinstance(value, _NEEDED_KEYS[key]): + logger.debug( + " Bad type for %s: expected %s, got %s", + key, _NEEDED_KEYS[key].__name__, type(value).__name__) + return None + libinfo[key] = value + else: + if len(libinfo) != len(_NEEDED_KEYS): + logger.debug( + " Missing opslib metadata after reading to end of file: %s", + _Missing(libinfo)) + return None + except Exception as e: + logger.debug(" Failed: %s", e) + return None + + lib = _Lib(spec, libinfo['NAME'], libinfo['AUTHOR'], libinfo['API'], libinfo['PATCH']) + logger.debug(" Success: found library %s", lib) + + return lib + + +class _Lib: + + def __init__(self, spec: ModuleSpec, name: str, author: str, api: int, patch: int): + self.spec = spec + self.name = name + self.author = author + self.api = api + self.patch = patch + + self._module = None + + def __repr__(self): + return "<_Lib {}>".format(self) + + def __str__(self): + return "{0.name} by {0.author}, API {0.api}, patch {0.patch}".format(self) + + def import_module(self) -> ModuleType: + if self._module is None: + module = module_from_spec(self.spec) + self.spec.loader.exec_module(module) + self._module = module + return self._module + + def __eq__(self, other): + if not isinstance(other, _Lib): + return NotImplemented + a = (self.name, self.author, self.api, self.patch) + b = (other.name, other.author, other.api, other.patch) + return a == b + + def __lt__(self, other): + if not isinstance(other, _Lib): + return NotImplemented + a = (self.name, self.author, self.api, self.patch) + b = (other.name, other.author, other.api, other.patch) + return a < b diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/log.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/log.py new file mode 100644 index 00000000..b47013dd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/log.py @@ -0,0 +1,58 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Interface to emit messages to the Juju logging system.""" + +import sys +import logging + + +class JujuLogHandler(logging.Handler): + """A handler for sending logs to Juju via juju-log.""" + + def __init__(self, model_backend, level=logging.DEBUG): + super().__init__(level) + self.model_backend = model_backend + + def emit(self, record): + """Send the specified logging record to the Juju backend. + + This method is not used directly by the Operator Framework code, but by + :class:`logging.Handler` itself as part of the logging machinery. + """ + self.model_backend.juju_log(record.levelname, self.format(record)) + + +def setup_root_logging(model_backend, debug=False): + """Setup python logging to forward messages to juju-log. + + By default, logging is set to DEBUG level, and messages will be filtered by Juju. + Charmers can also set their own default log level with:: + + logging.getLogger().setLevel(logging.INFO) + + model_backend -- a ModelBackend to use for juju-log + debug -- if True, write logs to stderr as well as to juju-log. + """ + logger = logging.getLogger() + logger.setLevel(logging.DEBUG) + logger.addHandler(JujuLogHandler(model_backend)) + if debug: + handler = logging.StreamHandler() + formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s') + handler.setFormatter(formatter) + logger.addHandler(handler) + + sys.excepthook = lambda etype, value, tb: logger.error( + "Uncaught exception while in charm code:", exc_info=(etype, value, tb)) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/main.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/main.py new file mode 100644 index 00000000..f18f88ae --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/main.py @@ -0,0 +1,406 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Main entry point to the Operator Framework.""" + +import inspect +import logging +import os +import shutil +import subprocess +import sys +import typing +import warnings +from pathlib import Path + +import yaml + +import ops.charm +import ops.framework +import ops.model +import ops.storage + +from ops.log import setup_root_logging +from ops.jujuversion import JujuVersion + +CHARM_STATE_FILE = '.unit-state.db' + + +logger = logging.getLogger() + + +def _exe_path(path: Path) -> typing.Optional[Path]: + """Find and return the full path to the given binary. + + Here path is the absolute path to a binary, but might be missing an extension. + """ + p = shutil.which(path.name, mode=os.F_OK, path=str(path.parent)) + if p is None: + return None + return Path(p) + + +def _get_charm_dir(): + charm_dir = os.environ.get("JUJU_CHARM_DIR") + if charm_dir is None: + # Assume $JUJU_CHARM_DIR/lib/op/main.py structure. + charm_dir = Path('{}/../../..'.format(__file__)).resolve() + else: + charm_dir = Path(charm_dir).resolve() + return charm_dir + + +def _create_event_link(charm, bound_event, link_to): + """Create a symlink for a particular event. + + charm -- A charm object. + bound_event -- An event for which to create a symlink. + link_to -- What the event link should point to + """ + if issubclass(bound_event.event_type, ops.charm.HookEvent): + event_dir = charm.framework.charm_dir / 'hooks' + event_path = event_dir / bound_event.event_kind.replace('_', '-') + elif issubclass(bound_event.event_type, ops.charm.ActionEvent): + if not bound_event.event_kind.endswith("_action"): + raise RuntimeError( + 'action event name {} needs _action suffix'.format(bound_event.event_kind)) + event_dir = charm.framework.charm_dir / 'actions' + # The event_kind is suffixed with "_action" while the executable is not. + event_path = event_dir / bound_event.event_kind[:-len('_action')].replace('_', '-') + else: + raise RuntimeError( + 'cannot create a symlink: unsupported event type {}'.format(bound_event.event_type)) + + event_dir.mkdir(exist_ok=True) + if not event_path.exists(): + target_path = os.path.relpath(link_to, str(event_dir)) + + # Ignore the non-symlink files or directories + # assuming the charm author knows what they are doing. + logger.debug( + 'Creating a new relative symlink at %s pointing to %s', + event_path, target_path) + event_path.symlink_to(target_path) + + +def _setup_event_links(charm_dir, charm): + """Set up links for supported events that originate from Juju. + + Whether a charm can handle an event or not can be determined by + introspecting which events are defined on it. + + Hooks or actions are created as symlinks to the charm code file + which is determined by inspecting symlinks provided by the charm + author at hooks/install or hooks/start. + + charm_dir -- A root directory of the charm. + charm -- An instance of the Charm class. + + """ + # XXX: on windows this function does not accomplish what it wants to: + # it creates symlinks with no extension pointing to a .py + # and juju only knows how to handle .exe, .bat, .cmd, and .ps1 + # so it does its job, but does not accomplish anything as the + # hooks aren't 'callable'. + link_to = os.path.realpath(os.environ.get("JUJU_DISPATCH_PATH", sys.argv[0])) + for bound_event in charm.on.events().values(): + # Only events that originate from Juju need symlinks. + if issubclass(bound_event.event_type, (ops.charm.HookEvent, ops.charm.ActionEvent)): + _create_event_link(charm, bound_event, link_to) + + +def _emit_charm_event(charm, event_name): + """Emits a charm event based on a Juju event name. + + charm -- A charm instance to emit an event from. + event_name -- A Juju event name to emit on a charm. + """ + event_to_emit = None + try: + event_to_emit = getattr(charm.on, event_name) + except AttributeError: + logger.debug("Event %s not defined for %s.", event_name, charm) + + # If the event is not supported by the charm implementation, do + # not error out or try to emit it. This is to support rollbacks. + if event_to_emit is not None: + args, kwargs = _get_event_args(charm, event_to_emit) + logger.debug('Emitting Juju event %s.', event_name) + event_to_emit.emit(*args, **kwargs) + + +def _get_event_args(charm, bound_event): + event_type = bound_event.event_type + model = charm.framework.model + + if issubclass(event_type, ops.charm.RelationEvent): + relation_name = os.environ['JUJU_RELATION'] + relation_id = int(os.environ['JUJU_RELATION_ID'].split(':')[-1]) + relation = model.get_relation(relation_name, relation_id) + else: + relation = None + + remote_app_name = os.environ.get('JUJU_REMOTE_APP', '') + remote_unit_name = os.environ.get('JUJU_REMOTE_UNIT', '') + if remote_app_name or remote_unit_name: + if not remote_app_name: + if '/' not in remote_unit_name: + raise RuntimeError('invalid remote unit name: {}'.format(remote_unit_name)) + remote_app_name = remote_unit_name.split('/')[0] + args = [relation, model.get_app(remote_app_name)] + if remote_unit_name: + args.append(model.get_unit(remote_unit_name)) + return args, {} + elif relation: + return [relation], {} + return [], {} + + +class _Dispatcher: + """Encapsulate how to figure out what event Juju wants us to run. + + Also knows how to run “legacy” hooks when Juju called us via a top-level + ``dispatch`` binary. + + Args: + charm_dir: the toplevel directory of the charm + + Attributes: + event_name: the name of the event to run + is_dispatch_aware: are we running under a Juju that knows about the + dispatch binary, and is that binary present? + + """ + + def __init__(self, charm_dir: Path): + self._charm_dir = charm_dir + self._exec_path = Path(os.environ.get('JUJU_DISPATCH_PATH', sys.argv[0])) + + dispatch = charm_dir / 'dispatch' + if JujuVersion.from_environ().is_dispatch_aware() and _exe_path(dispatch) is not None: + self._init_dispatch() + else: + self._init_legacy() + + def ensure_event_links(self, charm): + """Make sure necessary symlinks are present on disk.""" + if self.is_dispatch_aware: + # links aren't needed + return + + # When a charm is force-upgraded and a unit is in an error state Juju + # does not run upgrade-charm and instead runs the failed hook followed + # by config-changed. Given the nature of force-upgrading the hook setup + # code is not triggered on config-changed. + # + # 'start' event is included as Juju does not fire the install event for + # K8s charms (see LP: #1854635). + if (self.event_name in ('install', 'start', 'upgrade_charm') + or self.event_name.endswith('_storage_attached')): + _setup_event_links(self._charm_dir, charm) + + def run_any_legacy_hook(self): + """Run any extant legacy hook. + + If there is both a dispatch file and a legacy hook for the + current event, run the wanted legacy hook. + """ + if not self.is_dispatch_aware: + # we *are* the legacy hook + return + + dispatch_path = _exe_path(self._charm_dir / self._dispatch_path) + if dispatch_path is None: + logger.debug("Legacy %s does not exist.", self._dispatch_path) + return + + # super strange that there isn't an is_executable + if not os.access(str(dispatch_path), os.X_OK): + logger.warning("Legacy %s exists but is not executable.", self._dispatch_path) + return + + if dispatch_path.resolve() == Path(sys.argv[0]).resolve(): + logger.debug("Legacy %s is just a link to ourselves.", self._dispatch_path) + return + + argv = sys.argv.copy() + argv[0] = str(dispatch_path) + logger.info("Running legacy %s.", self._dispatch_path) + try: + subprocess.run(argv, check=True) + except subprocess.CalledProcessError as e: + logger.warning("Legacy %s exited with status %d.", self._dispatch_path, e.returncode) + sys.exit(e.returncode) + except OSError as e: + logger.warning("Unable to run legacy %s: %s", self._dispatch_path, e) + sys.exit(1) + else: + logger.debug("Legacy %s exited with status 0.", self._dispatch_path) + + def _set_name_from_path(self, path: Path): + """Sets the name attribute to that which can be inferred from the given path.""" + name = path.name.replace('-', '_') + if path.parent.name == 'actions': + name = '{}_action'.format(name) + self.event_name = name + + def _init_legacy(self): + """Set up the 'legacy' dispatcher. + + The current Juju doesn't know about 'dispatch' and calls hooks + explicitly. + """ + self.is_dispatch_aware = False + self._set_name_from_path(self._exec_path) + + def _init_dispatch(self): + """Set up the new 'dispatch' dispatcher. + + The current Juju will run 'dispatch' if it exists, and otherwise fall + back to the old behaviour. + + JUJU_DISPATCH_PATH will be set to the wanted hook, e.g. hooks/install, + in both cases. + """ + self._dispatch_path = Path(os.environ['JUJU_DISPATCH_PATH']) + + if 'OPERATOR_DISPATCH' in os.environ: + logger.debug("Charm called itself via %s.", self._dispatch_path) + sys.exit(0) + os.environ['OPERATOR_DISPATCH'] = '1' + + self.is_dispatch_aware = True + self._set_name_from_path(self._dispatch_path) + + def is_restricted_context(self): + """Return True if we are running in a restricted Juju context. + + When in a restricted context, most commands (relation-get, config-get, + state-get) are not available. As such, we change how we interact with + Juju. + """ + return self.event_name in ('collect_metrics',) + + +def _should_use_controller_storage(db_path: Path, meta: ops.charm.CharmMeta) -> bool: + """Figure out whether we want to use controller storage or not.""" + # if you've previously used local state, carry on using that + if db_path.exists(): + logger.debug("Using local storage: %s already exists", db_path) + return False + + # if you're not in k8s you don't need controller storage + if 'kubernetes' not in meta.series: + logger.debug("Using local storage: not a kubernetes charm") + return False + + # are we in a new enough Juju? + cur_version = JujuVersion.from_environ() + + if cur_version.has_controller_storage(): + logger.debug("Using controller storage: JUJU_VERSION=%s", cur_version) + return True + else: + logger.debug("Using local storage: JUJU_VERSION=%s", cur_version) + return False + + +def main(charm_class: ops.charm.CharmBase, use_juju_for_storage: bool = None): + """Setup the charm and dispatch the observed event. + + The event name is based on the way this executable was called (argv[0]). + + Args: + charm_class: your charm class. + use_juju_for_storage: whether to use controller-side storage. If not specified + then kubernetes charms that haven't previously used local storage and that + are running on a new enough Juju default to controller-side storage, + otherwise local storage is used. + """ + charm_dir = _get_charm_dir() + + model_backend = ops.model._ModelBackend() + debug = ('JUJU_DEBUG' in os.environ) + setup_root_logging(model_backend, debug=debug) + logger.debug("Operator Framework %s up and running.", ops.__version__) + + dispatcher = _Dispatcher(charm_dir) + dispatcher.run_any_legacy_hook() + + metadata = (charm_dir / 'metadata.yaml').read_text() + actions_meta = charm_dir / 'actions.yaml' + if actions_meta.exists(): + actions_metadata = actions_meta.read_text() + else: + actions_metadata = None + + if not yaml.__with_libyaml__: + logger.debug('yaml does not have libyaml extensions, using slower pure Python yaml loader') + meta = ops.charm.CharmMeta.from_yaml(metadata, actions_metadata) + model = ops.model.Model(meta, model_backend) + + charm_state_path = charm_dir / CHARM_STATE_FILE + + if use_juju_for_storage and not ops.storage.juju_backend_available(): + # raise an exception; the charm is broken and needs fixing. + msg = 'charm set use_juju_for_storage=True, but Juju version {} does not support it' + raise RuntimeError(msg.format(JujuVersion.from_environ())) + + if use_juju_for_storage is None: + use_juju_for_storage = _should_use_controller_storage(charm_state_path, meta) + + if use_juju_for_storage: + if dispatcher.is_restricted_context(): + # TODO: jam 2020-06-30 This unconditionally avoids running a collect metrics event + # Though we eventually expect that juju will run collect-metrics in a + # non-restricted context. Once we can determine that we are running collect-metrics + # in a non-restricted context, we should fire the event as normal. + logger.debug('"%s" is not supported when using Juju for storage\n' + 'see: https://github.com/canonical/operator/issues/348', + dispatcher.event_name) + # Note that we don't exit nonzero, because that would cause Juju to rerun the hook + return + store = ops.storage.JujuStorage() + else: + store = ops.storage.SQLiteStorage(charm_state_path) + framework = ops.framework.Framework(store, charm_dir, meta, model) + framework.set_breakpointhook() + try: + sig = inspect.signature(charm_class) + try: + sig.bind(framework) + except TypeError: + msg = ( + "the second argument, 'key', has been deprecated and will be " + "removed after the 0.7 release") + warnings.warn(msg, DeprecationWarning) + charm = charm_class(framework, None) + else: + charm = charm_class(framework) + dispatcher.ensure_event_links(charm) + + # TODO: Remove the collect_metrics check below as soon as the relevant + # Juju changes are made. Also adjust the docstring on + # EventBase.defer(). + # + # Skip reemission of deferred events for collect-metrics events because + # they do not have the full access to all hook tools. + if not dispatcher.is_restricted_context(): + framework.reemit() + + _emit_charm_event(charm, dispatcher.event_name) + + framework.commit() + finally: + framework.close() diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/model.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/model.py new file mode 100644 index 00000000..d446d636 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/model.py @@ -0,0 +1,1314 @@ +# Copyright 2019 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Representations of Juju's model, application, unit, and other entities.""" + +import datetime +import decimal +import ipaddress +import json +import os +import re +import shutil +import tempfile +import time +import typing +import weakref + +from abc import ABC, abstractmethod +from collections.abc import Mapping, MutableMapping +from pathlib import Path +from subprocess import run, PIPE, CalledProcessError +import yaml + +import ops +from ops.jujuversion import JujuVersion + + +if yaml.__with_libyaml__: + _DefaultDumper = yaml.CSafeDumper +else: + _DefaultDumper = yaml.SafeDumper + + +class Model: + """Represents the Juju Model as seen from this unit. + + This should not be instantiated directly by Charmers, but can be accessed as `self.model` + from any class that derives from Object. + """ + + def __init__(self, meta: 'ops.charm.CharmMeta', backend: '_ModelBackend'): + self._cache = _ModelCache(backend) + self._backend = backend + self._unit = self.get_unit(self._backend.unit_name) + self._relations = RelationMapping(meta.relations, self.unit, self._backend, self._cache) + self._config = ConfigData(self._backend) + self._resources = Resources(list(meta.resources), self._backend) + self._pod = Pod(self._backend) + self._storages = StorageMapping(list(meta.storages), self._backend) + self._bindings = BindingMapping(self._backend) + + @property + def unit(self) -> 'Unit': + """A :class:`Unit` that represents the unit that is running this code (eg yourself).""" + return self._unit + + @property + def app(self): + """A :class:`Application` that represents the application this unit is a part of.""" + return self._unit.app + + @property + def relations(self) -> 'RelationMapping': + """Mapping of endpoint to list of :class:`Relation`. + + Answers the question "what am I currently related to". + See also :meth:`.get_relation`. + """ + return self._relations + + @property + def config(self) -> 'ConfigData': + """Return a mapping of config for the current application.""" + return self._config + + @property + def resources(self) -> 'Resources': + """Access to resources for this charm. + + Use ``model.resources.fetch(resource_name)`` to get the path on disk + where the resource can be found. + """ + return self._resources + + @property + def storages(self) -> 'StorageMapping': + """Mapping of storage_name to :class:`Storage` as defined in metadata.yaml.""" + return self._storages + + @property + def pod(self) -> 'Pod': + """Use ``model.pod.set_spec`` to set the container specification for Kubernetes charms.""" + return self._pod + + @property + def name(self) -> str: + """Return the name of the Model that this unit is running in. + + This is read from the environment variable ``JUJU_MODEL_NAME``. + """ + return self._backend.model_name + + def get_unit(self, unit_name: str) -> 'Unit': + """Get an arbitrary unit by name. + + Internally this uses a cache, so asking for the same unit two times will + return the same object. + """ + return self._cache.get(Unit, unit_name) + + def get_app(self, app_name: str) -> 'Application': + """Get an application by name. + + Internally this uses a cache, so asking for the same application two times will + return the same object. + """ + return self._cache.get(Application, app_name) + + def get_relation( + self, relation_name: str, + relation_id: typing.Optional[int] = None) -> 'Relation': + """Get a specific Relation instance. + + If relation_id is not given, this will return the Relation instance if the + relation is established only once or None if it is not established. If this + same relation is established multiple times the error TooManyRelatedAppsError is raised. + + Args: + relation_name: The name of the endpoint for this charm + relation_id: An identifier for a specific relation. Used to disambiguate when a + given application has more than one relation on a given endpoint. + + Raises: + TooManyRelatedAppsError: is raised if there is more than one relation to the + supplied relation_name and no relation_id was supplied + """ + return self.relations._get_unique(relation_name, relation_id) + + def get_binding(self, binding_key: typing.Union[str, 'Relation']) -> 'Binding': + """Get a network space binding. + + Args: + binding_key: The relation name or instance to obtain bindings for. + + Returns: + If ``binding_key`` is a relation name, the method returns the default binding + for that relation. If a relation instance is provided, the method first looks + up a more specific binding for that specific relation ID, and if none is found + falls back to the default binding for the relation name. + """ + return self._bindings.get(binding_key) + + +class _ModelCache: + + def __init__(self, backend): + self._backend = backend + self._weakrefs = weakref.WeakValueDictionary() + + def get(self, entity_type, *args): + key = (entity_type,) + args + entity = self._weakrefs.get(key) + if entity is None: + entity = entity_type(*args, backend=self._backend, cache=self) + self._weakrefs[key] = entity + return entity + + +class Application: + """Represents a named application in the model. + + This might be your application, or might be an application that you are related to. + Charmers should not instantiate Application objects directly, but should use + :meth:`Model.get_app` if they need a reference to a given application. + + Attributes: + name: The name of this application (eg, 'mysql'). This name may differ from the name of + the charm, if the user has deployed it to a different name. + """ + + def __init__(self, name, backend, cache): + self.name = name + self._backend = backend + self._cache = cache + self._is_our_app = self.name == self._backend.app_name + self._status = None + + def _invalidate(self): + self._status = None + + @property + def status(self) -> 'StatusBase': + """Used to report or read the status of the overall application. + + Can only be read and set by the lead unit of the application. + + The status of remote units is always Unknown. + + Raises: + RuntimeError: if you try to set the status of another application, or if you try to + set the status of this application as a unit that is not the leader. + InvalidStatusError: if you try to set the status to something that is not a + :class:`StatusBase` + + Example:: + + self.model.app.status = BlockedStatus('I need a human to come help me') + """ + if not self._is_our_app: + return UnknownStatus() + + if not self._backend.is_leader(): + raise RuntimeError('cannot get application status as a non-leader unit') + + if self._status: + return self._status + + s = self._backend.status_get(is_app=True) + self._status = StatusBase.from_name(s['status'], s['message']) + return self._status + + @status.setter + def status(self, value: 'StatusBase'): + if not isinstance(value, StatusBase): + raise InvalidStatusError( + 'invalid value provided for application {} status: {}'.format(self, value) + ) + + if not self._is_our_app: + raise RuntimeError('cannot to set status for a remote application {}'.format(self)) + + if not self._backend.is_leader(): + raise RuntimeError('cannot set application status as a non-leader unit') + + self._backend.status_set(value.name, value.message, is_app=True) + self._status = value + + def __repr__(self): + return '<{}.{} {}>'.format(type(self).__module__, type(self).__name__, self.name) + + +class Unit: + """Represents a named unit in the model. + + This might be your unit, another unit of your application, or a unit of another application + that you are related to. + + Attributes: + name: The name of the unit (eg, 'mysql/0') + app: The Application the unit is a part of. + """ + + def __init__(self, name, backend, cache): + self.name = name + + app_name = name.split('/')[0] + self.app = cache.get(Application, app_name) + + self._backend = backend + self._cache = cache + self._is_our_unit = self.name == self._backend.unit_name + self._status = None + + def _invalidate(self): + self._status = None + + @property + def status(self) -> 'StatusBase': + """Used to report or read the status of a specific unit. + + The status of any unit other than yourself is always Unknown. + + Raises: + RuntimeError: if you try to set the status of a unit other than yourself. + InvalidStatusError: if you try to set the status to something other than + a :class:`StatusBase` + Example:: + + self.model.unit.status = MaintenanceStatus('reconfiguring the frobnicators') + """ + if not self._is_our_unit: + return UnknownStatus() + + if self._status: + return self._status + + s = self._backend.status_get(is_app=False) + self._status = StatusBase.from_name(s['status'], s['message']) + return self._status + + @status.setter + def status(self, value: 'StatusBase'): + if not isinstance(value, StatusBase): + raise InvalidStatusError( + 'invalid value provided for unit {} status: {}'.format(self, value) + ) + + if not self._is_our_unit: + raise RuntimeError('cannot set status for a remote unit {}'.format(self)) + + self._backend.status_set(value.name, value.message, is_app=False) + self._status = value + + def __repr__(self): + return '<{}.{} {}>'.format(type(self).__module__, type(self).__name__, self.name) + + def is_leader(self) -> bool: + """Return whether this unit is the leader of its application. + + This can only be called for your own unit. + + Returns: + True if you are the leader, False otherwise + Raises: + RuntimeError: if called for a unit that is not yourself + """ + if self._is_our_unit: + # This value is not cached as it is not guaranteed to persist for the whole duration + # of a hook execution. + return self._backend.is_leader() + else: + raise RuntimeError( + 'leadership status of remote units ({}) is not visible to other' + ' applications'.format(self) + ) + + def set_workload_version(self, version: str) -> None: + """Record the version of the software running as the workload. + + This shouldn't be confused with the revision of the charm. This is informative only; + shown in the output of 'juju status'. + """ + if not isinstance(version, str): + raise TypeError("workload version must be a str, not {}: {!r}".format( + type(version).__name__, version)) + self._backend.application_version_set(version) + + +class LazyMapping(Mapping, ABC): + """Represents a dict that isn't populated until it is accessed. + + Charm authors should generally never need to use this directly, but it forms + the basis for many of the dicts that the framework tracks. + """ + + _lazy_data = None + + @abstractmethod + def _load(self): + raise NotImplementedError() + + @property + def _data(self): + data = self._lazy_data + if data is None: + data = self._lazy_data = self._load() + return data + + def _invalidate(self): + self._lazy_data = None + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def __repr__(self): + return repr(self._data) + + +class RelationMapping(Mapping): + """Map of relation names to lists of :class:`Relation` instances.""" + + def __init__(self, relations_meta, our_unit, backend, cache): + self._peers = set() + for name, relation_meta in relations_meta.items(): + if relation_meta.role.is_peer(): + self._peers.add(name) + self._our_unit = our_unit + self._backend = backend + self._cache = cache + self._data = {relation_name: None for relation_name in relations_meta} + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, relation_name): + is_peer = relation_name in self._peers + relation_list = self._data[relation_name] + if relation_list is None: + relation_list = self._data[relation_name] = [] + for rid in self._backend.relation_ids(relation_name): + relation = Relation(relation_name, rid, is_peer, + self._our_unit, self._backend, self._cache) + relation_list.append(relation) + return relation_list + + def _invalidate(self, relation_name): + """Used to wipe the cache of a given relation_name. + + Not meant to be used by Charm authors. The content of relation data is + static for the lifetime of a hook, so it is safe to cache in memory once + accessed. + """ + self._data[relation_name] = None + + def _get_unique(self, relation_name, relation_id=None): + if relation_id is not None: + if not isinstance(relation_id, int): + raise ModelError('relation id {} must be int or None not {}'.format( + relation_id, + type(relation_id).__name__)) + for relation in self[relation_name]: + if relation.id == relation_id: + return relation + else: + # The relation may be dead, but it is not forgotten. + is_peer = relation_name in self._peers + return Relation(relation_name, relation_id, is_peer, + self._our_unit, self._backend, self._cache) + num_related = len(self[relation_name]) + if num_related == 0: + return None + elif num_related == 1: + return self[relation_name][0] + else: + # TODO: We need something in the framework to catch and gracefully handle + # errors, ideally integrating the error catching with Juju's mechanisms. + raise TooManyRelatedAppsError(relation_name, num_related, 1) + + +class BindingMapping: + """Mapping of endpoints to network bindings. + + Charm authors should not instantiate this directly, but access it via + :meth:`Model.get_binding` + """ + + def __init__(self, backend): + self._backend = backend + self._data = {} + + def get(self, binding_key: typing.Union[str, 'Relation']) -> 'Binding': + """Get a specific Binding for an endpoint/relation. + + Not used directly by Charm authors. See :meth:`Model.get_binding` + """ + if isinstance(binding_key, Relation): + binding_name = binding_key.name + relation_id = binding_key.id + elif isinstance(binding_key, str): + binding_name = binding_key + relation_id = None + else: + raise ModelError('binding key must be str or relation instance, not {}' + ''.format(type(binding_key).__name__)) + binding = self._data.get(binding_key) + if binding is None: + binding = Binding(binding_name, relation_id, self._backend) + self._data[binding_key] = binding + return binding + + +class Binding: + """Binding to a network space. + + Attributes: + name: The name of the endpoint this binding represents (eg, 'db') + """ + + def __init__(self, name, relation_id, backend): + self.name = name + self._relation_id = relation_id + self._backend = backend + self._network = None + + @property + def network(self) -> 'Network': + """The network information for this binding.""" + if self._network is None: + try: + self._network = Network(self._backend.network_get(self.name, self._relation_id)) + except RelationNotFoundError: + if self._relation_id is None: + raise + # If a relation is dead, we can still get network info associated with an + # endpoint itself + self._network = Network(self._backend.network_get(self.name)) + return self._network + + +class Network: + """Network space details. + + Charm authors should not instantiate this directly, but should get access to the Network + definition from :meth:`Model.get_binding` and its ``network`` attribute. + + Attributes: + interfaces: A list of :class:`NetworkInterface` details. This includes the + information about how your application should be configured (eg, what + IP addresses should you bind to.) + Note that multiple addresses for a single interface are represented as multiple + interfaces. (eg, ``[NetworkInfo('ens1', '10.1.1.1/32'), + NetworkInfo('ens1', '10.1.2.1/32'])``) + ingress_addresses: A list of :class:`ipaddress.ip_address` objects representing the IP + addresses that other units should use to get in touch with you. + egress_subnets: A list of :class:`ipaddress.ip_network` representing the subnets that + other units will see you connecting from. Due to things like NAT it isn't always + possible to narrow it down to a single address, but when it is clear, the CIDRs + will be constrained to a single address. (eg, 10.0.0.1/32) + Args: + network_info: A dict of network information as returned by ``network-get``. + """ + + def __init__(self, network_info: dict): + self.interfaces = [] + # Treat multiple addresses on an interface as multiple logical + # interfaces with the same name. + for interface_info in network_info.get('bind-addresses', []): + interface_name = interface_info.get('interface-name') + for address_info in interface_info.get('addresses', []): + self.interfaces.append(NetworkInterface(interface_name, address_info)) + self.ingress_addresses = [] + for address in network_info.get('ingress-addresses', []): + self.ingress_addresses.append(ipaddress.ip_address(address)) + self.egress_subnets = [] + for subnet in network_info.get('egress-subnets', []): + self.egress_subnets.append(ipaddress.ip_network(subnet)) + + @property + def bind_address(self): + """A single address that your application should bind() to. + + For the common case where there is a single answer. This represents a single + address from :attr:`.interfaces` that can be used to configure where your + application should bind() and listen(). + """ + if self.interfaces: + return self.interfaces[0].address + else: + return None + + @property + def ingress_address(self): + """The address other applications should use to connect to your unit. + + Due to things like public/private addresses, NAT and tunneling, the address you bind() + to is not always the address other people can use to connect() to you. + This is just the first address from :attr:`.ingress_addresses`. + """ + if self.ingress_addresses: + return self.ingress_addresses[0] + else: + return None + + +class NetworkInterface: + """Represents a single network interface that the charm needs to know about. + + Charmers should not instantiate this type directly. Instead use :meth:`Model.get_binding` + to get the network information for a given endpoint. + + Attributes: + name: The name of the interface (eg. 'eth0', or 'ens1') + subnet: An :class:`ipaddress.ip_network` representation of the IP for the network + interface. This may be a single address (eg '10.0.1.2/32') + """ + + def __init__(self, name: str, address_info: dict): + self.name = name + # TODO: expose a hardware address here, see LP: #1864070. + address = address_info.get('value') + # The value field may be empty. + if address: + self.address = ipaddress.ip_address(address) + else: + self.address = None + cidr = address_info.get('cidr') + # The cidr field may be empty, see LP: #1864102. + if cidr: + self.subnet = ipaddress.ip_network(cidr) + elif address: + # If we have an address, convert it to a /32 or /128 IP network. + self.subnet = ipaddress.ip_network(address) + else: + self.subnet = None + # TODO: expose a hostname/canonical name for the address here, see LP: #1864086. + + +class Relation: + """Represents an established relation between this application and another application. + + This class should not be instantiated directly, instead use :meth:`Model.get_relation` + or :attr:`ops.charm.RelationEvent.relation`. + + Attributes: + name: The name of the local endpoint of the relation (eg 'db') + id: The identifier for a particular relation (integer) + app: An :class:`Application` representing the remote application of this relation. + For peer relations this will be the local application. + units: A set of :class:`Unit` for units that have started and joined this relation. + data: A :class:`RelationData` holding the data buckets for each entity + of a relation. Accessed via eg Relation.data[unit]['foo'] + """ + + def __init__( + self, relation_name: str, relation_id: int, is_peer: bool, our_unit: Unit, + backend: '_ModelBackend', cache: '_ModelCache'): + self.name = relation_name + self.id = relation_id + self.app = None + self.units = set() + + # For peer relations, both the remote and the local app are the same. + if is_peer: + self.app = our_unit.app + try: + for unit_name in backend.relation_list(self.id): + unit = cache.get(Unit, unit_name) + self.units.add(unit) + if self.app is None: + self.app = unit.app + except RelationNotFoundError: + # If the relation is dead, just treat it as if it has no remote units. + pass + self.data = RelationData(self, our_unit, backend) + + def __repr__(self): + return '<{}.{} {}:{}>'.format(type(self).__module__, + type(self).__name__, + self.name, + self.id) + + +class RelationData(Mapping): + """Represents the various data buckets of a given relation. + + Each unit and application involved in a relation has their own data bucket. + Eg: ``{entity: RelationDataContent}`` + where entity can be either a :class:`Unit` or a :class:`Application`. + + Units can read and write their own data, and if they are the leader, + they can read and write their application data. They are allowed to read + remote unit and application data. + + This class should not be created directly. It should be accessed via + :attr:`Relation.data` + """ + + def __init__(self, relation: Relation, our_unit: Unit, backend: '_ModelBackend'): + self.relation = weakref.proxy(relation) + self._data = { + our_unit: RelationDataContent(self.relation, our_unit, backend), + our_unit.app: RelationDataContent(self.relation, our_unit.app, backend), + } + self._data.update({ + unit: RelationDataContent(self.relation, unit, backend) + for unit in self.relation.units}) + # The relation might be dead so avoid a None key here. + if self.relation.app is not None: + self._data.update({ + self.relation.app: RelationDataContent(self.relation, self.relation.app, backend), + }) + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def __repr__(self): + return repr(self._data) + + +# We mix in MutableMapping here to get some convenience implementations, but whether it's actually +# mutable or not is controlled by the flag. +class RelationDataContent(LazyMapping, MutableMapping): + """Data content of a unit or application in a relation.""" + + def __init__(self, relation, entity, backend): + self.relation = relation + self._entity = entity + self._backend = backend + self._is_app = isinstance(entity, Application) + + def _load(self): + """Load the data from the current entity / relation.""" + try: + return self._backend.relation_get(self.relation.id, self._entity.name, self._is_app) + except RelationNotFoundError: + # Dead relations tell no tales (and have no data). + return {} + + def _is_mutable(self): + """Return if the data content can be modified.""" + if self._is_app: + is_our_app = self._backend.app_name == self._entity.name + if not is_our_app: + return False + # Whether the application data bag is mutable or not depends on + # whether this unit is a leader or not, but this is not guaranteed + # to be always true during the same hook execution. + return self._backend.is_leader() + else: + is_our_unit = self._backend.unit_name == self._entity.name + if is_our_unit: + return True + return False + + def __setitem__(self, key, value): + if not self._is_mutable(): + raise RelationDataError('cannot set relation data for {}'.format(self._entity.name)) + if not isinstance(value, str): + raise RelationDataError('relation data values must be strings') + + self._backend.relation_set(self.relation.id, key, value, self._is_app) + + # Don't load data unnecessarily if we're only updating. + if self._lazy_data is not None: + if value == '': + # Match the behavior of Juju, which is that setting the value to an + # empty string will remove the key entirely from the relation data. + self._data.pop(key, None) + else: + self._data[key] = value + + def __delitem__(self, key): + # Match the behavior of Juju, which is that setting the value to an empty + # string will remove the key entirely from the relation data. + self.__setitem__(key, '') + + +class ConfigData(LazyMapping): + """Configuration data. + + This class should not be created directly. It should be accessed via :attr:`Model.config`. + """ + + def __init__(self, backend): + self._backend = backend + + def _load(self): + return self._backend.config_get() + + +class StatusBase: + """Status values specific to applications and units. + + To access a status by name, see :meth:`StatusBase.from_name`, most use cases will just + directly use the child class to indicate their status. + """ + + _statuses = {} + name = None + + def __init__(self, message: str): + self.message = message + + def __new__(cls, *args, **kwargs): + """Forbid the usage of StatusBase directly.""" + if cls is StatusBase: + raise TypeError("cannot instantiate a base class") + return super().__new__(cls) + + def __eq__(self, other): + if not isinstance(self, type(other)): + return False + return self.message == other.message + + def __repr__(self): + return "{.__class__.__name__}({!r})".format(self, self.message) + + @classmethod + def from_name(cls, name: str, message: str): + """Get the specific Status for the name (or UnknownStatus if not registered).""" + if name == 'unknown': + # unknown is special + return UnknownStatus() + else: + return cls._statuses[name](message) + + @classmethod + def register(cls, child): + """Register a Status for the child's name.""" + if child.name is None: + raise AttributeError('cannot register a Status which has no name') + cls._statuses[child.name] = child + return child + + +@StatusBase.register +class UnknownStatus(StatusBase): + """The unit status is unknown. + + A unit-agent has finished calling install, config-changed and start, but the + charm has not called status-set yet. + + """ + name = 'unknown' + + def __init__(self): + # Unknown status cannot be set and does not have a message associated with it. + super().__init__('') + + def __repr__(self): + return "UnknownStatus()" + + +@StatusBase.register +class ActiveStatus(StatusBase): + """The unit is ready. + + The unit believes it is correctly offering all the services it has been asked to offer. + """ + name = 'active' + + def __init__(self, message: str = ''): + super().__init__(message) + + +@StatusBase.register +class BlockedStatus(StatusBase): + """The unit requires manual intervention. + + An operator has to manually intervene to unblock the unit and let it proceed. + """ + name = 'blocked' + + +@StatusBase.register +class MaintenanceStatus(StatusBase): + """The unit is performing maintenance tasks. + + The unit is not yet providing services, but is actively doing work in preparation + for providing those services. This is a "spinning" state, not an error state. It + reflects activity on the unit itself, not on peers or related units. + + """ + name = 'maintenance' + + +@StatusBase.register +class WaitingStatus(StatusBase): + """A unit is unable to progress. + + The unit is unable to progress to an active state because an application to which + it is related is not running. + + """ + name = 'waiting' + + +class Resources: + """Object representing resources for the charm.""" + + def __init__(self, names: typing.Iterable[str], backend: '_ModelBackend'): + self._backend = backend + self._paths = {name: None for name in names} + + def fetch(self, name: str) -> Path: + """Fetch the resource from the controller or store. + + If successfully fetched, this returns a Path object to where the resource is stored + on disk, otherwise it raises a ModelError. + """ + if name not in self._paths: + raise RuntimeError('invalid resource name: {}'.format(name)) + if self._paths[name] is None: + self._paths[name] = Path(self._backend.resource_get(name)) + return self._paths[name] + + +class Pod: + """Represents the definition of a pod spec in Kubernetes models. + + Currently only supports simple access to setting the Juju pod spec via :attr:`.set_spec`. + """ + + def __init__(self, backend: '_ModelBackend'): + self._backend = backend + + def set_spec(self, spec: typing.Mapping, k8s_resources: typing.Mapping = None): + """Set the specification for pods that Juju should start in kubernetes. + + See `juju help-tool pod-spec-set` for details of what should be passed. + + Args: + spec: The mapping defining the pod specification + k8s_resources: Additional kubernetes specific specification. + + Returns: + None + """ + if not self._backend.is_leader(): + raise ModelError('cannot set a pod spec as this unit is not a leader') + self._backend.pod_spec_set(spec, k8s_resources) + + +class StorageMapping(Mapping): + """Map of storage names to lists of Storage instances.""" + + def __init__(self, storage_names: typing.Iterable[str], backend: '_ModelBackend'): + self._backend = backend + self._storage_map = {storage_name: None for storage_name in storage_names} + + def __contains__(self, key: str): + return key in self._storage_map + + def __len__(self): + return len(self._storage_map) + + def __iter__(self): + return iter(self._storage_map) + + def __getitem__(self, storage_name: str) -> typing.List['Storage']: + storage_list = self._storage_map[storage_name] + if storage_list is None: + storage_list = self._storage_map[storage_name] = [] + for storage_id in self._backend.storage_list(storage_name): + storage_list.append(Storage(storage_name, storage_id, self._backend)) + return storage_list + + def request(self, storage_name: str, count: int = 1): + """Requests new storage instances of a given name. + + Uses storage-add tool to request additional storage. Juju will notify the unit + via -storage-attached events when it becomes available. + """ + if storage_name not in self._storage_map: + raise ModelError(('cannot add storage {!r}:' + ' it is not present in the charm metadata').format(storage_name)) + self._backend.storage_add(storage_name, count) + + +class Storage: + """Represents a storage as defined in metadata.yaml. + + Attributes: + name: Simple string name of the storage + id: The provider id for storage + """ + + def __init__(self, storage_name, storage_id, backend): + self.name = storage_name + self.id = storage_id + self._backend = backend + self._location = None + + @property + def location(self): + """Return the location of the storage.""" + if self._location is None: + raw = self._backend.storage_get('{}/{}'.format(self.name, self.id), "location") + self._location = Path(raw) + return self._location + + +class ModelError(Exception): + """Base class for exceptions raised when interacting with the Model.""" + pass + + +class TooManyRelatedAppsError(ModelError): + """Raised by :meth:`Model.get_relation` if there is more than one related application.""" + + def __init__(self, relation_name, num_related, max_supported): + super().__init__('Too many remote applications on {} ({} > {})'.format( + relation_name, num_related, max_supported)) + self.relation_name = relation_name + self.num_related = num_related + self.max_supported = max_supported + + +class RelationDataError(ModelError): + """Raised by ``Relation.data[entity][key] = 'foo'`` if the data is invalid. + + This is raised if you're either trying to set a value to something that isn't a string, + or if you are trying to set a value in a bucket that you don't have access to. (eg, + another application/unit or setting your application data but you aren't the leader.) + """ + + +class RelationNotFoundError(ModelError): + """Backend error when querying juju for a given relation and that relation doesn't exist.""" + + +class InvalidStatusError(ModelError): + """Raised if trying to set an Application or Unit status to something invalid.""" + + +class _ModelBackend: + """Represents the connection between the Model representation and talking to Juju. + + Charm authors should not directly interact with the ModelBackend, it is a private + implementation of Model. + """ + + LEASE_RENEWAL_PERIOD = datetime.timedelta(seconds=30) + + def __init__(self, unit_name=None, model_name=None): + if unit_name is None: + self.unit_name = os.environ['JUJU_UNIT_NAME'] + else: + self.unit_name = unit_name + if model_name is None: + model_name = os.environ.get('JUJU_MODEL_NAME') + self.model_name = model_name + self.app_name = self.unit_name.split('/')[0] + + self._is_leader = None + self._leader_check_time = None + + def _run(self, *args, return_output=False, use_json=False): + kwargs = dict(stdout=PIPE, stderr=PIPE, check=True) + args = (shutil.which(args[0]),) + args[1:] + if use_json: + args += ('--format=json',) + try: + result = run(args, **kwargs) + except CalledProcessError as e: + raise ModelError(e.stderr) + if return_output: + if result.stdout is None: + return '' + else: + text = result.stdout.decode('utf8') + if use_json: + return json.loads(text) + else: + return text + + def relation_ids(self, relation_name): + relation_ids = self._run('relation-ids', relation_name, return_output=True, use_json=True) + return [int(relation_id.split(':')[-1]) for relation_id in relation_ids] + + def relation_list(self, relation_id): + try: + return self._run('relation-list', '-r', str(relation_id), + return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def relation_get(self, relation_id, member_name, is_app): + if not isinstance(is_app, bool): + raise TypeError('is_app parameter to relation_get must be a boolean') + + if is_app: + version = JujuVersion.from_environ() + if not version.has_app_data(): + raise RuntimeError( + 'getting application data is not supported on Juju version {}'.format(version)) + + args = ['relation-get', '-r', str(relation_id), '-', member_name] + if is_app: + args.append('--app') + + try: + return self._run(*args, return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def relation_set(self, relation_id, key, value, is_app): + if not isinstance(is_app, bool): + raise TypeError('is_app parameter to relation_set must be a boolean') + + if is_app: + version = JujuVersion.from_environ() + if not version.has_app_data(): + raise RuntimeError( + 'setting application data is not supported on Juju version {}'.format(version)) + + args = ['relation-set', '-r', str(relation_id), '{}={}'.format(key, value)] + if is_app: + args.append('--app') + + try: + return self._run(*args) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def config_get(self): + return self._run('config-get', return_output=True, use_json=True) + + def is_leader(self): + """Obtain the current leadership status for the unit the charm code is executing on. + + The value is cached for the duration of a lease which is 30s in Juju. + """ + now = time.monotonic() + if self._leader_check_time is None: + check = True + else: + time_since_check = datetime.timedelta(seconds=now - self._leader_check_time) + check = (time_since_check > self.LEASE_RENEWAL_PERIOD or self._is_leader is None) + if check: + # Current time MUST be saved before running is-leader to ensure the cache + # is only used inside the window that is-leader itself asserts. + self._leader_check_time = now + self._is_leader = self._run('is-leader', return_output=True, use_json=True) + + return self._is_leader + + def resource_get(self, resource_name): + return self._run('resource-get', resource_name, return_output=True).strip() + + def pod_spec_set(self, spec, k8s_resources): + tmpdir = Path(tempfile.mkdtemp('-pod-spec-set')) + try: + spec_path = tmpdir / 'spec.yaml' + with spec_path.open("wt", encoding="utf8") as f: + yaml.dump(spec, stream=f, Dumper=_DefaultDumper) + args = ['--file', str(spec_path)] + if k8s_resources: + k8s_res_path = tmpdir / 'k8s-resources.yaml' + with k8s_res_path.open("wt", encoding="utf8") as f: + yaml.dump(k8s_resources, stream=f, Dumper=_DefaultDumper) + args.extend(['--k8s-resources', str(k8s_res_path)]) + self._run('pod-spec-set', *args) + finally: + shutil.rmtree(str(tmpdir)) + + def status_get(self, *, is_app=False): + """Get a status of a unit or an application. + + Args: + is_app: A boolean indicating whether the status should be retrieved for a unit + or an application. + """ + content = self._run( + 'status-get', '--include-data', '--application={}'.format(is_app), + use_json=True, + return_output=True) + # Unit status looks like (in YAML): + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + # Application status looks like (in YAML): + # application-status: + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + # units: + # uo/0: + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + + if is_app: + return {'status': content['application-status']['status'], + 'message': content['application-status']['message']} + else: + return content + + def status_set(self, status, message='', *, is_app=False): + """Set a status of a unit or an application. + + Args: + status: The status to set. + message: The message to set in the status. + is_app: A boolean indicating whether the status should be set for a unit or an + application. + """ + if not isinstance(is_app, bool): + raise TypeError('is_app parameter must be boolean') + return self._run('status-set', '--application={}'.format(is_app), status, message) + + def storage_list(self, name): + return [int(s.split('/')[1]) for s in self._run('storage-list', name, + return_output=True, use_json=True)] + + def storage_get(self, storage_name_id, attribute): + return self._run('storage-get', '-s', storage_name_id, attribute, + return_output=True, use_json=True) + + def storage_add(self, name, count=1): + if not isinstance(count, int) or isinstance(count, bool): + raise TypeError('storage count must be integer, got: {} ({})'.format(count, + type(count))) + self._run('storage-add', '{}={}'.format(name, count)) + + def action_get(self): + return self._run('action-get', return_output=True, use_json=True) + + def action_set(self, results): + self._run('action-set', *["{}={}".format(k, v) for k, v in results.items()]) + + def action_log(self, message): + self._run('action-log', message) + + def action_fail(self, message=''): + self._run('action-fail', message) + + def application_version_set(self, version): + self._run('application-version-set', '--', version) + + def juju_log(self, level, message): + self._run('juju-log', '--log-level', level, "--", message) + + def network_get(self, binding_name, relation_id=None): + """Return network info provided by network-get for a given binding. + + Args: + binding_name: A name of a binding (relation name or extra-binding name). + relation_id: An optional relation id to get network info for. + """ + cmd = ['network-get', binding_name] + if relation_id is not None: + cmd.extend(['-r', str(relation_id)]) + try: + return self._run(*cmd, return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def add_metrics(self, metrics, labels=None): + cmd = ['add-metric'] + + if labels: + label_args = [] + for k, v in labels.items(): + _ModelBackendValidator.validate_metric_label(k) + _ModelBackendValidator.validate_label_value(k, v) + label_args.append('{}={}'.format(k, v)) + cmd.extend(['--labels', ','.join(label_args)]) + + metric_args = [] + for k, v in metrics.items(): + _ModelBackendValidator.validate_metric_key(k) + metric_value = _ModelBackendValidator.format_metric_value(v) + metric_args.append('{}={}'.format(k, metric_value)) + cmd.extend(metric_args) + self._run(*cmd) + + +class _ModelBackendValidator: + """Provides facilities for validating inputs and formatting them for model backends.""" + + METRIC_KEY_REGEX = re.compile(r'^[a-zA-Z](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?$') + + @classmethod + def validate_metric_key(cls, key): + if cls.METRIC_KEY_REGEX.match(key) is None: + raise ModelError( + 'invalid metric key {!r}: must match {}'.format( + key, cls.METRIC_KEY_REGEX.pattern)) + + @classmethod + def validate_metric_label(cls, label_name): + if cls.METRIC_KEY_REGEX.match(label_name) is None: + raise ModelError( + 'invalid metric label name {!r}: must match {}'.format( + label_name, cls.METRIC_KEY_REGEX.pattern)) + + @classmethod + def format_metric_value(cls, value): + try: + decimal_value = decimal.Decimal.from_float(value) + except TypeError as e: + e2 = ModelError('invalid metric value {!r} provided:' + ' must be a positive finite float'.format(value)) + raise e2 from e + if decimal_value.is_nan() or decimal_value.is_infinite() or decimal_value < 0: + raise ModelError('invalid metric value {!r} provided:' + ' must be a positive finite float'.format(value)) + return str(decimal_value) + + @classmethod + def validate_label_value(cls, label, value): + # Label values cannot be empty, contain commas or equal signs as those are + # used by add-metric as separators. + if not value: + raise ModelError( + 'metric label {} has an empty value, which is not allowed'.format(label)) + v = str(value) + if re.search('[,=]', v) is not None: + raise ModelError( + 'metric label values must not contain "," or "=": {}={!r}'.format(label, value)) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/storage.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/storage.py new file mode 100644 index 00000000..562cde77 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/storage.py @@ -0,0 +1,374 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Structures to offer storage to the charm (through Juju or locally).""" + +from datetime import timedelta +import pickle +import shutil +import subprocess +import sqlite3 +import typing + +import yaml + + +def _run(args, **kw): + cmd = shutil.which(args[0]) + if cmd is None: + raise FileNotFoundError(args[0]) + return subprocess.run([cmd, *args[1:]], **kw) + + +class SQLiteStorage: + """Storage using SQLite backend.""" + + DB_LOCK_TIMEOUT = timedelta(hours=1) + + def __init__(self, filename): + # The isolation_level argument is set to None such that the implicit + # transaction management behavior of the sqlite3 module is disabled. + self._db = sqlite3.connect(str(filename), + isolation_level=None, + timeout=self.DB_LOCK_TIMEOUT.total_seconds()) + self._setup() + + def _setup(self): + """Make the database ready to be used as storage.""" + # Make sure that the database is locked until the connection is closed, + # not until the transaction ends. + self._db.execute("PRAGMA locking_mode=EXCLUSIVE") + c = self._db.execute("BEGIN") + c.execute("SELECT count(name) FROM sqlite_master WHERE type='table' AND name='snapshot'") + if c.fetchone()[0] == 0: + # Keep in mind what might happen if the process dies somewhere below. + # The system must not be rendered permanently broken by that. + self._db.execute("CREATE TABLE snapshot (handle TEXT PRIMARY KEY, data BLOB)") + self._db.execute(''' + CREATE TABLE notice ( + sequence INTEGER PRIMARY KEY AUTOINCREMENT, + event_path TEXT, + observer_path TEXT, + method_name TEXT) + ''') + self._db.commit() + + def close(self): + """Part of the Storage API, close the storage backend.""" + self._db.close() + + def commit(self): + """Part of the Storage API, commit latest changes in the storage backend.""" + self._db.commit() + + # There's commit but no rollback. For abort to be supported, we'll need logic that + # can rollback decisions made by third-party code in terms of the internal state + # of objects that have been snapshotted, and hooks to let them know about it and + # take the needed actions to undo their logic until the last snapshot. + # This is doable but will increase significantly the chances for mistakes. + + def save_snapshot(self, handle_path: str, snapshot_data: typing.Any) -> None: + """Part of the Storage API, persist a snapshot data under the given handle. + + Args: + handle_path: The string identifying the snapshot. + snapshot_data: The data to be persisted. (as returned by Object.snapshot()). This + might be a dict/tuple/int, but must only contain 'simple' python types. + """ + # Use pickle for serialization, so the value remains portable. + raw_data = pickle.dumps(snapshot_data) + self._db.execute("REPLACE INTO snapshot VALUES (?, ?)", (handle_path, raw_data)) + + def load_snapshot(self, handle_path: str) -> typing.Any: + """Part of the Storage API, retrieve a snapshot that was previously saved. + + Args: + handle_path: The string identifying the snapshot. + + Raises: + NoSnapshotError: if there is no snapshot for the given handle_path. + """ + c = self._db.cursor() + c.execute("SELECT data FROM snapshot WHERE handle=?", (handle_path,)) + row = c.fetchone() + if row: + return pickle.loads(row[0]) + raise NoSnapshotError(handle_path) + + def drop_snapshot(self, handle_path: str): + """Part of the Storage API, remove a snapshot that was previously saved. + + Dropping a snapshot that doesn't exist is treated as a no-op. + """ + self._db.execute("DELETE FROM snapshot WHERE handle=?", (handle_path,)) + + def list_snapshots(self) -> typing.Generator[str, None, None]: + """Return the name of all snapshots that are currently saved.""" + c = self._db.cursor() + c.execute("SELECT handle FROM snapshot") + while True: + rows = c.fetchmany() + if not rows: + break + for row in rows: + yield row[0] + + def save_notice(self, event_path: str, observer_path: str, method_name: str) -> None: + """Part of the Storage API, record an notice (event and observer).""" + self._db.execute('INSERT INTO notice VALUES (NULL, ?, ?, ?)', + (event_path, observer_path, method_name)) + + def drop_notice(self, event_path: str, observer_path: str, method_name: str) -> None: + """Part of the Storage API, remove a notice that was previously recorded.""" + self._db.execute(''' + DELETE FROM notice + WHERE event_path=? + AND observer_path=? + AND method_name=? + ''', (event_path, observer_path, method_name)) + + def notices(self, event_path: str = None) ->\ + typing.Generator[typing.Tuple[str, str, str], None, None]: + """Part of the Storage API, return all notices that begin with event_path. + + Args: + event_path: If supplied, will only yield events that match event_path. If not + supplied (or None/'') will return all events. + + Returns: + Iterable of (event_path, observer_path, method_name) tuples + """ + if event_path: + c = self._db.execute(''' + SELECT event_path, observer_path, method_name + FROM notice + WHERE event_path=? + ORDER BY sequence + ''', (event_path,)) + else: + c = self._db.execute(''' + SELECT event_path, observer_path, method_name + FROM notice + ORDER BY sequence + ''') + while True: + rows = c.fetchmany() + if not rows: + break + for row in rows: + yield tuple(row) + + +class JujuStorage: + """Storing the content tracked by the Framework in Juju. + + This uses :class:`_JujuStorageBackend` to interact with state-get/state-set + as the way to store state for the framework and for components. + """ + + NOTICE_KEY = "#notices#" + + def __init__(self, backend: '_JujuStorageBackend' = None): + self._backend = backend + if backend is None: + self._backend = _JujuStorageBackend() + + def close(self): + """Part of the Storage API, close the storage backend. + + Nothing to be done for Juju backend, as it's transactional. + """ + + def commit(self): + """Part of the Storage API, commit latest changes in the storage backend. + + Nothing to be done for Juju backend, as it's transactional. + """ + + def save_snapshot(self, handle_path: str, snapshot_data: typing.Any) -> None: + """Part of the Storage API, persist a snapshot data under the given handle. + + Args: + handle_path: The string identifying the snapshot. + snapshot_data: The data to be persisted. (as returned by Object.snapshot()). This + might be a dict/tuple/int, but must only contain 'simple' python types. + """ + self._backend.set(handle_path, snapshot_data) + + def load_snapshot(self, handle_path): + """Part of the Storage API, retrieve a snapshot that was previously saved. + + Args: + handle_path: The string identifying the snapshot. + + Raises: + NoSnapshotError: if there is no snapshot for the given handle_path. + """ + try: + content = self._backend.get(handle_path) + except KeyError: + raise NoSnapshotError(handle_path) + return content + + def drop_snapshot(self, handle_path): + """Part of the Storage API, remove a snapshot that was previously saved. + + Dropping a snapshot that doesn't exist is treated as a no-op. + """ + self._backend.delete(handle_path) + + def save_notice(self, event_path: str, observer_path: str, method_name: str): + """Part of the Storage API, record an notice (event and observer).""" + notice_list = self._load_notice_list() + notice_list.append([event_path, observer_path, method_name]) + self._save_notice_list(notice_list) + + def drop_notice(self, event_path: str, observer_path: str, method_name: str): + """Part of the Storage API, remove a notice that was previously recorded.""" + notice_list = self._load_notice_list() + notice_list.remove([event_path, observer_path, method_name]) + self._save_notice_list(notice_list) + + def notices(self, event_path: str = None): + """Part of the Storage API, return all notices that begin with event_path. + + Args: + event_path: If supplied, will only yield events that match event_path. If not + supplied (or None/'') will return all events. + + Returns: + Iterable of (event_path, observer_path, method_name) tuples + """ + notice_list = self._load_notice_list() + for row in notice_list: + if event_path and row[0] != event_path: + continue + yield tuple(row) + + def _load_notice_list(self) -> typing.List[typing.Tuple[str]]: + """Load a notice list from current key. + + Returns: + List of (event_path, observer_path, method_name) tuples; empty if no key or is None. + """ + try: + notice_list = self._backend.get(self.NOTICE_KEY) + except KeyError: + return [] + if notice_list is None: + return [] + return notice_list + + def _save_notice_list(self, notices: typing.List[typing.Tuple[str]]) -> None: + """Save a notice list under current key. + + Args: + notices: List of (event_path, observer_path, method_name) tuples. + """ + self._backend.set(self.NOTICE_KEY, notices) + + +class _SimpleLoader(getattr(yaml, 'CSafeLoader', yaml.SafeLoader)): + """Handle a couple basic python types. + + yaml.SafeLoader can handle all the basic int/float/dict/set/etc that we want. The only one + that it *doesn't* handle is tuples. We don't want to support arbitrary types, so we just + subclass SafeLoader and add tuples back in. + """ + # Taken from the example at: + # https://stackoverflow.com/questions/9169025/how-can-i-add-a-python-tuple-to-a-yaml-file-using-pyyaml + + construct_python_tuple = yaml.Loader.construct_python_tuple + + +_SimpleLoader.add_constructor( + u'tag:yaml.org,2002:python/tuple', + _SimpleLoader.construct_python_tuple) + + +class _SimpleDumper(getattr(yaml, 'CSafeDumper', yaml.SafeDumper)): + """Add types supported by 'marshal'. + + YAML can support arbitrary types, but that is generally considered unsafe (like pickle). So + we want to only support dumping out types that are safe to load. + """ + + +_SimpleDumper.represent_tuple = yaml.Dumper.represent_tuple +_SimpleDumper.add_representer(tuple, _SimpleDumper.represent_tuple) + + +def juju_backend_available() -> bool: + """Check if Juju state storage is available.""" + p = shutil.which('state-get') + return p is not None + + +class _JujuStorageBackend: + """Implements the interface from the Operator framework to Juju's state-get/set/etc.""" + + def set(self, key: str, value: typing.Any) -> None: + """Set a key to a given value. + + Args: + key: The string key that will be used to find the value later + value: Arbitrary content that will be returned by get(). + + Raises: + CalledProcessError: if 'state-set' returns an error code. + """ + # default_flow_style=None means that it can use Block for + # complex types (types that have nested types) but use flow + # for simple types (like an array). Not all versions of PyYAML + # have the same default style. + encoded_value = yaml.dump(value, Dumper=_SimpleDumper, default_flow_style=None) + content = yaml.dump( + {key: encoded_value}, encoding='utf8', default_style='|', + default_flow_style=False, + Dumper=_SimpleDumper) + _run(["state-set", "--file", "-"], input=content, check=True) + + def get(self, key: str) -> typing.Any: + """Get the bytes value associated with a given key. + + Args: + key: The string key that will be used to find the value + Raises: + CalledProcessError: if 'state-get' returns an error code. + """ + # We don't capture stderr here so it can end up in debug logs. + p = _run(["state-get", key], stdout=subprocess.PIPE, check=True, universal_newlines=True) + if p.stdout == '' or p.stdout == '\n': + raise KeyError(key) + return yaml.load(p.stdout, Loader=_SimpleLoader) + + def delete(self, key: str) -> None: + """Remove a key from being tracked. + + Args: + key: The key to stop storing + Raises: + CalledProcessError: if 'state-delete' returns an error code. + """ + _run(["state-delete", key], check=True) + + +class NoSnapshotError(Exception): + """Exception to flag that there is no snapshot for the given handle_path.""" + + def __init__(self, handle_path): + self.handle_path = handle_path + + def __str__(self): + return 'no snapshot data found for {} object'.format(self.handle_path) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/testing.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/testing.py new file mode 100644 index 00000000..e70bc98f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/testing.py @@ -0,0 +1,826 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Infrastructure to build unittests for Charms using the Operator Framework.""" + +import inspect +import pathlib +import random +import tempfile +import typing +import yaml +from contextlib import contextmanager +from textwrap import dedent + +from ops import ( + charm, + framework, + model, + storage, +) + + +# OptionalYAML is something like metadata.yaml or actions.yaml. You can +# pass in a file-like object or the string directly. +OptionalYAML = typing.Optional[typing.Union[str, typing.TextIO]] + + +# noinspection PyProtectedMember +class Harness: + """This class represents a way to build up the model that will drive a test suite. + + The model that is created is from the viewpoint of the charm that you are testing. + + Example:: + + harness = Harness(MyCharm) + # Do initial setup here + relation_id = harness.add_relation('db', 'postgresql') + # Now instantiate the charm to see events as the model changes + harness.begin() + harness.add_relation_unit(relation_id, 'postgresql/0') + harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) + # Check that charm has properly handled the relation_joined event for postgresql/0 + self.assertEqual(harness.charm. ...) + + Args: + charm_cls: The Charm class that you'll be testing. + meta: charm.CharmBase is a A string or file-like object containing the contents of + metadata.yaml. If not supplied, we will look for a 'metadata.yaml' file in the + parent directory of the Charm, and if not found fall back to a trivial + 'name: test-charm' metadata. + actions: A string or file-like object containing the contents of + actions.yaml. If not supplied, we will look for a 'actions.yaml' file in the + parent directory of the Charm. + config: A string or file-like object containing the contents of + config.yaml. If not supplied, we will look for a 'config.yaml' file in the + parent directory of the Charm. + """ + + def __init__( + self, + charm_cls: typing.Type[charm.CharmBase], + *, + meta: OptionalYAML = None, + actions: OptionalYAML = None, + config: OptionalYAML = None): + self._charm_cls = charm_cls + self._charm = None + self._charm_dir = 'no-disk-path' # this may be updated by _create_meta + self._meta = self._create_meta(meta, actions) + self._unit_name = self._meta.name + '/0' + self._framework = None + self._hooks_enabled = True + self._relation_id_counter = 0 + self._backend = _TestingModelBackend(self._unit_name, self._meta) + self._model = model.Model(self._meta, self._backend) + self._storage = storage.SQLiteStorage(':memory:') + self._oci_resources = {} + self._framework = framework.Framework( + self._storage, self._charm_dir, self._meta, self._model) + self._update_config(key_values=self._load_config_defaults(config)) + + @property + def charm(self) -> charm.CharmBase: + """Return the instance of the charm class that was passed to __init__. + + Note that the Charm is not instantiated until you have called + :meth:`.begin()`. + """ + return self._charm + + @property + def model(self) -> model.Model: + """Return the :class:`~ops.model.Model` that is being driven by this Harness.""" + return self._model + + @property + def framework(self) -> framework.Framework: + """Return the Framework that is being driven by this Harness.""" + return self._framework + + def begin(self) -> None: + """Instantiate the Charm and start handling events. + + Before calling :meth:`begin`, there is no Charm instance, so changes to the Model won't + emit events. You must call :meth:`.begin` before :attr:`.charm` is valid. + """ + if self._charm is not None: + raise RuntimeError('cannot call the begin method on the harness more than once') + + # The Framework adds attributes to class objects for events, etc. As such, we can't re-use + # the original class against multiple Frameworks. So create a locally defined class + # and register it. + # TODO: jam 2020-03-16 We are looking to changes this to Instance attributes instead of + # Class attributes which should clean up this ugliness. The API can stay the same + class TestEvents(self._charm_cls.on.__class__): + pass + + TestEvents.__name__ = self._charm_cls.on.__class__.__name__ + + class TestCharm(self._charm_cls): + on = TestEvents() + + # Note: jam 2020-03-01 This is so that errors in testing say MyCharm has no attribute foo, + # rather than TestCharm has no attribute foo. + TestCharm.__name__ = self._charm_cls.__name__ + self._charm = TestCharm(self._framework) + + def begin_with_initial_hooks(self) -> None: + """Called when you want the Harness to fire the same hooks that Juju would fire at startup. + + This triggers install, relation-created, config-changed, start, and any relation-joined + hooks. Based on what relations have been defined before you called begin(). + Note that all of these are fired before returning control to the test suite, so if you + want to introspect what happens at each step, you need to fire them directly + (eg Charm.on.install.emit()). + + To use this with all the normal hooks, you should instantiate the harness, setup any + relations that you want active when the charm starts, and then call this method. + + Example:: + + harness = Harness(MyCharm) + # Do initial setup here + relation_id = harness.add_relation('db', 'postgresql') + harness.add_relation_unit(relation_id, 'postgresql/0') + harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) + harness.set_leader(True) + harness.update_config({'initial': 'config'}) + harness.begin_with_initial_hooks() + # This will cause + # install, db-relation-created('postgresql'), leader-elected, config-changed, start + # db-relation-joined('postrgesql/0'), db-relation-changed('postgresql/0') + # To be fired. + """ + self.begin() + # TODO: jam 2020-08-03 This should also handle storage-attached hooks once we have support + # for dealing with storage. + self._charm.on.install.emit() + # Juju itself iterates what relation to fire based on a map[int]relation, so it doesn't + # guarantee a stable ordering between relation events. It *does* give a stable ordering + # of joined units for a given relation. + items = list(self._meta.relations.items()) + random.shuffle(items) + this_app_name = self._meta.name + for relname, rel_meta in items: + if rel_meta.role == charm.RelationRole.peer: + # If the user has directly added a relation, leave it be, but otherwise ensure + # that peer relations are always established at before leader-elected. + rel_ids = self._backend._relation_ids_map.get(relname) + if rel_ids is None: + self.add_relation(relname, self._meta.name) + else: + random.shuffle(rel_ids) + for rel_id in rel_ids: + self._emit_relation_created(relname, rel_id, this_app_name) + else: + rel_ids = self._backend._relation_ids_map.get(relname, []) + random.shuffle(rel_ids) + for rel_id in rel_ids: + app_name = self._backend._relation_app_and_units[rel_id]["app"] + self._emit_relation_created(relname, rel_id, app_name) + if self._backend._is_leader: + self._charm.on.leader_elected.emit() + else: + self._charm.on.leader_settings_changed.emit() + self._charm.on.config_changed.emit() + self._charm.on.start.emit() + all_ids = list(self._backend._relation_names.items()) + random.shuffle(all_ids) + for rel_id, rel_name in all_ids: + rel_app_and_units = self._backend._relation_app_and_units[rel_id] + app_name = rel_app_and_units["app"] + # Note: Juju *does* fire relation events for a given relation in the sorted order of + # the unit names. It also always fires relation-changed immediately after + # relation-joined for the same unit. + # Juju only fires relation-changed (app) if there is data for the related application + relation = self._model.get_relation(rel_name, rel_id) + if self._backend._relation_data[rel_id].get(app_name): + app = self._model.get_app(app_name) + self._charm.on[rel_name].relation_changed.emit( + relation, app, None) + for unit_name in sorted(rel_app_and_units["units"]): + remote_unit = self._model.get_unit(unit_name) + self._charm.on[rel_name].relation_joined.emit( + relation, remote_unit.app, remote_unit) + self._charm.on[rel_name].relation_changed.emit( + relation, remote_unit.app, remote_unit) + + def cleanup(self) -> None: + """Called by your test infrastructure to cleanup any temporary directories/files/etc. + + Currently this only needs to be called if you test with resources. But it is reasonable + to always include a `testcase.addCleanup(harness.cleanup)` just in case. + """ + self._backend._cleanup() + + def _create_meta(self, charm_metadata, action_metadata): + """Create a CharmMeta object. + + Handle the cases where a user doesn't supply explicit metadata snippets. + """ + filename = inspect.getfile(self._charm_cls) + charm_dir = pathlib.Path(filename).parents[1] + + if charm_metadata is None: + metadata_path = charm_dir / 'metadata.yaml' + if metadata_path.is_file(): + charm_metadata = metadata_path.read_text() + self._charm_dir = charm_dir + else: + # The simplest of metadata that the framework can support + charm_metadata = 'name: test-charm' + elif isinstance(charm_metadata, str): + charm_metadata = dedent(charm_metadata) + + if action_metadata is None: + actions_path = charm_dir / 'actions.yaml' + if actions_path.is_file(): + action_metadata = actions_path.read_text() + self._charm_dir = charm_dir + elif isinstance(action_metadata, str): + action_metadata = dedent(action_metadata) + + return charm.CharmMeta.from_yaml(charm_metadata, action_metadata) + + def _load_config_defaults(self, charm_config): + """Load default values from config.yaml. + + Handle the case where a user doesn't supply explicit config snippets. + """ + filename = inspect.getfile(self._charm_cls) + charm_dir = pathlib.Path(filename).parents[1] + + if charm_config is None: + config_path = charm_dir / 'config.yaml' + if config_path.is_file(): + charm_config = config_path.read_text() + self._charm_dir = charm_dir + else: + # The simplest of config that the framework can support + charm_config = '{}' + elif isinstance(charm_config, str): + charm_config = dedent(charm_config) + charm_config = yaml.load(charm_config, Loader=yaml.SafeLoader) + charm_config = charm_config.get('options', {}) + return {key: value['default'] for key, value in charm_config.items() + if 'default' in value} + + def add_oci_resource(self, resource_name: str, + contents: typing.Mapping[str, str] = None) -> None: + """Add oci resources to the backend. + + This will register an oci resource and create a temporary file for processing metadata + about the resource. A default set of values will be used for all the file contents + unless a specific contents dict is provided. + + Args: + resource_name: Name of the resource to add custom contents to. + contents: Optional custom dict to write for the named resource. + """ + if not contents: + contents = {'registrypath': 'registrypath', + 'username': 'username', + 'password': 'password', + } + if resource_name not in self._meta.resources.keys(): + raise RuntimeError('Resource {} is not a defined resources'.format(resource_name)) + if self._meta.resources[resource_name].type != "oci-image": + raise RuntimeError('Resource {} is not an OCI Image'.format(resource_name)) + + as_yaml = yaml.dump(contents, Dumper=yaml.SafeDumper) + self._backend._resources_map[resource_name] = ('contents.yaml', as_yaml) + + def add_resource(self, resource_name: str, content: typing.AnyStr) -> None: + """Add content for a resource to the backend. + + This will register the content, so that a call to `Model.resources.fetch(resource_name)` + will return a path to a file containing that content. + + Args: + resource_name: The name of the resource being added + content: Either string or bytes content, which will be the content of the filename + returned by resource-get. If contents is a string, it will be encoded in utf-8 + """ + if resource_name not in self._meta.resources.keys(): + raise RuntimeError('Resource {} is not a defined resources'.format(resource_name)) + record = self._meta.resources[resource_name] + if record.type != "file": + raise RuntimeError( + 'Resource {} is not a file, but actually {}'.format(resource_name, record.type)) + filename = record.filename + if filename is None: + filename = resource_name + + self._backend._resources_map[resource_name] = (filename, content) + + def populate_oci_resources(self) -> None: + """Populate all OCI resources.""" + for name, data in self._meta.resources.items(): + if data.type == "oci-image": + self.add_oci_resource(name) + + def disable_hooks(self) -> None: + """Stop emitting hook events when the model changes. + + This can be used by developers to stop changes to the model from emitting events that + the charm will react to. Call :meth:`.enable_hooks` + to re-enable them. + """ + self._hooks_enabled = False + + def enable_hooks(self) -> None: + """Re-enable hook events from charm.on when the model is changed. + + By default hook events are enabled once you call :meth:`.begin`, + but if you have used :meth:`.disable_hooks`, this can be used to + enable them again. + """ + self._hooks_enabled = True + + @contextmanager + def hooks_disabled(self): + """A context manager to run code with hooks disabled. + + Example:: + + with harness.hooks_disabled(): + # things in here don't fire events + harness.set_leader(True) + harness.update_config(unset=['foo', 'bar']) + # things here will again fire events + """ + if self._hooks_enabled: + self.disable_hooks() + try: + yield None + finally: + self.enable_hooks() + else: + yield None + + def _next_relation_id(self): + rel_id = self._relation_id_counter + self._relation_id_counter += 1 + return rel_id + + def add_relation(self, relation_name: str, remote_app: str) -> int: + """Declare that there is a new relation between this app and `remote_app`. + + Args: + relation_name: The relation on Charm that is being related to + remote_app: The name of the application that is being related to + + Return: + The relation_id created by this add_relation. + """ + rel_id = self._next_relation_id() + self._backend._relation_ids_map.setdefault(relation_name, []).append(rel_id) + self._backend._relation_names[rel_id] = relation_name + self._backend._relation_list_map[rel_id] = [] + self._backend._relation_data[rel_id] = { + remote_app: {}, + self._backend.unit_name: {}, + self._backend.app_name: {}, + } + self._backend._relation_app_and_units[rel_id] = { + "app": remote_app, + "units": [], + } + # Reload the relation_ids list + if self._model is not None: + self._model.relations._invalidate(relation_name) + self._emit_relation_created(relation_name, rel_id, remote_app) + return rel_id + + def _emit_relation_created(self, relation_name: str, relation_id: int, + remote_app: str) -> None: + """Trigger relation-created for a given relation with a given remote application.""" + if self._charm is None or not self._hooks_enabled: + return + if self._charm is None or not self._hooks_enabled: + return + relation = self._model.get_relation(relation_name, relation_id) + app = self._model.get_app(remote_app) + self._charm.on[relation_name].relation_created.emit( + relation, app) + + def add_relation_unit(self, relation_id: int, remote_unit_name: str) -> None: + """Add a new unit to a relation. + + Example:: + + rel_id = harness.add_relation('db', 'postgresql') + harness.add_relation_unit(rel_id, 'postgresql/0') + + This will trigger a `relation_joined` event. This would naturally be + followed by a `relation_changed` event, which you can trigger with + :meth:`.update_relation_data`. This separation is artificial in the + sense that Juju will always fire the two, but is intended to make + testing relations and their data bags slightly more natural. + + Args: + relation_id: The integer relation identifier (as returned by add_relation). + remote_unit_name: A string representing the remote unit that is being added. + + Return: + None + """ + self._backend._relation_list_map[relation_id].append(remote_unit_name) + self._backend._relation_data[relation_id][remote_unit_name] = {} + # TODO: jam 2020-08-03 This is where we could assert that the unit name matches the + # application name (eg you don't have a relation to 'foo' but add units of 'bar/0' + self._backend._relation_app_and_units[relation_id]["units"].append(remote_unit_name) + relation_name = self._backend._relation_names[relation_id] + # Make sure that the Model reloads the relation_list for this relation_id, as well as + # reloading the relation data for this unit. + if self._model is not None: + remote_unit = self._model.get_unit(remote_unit_name) + relation = self._model.get_relation(relation_name, relation_id) + unit_cache = relation.data.get(remote_unit, None) + if unit_cache is not None: + unit_cache._invalidate() + self._model.relations._invalidate(relation_name) + if self._charm is None or not self._hooks_enabled: + return + self._charm.on[relation_name].relation_joined.emit( + relation, remote_unit.app, remote_unit) + + def get_relation_data(self, relation_id: int, app_or_unit: str) -> typing.Mapping: + """Get the relation data bucket for a single app or unit in a given relation. + + This ignores all of the safety checks of who can and can't see data in relations (eg, + non-leaders can't read their own application's relation data because there are no events + that keep that data up-to-date for the unit). + + Args: + relation_id: The relation whose content we want to look at. + app_or_unit: The name of the application or unit whose data we want to read + Return: + a dict containing the relation data for `app_or_unit` or None. + + Raises: + KeyError: if relation_id doesn't exist + """ + return self._backend._relation_data[relation_id].get(app_or_unit, None) + + def get_pod_spec(self) -> (typing.Mapping, typing.Mapping): + """Return the content of the pod spec as last set by the charm. + + This returns both the pod spec and any k8s_resources that were supplied. + See the signature of Model.pod.set_spec + """ + return self._backend._pod_spec + + def get_workload_version(self) -> str: + """Read the workload version that was set by the unit.""" + return self._backend._workload_version + + def set_model_name(self, name: str) -> None: + """Set the name of the Model that this is representing. + + This cannot be called once begin() has been called. But it lets you set the value that + will be returned by Model.name. + """ + if self._charm is not None: + raise RuntimeError('cannot set the Model name after begin()') + self._backend.model_name = name + + def update_relation_data( + self, + relation_id: int, + app_or_unit: str, + key_values: typing.Mapping, + ) -> None: + """Update the relation data for a given unit or application in a given relation. + + This also triggers the `relation_changed` event for this relation_id. + + Args: + relation_id: The integer relation_id representing this relation. + app_or_unit: The unit or application name that is being updated. + This can be the local or remote application. + key_values: Each key/value will be updated in the relation data. + """ + relation_name = self._backend._relation_names[relation_id] + relation = self._model.get_relation(relation_name, relation_id) + if '/' in app_or_unit: + entity = self._model.get_unit(app_or_unit) + else: + entity = self._model.get_app(app_or_unit) + rel_data = relation.data.get(entity, None) + if rel_data is not None: + # rel_data may have cached now-stale data, so _invalidate() it. + # Note, this won't cause the data to be loaded if it wasn't already. + rel_data._invalidate() + + new_values = self._backend._relation_data[relation_id][app_or_unit].copy() + for k, v in key_values.items(): + if v == '': + new_values.pop(k, None) + else: + new_values[k] = v + self._backend._relation_data[relation_id][app_or_unit] = new_values + + if app_or_unit == self._model.unit.name: + # No events for our own unit + return + if app_or_unit == self._model.app.name: + # updating our own app only generates an event if it is a peer relation and we + # aren't the leader + is_peer = self._meta.relations[relation_name].role.is_peer() + if not is_peer: + return + if self._model.unit.is_leader(): + return + self._emit_relation_changed(relation_id, app_or_unit) + + def _emit_relation_changed(self, relation_id, app_or_unit): + if self._charm is None or not self._hooks_enabled: + return + rel_name = self._backend._relation_names[relation_id] + relation = self.model.get_relation(rel_name, relation_id) + if '/' in app_or_unit: + app_name = app_or_unit.split('/')[0] + unit_name = app_or_unit + app = self.model.get_app(app_name) + unit = self.model.get_unit(unit_name) + args = (relation, app, unit) + else: + app_name = app_or_unit + app = self.model.get_app(app_name) + args = (relation, app) + self._charm.on[rel_name].relation_changed.emit(*args) + + def _update_config( + self, + key_values: typing.Mapping[str, str] = None, + unset: typing.Iterable[str] = (), + ) -> None: + """Update the config as seen by the charm. + + This will *not* trigger a `config_changed` event, and is intended for internal use. + + Note that the `key_values` mapping will only add or update configuration items. + To remove existing ones, see the `unset` parameter. + + Args: + key_values: A Mapping of key:value pairs to update in config. + unset: An iterable of keys to remove from Config. (Note that this does + not currently reset the config values to the default defined in config.yaml.) + """ + # NOTE: jam 2020-03-01 Note that this sort of works "by accident". Config + # is a LazyMapping, but its _load returns a dict and this method mutates + # the dict that Config is caching. Arguably we should be doing some sort + # of charm.framework.model.config._invalidate() + config = self._backend._config + if key_values is not None: + for key, value in key_values.items(): + config[key] = value + for key in unset: + config.pop(key, None) + + def update_config( + self, + key_values: typing.Mapping[str, str] = None, + unset: typing.Iterable[str] = (), + ) -> None: + """Update the config as seen by the charm. + + This will trigger a `config_changed` event. + + Note that the `key_values` mapping will only add or update configuration items. + To remove existing ones, see the `unset` parameter. + + Args: + key_values: A Mapping of key:value pairs to update in config. + unset: An iterable of keys to remove from Config. (Note that this does + not currently reset the config values to the default defined in config.yaml.) + """ + self._update_config(key_values, unset) + if self._charm is None or not self._hooks_enabled: + return + self._charm.on.config_changed.emit() + + def set_leader(self, is_leader: bool = True) -> None: + """Set whether this unit is the leader or not. + + If this charm becomes a leader then `leader_elected` will be triggered. + + Args: + is_leader: True/False as to whether this unit is the leader. + """ + was_leader = self._backend._is_leader + self._backend._is_leader = is_leader + # Note: jam 2020-03-01 currently is_leader is cached at the ModelBackend level, not in + # the Model objects, so this automatically gets noticed. + if is_leader and not was_leader and self._charm is not None and self._hooks_enabled: + self._charm.on.leader_elected.emit() + + def _get_backend_calls(self, reset: bool = True) -> list: + """Return the calls that we have made to the TestingModelBackend. + + This is useful mostly for testing the framework itself, so that we can assert that we + do/don't trigger extra calls. + + Args: + reset: If True, reset the calls list back to empty, if false, the call list is + preserved. + + Return: + ``[(call1, args...), (call2, args...)]`` + """ + calls = self._backend._calls.copy() + if reset: + self._backend._calls.clear() + return calls + + +def _record_calls(cls): + """Replace methods on cls with methods that record that they have been called. + + Iterate all attributes of cls, and for public methods, replace them with a wrapped method + that records the method called along with the arguments and keyword arguments. + """ + for meth_name, orig_method in cls.__dict__.items(): + if meth_name.startswith('_'): + continue + + def decorator(orig_method): + def wrapped(self, *args, **kwargs): + full_args = (orig_method.__name__,) + args + if kwargs: + full_args = full_args + (kwargs,) + self._calls.append(full_args) + return orig_method(self, *args, **kwargs) + return wrapped + + setattr(cls, meth_name, decorator(orig_method)) + return cls + + +class _ResourceEntry: + """Tracks the contents of a Resource.""" + + def __init__(self, resource_name): + self.name = resource_name + + +@_record_calls +class _TestingModelBackend: + """This conforms to the interface for ModelBackend but provides canned data. + + DO NOT use this class directly, it is used by `Harness`_ to drive the model. + `Harness`_ is responsible for maintaining the internal consistency of the values here, + as the only public methods of this type are for implementing ModelBackend. + """ + + def __init__(self, unit_name, meta): + self.unit_name = unit_name + self.app_name = self.unit_name.split('/')[0] + self.model_name = None + self._calls = [] + self._meta = meta + self._is_leader = None + self._relation_ids_map = {} # relation name to [relation_ids,...] + self._relation_names = {} # reverse map from relation_id to relation_name + self._relation_list_map = {} # relation_id: [unit_name,...] + self._relation_data = {} # {relation_id: {name: data}} + # {relation_id: {"app": app_name, "units": ["app/0",...]} + self._relation_app_and_units = {} + self._config = {} + self._is_leader = False + self._resources_map = {} # {resource_name: resource_content} + self._pod_spec = None + self._app_status = {'status': 'unknown', 'message': ''} + self._unit_status = {'status': 'maintenance', 'message': ''} + self._workload_version = None + self._resource_dir = None + + def _cleanup(self): + if self._resource_dir is not None: + self._resource_dir.cleanup() + self._resource_dir = None + + def _get_resource_dir(self) -> pathlib.Path: + if self._resource_dir is None: + # In actual Juju, the resource path for a charm's resource is + # $AGENT_DIR/resources/$RESOURCE_NAME/$RESOURCE_FILENAME + # However, charms shouldn't depend on this. + self._resource_dir = tempfile.TemporaryDirectory(prefix='tmp-ops-test-resource-') + return pathlib.Path(self._resource_dir.name) + + def relation_ids(self, relation_name): + try: + return self._relation_ids_map[relation_name] + except KeyError as e: + if relation_name not in self._meta.relations: + raise model.ModelError('{} is not a known relation'.format(relation_name)) from e + return [] + + def relation_list(self, relation_id): + try: + return self._relation_list_map[relation_id] + except KeyError as e: + raise model.RelationNotFoundError from e + + def relation_get(self, relation_id, member_name, is_app): + if is_app and '/' in member_name: + member_name = member_name.split('/')[0] + if relation_id not in self._relation_data: + raise model.RelationNotFoundError() + return self._relation_data[relation_id][member_name].copy() + + def relation_set(self, relation_id, key, value, is_app): + relation = self._relation_data[relation_id] + if is_app: + bucket_key = self.app_name + else: + bucket_key = self.unit_name + if bucket_key not in relation: + relation[bucket_key] = {} + bucket = relation[bucket_key] + if value == '': + bucket.pop(key, None) + else: + bucket[key] = value + + def config_get(self): + return self._config + + def is_leader(self): + return self._is_leader + + def application_version_set(self, version): + self._workload_version = version + + def resource_get(self, resource_name): + if resource_name not in self._resources_map: + raise model.ModelError( + "ERROR could not download resource: HTTP request failed: " + "Get https://.../units/unit-{}/resources/{}: resource#{}/{} not found".format( + self.unit_name.replace('/', '-'), resource_name, self.app_name, resource_name + )) + filename, contents = self._resources_map[resource_name] + resource_dir = self._get_resource_dir() + resource_filename = resource_dir / resource_name / filename + if not resource_filename.exists(): + if isinstance(contents, bytes): + mode = 'wb' + else: + mode = 'wt' + resource_filename.parent.mkdir(exist_ok=True) + with resource_filename.open(mode=mode) as resource_file: + resource_file.write(contents) + return resource_filename + + def pod_spec_set(self, spec, k8s_resources): + self._pod_spec = (spec, k8s_resources) + + def status_get(self, *, is_app=False): + if is_app: + return self._app_status + else: + return self._unit_status + + def status_set(self, status, message='', *, is_app=False): + if is_app: + self._app_status = {'status': status, 'message': message} + else: + self._unit_status = {'status': status, 'message': message} + + def storage_list(self, name): + raise NotImplementedError(self.storage_list) + + def storage_get(self, storage_name_id, attribute): + raise NotImplementedError(self.storage_get) + + def storage_add(self, name, count=1): + raise NotImplementedError(self.storage_add) + + def action_get(self): + raise NotImplementedError(self.action_get) + + def action_set(self, results): + raise NotImplementedError(self.action_set) + + def action_log(self, message): + raise NotImplementedError(self.action_log) + + def action_fail(self, message=''): + raise NotImplementedError(self.action_fail) + + def network_get(self, endpoint_name, relation_id=None): + raise NotImplementedError(self.network_get) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/version.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/version.py new file mode 100644 index 00000000..db9e9817 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/ops/version.py @@ -0,0 +1,3 @@ +# this is a generated file + +version = '1.1.0' diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/__init__.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/__init__.py new file mode 100644 index 00000000..86d07b55 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/__init__.py @@ -0,0 +1,427 @@ + +from .error import * + +from .tokens import * +from .events import * +from .nodes import * + +from .loader import * +from .dumper import * + +__version__ = '5.4.1' +try: + from .cyaml import * + __with_libyaml__ = True +except ImportError: + __with_libyaml__ = False + +import io + +#------------------------------------------------------------------------------ +# Warnings control +#------------------------------------------------------------------------------ + +# 'Global' warnings state: +_warnings_enabled = { + 'YAMLLoadWarning': True, +} + +# Get or set global warnings' state +def warnings(settings=None): + if settings is None: + return _warnings_enabled + + if type(settings) is dict: + for key in settings: + if key in _warnings_enabled: + _warnings_enabled[key] = settings[key] + +# Warn when load() is called without Loader=... +class YAMLLoadWarning(RuntimeWarning): + pass + +def load_warning(method): + if _warnings_enabled['YAMLLoadWarning'] is False: + return + + import warnings + + message = ( + "calling yaml.%s() without Loader=... is deprecated, as the " + "default Loader is unsafe. Please read " + "https://msg.pyyaml.org/load for full details." + ) % method + + warnings.warn(message, YAMLLoadWarning, stacklevel=3) + +#------------------------------------------------------------------------------ +def scan(stream, Loader=Loader): + """ + Scan a YAML stream and produce scanning tokens. + """ + loader = Loader(stream) + try: + while loader.check_token(): + yield loader.get_token() + finally: + loader.dispose() + +def parse(stream, Loader=Loader): + """ + Parse a YAML stream and produce parsing events. + """ + loader = Loader(stream) + try: + while loader.check_event(): + yield loader.get_event() + finally: + loader.dispose() + +def compose(stream, Loader=Loader): + """ + Parse the first YAML document in a stream + and produce the corresponding representation tree. + """ + loader = Loader(stream) + try: + return loader.get_single_node() + finally: + loader.dispose() + +def compose_all(stream, Loader=Loader): + """ + Parse all YAML documents in a stream + and produce corresponding representation trees. + """ + loader = Loader(stream) + try: + while loader.check_node(): + yield loader.get_node() + finally: + loader.dispose() + +def load(stream, Loader=None): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + """ + if Loader is None: + load_warning('load') + Loader = FullLoader + + loader = Loader(stream) + try: + return loader.get_single_data() + finally: + loader.dispose() + +def load_all(stream, Loader=None): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + """ + if Loader is None: + load_warning('load_all') + Loader = FullLoader + + loader = Loader(stream) + try: + while loader.check_data(): + yield loader.get_data() + finally: + loader.dispose() + +def full_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load(stream, FullLoader) + +def full_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load_all(stream, FullLoader) + +def safe_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. + """ + return load(stream, SafeLoader) + +def safe_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. + """ + return load_all(stream, SafeLoader) + +def unsafe_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load(stream, UnsafeLoader) + +def unsafe_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load_all(stream, UnsafeLoader) + +def emit(events, stream=None, Dumper=Dumper, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None): + """ + Emit YAML parsing events into a stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + stream = io.StringIO() + getvalue = stream.getvalue + dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + try: + for event in events: + dumper.emit(event) + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def serialize_all(nodes, stream=None, Dumper=Dumper, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None): + """ + Serialize a sequence of representation trees into a YAML stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + if encoding is None: + stream = io.StringIO() + else: + stream = io.BytesIO() + getvalue = stream.getvalue + dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break, + encoding=encoding, version=version, tags=tags, + explicit_start=explicit_start, explicit_end=explicit_end) + try: + dumper.open() + for node in nodes: + dumper.serialize(node) + dumper.close() + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def serialize(node, stream=None, Dumper=Dumper, **kwds): + """ + Serialize a representation tree into a YAML stream. + If stream is None, return the produced string instead. + """ + return serialize_all([node], stream, Dumper=Dumper, **kwds) + +def dump_all(documents, stream=None, Dumper=Dumper, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + """ + Serialize a sequence of Python objects into a YAML stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + if encoding is None: + stream = io.StringIO() + else: + stream = io.BytesIO() + getvalue = stream.getvalue + dumper = Dumper(stream, default_style=default_style, + default_flow_style=default_flow_style, + canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break, + encoding=encoding, version=version, tags=tags, + explicit_start=explicit_start, explicit_end=explicit_end, sort_keys=sort_keys) + try: + dumper.open() + for data in documents: + dumper.represent(data) + dumper.close() + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def dump(data, stream=None, Dumper=Dumper, **kwds): + """ + Serialize a Python object into a YAML stream. + If stream is None, return the produced string instead. + """ + return dump_all([data], stream, Dumper=Dumper, **kwds) + +def safe_dump_all(documents, stream=None, **kwds): + """ + Serialize a sequence of Python objects into a YAML stream. + Produce only basic YAML tags. + If stream is None, return the produced string instead. + """ + return dump_all(documents, stream, Dumper=SafeDumper, **kwds) + +def safe_dump(data, stream=None, **kwds): + """ + Serialize a Python object into a YAML stream. + Produce only basic YAML tags. + If stream is None, return the produced string instead. + """ + return dump_all([data], stream, Dumper=SafeDumper, **kwds) + +def add_implicit_resolver(tag, regexp, first=None, + Loader=None, Dumper=Dumper): + """ + Add an implicit scalar detector. + If an implicit scalar value matches the given regexp, + the corresponding tag is assigned to the scalar. + first is a sequence of possible initial characters or None. + """ + if Loader is None: + loader.Loader.add_implicit_resolver(tag, regexp, first) + loader.FullLoader.add_implicit_resolver(tag, regexp, first) + loader.UnsafeLoader.add_implicit_resolver(tag, regexp, first) + else: + Loader.add_implicit_resolver(tag, regexp, first) + Dumper.add_implicit_resolver(tag, regexp, first) + +def add_path_resolver(tag, path, kind=None, Loader=None, Dumper=Dumper): + """ + Add a path based resolver for the given tag. + A path is a list of keys that forms a path + to a node in the representation tree. + Keys can be string values, integers, or None. + """ + if Loader is None: + loader.Loader.add_path_resolver(tag, path, kind) + loader.FullLoader.add_path_resolver(tag, path, kind) + loader.UnsafeLoader.add_path_resolver(tag, path, kind) + else: + Loader.add_path_resolver(tag, path, kind) + Dumper.add_path_resolver(tag, path, kind) + +def add_constructor(tag, constructor, Loader=None): + """ + Add a constructor for the given tag. + Constructor is a function that accepts a Loader instance + and a node object and produces the corresponding Python object. + """ + if Loader is None: + loader.Loader.add_constructor(tag, constructor) + loader.FullLoader.add_constructor(tag, constructor) + loader.UnsafeLoader.add_constructor(tag, constructor) + else: + Loader.add_constructor(tag, constructor) + +def add_multi_constructor(tag_prefix, multi_constructor, Loader=None): + """ + Add a multi-constructor for the given tag prefix. + Multi-constructor is called for a node if its tag starts with tag_prefix. + Multi-constructor accepts a Loader instance, a tag suffix, + and a node object and produces the corresponding Python object. + """ + if Loader is None: + loader.Loader.add_multi_constructor(tag_prefix, multi_constructor) + loader.FullLoader.add_multi_constructor(tag_prefix, multi_constructor) + loader.UnsafeLoader.add_multi_constructor(tag_prefix, multi_constructor) + else: + Loader.add_multi_constructor(tag_prefix, multi_constructor) + +def add_representer(data_type, representer, Dumper=Dumper): + """ + Add a representer for the given type. + Representer is a function accepting a Dumper instance + and an instance of the given data type + and producing the corresponding representation node. + """ + Dumper.add_representer(data_type, representer) + +def add_multi_representer(data_type, multi_representer, Dumper=Dumper): + """ + Add a representer for the given type. + Multi-representer is a function accepting a Dumper instance + and an instance of the given data type or subtype + and producing the corresponding representation node. + """ + Dumper.add_multi_representer(data_type, multi_representer) + +class YAMLObjectMetaclass(type): + """ + The metaclass for YAMLObject. + """ + def __init__(cls, name, bases, kwds): + super(YAMLObjectMetaclass, cls).__init__(name, bases, kwds) + if 'yaml_tag' in kwds and kwds['yaml_tag'] is not None: + if isinstance(cls.yaml_loader, list): + for loader in cls.yaml_loader: + loader.add_constructor(cls.yaml_tag, cls.from_yaml) + else: + cls.yaml_loader.add_constructor(cls.yaml_tag, cls.from_yaml) + + cls.yaml_dumper.add_representer(cls, cls.to_yaml) + +class YAMLObject(metaclass=YAMLObjectMetaclass): + """ + An object that can dump itself to a YAML stream + and load itself from a YAML stream. + """ + + __slots__ = () # no direct instantiation, so allow immutable subclasses + + yaml_loader = [Loader, FullLoader, UnsafeLoader] + yaml_dumper = Dumper + + yaml_tag = None + yaml_flow_style = None + + @classmethod + def from_yaml(cls, loader, node): + """ + Convert a representation node to a Python object. + """ + return loader.construct_yaml_object(node, cls) + + @classmethod + def to_yaml(cls, dumper, data): + """ + Convert a Python object to a representation node. + """ + return dumper.represent_yaml_object(cls.yaml_tag, data, cls, + flow_style=cls.yaml_flow_style) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..801c0e2a72a862a33d640a576ca969b684dc8e86 GIT binary patch literal 2342916 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ÓMog`wQl-izT%Lvq6xkp2flmOG+$G)s?@ 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 z%0D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 z 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]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

UfmxZeWm1Prox@K*TY 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%0A!%*%$fv!us2mxz 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[0-9][0-9][0-9][0-9]) + -(?P[0-9][0-9]?) + -(?P[0-9][0-9]?) + (?:(?:[Tt]|[ \t]+) + (?P[0-9][0-9]?) + :(?P[0-9][0-9]) + :(?P[0-9][0-9]) + (?:\.(?P[0-9]*))? + (?:[ \t]*(?PZ|(?P[-+])(?P[0-9][0-9]?) + (?::(?P[0-9][0-9]))?))?)?$''', re.X) + + def construct_yaml_timestamp(self, node): + value = self.construct_scalar(node) + match = self.timestamp_regexp.match(node.value) + values = match.groupdict() + year = int(values['year']) + month = int(values['month']) + day = int(values['day']) + if not values['hour']: + return datetime.date(year, month, day) + hour = int(values['hour']) + minute = int(values['minute']) + second = int(values['second']) + fraction = 0 + tzinfo = None + if values['fraction']: + fraction = values['fraction'][:6] + while len(fraction) < 6: + fraction += '0' + fraction = int(fraction) + if values['tz_sign']: + tz_hour = int(values['tz_hour']) + tz_minute = int(values['tz_minute'] or 0) + delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute) + if values['tz_sign'] == '-': + delta = -delta + tzinfo = datetime.timezone(delta) + elif values['tz']: + tzinfo = datetime.timezone.utc + return datetime.datetime(year, month, day, hour, minute, second, fraction, + tzinfo=tzinfo) + + def construct_yaml_omap(self, node): + # Note: we do not check for duplicate keys, because it's too + # CPU-expensive. + omap = [] + yield omap + if not isinstance(node, SequenceNode): + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a sequence, but found %s" % node.id, node.start_mark) + for subnode in node.value: + if not isinstance(subnode, MappingNode): + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a mapping of length 1, but found %s" % subnode.id, + subnode.start_mark) + if len(subnode.value) != 1: + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a single mapping item, but found %d items" % len(subnode.value), + subnode.start_mark) + key_node, value_node = subnode.value[0] + key = self.construct_object(key_node) + value = self.construct_object(value_node) + omap.append((key, value)) + + def construct_yaml_pairs(self, node): + # Note: the same code as `construct_yaml_omap`. + pairs = [] + yield pairs + if not isinstance(node, SequenceNode): + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a sequence, but found %s" % node.id, node.start_mark) + for subnode in node.value: + if not isinstance(subnode, MappingNode): + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a mapping of length 1, but found %s" % subnode.id, + subnode.start_mark) + if len(subnode.value) != 1: + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a single mapping item, but found %d items" % len(subnode.value), + subnode.start_mark) + key_node, value_node = subnode.value[0] + key = self.construct_object(key_node) + value = self.construct_object(value_node) + pairs.append((key, value)) + + def construct_yaml_set(self, node): + data = set() + yield data + value = self.construct_mapping(node) + data.update(value) + + def construct_yaml_str(self, node): + return self.construct_scalar(node) + + def construct_yaml_seq(self, node): + data = [] + yield data + data.extend(self.construct_sequence(node)) + + def construct_yaml_map(self, node): + data = {} + yield data + value = self.construct_mapping(node) + data.update(value) + + def construct_yaml_object(self, node, cls): + data = cls.__new__(cls) + yield data + if hasattr(data, '__setstate__'): + state = self.construct_mapping(node, deep=True) + data.__setstate__(state) + else: + state = self.construct_mapping(node) + data.__dict__.update(state) + + def construct_undefined(self, node): + raise ConstructorError(None, None, + "could not determine a constructor for the tag %r" % node.tag, + node.start_mark) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:null', + SafeConstructor.construct_yaml_null) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:bool', + SafeConstructor.construct_yaml_bool) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:int', + SafeConstructor.construct_yaml_int) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:float', + SafeConstructor.construct_yaml_float) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:binary', + SafeConstructor.construct_yaml_binary) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:timestamp', + SafeConstructor.construct_yaml_timestamp) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:omap', + SafeConstructor.construct_yaml_omap) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:pairs', + SafeConstructor.construct_yaml_pairs) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:set', + SafeConstructor.construct_yaml_set) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:str', + SafeConstructor.construct_yaml_str) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:seq', + SafeConstructor.construct_yaml_seq) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:map', + SafeConstructor.construct_yaml_map) + +SafeConstructor.add_constructor(None, + SafeConstructor.construct_undefined) + +class FullConstructor(SafeConstructor): + # 'extend' is blacklisted because it is used by + # construct_python_object_apply to add `listitems` to a newly generate + # python instance + def get_state_keys_blacklist(self): + return ['^extend$', '^__.*__$'] + + def get_state_keys_blacklist_regexp(self): + if not hasattr(self, 'state_keys_blacklist_regexp'): + self.state_keys_blacklist_regexp = re.compile('(' + '|'.join(self.get_state_keys_blacklist()) + ')') + return self.state_keys_blacklist_regexp + + def construct_python_str(self, node): + return self.construct_scalar(node) + + def construct_python_unicode(self, node): + return self.construct_scalar(node) + + def construct_python_bytes(self, node): + try: + value = self.construct_scalar(node).encode('ascii') + except UnicodeEncodeError as exc: + raise ConstructorError(None, None, + "failed to convert base64 data into ascii: %s" % exc, + node.start_mark) + try: + if hasattr(base64, 'decodebytes'): + return base64.decodebytes(value) + else: + return base64.decodestring(value) + except binascii.Error as exc: + raise ConstructorError(None, None, + "failed to decode base64 data: %s" % exc, node.start_mark) + + def construct_python_long(self, node): + return self.construct_yaml_int(node) + + def construct_python_complex(self, node): + return complex(self.construct_scalar(node)) + + def construct_python_tuple(self, node): + return tuple(self.construct_sequence(node)) + + def find_python_module(self, name, mark, unsafe=False): + if not name: + raise ConstructorError("while constructing a Python module", mark, + "expected non-empty name appended to the tag", mark) + if unsafe: + try: + __import__(name) + except ImportError as exc: + raise ConstructorError("while constructing a Python module", mark, + "cannot find module %r (%s)" % (name, exc), mark) + if name not in sys.modules: + raise ConstructorError("while constructing a Python module", mark, + "module %r is not imported" % name, mark) + return sys.modules[name] + + def find_python_name(self, name, mark, unsafe=False): + if not name: + raise ConstructorError("while constructing a Python object", mark, + "expected non-empty name appended to the tag", mark) + if '.' in name: + module_name, object_name = name.rsplit('.', 1) + else: + module_name = 'builtins' + object_name = name + if unsafe: + try: + __import__(module_name) + except ImportError as exc: + raise ConstructorError("while constructing a Python object", mark, + "cannot find module %r (%s)" % (module_name, exc), mark) + if module_name not in sys.modules: + raise ConstructorError("while constructing a Python object", mark, + "module %r is not imported" % module_name, mark) + module = sys.modules[module_name] + if not hasattr(module, object_name): + raise ConstructorError("while constructing a Python object", mark, + "cannot find %r in the module %r" + % (object_name, module.__name__), mark) + return getattr(module, object_name) + + def construct_python_name(self, suffix, node): + value = self.construct_scalar(node) + if value: + raise ConstructorError("while constructing a Python name", node.start_mark, + "expected the empty value, but found %r" % value, node.start_mark) + return self.find_python_name(suffix, node.start_mark) + + def construct_python_module(self, suffix, node): + value = self.construct_scalar(node) + if value: + raise ConstructorError("while constructing a Python module", node.start_mark, + "expected the empty value, but found %r" % value, node.start_mark) + return self.find_python_module(suffix, node.start_mark) + + def make_python_instance(self, suffix, node, + args=None, kwds=None, newobj=False, unsafe=False): + if not args: + args = [] + if not kwds: + kwds = {} + cls = self.find_python_name(suffix, node.start_mark) + if not (unsafe or isinstance(cls, type)): + raise ConstructorError("while constructing a Python instance", node.start_mark, + "expected a class, but found %r" % type(cls), + node.start_mark) + if newobj and isinstance(cls, type): + return cls.__new__(cls, *args, **kwds) + else: + return cls(*args, **kwds) + + def set_python_instance_state(self, instance, state, unsafe=False): + if hasattr(instance, '__setstate__'): + instance.__setstate__(state) + else: + slotstate = {} + if isinstance(state, tuple) and len(state) == 2: + state, slotstate = state + if hasattr(instance, '__dict__'): + if not unsafe and state: + for key in state.keys(): + self.check_state_key(key) + instance.__dict__.update(state) + elif state: + slotstate.update(state) + for key, value in slotstate.items(): + if not unsafe: + self.check_state_key(key) + setattr(instance, key, value) + + def construct_python_object(self, suffix, node): + # Format: + # !!python/object:module.name { ... state ... } + instance = self.make_python_instance(suffix, node, newobj=True) + yield instance + deep = hasattr(instance, '__setstate__') + state = self.construct_mapping(node, deep=deep) + self.set_python_instance_state(instance, state) + + def construct_python_object_apply(self, suffix, node, newobj=False): + # Format: + # !!python/object/apply # (or !!python/object/new) + # args: [ ... arguments ... ] + # kwds: { ... keywords ... } + # state: ... state ... + # listitems: [ ... listitems ... ] + # dictitems: { ... dictitems ... } + # or short format: + # !!python/object/apply [ ... arguments ... ] + # The difference between !!python/object/apply and !!python/object/new + # is how an object is created, check make_python_instance for details. + if isinstance(node, SequenceNode): + args = self.construct_sequence(node, deep=True) + kwds = {} + state = {} + listitems = [] + dictitems = {} + else: + value = self.construct_mapping(node, deep=True) + args = value.get('args', []) + kwds = value.get('kwds', {}) + state = value.get('state', {}) + listitems = value.get('listitems', []) + dictitems = value.get('dictitems', {}) + instance = self.make_python_instance(suffix, node, args, kwds, newobj) + if state: + self.set_python_instance_state(instance, state) + if listitems: + instance.extend(listitems) + if dictitems: + for key in dictitems: + instance[key] = dictitems[key] + return instance + + def construct_python_object_new(self, suffix, node): + return self.construct_python_object_apply(suffix, node, newobj=True) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/none', + FullConstructor.construct_yaml_null) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bool', + FullConstructor.construct_yaml_bool) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/str', + FullConstructor.construct_python_str) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/unicode', + FullConstructor.construct_python_unicode) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bytes', + FullConstructor.construct_python_bytes) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/int', + FullConstructor.construct_yaml_int) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/long', + FullConstructor.construct_python_long) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/float', + FullConstructor.construct_yaml_float) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/complex', + FullConstructor.construct_python_complex) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/list', + FullConstructor.construct_yaml_seq) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/tuple', + FullConstructor.construct_python_tuple) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/dict', + FullConstructor.construct_yaml_map) + +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/name:', + FullConstructor.construct_python_name) + +class UnsafeConstructor(FullConstructor): + + def find_python_module(self, name, mark): + return super(UnsafeConstructor, self).find_python_module(name, mark, unsafe=True) + + def find_python_name(self, name, mark): + return super(UnsafeConstructor, self).find_python_name(name, mark, unsafe=True) + + def make_python_instance(self, suffix, node, args=None, kwds=None, newobj=False): + return super(UnsafeConstructor, self).make_python_instance( + suffix, node, args, kwds, newobj, unsafe=True) + + def set_python_instance_state(self, instance, state): + return super(UnsafeConstructor, self).set_python_instance_state( + instance, state, unsafe=True) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/module:', + UnsafeConstructor.construct_python_module) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object:', + UnsafeConstructor.construct_python_object) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/new:', + UnsafeConstructor.construct_python_object_new) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/apply:', + UnsafeConstructor.construct_python_object_apply) + +# Constructor is same as UnsafeConstructor. Need to leave this in place in case +# people have extended it directly. +class Constructor(UnsafeConstructor): + pass diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/cyaml.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/cyaml.py new file mode 100644 index 00000000..0c213458 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/cyaml.py @@ -0,0 +1,101 @@ + +__all__ = [ + 'CBaseLoader', 'CSafeLoader', 'CFullLoader', 'CUnsafeLoader', 'CLoader', + 'CBaseDumper', 'CSafeDumper', 'CDumper' +] + +from yaml._yaml import CParser, CEmitter + +from .constructor import * + +from .serializer import * +from .representer import * + +from .resolver import * + +class CBaseLoader(CParser, BaseConstructor, BaseResolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + BaseConstructor.__init__(self) + BaseResolver.__init__(self) + +class CSafeLoader(CParser, SafeConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + SafeConstructor.__init__(self) + Resolver.__init__(self) + +class CFullLoader(CParser, FullConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class CUnsafeLoader(CParser, UnsafeConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + UnsafeConstructor.__init__(self) + Resolver.__init__(self) + +class CLoader(CParser, Constructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + Constructor.__init__(self) + Resolver.__init__(self) + +class CBaseDumper(CEmitter, BaseRepresenter, BaseResolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class CSafeDumper(CEmitter, SafeRepresenter, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + SafeRepresenter.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class CDumper(CEmitter, Serializer, Representer, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/dumper.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/dumper.py new file mode 100644 index 00000000..6aadba55 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/dumper.py @@ -0,0 +1,62 @@ + +__all__ = ['BaseDumper', 'SafeDumper', 'Dumper'] + +from .emitter import * +from .serializer import * +from .representer import * +from .resolver import * + +class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + SafeRepresenter.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class Dumper(Emitter, Serializer, Representer, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/emitter.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/emitter.py new file mode 100644 index 00000000..a664d011 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/emitter.py @@ -0,0 +1,1137 @@ + +# Emitter expects events obeying the following grammar: +# stream ::= STREAM-START document* STREAM-END +# document ::= DOCUMENT-START node DOCUMENT-END +# node ::= SCALAR | sequence | mapping +# sequence ::= SEQUENCE-START node* SEQUENCE-END +# mapping ::= MAPPING-START (node node)* MAPPING-END + +__all__ = ['Emitter', 'EmitterError'] + +from .error import YAMLError +from .events import * + +class EmitterError(YAMLError): + pass + +class ScalarAnalysis: + def __init__(self, scalar, empty, multiline, + allow_flow_plain, allow_block_plain, + allow_single_quoted, allow_double_quoted, + allow_block): + self.scalar = scalar + self.empty = empty + self.multiline = multiline + self.allow_flow_plain = allow_flow_plain + self.allow_block_plain = allow_block_plain + self.allow_single_quoted = allow_single_quoted + self.allow_double_quoted = allow_double_quoted + self.allow_block = allow_block + +class Emitter: + + DEFAULT_TAG_PREFIXES = { + '!' : '!', + 'tag:yaml.org,2002:' : '!!', + } + + def __init__(self, stream, canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None): + + # The stream should have the methods `write` and possibly `flush`. + self.stream = stream + + # Encoding can be overridden by STREAM-START. + self.encoding = None + + # Emitter is a state machine with a stack of states to handle nested + # structures. + self.states = [] + self.state = self.expect_stream_start + + # Current event and the event queue. + self.events = [] + self.event = None + + # The current indentation level and the stack of previous indents. + self.indents = [] + self.indent = None + + # Flow level. + self.flow_level = 0 + + # Contexts. + self.root_context = False + self.sequence_context = False + self.mapping_context = False + self.simple_key_context = False + + # Characteristics of the last emitted character: + # - current position. + # - is it a whitespace? + # - is it an indention character + # (indentation space, '-', '?', or ':')? + self.line = 0 + self.column = 0 + self.whitespace = True + self.indention = True + + # Whether the document requires an explicit document indicator + self.open_ended = False + + # Formatting details. + self.canonical = canonical + self.allow_unicode = allow_unicode + self.best_indent = 2 + if indent and 1 < indent < 10: + self.best_indent = indent + self.best_width = 80 + if width and width > self.best_indent*2: + self.best_width = width + self.best_line_break = '\n' + if line_break in ['\r', '\n', '\r\n']: + self.best_line_break = line_break + + # Tag prefixes. + self.tag_prefixes = None + + # Prepared anchor and tag. + self.prepared_anchor = None + self.prepared_tag = None + + # Scalar analysis and style. + self.analysis = None + self.style = None + + def dispose(self): + # Reset the state attributes (to clear self-references) + self.states = [] + self.state = None + + def emit(self, event): + self.events.append(event) + while not self.need_more_events(): + self.event = self.events.pop(0) + self.state() + self.event = None + + # In some cases, we wait for a few next events before emitting. + + def need_more_events(self): + if not self.events: + return True + event = self.events[0] + if isinstance(event, DocumentStartEvent): + return self.need_events(1) + elif isinstance(event, SequenceStartEvent): + return self.need_events(2) + elif isinstance(event, MappingStartEvent): + return self.need_events(3) + else: + return False + + def need_events(self, count): + level = 0 + for event in self.events[1:]: + if isinstance(event, (DocumentStartEvent, CollectionStartEvent)): + level += 1 + elif isinstance(event, (DocumentEndEvent, CollectionEndEvent)): + level -= 1 + elif isinstance(event, StreamEndEvent): + level = -1 + if level < 0: + return False + return (len(self.events) < count+1) + + def increase_indent(self, flow=False, indentless=False): + self.indents.append(self.indent) + if self.indent is None: + if flow: + self.indent = self.best_indent + else: + self.indent = 0 + elif not indentless: + self.indent += self.best_indent + + # States. + + # Stream handlers. + + def expect_stream_start(self): + if isinstance(self.event, StreamStartEvent): + if self.event.encoding and not hasattr(self.stream, 'encoding'): + self.encoding = self.event.encoding + self.write_stream_start() + self.state = self.expect_first_document_start + else: + raise EmitterError("expected StreamStartEvent, but got %s" + % self.event) + + def expect_nothing(self): + raise EmitterError("expected nothing, but got %s" % self.event) + + # Document handlers. + + def expect_first_document_start(self): + return self.expect_document_start(first=True) + + def expect_document_start(self, first=False): + if isinstance(self.event, DocumentStartEvent): + if (self.event.version or self.event.tags) and self.open_ended: + self.write_indicator('...', True) + self.write_indent() + if self.event.version: + version_text = self.prepare_version(self.event.version) + self.write_version_directive(version_text) + self.tag_prefixes = self.DEFAULT_TAG_PREFIXES.copy() + if self.event.tags: + handles = sorted(self.event.tags.keys()) + for handle in handles: + prefix = self.event.tags[handle] + self.tag_prefixes[prefix] = handle + handle_text = self.prepare_tag_handle(handle) + prefix_text = self.prepare_tag_prefix(prefix) + self.write_tag_directive(handle_text, prefix_text) + implicit = (first and not self.event.explicit and not self.canonical + and not self.event.version and not self.event.tags + and not self.check_empty_document()) + if not implicit: + self.write_indent() + self.write_indicator('---', True) + if self.canonical: + self.write_indent() + self.state = self.expect_document_root + elif isinstance(self.event, StreamEndEvent): + if self.open_ended: + self.write_indicator('...', True) + self.write_indent() + self.write_stream_end() + self.state = self.expect_nothing + else: + raise EmitterError("expected DocumentStartEvent, but got %s" + % self.event) + + def expect_document_end(self): + if isinstance(self.event, DocumentEndEvent): + self.write_indent() + if self.event.explicit: + self.write_indicator('...', True) + self.write_indent() + self.flush_stream() + self.state = self.expect_document_start + else: + raise EmitterError("expected DocumentEndEvent, but got %s" + % self.event) + + def expect_document_root(self): + self.states.append(self.expect_document_end) + self.expect_node(root=True) + + # Node handlers. + + def expect_node(self, root=False, sequence=False, mapping=False, + simple_key=False): + self.root_context = root + self.sequence_context = sequence + self.mapping_context = mapping + self.simple_key_context = simple_key + if isinstance(self.event, AliasEvent): + self.expect_alias() + elif isinstance(self.event, (ScalarEvent, CollectionStartEvent)): + self.process_anchor('&') + self.process_tag() + if isinstance(self.event, ScalarEvent): + self.expect_scalar() + elif isinstance(self.event, SequenceStartEvent): + if self.flow_level or self.canonical or self.event.flow_style \ + or self.check_empty_sequence(): + self.expect_flow_sequence() + else: + self.expect_block_sequence() + elif isinstance(self.event, MappingStartEvent): + if self.flow_level or self.canonical or self.event.flow_style \ + or self.check_empty_mapping(): + self.expect_flow_mapping() + else: + self.expect_block_mapping() + else: + raise EmitterError("expected NodeEvent, but got %s" % self.event) + + def expect_alias(self): + if self.event.anchor is None: + raise EmitterError("anchor is not specified for alias") + self.process_anchor('*') + self.state = self.states.pop() + + def expect_scalar(self): + self.increase_indent(flow=True) + self.process_scalar() + self.indent = self.indents.pop() + self.state = self.states.pop() + + # Flow sequence handlers. + + def expect_flow_sequence(self): + self.write_indicator('[', True, whitespace=True) + self.flow_level += 1 + self.increase_indent(flow=True) + self.state = self.expect_first_flow_sequence_item + + def expect_first_flow_sequence_item(self): + if isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + self.write_indicator(']', False) + self.state = self.states.pop() + else: + if self.canonical or self.column > self.best_width: + self.write_indent() + self.states.append(self.expect_flow_sequence_item) + self.expect_node(sequence=True) + + def expect_flow_sequence_item(self): + if isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + if self.canonical: + self.write_indicator(',', False) + self.write_indent() + self.write_indicator(']', False) + self.state = self.states.pop() + else: + self.write_indicator(',', False) + if self.canonical or self.column > self.best_width: + self.write_indent() + self.states.append(self.expect_flow_sequence_item) + self.expect_node(sequence=True) + + # Flow mapping handlers. + + def expect_flow_mapping(self): + self.write_indicator('{', True, whitespace=True) + self.flow_level += 1 + self.increase_indent(flow=True) + self.state = self.expect_first_flow_mapping_key + + def expect_first_flow_mapping_key(self): + if isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + self.write_indicator('}', False) + self.state = self.states.pop() + else: + if self.canonical or self.column > self.best_width: + self.write_indent() + if not self.canonical and self.check_simple_key(): + self.states.append(self.expect_flow_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True) + self.states.append(self.expect_flow_mapping_value) + self.expect_node(mapping=True) + + def expect_flow_mapping_key(self): + if isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + if self.canonical: + self.write_indicator(',', False) + self.write_indent() + self.write_indicator('}', False) + self.state = self.states.pop() + else: + self.write_indicator(',', False) + if self.canonical or self.column > self.best_width: + self.write_indent() + if not self.canonical and self.check_simple_key(): + self.states.append(self.expect_flow_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True) + self.states.append(self.expect_flow_mapping_value) + self.expect_node(mapping=True) + + def expect_flow_mapping_simple_value(self): + self.write_indicator(':', False) + self.states.append(self.expect_flow_mapping_key) + self.expect_node(mapping=True) + + def expect_flow_mapping_value(self): + if self.canonical or self.column > self.best_width: + self.write_indent() + self.write_indicator(':', True) + self.states.append(self.expect_flow_mapping_key) + self.expect_node(mapping=True) + + # Block sequence handlers. + + def expect_block_sequence(self): + indentless = (self.mapping_context and not self.indention) + self.increase_indent(flow=False, indentless=indentless) + self.state = self.expect_first_block_sequence_item + + def expect_first_block_sequence_item(self): + return self.expect_block_sequence_item(first=True) + + def expect_block_sequence_item(self, first=False): + if not first and isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.state = self.states.pop() + else: + self.write_indent() + self.write_indicator('-', True, indention=True) + self.states.append(self.expect_block_sequence_item) + self.expect_node(sequence=True) + + # Block mapping handlers. + + def expect_block_mapping(self): + self.increase_indent(flow=False) + self.state = self.expect_first_block_mapping_key + + def expect_first_block_mapping_key(self): + return self.expect_block_mapping_key(first=True) + + def expect_block_mapping_key(self, first=False): + if not first and isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.state = self.states.pop() + else: + self.write_indent() + if self.check_simple_key(): + self.states.append(self.expect_block_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True, indention=True) + self.states.append(self.expect_block_mapping_value) + self.expect_node(mapping=True) + + def expect_block_mapping_simple_value(self): + self.write_indicator(':', False) + self.states.append(self.expect_block_mapping_key) + self.expect_node(mapping=True) + + def expect_block_mapping_value(self): + self.write_indent() + self.write_indicator(':', True, indention=True) + self.states.append(self.expect_block_mapping_key) + self.expect_node(mapping=True) + + # Checkers. + + def check_empty_sequence(self): + return (isinstance(self.event, SequenceStartEvent) and self.events + and isinstance(self.events[0], SequenceEndEvent)) + + def check_empty_mapping(self): + return (isinstance(self.event, MappingStartEvent) and self.events + and isinstance(self.events[0], MappingEndEvent)) + + def check_empty_document(self): + if not isinstance(self.event, DocumentStartEvent) or not self.events: + return False + event = self.events[0] + return (isinstance(event, ScalarEvent) and event.anchor is None + and event.tag is None and event.implicit and event.value == '') + + def check_simple_key(self): + length = 0 + if isinstance(self.event, NodeEvent) and self.event.anchor is not None: + if self.prepared_anchor is None: + self.prepared_anchor = self.prepare_anchor(self.event.anchor) + length += len(self.prepared_anchor) + if isinstance(self.event, (ScalarEvent, CollectionStartEvent)) \ + and self.event.tag is not None: + if self.prepared_tag is None: + self.prepared_tag = self.prepare_tag(self.event.tag) + length += len(self.prepared_tag) + if isinstance(self.event, ScalarEvent): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + length += len(self.analysis.scalar) + return (length < 128 and (isinstance(self.event, AliasEvent) + or (isinstance(self.event, ScalarEvent) + and not self.analysis.empty and not self.analysis.multiline) + or self.check_empty_sequence() or self.check_empty_mapping())) + + # Anchor, Tag, and Scalar processors. + + def process_anchor(self, indicator): + if self.event.anchor is None: + self.prepared_anchor = None + return + if self.prepared_anchor is None: + self.prepared_anchor = self.prepare_anchor(self.event.anchor) + if self.prepared_anchor: + self.write_indicator(indicator+self.prepared_anchor, True) + self.prepared_anchor = None + + def process_tag(self): + tag = self.event.tag + if isinstance(self.event, ScalarEvent): + if self.style is None: + self.style = self.choose_scalar_style() + if ((not self.canonical or tag is None) and + ((self.style == '' and self.event.implicit[0]) + or (self.style != '' and self.event.implicit[1]))): + self.prepared_tag = None + return + if self.event.implicit[0] and tag is None: + tag = '!' + self.prepared_tag = None + else: + if (not self.canonical or tag is None) and self.event.implicit: + self.prepared_tag = None + return + if tag is None: + raise EmitterError("tag is not specified") + if self.prepared_tag is None: + self.prepared_tag = self.prepare_tag(tag) + if self.prepared_tag: + self.write_indicator(self.prepared_tag, True) + self.prepared_tag = None + + def choose_scalar_style(self): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + if self.event.style == '"' or self.canonical: + return '"' + if not self.event.style and self.event.implicit[0]: + if (not (self.simple_key_context and + (self.analysis.empty or self.analysis.multiline)) + and (self.flow_level and self.analysis.allow_flow_plain + or (not self.flow_level and self.analysis.allow_block_plain))): + return '' + if self.event.style and self.event.style in '|>': + if (not self.flow_level and not self.simple_key_context + and self.analysis.allow_block): + return self.event.style + if not self.event.style or self.event.style == '\'': + if (self.analysis.allow_single_quoted and + not (self.simple_key_context and self.analysis.multiline)): + return '\'' + return '"' + + def process_scalar(self): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + if self.style is None: + self.style = self.choose_scalar_style() + split = (not self.simple_key_context) + #if self.analysis.multiline and split \ + # and (not self.style or self.style in '\'\"'): + # self.write_indent() + if self.style == '"': + self.write_double_quoted(self.analysis.scalar, split) + elif self.style == '\'': + self.write_single_quoted(self.analysis.scalar, split) + elif self.style == '>': + self.write_folded(self.analysis.scalar) + elif self.style == '|': + self.write_literal(self.analysis.scalar) + else: + self.write_plain(self.analysis.scalar, split) + self.analysis = None + self.style = None + + # Analyzers. + + def prepare_version(self, version): + major, minor = version + if major != 1: + raise EmitterError("unsupported YAML version: %d.%d" % (major, minor)) + return '%d.%d' % (major, minor) + + def prepare_tag_handle(self, handle): + if not handle: + raise EmitterError("tag handle must not be empty") + if handle[0] != '!' or handle[-1] != '!': + raise EmitterError("tag handle must start and end with '!': %r" % handle) + for ch in handle[1:-1]: + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): + raise EmitterError("invalid character %r in the tag handle: %r" + % (ch, handle)) + return handle + + def prepare_tag_prefix(self, prefix): + if not prefix: + raise EmitterError("tag prefix must not be empty") + chunks = [] + start = end = 0 + if prefix[0] == '!': + end = 1 + while end < len(prefix): + ch = prefix[end] + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?!:@&=+$,_.~*\'()[]': + end += 1 + else: + if start < end: + chunks.append(prefix[start:end]) + start = end = end+1 + data = ch.encode('utf-8') + for ch in data: + chunks.append('%%%02X' % ord(ch)) + if start < end: + chunks.append(prefix[start:end]) + return ''.join(chunks) + + def prepare_tag(self, tag): + if not tag: + raise EmitterError("tag must not be empty") + if tag == '!': + return tag + handle = None + suffix = tag + prefixes = sorted(self.tag_prefixes.keys()) + for prefix in prefixes: + if tag.startswith(prefix) \ + and (prefix == '!' or len(prefix) < len(tag)): + handle = self.tag_prefixes[prefix] + suffix = tag[len(prefix):] + chunks = [] + start = end = 0 + while end < len(suffix): + ch = suffix[end] + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.~*\'()[]' \ + or (ch == '!' and handle != '!'): + end += 1 + else: + if start < end: + chunks.append(suffix[start:end]) + start = end = end+1 + data = ch.encode('utf-8') + for ch in data: + chunks.append('%%%02X' % ch) + if start < end: + chunks.append(suffix[start:end]) + suffix_text = ''.join(chunks) + if handle: + return '%s%s' % (handle, suffix_text) + else: + return '!<%s>' % suffix_text + + def prepare_anchor(self, anchor): + if not anchor: + raise EmitterError("anchor must not be empty") + for ch in anchor: + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): + raise EmitterError("invalid character %r in the anchor: %r" + % (ch, anchor)) + return anchor + + def analyze_scalar(self, scalar): + + # Empty scalar is a special case. + if not scalar: + return ScalarAnalysis(scalar=scalar, empty=True, multiline=False, + allow_flow_plain=False, allow_block_plain=True, + allow_single_quoted=True, allow_double_quoted=True, + allow_block=False) + + # Indicators and special characters. + block_indicators = False + flow_indicators = False + line_breaks = False + special_characters = False + + # Important whitespace combinations. + leading_space = False + leading_break = False + trailing_space = False + trailing_break = False + break_space = False + space_break = False + + # Check document indicators. + if scalar.startswith('---') or scalar.startswith('...'): + block_indicators = True + flow_indicators = True + + # First character or preceded by a whitespace. + preceded_by_whitespace = True + + # Last character or followed by a whitespace. + followed_by_whitespace = (len(scalar) == 1 or + scalar[1] in '\0 \t\r\n\x85\u2028\u2029') + + # The previous character is a space. + previous_space = False + + # The previous character is a break. + previous_break = False + + index = 0 + while index < len(scalar): + ch = scalar[index] + + # Check for indicators. + if index == 0: + # Leading indicators are special characters. + if ch in '#,[]{}&*!|>\'\"%@`': + flow_indicators = True + block_indicators = True + if ch in '?:': + flow_indicators = True + if followed_by_whitespace: + block_indicators = True + if ch == '-' and followed_by_whitespace: + flow_indicators = True + block_indicators = True + else: + # Some indicators cannot appear within a scalar as well. + if ch in ',?[]{}': + flow_indicators = True + if ch == ':': + flow_indicators = True + if followed_by_whitespace: + block_indicators = True + if ch == '#' and preceded_by_whitespace: + flow_indicators = True + block_indicators = True + + # Check for line breaks, special, and unicode characters. + if ch in '\n\x85\u2028\u2029': + line_breaks = True + if not (ch == '\n' or '\x20' <= ch <= '\x7E'): + if (ch == '\x85' or '\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD' + or '\U00010000' <= ch < '\U0010ffff') and ch != '\uFEFF': + unicode_characters = True + if not self.allow_unicode: + special_characters = True + else: + special_characters = True + + # Detect important whitespace combinations. + if ch == ' ': + if index == 0: + leading_space = True + if index == len(scalar)-1: + trailing_space = True + if previous_break: + break_space = True + previous_space = True + previous_break = False + elif ch in '\n\x85\u2028\u2029': + if index == 0: + leading_break = True + if index == len(scalar)-1: + trailing_break = True + if previous_space: + space_break = True + previous_space = False + previous_break = True + else: + previous_space = False + previous_break = False + + # Prepare for the next character. + index += 1 + preceded_by_whitespace = (ch in '\0 \t\r\n\x85\u2028\u2029') + followed_by_whitespace = (index+1 >= len(scalar) or + scalar[index+1] in '\0 \t\r\n\x85\u2028\u2029') + + # Let's decide what styles are allowed. + allow_flow_plain = True + allow_block_plain = True + allow_single_quoted = True + allow_double_quoted = True + allow_block = True + + # Leading and trailing whitespaces are bad for plain scalars. + if (leading_space or leading_break + or trailing_space or trailing_break): + allow_flow_plain = allow_block_plain = False + + # We do not permit trailing spaces for block scalars. + if trailing_space: + allow_block = False + + # Spaces at the beginning of a new line are only acceptable for block + # scalars. + if break_space: + allow_flow_plain = allow_block_plain = allow_single_quoted = False + + # Spaces followed by breaks, as well as special character are only + # allowed for double quoted scalars. + if space_break or special_characters: + allow_flow_plain = allow_block_plain = \ + allow_single_quoted = allow_block = False + + # Although the plain scalar writer supports breaks, we never emit + # multiline plain scalars. + if line_breaks: + allow_flow_plain = allow_block_plain = False + + # Flow indicators are forbidden for flow plain scalars. + if flow_indicators: + allow_flow_plain = False + + # Block indicators are forbidden for block plain scalars. + if block_indicators: + allow_block_plain = False + + return ScalarAnalysis(scalar=scalar, + empty=False, multiline=line_breaks, + allow_flow_plain=allow_flow_plain, + allow_block_plain=allow_block_plain, + allow_single_quoted=allow_single_quoted, + allow_double_quoted=allow_double_quoted, + allow_block=allow_block) + + # Writers. + + def flush_stream(self): + if hasattr(self.stream, 'flush'): + self.stream.flush() + + def write_stream_start(self): + # Write BOM if needed. + if self.encoding and self.encoding.startswith('utf-16'): + self.stream.write('\uFEFF'.encode(self.encoding)) + + def write_stream_end(self): + self.flush_stream() + + def write_indicator(self, indicator, need_whitespace, + whitespace=False, indention=False): + if self.whitespace or not need_whitespace: + data = indicator + else: + data = ' '+indicator + self.whitespace = whitespace + self.indention = self.indention and indention + self.column += len(data) + self.open_ended = False + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_indent(self): + indent = self.indent or 0 + if not self.indention or self.column > indent \ + or (self.column == indent and not self.whitespace): + self.write_line_break() + if self.column < indent: + self.whitespace = True + data = ' '*(indent-self.column) + self.column = indent + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_line_break(self, data=None): + if data is None: + data = self.best_line_break + self.whitespace = True + self.indention = True + self.line += 1 + self.column = 0 + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_version_directive(self, version_text): + data = '%%YAML %s' % version_text + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_line_break() + + def write_tag_directive(self, handle_text, prefix_text): + data = '%%TAG %s %s' % (handle_text, prefix_text) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_line_break() + + # Scalar streams. + + def write_single_quoted(self, text, split=True): + self.write_indicator('\'', True) + spaces = False + breaks = False + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if spaces: + if ch is None or ch != ' ': + if start+1 == end and self.column > self.best_width and split \ + and start != 0 and end != len(text): + self.write_indent() + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + elif breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': + self.write_line_break() + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + self.write_indent() + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029' or ch == '\'': + if start < end: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch == '\'': + data = '\'\'' + self.column += 2 + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + 1 + if ch is not None: + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 + self.write_indicator('\'', False) + + ESCAPE_REPLACEMENTS = { + '\0': '0', + '\x07': 'a', + '\x08': 'b', + '\x09': 't', + '\x0A': 'n', + '\x0B': 'v', + '\x0C': 'f', + '\x0D': 'r', + '\x1B': 'e', + '\"': '\"', + '\\': '\\', + '\x85': 'N', + '\xA0': '_', + '\u2028': 'L', + '\u2029': 'P', + } + + def write_double_quoted(self, text, split=True): + self.write_indicator('"', True) + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if ch is None or ch in '"\\\x85\u2028\u2029\uFEFF' \ + or not ('\x20' <= ch <= '\x7E' + or (self.allow_unicode + and ('\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD'))): + if start < end: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch is not None: + if ch in self.ESCAPE_REPLACEMENTS: + data = '\\'+self.ESCAPE_REPLACEMENTS[ch] + elif ch <= '\xFF': + data = '\\x%02X' % ord(ch) + elif ch <= '\uFFFF': + data = '\\u%04X' % ord(ch) + else: + data = '\\U%08X' % ord(ch) + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end+1 + if 0 < end < len(text)-1 and (ch == ' ' or start >= end) \ + and self.column+(end-start) > self.best_width and split: + data = text[start:end]+'\\' + if start < end: + start = end + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_indent() + self.whitespace = False + self.indention = False + if text[start] == ' ': + data = '\\' + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + end += 1 + self.write_indicator('"', False) + + def determine_block_hints(self, text): + hints = '' + if text: + if text[0] in ' \n\x85\u2028\u2029': + hints += str(self.best_indent) + if text[-1] not in '\n\x85\u2028\u2029': + hints += '-' + elif len(text) == 1 or text[-2] in '\n\x85\u2028\u2029': + hints += '+' + return hints + + def write_folded(self, text): + hints = self.determine_block_hints(text) + self.write_indicator('>'+hints, True) + if hints[-1:] == '+': + self.open_ended = True + self.write_line_break() + leading_space = True + spaces = False + breaks = True + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + if not leading_space and ch is not None and ch != ' ' \ + and text[start] == '\n': + self.write_line_break() + leading_space = (ch == ' ') + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + if ch is not None: + self.write_indent() + start = end + elif spaces: + if ch != ' ': + if start+1 == end and self.column > self.best_width: + self.write_indent() + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029': + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + if ch is None: + self.write_line_break() + start = end + if ch is not None: + breaks = (ch in '\n\x85\u2028\u2029') + spaces = (ch == ' ') + end += 1 + + def write_literal(self, text): + hints = self.determine_block_hints(text) + self.write_indicator('|'+hints, True) + if hints[-1:] == '+': + self.open_ended = True + self.write_line_break() + breaks = True + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + if ch is not None: + self.write_indent() + start = end + else: + if ch is None or ch in '\n\x85\u2028\u2029': + data = text[start:end] + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + if ch is None: + self.write_line_break() + start = end + if ch is not None: + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 + + def write_plain(self, text, split=True): + if self.root_context: + self.open_ended = True + if not text: + return + if not self.whitespace: + data = ' ' + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.whitespace = False + self.indention = False + spaces = False + breaks = False + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if spaces: + if ch != ' ': + if start+1 == end and self.column > self.best_width and split: + self.write_indent() + self.whitespace = False + self.indention = False + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + elif breaks: + if ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': + self.write_line_break() + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + self.write_indent() + self.whitespace = False + self.indention = False + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029': + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch is not None: + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/error.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/error.py new file mode 100644 index 00000000..b796b4dc --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/error.py @@ -0,0 +1,75 @@ + +__all__ = ['Mark', 'YAMLError', 'MarkedYAMLError'] + +class Mark: + + def __init__(self, name, index, line, column, buffer, pointer): + self.name = name + self.index = index + self.line = line + self.column = column + self.buffer = buffer + self.pointer = pointer + + def get_snippet(self, indent=4, max_length=75): + if self.buffer is None: + return None + head = '' + start = self.pointer + while start > 0 and self.buffer[start-1] not in '\0\r\n\x85\u2028\u2029': + start -= 1 + if self.pointer-start > max_length/2-1: + head = ' ... ' + start += 5 + break + tail = '' + end = self.pointer + while end < len(self.buffer) and self.buffer[end] not in '\0\r\n\x85\u2028\u2029': + end += 1 + if end-self.pointer > max_length/2-1: + tail = ' ... ' + end -= 5 + break + snippet = self.buffer[start:end] + return ' '*indent + head + snippet + tail + '\n' \ + + ' '*(indent+self.pointer-start+len(head)) + '^' + + def __str__(self): + snippet = self.get_snippet() + where = " in \"%s\", line %d, column %d" \ + % (self.name, self.line+1, self.column+1) + if snippet is not None: + where += ":\n"+snippet + return where + +class YAMLError(Exception): + pass + +class MarkedYAMLError(YAMLError): + + def __init__(self, context=None, context_mark=None, + problem=None, problem_mark=None, note=None): + self.context = context + self.context_mark = context_mark + self.problem = problem + self.problem_mark = problem_mark + self.note = note + + def __str__(self): + lines = [] + if self.context is not None: + lines.append(self.context) + if self.context_mark is not None \ + and (self.problem is None or self.problem_mark is None + or self.context_mark.name != self.problem_mark.name + or self.context_mark.line != self.problem_mark.line + or self.context_mark.column != self.problem_mark.column): + lines.append(str(self.context_mark)) + if self.problem is not None: + lines.append(self.problem) + if self.problem_mark is not None: + lines.append(str(self.problem_mark)) + if self.note is not None: + lines.append(self.note) + return '\n'.join(lines) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/events.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/events.py new file mode 100644 index 00000000..f79ad389 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/events.py @@ -0,0 +1,86 @@ + +# Abstract classes. + +class Event(object): + def __init__(self, start_mark=None, end_mark=None): + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + attributes = [key for key in ['anchor', 'tag', 'implicit', 'value'] + if hasattr(self, key)] + arguments = ', '.join(['%s=%r' % (key, getattr(self, key)) + for key in attributes]) + return '%s(%s)' % (self.__class__.__name__, arguments) + +class NodeEvent(Event): + def __init__(self, anchor, start_mark=None, end_mark=None): + self.anchor = anchor + self.start_mark = start_mark + self.end_mark = end_mark + +class CollectionStartEvent(NodeEvent): + def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None, + flow_style=None): + self.anchor = anchor + self.tag = tag + self.implicit = implicit + self.start_mark = start_mark + self.end_mark = end_mark + self.flow_style = flow_style + +class CollectionEndEvent(Event): + pass + +# Implementations. + +class StreamStartEvent(Event): + def __init__(self, start_mark=None, end_mark=None, encoding=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.encoding = encoding + +class StreamEndEvent(Event): + pass + +class DocumentStartEvent(Event): + def __init__(self, start_mark=None, end_mark=None, + explicit=None, version=None, tags=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.explicit = explicit + self.version = version + self.tags = tags + +class DocumentEndEvent(Event): + def __init__(self, start_mark=None, end_mark=None, + explicit=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.explicit = explicit + +class AliasEvent(NodeEvent): + pass + +class ScalarEvent(NodeEvent): + def __init__(self, anchor, tag, implicit, value, + start_mark=None, end_mark=None, style=None): + self.anchor = anchor + self.tag = tag + self.implicit = implicit + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + +class SequenceStartEvent(CollectionStartEvent): + pass + +class SequenceEndEvent(CollectionEndEvent): + pass + +class MappingStartEvent(CollectionStartEvent): + pass + +class MappingEndEvent(CollectionEndEvent): + pass + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/loader.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/loader.py new file mode 100644 index 00000000..e90c1122 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/loader.py @@ -0,0 +1,63 @@ + +__all__ = ['BaseLoader', 'FullLoader', 'SafeLoader', 'Loader', 'UnsafeLoader'] + +from .reader import * +from .scanner import * +from .parser import * +from .composer import * +from .constructor import * +from .resolver import * + +class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + BaseConstructor.__init__(self) + BaseResolver.__init__(self) + +class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + SafeConstructor.__init__(self) + Resolver.__init__(self) + +class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) + +# UnsafeLoader is the same as Loader (which is and was always unsafe on +# untrusted input). Use of either Loader or UnsafeLoader should be rare, since +# FullLoad should be able to load almost all YAML safely. Loader is left intact +# to ensure backwards compatibility. +class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/nodes.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/nodes.py new file mode 100644 index 00000000..c4f070c4 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/nodes.py @@ -0,0 +1,49 @@ + +class Node(object): + def __init__(self, tag, value, start_mark, end_mark): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + value = self.value + #if isinstance(value, list): + # if len(value) == 0: + # value = '' + # elif len(value) == 1: + # value = '<1 item>' + # else: + # value = '<%d items>' % len(value) + #else: + # if len(value) > 75: + # value = repr(value[:70]+u' ... ') + # else: + # value = repr(value) + value = repr(value) + return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value) + +class ScalarNode(Node): + id = 'scalar' + def __init__(self, tag, value, + start_mark=None, end_mark=None, style=None): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + +class CollectionNode(Node): + def __init__(self, tag, value, + start_mark=None, end_mark=None, flow_style=None): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.flow_style = flow_style + +class SequenceNode(CollectionNode): + id = 'sequence' + +class MappingNode(CollectionNode): + id = 'mapping' + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/parser.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/parser.py new file mode 100644 index 00000000..13a5995d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/parser.py @@ -0,0 +1,589 @@ + +# The following YAML grammar is LL(1) and is parsed by a recursive descent +# parser. +# +# stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +# implicit_document ::= block_node DOCUMENT-END* +# explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +# block_node_or_indentless_sequence ::= +# ALIAS +# | properties (block_content | indentless_block_sequence)? +# | block_content +# | indentless_block_sequence +# block_node ::= ALIAS +# | properties block_content? +# | block_content +# flow_node ::= ALIAS +# | properties flow_content? +# | flow_content +# properties ::= TAG ANCHOR? | ANCHOR TAG? +# block_content ::= block_collection | flow_collection | SCALAR +# flow_content ::= flow_collection | SCALAR +# block_collection ::= block_sequence | block_mapping +# flow_collection ::= flow_sequence | flow_mapping +# block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +# indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +# block_mapping ::= BLOCK-MAPPING_START +# ((KEY block_node_or_indentless_sequence?)? +# (VALUE block_node_or_indentless_sequence?)?)* +# BLOCK-END +# flow_sequence ::= FLOW-SEQUENCE-START +# (flow_sequence_entry FLOW-ENTRY)* +# flow_sequence_entry? +# FLOW-SEQUENCE-END +# flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +# flow_mapping ::= FLOW-MAPPING-START +# (flow_mapping_entry FLOW-ENTRY)* +# flow_mapping_entry? +# FLOW-MAPPING-END +# flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +# +# FIRST sets: +# +# stream: { STREAM-START } +# explicit_document: { DIRECTIVE DOCUMENT-START } +# implicit_document: FIRST(block_node) +# block_node: { ALIAS TAG ANCHOR SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START } +# flow_node: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START } +# block_content: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR } +# flow_content: { FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR } +# block_collection: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START } +# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START } +# block_sequence: { BLOCK-SEQUENCE-START } +# block_mapping: { BLOCK-MAPPING-START } +# block_node_or_indentless_sequence: { ALIAS ANCHOR TAG SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START BLOCK-ENTRY } +# indentless_sequence: { ENTRY } +# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START } +# flow_sequence: { FLOW-SEQUENCE-START } +# flow_mapping: { FLOW-MAPPING-START } +# flow_sequence_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY } +# flow_mapping_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY } + +__all__ = ['Parser', 'ParserError'] + +from .error import MarkedYAMLError +from .tokens import * +from .events import * +from .scanner import * + +class ParserError(MarkedYAMLError): + pass + +class Parser: + # Since writing a recursive-descendant parser is a straightforward task, we + # do not give many comments here. + + DEFAULT_TAGS = { + '!': '!', + '!!': 'tag:yaml.org,2002:', + } + + def __init__(self): + self.current_event = None + self.yaml_version = None + self.tag_handles = {} + self.states = [] + self.marks = [] + self.state = self.parse_stream_start + + def dispose(self): + # Reset the state attributes (to clear self-references) + self.states = [] + self.state = None + + def check_event(self, *choices): + # Check the type of the next event. + if self.current_event is None: + if self.state: + self.current_event = self.state() + if self.current_event is not None: + if not choices: + return True + for choice in choices: + if isinstance(self.current_event, choice): + return True + return False + + def peek_event(self): + # Get the next event. + if self.current_event is None: + if self.state: + self.current_event = self.state() + return self.current_event + + def get_event(self): + # Get the next event and proceed further. + if self.current_event is None: + if self.state: + self.current_event = self.state() + value = self.current_event + self.current_event = None + return value + + # stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + # implicit_document ::= block_node DOCUMENT-END* + # explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + + def parse_stream_start(self): + + # Parse the stream start. + token = self.get_token() + event = StreamStartEvent(token.start_mark, token.end_mark, + encoding=token.encoding) + + # Prepare the next state. + self.state = self.parse_implicit_document_start + + return event + + def parse_implicit_document_start(self): + + # Parse an implicit document. + if not self.check_token(DirectiveToken, DocumentStartToken, + StreamEndToken): + self.tag_handles = self.DEFAULT_TAGS + token = self.peek_token() + start_mark = end_mark = token.start_mark + event = DocumentStartEvent(start_mark, end_mark, + explicit=False) + + # Prepare the next state. + self.states.append(self.parse_document_end) + self.state = self.parse_block_node + + return event + + else: + return self.parse_document_start() + + def parse_document_start(self): + + # Parse any extra document end indicators. + while self.check_token(DocumentEndToken): + self.get_token() + + # Parse an explicit document. + if not self.check_token(StreamEndToken): + token = self.peek_token() + start_mark = token.start_mark + version, tags = self.process_directives() + if not self.check_token(DocumentStartToken): + raise ParserError(None, None, + "expected '', but found %r" + % self.peek_token().id, + self.peek_token().start_mark) + token = self.get_token() + end_mark = token.end_mark + event = DocumentStartEvent(start_mark, end_mark, + explicit=True, version=version, tags=tags) + self.states.append(self.parse_document_end) + self.state = self.parse_document_content + else: + # Parse the end of the stream. + token = self.get_token() + event = StreamEndEvent(token.start_mark, token.end_mark) + assert not self.states + assert not self.marks + self.state = None + return event + + def parse_document_end(self): + + # Parse the document end. + token = self.peek_token() + start_mark = end_mark = token.start_mark + explicit = False + if self.check_token(DocumentEndToken): + token = self.get_token() + end_mark = token.end_mark + explicit = True + event = DocumentEndEvent(start_mark, end_mark, + explicit=explicit) + + # Prepare the next state. + self.state = self.parse_document_start + + return event + + def parse_document_content(self): + if self.check_token(DirectiveToken, + DocumentStartToken, DocumentEndToken, StreamEndToken): + event = self.process_empty_scalar(self.peek_token().start_mark) + self.state = self.states.pop() + return event + else: + return self.parse_block_node() + + def process_directives(self): + self.yaml_version = None + self.tag_handles = {} + while self.check_token(DirectiveToken): + token = self.get_token() + if token.name == 'YAML': + if self.yaml_version is not None: + raise ParserError(None, None, + "found duplicate YAML directive", token.start_mark) + major, minor = token.value + if major != 1: + raise ParserError(None, None, + "found incompatible YAML document (version 1.* is required)", + token.start_mark) + self.yaml_version = token.value + elif token.name == 'TAG': + handle, prefix = token.value + if handle in self.tag_handles: + raise ParserError(None, None, + "duplicate tag handle %r" % handle, + token.start_mark) + self.tag_handles[handle] = prefix + if self.tag_handles: + value = self.yaml_version, self.tag_handles.copy() + else: + value = self.yaml_version, None + for key in self.DEFAULT_TAGS: + if key not in self.tag_handles: + self.tag_handles[key] = self.DEFAULT_TAGS[key] + return value + + # block_node_or_indentless_sequence ::= ALIAS + # | properties (block_content | indentless_block_sequence)? + # | block_content + # | indentless_block_sequence + # block_node ::= ALIAS + # | properties block_content? + # | block_content + # flow_node ::= ALIAS + # | properties flow_content? + # | flow_content + # properties ::= TAG ANCHOR? | ANCHOR TAG? + # block_content ::= block_collection | flow_collection | SCALAR + # flow_content ::= flow_collection | SCALAR + # block_collection ::= block_sequence | block_mapping + # flow_collection ::= flow_sequence | flow_mapping + + def parse_block_node(self): + return self.parse_node(block=True) + + def parse_flow_node(self): + return self.parse_node() + + def parse_block_node_or_indentless_sequence(self): + return self.parse_node(block=True, indentless_sequence=True) + + def parse_node(self, block=False, indentless_sequence=False): + if self.check_token(AliasToken): + token = self.get_token() + event = AliasEvent(token.value, token.start_mark, token.end_mark) + self.state = self.states.pop() + else: + anchor = None + tag = None + start_mark = end_mark = tag_mark = None + if self.check_token(AnchorToken): + token = self.get_token() + start_mark = token.start_mark + end_mark = token.end_mark + anchor = token.value + if self.check_token(TagToken): + token = self.get_token() + tag_mark = token.start_mark + end_mark = token.end_mark + tag = token.value + elif self.check_token(TagToken): + token = self.get_token() + start_mark = tag_mark = token.start_mark + end_mark = token.end_mark + tag = token.value + if self.check_token(AnchorToken): + token = self.get_token() + end_mark = token.end_mark + anchor = token.value + if tag is not None: + handle, suffix = tag + if handle is not None: + if handle not in self.tag_handles: + raise ParserError("while parsing a node", start_mark, + "found undefined tag handle %r" % handle, + tag_mark) + tag = self.tag_handles[handle]+suffix + else: + tag = suffix + #if tag == '!': + # raise ParserError("while parsing a node", start_mark, + # "found non-specific tag '!'", tag_mark, + # "Please check 'http://pyyaml.org/wiki/YAMLNonSpecificTag' and share your opinion.") + if start_mark is None: + start_mark = end_mark = self.peek_token().start_mark + event = None + implicit = (tag is None or tag == '!') + if indentless_sequence and self.check_token(BlockEntryToken): + end_mark = self.peek_token().end_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark) + self.state = self.parse_indentless_sequence_entry + else: + if self.check_token(ScalarToken): + token = self.get_token() + end_mark = token.end_mark + if (token.plain and tag is None) or tag == '!': + implicit = (True, False) + elif tag is None: + implicit = (False, True) + else: + implicit = (False, False) + event = ScalarEvent(anchor, tag, implicit, token.value, + start_mark, end_mark, style=token.style) + self.state = self.states.pop() + elif self.check_token(FlowSequenceStartToken): + end_mark = self.peek_token().end_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=True) + self.state = self.parse_flow_sequence_first_entry + elif self.check_token(FlowMappingStartToken): + end_mark = self.peek_token().end_mark + event = MappingStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=True) + self.state = self.parse_flow_mapping_first_key + elif block and self.check_token(BlockSequenceStartToken): + end_mark = self.peek_token().start_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=False) + self.state = self.parse_block_sequence_first_entry + elif block and self.check_token(BlockMappingStartToken): + end_mark = self.peek_token().start_mark + event = MappingStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=False) + self.state = self.parse_block_mapping_first_key + elif anchor is not None or tag is not None: + # Empty scalars are allowed even if a tag or an anchor is + # specified. + event = ScalarEvent(anchor, tag, (implicit, False), '', + start_mark, end_mark) + self.state = self.states.pop() + else: + if block: + node = 'block' + else: + node = 'flow' + token = self.peek_token() + raise ParserError("while parsing a %s node" % node, start_mark, + "expected the node content, but found %r" % token.id, + token.start_mark) + return event + + # block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + + def parse_block_sequence_first_entry(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_block_sequence_entry() + + def parse_block_sequence_entry(self): + if self.check_token(BlockEntryToken): + token = self.get_token() + if not self.check_token(BlockEntryToken, BlockEndToken): + self.states.append(self.parse_block_sequence_entry) + return self.parse_block_node() + else: + self.state = self.parse_block_sequence_entry + return self.process_empty_scalar(token.end_mark) + if not self.check_token(BlockEndToken): + token = self.peek_token() + raise ParserError("while parsing a block collection", self.marks[-1], + "expected , but found %r" % token.id, token.start_mark) + token = self.get_token() + event = SequenceEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + # indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + + def parse_indentless_sequence_entry(self): + if self.check_token(BlockEntryToken): + token = self.get_token() + if not self.check_token(BlockEntryToken, + KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_indentless_sequence_entry) + return self.parse_block_node() + else: + self.state = self.parse_indentless_sequence_entry + return self.process_empty_scalar(token.end_mark) + token = self.peek_token() + event = SequenceEndEvent(token.start_mark, token.start_mark) + self.state = self.states.pop() + return event + + # block_mapping ::= BLOCK-MAPPING_START + # ((KEY block_node_or_indentless_sequence?)? + # (VALUE block_node_or_indentless_sequence?)?)* + # BLOCK-END + + def parse_block_mapping_first_key(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_block_mapping_key() + + def parse_block_mapping_key(self): + if self.check_token(KeyToken): + token = self.get_token() + if not self.check_token(KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_block_mapping_value) + return self.parse_block_node_or_indentless_sequence() + else: + self.state = self.parse_block_mapping_value + return self.process_empty_scalar(token.end_mark) + if not self.check_token(BlockEndToken): + token = self.peek_token() + raise ParserError("while parsing a block mapping", self.marks[-1], + "expected , but found %r" % token.id, token.start_mark) + token = self.get_token() + event = MappingEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_block_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_block_mapping_key) + return self.parse_block_node_or_indentless_sequence() + else: + self.state = self.parse_block_mapping_key + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_block_mapping_key + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + # flow_sequence ::= FLOW-SEQUENCE-START + # (flow_sequence_entry FLOW-ENTRY)* + # flow_sequence_entry? + # FLOW-SEQUENCE-END + # flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + # + # Note that while production rules for both flow_sequence_entry and + # flow_mapping_entry are equal, their interpretations are different. + # For `flow_sequence_entry`, the part `KEY flow_node? (VALUE flow_node?)?` + # generate an inline mapping (set syntax). + + def parse_flow_sequence_first_entry(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_flow_sequence_entry(first=True) + + def parse_flow_sequence_entry(self, first=False): + if not self.check_token(FlowSequenceEndToken): + if not first: + if self.check_token(FlowEntryToken): + self.get_token() + else: + token = self.peek_token() + raise ParserError("while parsing a flow sequence", self.marks[-1], + "expected ',' or ']', but got %r" % token.id, token.start_mark) + + if self.check_token(KeyToken): + token = self.peek_token() + event = MappingStartEvent(None, None, True, + token.start_mark, token.end_mark, + flow_style=True) + self.state = self.parse_flow_sequence_entry_mapping_key + return event + elif not self.check_token(FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry) + return self.parse_flow_node() + token = self.get_token() + event = SequenceEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_flow_sequence_entry_mapping_key(self): + token = self.get_token() + if not self.check_token(ValueToken, + FlowEntryToken, FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry_mapping_value) + return self.parse_flow_node() + else: + self.state = self.parse_flow_sequence_entry_mapping_value + return self.process_empty_scalar(token.end_mark) + + def parse_flow_sequence_entry_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(FlowEntryToken, FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry_mapping_end) + return self.parse_flow_node() + else: + self.state = self.parse_flow_sequence_entry_mapping_end + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_flow_sequence_entry_mapping_end + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + def parse_flow_sequence_entry_mapping_end(self): + self.state = self.parse_flow_sequence_entry + token = self.peek_token() + return MappingEndEvent(token.start_mark, token.start_mark) + + # flow_mapping ::= FLOW-MAPPING-START + # (flow_mapping_entry FLOW-ENTRY)* + # flow_mapping_entry? + # FLOW-MAPPING-END + # flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + + def parse_flow_mapping_first_key(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_flow_mapping_key(first=True) + + def parse_flow_mapping_key(self, first=False): + if not self.check_token(FlowMappingEndToken): + if not first: + if self.check_token(FlowEntryToken): + self.get_token() + else: + token = self.peek_token() + raise ParserError("while parsing a flow mapping", self.marks[-1], + "expected ',' or '}', but got %r" % token.id, token.start_mark) + if self.check_token(KeyToken): + token = self.get_token() + if not self.check_token(ValueToken, + FlowEntryToken, FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_value) + return self.parse_flow_node() + else: + self.state = self.parse_flow_mapping_value + return self.process_empty_scalar(token.end_mark) + elif not self.check_token(FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_empty_value) + return self.parse_flow_node() + token = self.get_token() + event = MappingEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_flow_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(FlowEntryToken, FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_key) + return self.parse_flow_node() + else: + self.state = self.parse_flow_mapping_key + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_flow_mapping_key + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + def parse_flow_mapping_empty_value(self): + self.state = self.parse_flow_mapping_key + return self.process_empty_scalar(self.peek_token().start_mark) + + def process_empty_scalar(self, mark): + return ScalarEvent(None, None, (True, False), '', mark, mark) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/reader.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/reader.py new file mode 100644 index 00000000..774b0219 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/reader.py @@ -0,0 +1,185 @@ +# This module contains abstractions for the input stream. You don't have to +# looks further, there are no pretty code. +# +# We define two classes here. +# +# Mark(source, line, column) +# It's just a record and its only use is producing nice error messages. +# Parser does not use it for any other purposes. +# +# Reader(source, data) +# Reader determines the encoding of `data` and converts it to unicode. +# Reader provides the following methods and attributes: +# reader.peek(length=1) - return the next `length` characters +# reader.forward(length=1) - move the current position to `length` characters. +# reader.index - the number of the current character. +# reader.line, stream.column - the line and the column of the current character. + +__all__ = ['Reader', 'ReaderError'] + +from .error import YAMLError, Mark + +import codecs, re + +class ReaderError(YAMLError): + + def __init__(self, name, position, character, encoding, reason): + self.name = name + self.character = character + self.position = position + self.encoding = encoding + self.reason = reason + + def __str__(self): + if isinstance(self.character, bytes): + return "'%s' codec can't decode byte #x%02x: %s\n" \ + " in \"%s\", position %d" \ + % (self.encoding, ord(self.character), self.reason, + self.name, self.position) + else: + return "unacceptable character #x%04x: %s\n" \ + " in \"%s\", position %d" \ + % (self.character, self.reason, + self.name, self.position) + +class Reader(object): + # Reader: + # - determines the data encoding and converts it to a unicode string, + # - checks if characters are in allowed range, + # - adds '\0' to the end. + + # Reader accepts + # - a `bytes` object, + # - a `str` object, + # - a file-like object with its `read` method returning `str`, + # - a file-like object with its `read` method returning `unicode`. + + # Yeah, it's ugly and slow. + + def __init__(self, stream): + self.name = None + self.stream = None + self.stream_pointer = 0 + self.eof = True + self.buffer = '' + self.pointer = 0 + self.raw_buffer = None + self.raw_decode = None + self.encoding = None + self.index = 0 + self.line = 0 + self.column = 0 + if isinstance(stream, str): + self.name = "" + self.check_printable(stream) + self.buffer = stream+'\0' + elif isinstance(stream, bytes): + self.name = "" + self.raw_buffer = stream + self.determine_encoding() + else: + self.stream = stream + self.name = getattr(stream, 'name', "") + self.eof = False + self.raw_buffer = None + self.determine_encoding() + + def peek(self, index=0): + try: + return self.buffer[self.pointer+index] + except IndexError: + self.update(index+1) + return self.buffer[self.pointer+index] + + def prefix(self, length=1): + if self.pointer+length >= len(self.buffer): + self.update(length) + return self.buffer[self.pointer:self.pointer+length] + + def forward(self, length=1): + if self.pointer+length+1 >= len(self.buffer): + self.update(length+1) + while length: + ch = self.buffer[self.pointer] + self.pointer += 1 + self.index += 1 + if ch in '\n\x85\u2028\u2029' \ + or (ch == '\r' and self.buffer[self.pointer] != '\n'): + self.line += 1 + self.column = 0 + elif ch != '\uFEFF': + self.column += 1 + length -= 1 + + def get_mark(self): + if self.stream is None: + return Mark(self.name, self.index, self.line, self.column, + self.buffer, self.pointer) + else: + return Mark(self.name, self.index, self.line, self.column, + None, None) + + def determine_encoding(self): + while not self.eof and (self.raw_buffer is None or len(self.raw_buffer) < 2): + self.update_raw() + if isinstance(self.raw_buffer, bytes): + if self.raw_buffer.startswith(codecs.BOM_UTF16_LE): + self.raw_decode = codecs.utf_16_le_decode + self.encoding = 'utf-16-le' + elif self.raw_buffer.startswith(codecs.BOM_UTF16_BE): + self.raw_decode = codecs.utf_16_be_decode + self.encoding = 'utf-16-be' + else: + self.raw_decode = codecs.utf_8_decode + self.encoding = 'utf-8' + self.update(1) + + NON_PRINTABLE = re.compile('[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD\U00010000-\U0010ffff]') + def check_printable(self, data): + match = self.NON_PRINTABLE.search(data) + if match: + character = match.group() + position = self.index+(len(self.buffer)-self.pointer)+match.start() + raise ReaderError(self.name, position, ord(character), + 'unicode', "special characters are not allowed") + + def update(self, length): + if self.raw_buffer is None: + return + self.buffer = self.buffer[self.pointer:] + self.pointer = 0 + while len(self.buffer) < length: + if not self.eof: + self.update_raw() + if self.raw_decode is not None: + try: + data, converted = self.raw_decode(self.raw_buffer, + 'strict', self.eof) + except UnicodeDecodeError as exc: + character = self.raw_buffer[exc.start] + if self.stream is not None: + position = self.stream_pointer-len(self.raw_buffer)+exc.start + else: + position = exc.start + raise ReaderError(self.name, position, character, + exc.encoding, exc.reason) + else: + data = self.raw_buffer + converted = len(data) + self.check_printable(data) + self.buffer += data + self.raw_buffer = self.raw_buffer[converted:] + if self.eof: + self.buffer += '\0' + self.raw_buffer = None + break + + def update_raw(self, size=4096): + data = self.stream.read(size) + if self.raw_buffer is None: + self.raw_buffer = data + else: + self.raw_buffer += data + self.stream_pointer += len(data) + if not data: + self.eof = True diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/representer.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/representer.py new file mode 100644 index 00000000..3b0b192e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/representer.py @@ -0,0 +1,389 @@ + +__all__ = ['BaseRepresenter', 'SafeRepresenter', 'Representer', + 'RepresenterError'] + +from .error import * +from .nodes import * + +import datetime, copyreg, types, base64, collections + +class RepresenterError(YAMLError): + pass + +class BaseRepresenter: + + yaml_representers = {} + yaml_multi_representers = {} + + def __init__(self, default_style=None, default_flow_style=False, sort_keys=True): + self.default_style = default_style + self.sort_keys = sort_keys + self.default_flow_style = default_flow_style + self.represented_objects = {} + self.object_keeper = [] + self.alias_key = None + + def represent(self, data): + node = self.represent_data(data) + self.serialize(node) + self.represented_objects = {} + self.object_keeper = [] + self.alias_key = None + + def represent_data(self, data): + if self.ignore_aliases(data): + self.alias_key = None + else: + self.alias_key = id(data) + if self.alias_key is not None: + if self.alias_key in self.represented_objects: + node = self.represented_objects[self.alias_key] + #if node is None: + # raise RepresenterError("recursive objects are not allowed: %r" % data) + return node + #self.represented_objects[alias_key] = None + self.object_keeper.append(data) + data_types = type(data).__mro__ + if data_types[0] in self.yaml_representers: + node = self.yaml_representers[data_types[0]](self, data) + else: + for data_type in data_types: + if data_type in self.yaml_multi_representers: + node = self.yaml_multi_representers[data_type](self, data) + break + else: + if None in self.yaml_multi_representers: + node = self.yaml_multi_representers[None](self, data) + elif None in self.yaml_representers: + node = self.yaml_representers[None](self, data) + else: + node = ScalarNode(None, str(data)) + #if alias_key is not None: + # self.represented_objects[alias_key] = node + return node + + @classmethod + def add_representer(cls, data_type, representer): + if not 'yaml_representers' in cls.__dict__: + cls.yaml_representers = cls.yaml_representers.copy() + cls.yaml_representers[data_type] = representer + + @classmethod + def add_multi_representer(cls, data_type, representer): + if not 'yaml_multi_representers' in cls.__dict__: + cls.yaml_multi_representers = cls.yaml_multi_representers.copy() + cls.yaml_multi_representers[data_type] = representer + + def represent_scalar(self, tag, value, style=None): + if style is None: + style = self.default_style + node = ScalarNode(tag, value, style=style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + return node + + def represent_sequence(self, tag, sequence, flow_style=None): + value = [] + node = SequenceNode(tag, value, flow_style=flow_style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + best_style = True + for item in sequence: + node_item = self.represent_data(item) + if not (isinstance(node_item, ScalarNode) and not node_item.style): + best_style = False + value.append(node_item) + if flow_style is None: + if self.default_flow_style is not None: + node.flow_style = self.default_flow_style + else: + node.flow_style = best_style + return node + + def represent_mapping(self, tag, mapping, flow_style=None): + value = [] + node = MappingNode(tag, value, flow_style=flow_style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + best_style = True + if hasattr(mapping, 'items'): + mapping = list(mapping.items()) + if self.sort_keys: + try: + mapping = sorted(mapping) + except TypeError: + pass + for item_key, item_value in mapping: + node_key = self.represent_data(item_key) + node_value = self.represent_data(item_value) + if not (isinstance(node_key, ScalarNode) and not node_key.style): + best_style = False + if not (isinstance(node_value, ScalarNode) and not node_value.style): + best_style = False + value.append((node_key, node_value)) + if flow_style is None: + if self.default_flow_style is not None: + node.flow_style = self.default_flow_style + else: + node.flow_style = best_style + return node + + def ignore_aliases(self, data): + return False + +class SafeRepresenter(BaseRepresenter): + + def ignore_aliases(self, data): + if data is None: + return True + if isinstance(data, tuple) and data == (): + return True + if isinstance(data, (str, bytes, bool, int, float)): + return True + + def represent_none(self, data): + return self.represent_scalar('tag:yaml.org,2002:null', 'null') + + def represent_str(self, data): + return self.represent_scalar('tag:yaml.org,2002:str', data) + + def represent_binary(self, data): + if hasattr(base64, 'encodebytes'): + data = base64.encodebytes(data).decode('ascii') + else: + data = base64.encodestring(data).decode('ascii') + return self.represent_scalar('tag:yaml.org,2002:binary', data, style='|') + + def represent_bool(self, data): + if data: + value = 'true' + else: + value = 'false' + return self.represent_scalar('tag:yaml.org,2002:bool', value) + + def represent_int(self, data): + return self.represent_scalar('tag:yaml.org,2002:int', str(data)) + + inf_value = 1e300 + while repr(inf_value) != repr(inf_value*inf_value): + inf_value *= inf_value + + def represent_float(self, data): + if data != data or (data == 0.0 and data == 1.0): + value = '.nan' + elif data == self.inf_value: + value = '.inf' + elif data == -self.inf_value: + value = '-.inf' + else: + value = repr(data).lower() + # Note that in some cases `repr(data)` represents a float number + # without the decimal parts. For instance: + # >>> repr(1e17) + # '1e17' + # Unfortunately, this is not a valid float representation according + # to the definition of the `!!float` tag. We fix this by adding + # '.0' before the 'e' symbol. + if '.' not in value and 'e' in value: + value = value.replace('e', '.0e', 1) + return self.represent_scalar('tag:yaml.org,2002:float', value) + + def represent_list(self, data): + #pairs = (len(data) > 0 and isinstance(data, list)) + #if pairs: + # for item in data: + # if not isinstance(item, tuple) or len(item) != 2: + # pairs = False + # break + #if not pairs: + return self.represent_sequence('tag:yaml.org,2002:seq', data) + #value = [] + #for item_key, item_value in data: + # value.append(self.represent_mapping(u'tag:yaml.org,2002:map', + # [(item_key, item_value)])) + #return SequenceNode(u'tag:yaml.org,2002:pairs', value) + + def represent_dict(self, data): + return self.represent_mapping('tag:yaml.org,2002:map', data) + + def represent_set(self, data): + value = {} + for key in data: + value[key] = None + return self.represent_mapping('tag:yaml.org,2002:set', value) + + def represent_date(self, data): + value = data.isoformat() + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) + + def represent_datetime(self, data): + value = data.isoformat(' ') + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) + + def represent_yaml_object(self, tag, data, cls, flow_style=None): + if hasattr(data, '__getstate__'): + state = data.__getstate__() + else: + state = data.__dict__.copy() + return self.represent_mapping(tag, state, flow_style=flow_style) + + def represent_undefined(self, data): + raise RepresenterError("cannot represent an object", data) + +SafeRepresenter.add_representer(type(None), + SafeRepresenter.represent_none) + +SafeRepresenter.add_representer(str, + SafeRepresenter.represent_str) + +SafeRepresenter.add_representer(bytes, + SafeRepresenter.represent_binary) + +SafeRepresenter.add_representer(bool, + SafeRepresenter.represent_bool) + +SafeRepresenter.add_representer(int, + SafeRepresenter.represent_int) + +SafeRepresenter.add_representer(float, + SafeRepresenter.represent_float) + +SafeRepresenter.add_representer(list, + SafeRepresenter.represent_list) + +SafeRepresenter.add_representer(tuple, + SafeRepresenter.represent_list) + +SafeRepresenter.add_representer(dict, + SafeRepresenter.represent_dict) + +SafeRepresenter.add_representer(set, + SafeRepresenter.represent_set) + +SafeRepresenter.add_representer(datetime.date, + SafeRepresenter.represent_date) + +SafeRepresenter.add_representer(datetime.datetime, + SafeRepresenter.represent_datetime) + +SafeRepresenter.add_representer(None, + SafeRepresenter.represent_undefined) + +class Representer(SafeRepresenter): + + def represent_complex(self, data): + if data.imag == 0.0: + data = '%r' % data.real + elif data.real == 0.0: + data = '%rj' % data.imag + elif data.imag > 0: + data = '%r+%rj' % (data.real, data.imag) + else: + data = '%r%rj' % (data.real, data.imag) + return self.represent_scalar('tag:yaml.org,2002:python/complex', data) + + def represent_tuple(self, data): + return self.represent_sequence('tag:yaml.org,2002:python/tuple', data) + + def represent_name(self, data): + name = '%s.%s' % (data.__module__, data.__name__) + return self.represent_scalar('tag:yaml.org,2002:python/name:'+name, '') + + def represent_module(self, data): + return self.represent_scalar( + 'tag:yaml.org,2002:python/module:'+data.__name__, '') + + def represent_object(self, data): + # We use __reduce__ API to save the data. data.__reduce__ returns + # a tuple of length 2-5: + # (function, args, state, listitems, dictitems) + + # For reconstructing, we calls function(*args), then set its state, + # listitems, and dictitems if they are not None. + + # A special case is when function.__name__ == '__newobj__'. In this + # case we create the object with args[0].__new__(*args). + + # Another special case is when __reduce__ returns a string - we don't + # support it. + + # We produce a !!python/object, !!python/object/new or + # !!python/object/apply node. + + cls = type(data) + if cls in copyreg.dispatch_table: + reduce = copyreg.dispatch_table[cls](data) + elif hasattr(data, '__reduce_ex__'): + reduce = data.__reduce_ex__(2) + elif hasattr(data, '__reduce__'): + reduce = data.__reduce__() + else: + raise RepresenterError("cannot represent an object", data) + reduce = (list(reduce)+[None]*5)[:5] + function, args, state, listitems, dictitems = reduce + args = list(args) + if state is None: + state = {} + if listitems is not None: + listitems = list(listitems) + if dictitems is not None: + dictitems = dict(dictitems) + if function.__name__ == '__newobj__': + function = args[0] + args = args[1:] + tag = 'tag:yaml.org,2002:python/object/new:' + newobj = True + else: + tag = 'tag:yaml.org,2002:python/object/apply:' + newobj = False + function_name = '%s.%s' % (function.__module__, function.__name__) + if not args and not listitems and not dictitems \ + and isinstance(state, dict) and newobj: + return self.represent_mapping( + 'tag:yaml.org,2002:python/object:'+function_name, state) + if not listitems and not dictitems \ + and isinstance(state, dict) and not state: + return self.represent_sequence(tag+function_name, args) + value = {} + if args: + value['args'] = args + if state or not isinstance(state, dict): + value['state'] = state + if listitems: + value['listitems'] = listitems + if dictitems: + value['dictitems'] = dictitems + return self.represent_mapping(tag+function_name, value) + + def represent_ordered_dict(self, data): + # Provide uniform representation across different Python versions. + data_type = type(data) + tag = 'tag:yaml.org,2002:python/object/apply:%s.%s' \ + % (data_type.__module__, data_type.__name__) + items = [[key, value] for key, value in data.items()] + return self.represent_sequence(tag, [items]) + +Representer.add_representer(complex, + Representer.represent_complex) + +Representer.add_representer(tuple, + Representer.represent_tuple) + +Representer.add_representer(type, + Representer.represent_name) + +Representer.add_representer(collections.OrderedDict, + Representer.represent_ordered_dict) + +Representer.add_representer(types.FunctionType, + Representer.represent_name) + +Representer.add_representer(types.BuiltinFunctionType, + Representer.represent_name) + +Representer.add_representer(types.ModuleType, + Representer.represent_module) + +Representer.add_multi_representer(object, + Representer.represent_object) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/resolver.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/resolver.py new file mode 100644 index 00000000..013896d2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/resolver.py @@ -0,0 +1,227 @@ + +__all__ = ['BaseResolver', 'Resolver'] + +from .error import * +from .nodes import * + +import re + +class ResolverError(YAMLError): + pass + +class BaseResolver: + + DEFAULT_SCALAR_TAG = 'tag:yaml.org,2002:str' + DEFAULT_SEQUENCE_TAG = 'tag:yaml.org,2002:seq' + DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map' + + yaml_implicit_resolvers = {} + yaml_path_resolvers = {} + + def __init__(self): + self.resolver_exact_paths = [] + self.resolver_prefix_paths = [] + + @classmethod + def add_implicit_resolver(cls, tag, regexp, first): + if not 'yaml_implicit_resolvers' in cls.__dict__: + implicit_resolvers = {} + for key in cls.yaml_implicit_resolvers: + implicit_resolvers[key] = cls.yaml_implicit_resolvers[key][:] + cls.yaml_implicit_resolvers = implicit_resolvers + if first is None: + first = [None] + for ch in first: + cls.yaml_implicit_resolvers.setdefault(ch, []).append((tag, regexp)) + + @classmethod + def add_path_resolver(cls, tag, path, kind=None): + # Note: `add_path_resolver` is experimental. The API could be changed. + # `new_path` is a pattern that is matched against the path from the + # root to the node that is being considered. `node_path` elements are + # tuples `(node_check, index_check)`. `node_check` is a node class: + # `ScalarNode`, `SequenceNode`, `MappingNode` or `None`. `None` + # matches any kind of a node. `index_check` could be `None`, a boolean + # value, a string value, or a number. `None` and `False` match against + # any _value_ of sequence and mapping nodes. `True` matches against + # any _key_ of a mapping node. A string `index_check` matches against + # a mapping value that corresponds to a scalar key which content is + # equal to the `index_check` value. An integer `index_check` matches + # against a sequence value with the index equal to `index_check`. + if not 'yaml_path_resolvers' in cls.__dict__: + cls.yaml_path_resolvers = cls.yaml_path_resolvers.copy() + new_path = [] + for element in path: + if isinstance(element, (list, tuple)): + if len(element) == 2: + node_check, index_check = element + elif len(element) == 1: + node_check = element[0] + index_check = True + else: + raise ResolverError("Invalid path element: %s" % element) + else: + node_check = None + index_check = element + if node_check is str: + node_check = ScalarNode + elif node_check is list: + node_check = SequenceNode + elif node_check is dict: + node_check = MappingNode + elif node_check not in [ScalarNode, SequenceNode, MappingNode] \ + and not isinstance(node_check, str) \ + and node_check is not None: + raise ResolverError("Invalid node checker: %s" % node_check) + if not isinstance(index_check, (str, int)) \ + and index_check is not None: + raise ResolverError("Invalid index checker: %s" % index_check) + new_path.append((node_check, index_check)) + if kind is str: + kind = ScalarNode + elif kind is list: + kind = SequenceNode + elif kind is dict: + kind = MappingNode + elif kind not in [ScalarNode, SequenceNode, MappingNode] \ + and kind is not None: + raise ResolverError("Invalid node kind: %s" % kind) + cls.yaml_path_resolvers[tuple(new_path), kind] = tag + + def descend_resolver(self, current_node, current_index): + if not self.yaml_path_resolvers: + return + exact_paths = {} + prefix_paths = [] + if current_node: + depth = len(self.resolver_prefix_paths) + for path, kind in self.resolver_prefix_paths[-1]: + if self.check_resolver_prefix(depth, path, kind, + current_node, current_index): + if len(path) > depth: + prefix_paths.append((path, kind)) + else: + exact_paths[kind] = self.yaml_path_resolvers[path, kind] + else: + for path, kind in self.yaml_path_resolvers: + if not path: + exact_paths[kind] = self.yaml_path_resolvers[path, kind] + else: + prefix_paths.append((path, kind)) + self.resolver_exact_paths.append(exact_paths) + self.resolver_prefix_paths.append(prefix_paths) + + def ascend_resolver(self): + if not self.yaml_path_resolvers: + return + self.resolver_exact_paths.pop() + self.resolver_prefix_paths.pop() + + def check_resolver_prefix(self, depth, path, kind, + current_node, current_index): + node_check, index_check = path[depth-1] + if isinstance(node_check, str): + if current_node.tag != node_check: + return + elif node_check is not None: + if not isinstance(current_node, node_check): + return + if index_check is True and current_index is not None: + return + if (index_check is False or index_check is None) \ + and current_index is None: + return + if isinstance(index_check, str): + if not (isinstance(current_index, ScalarNode) + and index_check == current_index.value): + return + elif isinstance(index_check, int) and not isinstance(index_check, bool): + if index_check != current_index: + return + return True + + def resolve(self, kind, value, implicit): + if kind is ScalarNode and implicit[0]: + if value == '': + resolvers = self.yaml_implicit_resolvers.get('', []) + else: + resolvers = self.yaml_implicit_resolvers.get(value[0], []) + wildcard_resolvers = self.yaml_implicit_resolvers.get(None, []) + for tag, regexp in resolvers + wildcard_resolvers: + if regexp.match(value): + return tag + implicit = implicit[1] + if self.yaml_path_resolvers: + exact_paths = self.resolver_exact_paths[-1] + if kind in exact_paths: + return exact_paths[kind] + if None in exact_paths: + return exact_paths[None] + if kind is ScalarNode: + return self.DEFAULT_SCALAR_TAG + elif kind is SequenceNode: + return self.DEFAULT_SEQUENCE_TAG + elif kind is MappingNode: + return self.DEFAULT_MAPPING_TAG + +class Resolver(BaseResolver): + pass + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:bool', + re.compile(r'''^(?:yes|Yes|YES|no|No|NO + |true|True|TRUE|false|False|FALSE + |on|On|ON|off|Off|OFF)$''', re.X), + list('yYnNtTfFoO')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:float', + re.compile(r'''^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? + |\.[0-9_]+(?:[eE][-+][0-9]+)? + |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]* + |[-+]?\.(?:inf|Inf|INF) + |\.(?:nan|NaN|NAN))$''', re.X), + list('-+0123456789.')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:int', + re.compile(r'''^(?:[-+]?0b[0-1_]+ + |[-+]?0[0-7_]+ + |[-+]?(?:0|[1-9][0-9_]*) + |[-+]?0x[0-9a-fA-F_]+ + |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$''', re.X), + list('-+0123456789')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:merge', + re.compile(r'^(?:<<)$'), + ['<']) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:null', + re.compile(r'''^(?: ~ + |null|Null|NULL + | )$''', re.X), + ['~', 'n', 'N', '']) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:timestamp', + re.compile(r'''^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] + |[0-9][0-9][0-9][0-9] -[0-9][0-9]? -[0-9][0-9]? + (?:[Tt]|[ \t]+)[0-9][0-9]? + :[0-9][0-9] :[0-9][0-9] (?:\.[0-9]*)? + (?:[ \t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$''', re.X), + list('0123456789')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:value', + re.compile(r'^(?:=)$'), + ['=']) + +# The following resolver is only for documentation purposes. It cannot work +# because plain scalars cannot start with '!', '&', or '*'. +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:yaml', + re.compile(r'^(?:!|&|\*)$'), + list('!&*')) + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/scanner.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/scanner.py new file mode 100644 index 00000000..7437ede1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/scanner.py @@ -0,0 +1,1435 @@ + +# Scanner produces tokens of the following types: +# STREAM-START +# STREAM-END +# DIRECTIVE(name, value) +# DOCUMENT-START +# DOCUMENT-END +# BLOCK-SEQUENCE-START +# BLOCK-MAPPING-START +# BLOCK-END +# FLOW-SEQUENCE-START +# FLOW-MAPPING-START +# FLOW-SEQUENCE-END +# FLOW-MAPPING-END +# BLOCK-ENTRY +# FLOW-ENTRY +# KEY +# VALUE +# ALIAS(value) +# ANCHOR(value) +# TAG(value) +# SCALAR(value, plain, style) +# +# Read comments in the Scanner code for more details. +# + +__all__ = ['Scanner', 'ScannerError'] + +from .error import MarkedYAMLError +from .tokens import * + +class ScannerError(MarkedYAMLError): + pass + +class SimpleKey: + # See below simple keys treatment. + + def __init__(self, token_number, required, index, line, column, mark): + self.token_number = token_number + self.required = required + self.index = index + self.line = line + self.column = column + self.mark = mark + +class Scanner: + + def __init__(self): + """Initialize the scanner.""" + # It is assumed that Scanner and Reader will have a common descendant. + # Reader do the dirty work of checking for BOM and converting the + # input data to Unicode. It also adds NUL to the end. + # + # Reader supports the following methods + # self.peek(i=0) # peek the next i-th character + # self.prefix(l=1) # peek the next l characters + # self.forward(l=1) # read the next l characters and move the pointer. + + # Had we reached the end of the stream? + self.done = False + + # The number of unclosed '{' and '['. `flow_level == 0` means block + # context. + self.flow_level = 0 + + # List of processed tokens that are not yet emitted. + self.tokens = [] + + # Add the STREAM-START token. + self.fetch_stream_start() + + # Number of tokens that were emitted through the `get_token` method. + self.tokens_taken = 0 + + # The current indentation level. + self.indent = -1 + + # Past indentation levels. + self.indents = [] + + # Variables related to simple keys treatment. + + # A simple key is a key that is not denoted by the '?' indicator. + # Example of simple keys: + # --- + # block simple key: value + # ? not a simple key: + # : { flow simple key: value } + # We emit the KEY token before all keys, so when we find a potential + # simple key, we try to locate the corresponding ':' indicator. + # Simple keys should be limited to a single line and 1024 characters. + + # Can a simple key start at the current position? A simple key may + # start: + # - at the beginning of the line, not counting indentation spaces + # (in block context), + # - after '{', '[', ',' (in the flow context), + # - after '?', ':', '-' (in the block context). + # In the block context, this flag also signifies if a block collection + # may start at the current position. + self.allow_simple_key = True + + # Keep track of possible simple keys. This is a dictionary. The key + # is `flow_level`; there can be no more that one possible simple key + # for each level. The value is a SimpleKey record: + # (token_number, required, index, line, column, mark) + # A simple key may start with ALIAS, ANCHOR, TAG, SCALAR(flow), + # '[', or '{' tokens. + self.possible_simple_keys = {} + + # Public methods. + + def check_token(self, *choices): + # Check if the next token is one of the given types. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + if not choices: + return True + for choice in choices: + if isinstance(self.tokens[0], choice): + return True + return False + + def peek_token(self): + # Return the next token, but do not delete if from the queue. + # Return None if no more tokens. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + return self.tokens[0] + else: + return None + + def get_token(self): + # Return the next token. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + self.tokens_taken += 1 + return self.tokens.pop(0) + + # Private methods. + + def need_more_tokens(self): + if self.done: + return False + if not self.tokens: + return True + # The current token may be a potential simple key, so we + # need to look further. + self.stale_possible_simple_keys() + if self.next_possible_simple_key() == self.tokens_taken: + return True + + def fetch_more_tokens(self): + + # Eat whitespaces and comments until we reach the next token. + self.scan_to_next_token() + + # Remove obsolete possible simple keys. + self.stale_possible_simple_keys() + + # Compare the current indentation and column. It may add some tokens + # and decrease the current indentation level. + self.unwind_indent(self.column) + + # Peek the next character. + ch = self.peek() + + # Is it the end of stream? + if ch == '\0': + return self.fetch_stream_end() + + # Is it a directive? + if ch == '%' and self.check_directive(): + return self.fetch_directive() + + # Is it the document start? + if ch == '-' and self.check_document_start(): + return self.fetch_document_start() + + # Is it the document end? + if ch == '.' and self.check_document_end(): + return self.fetch_document_end() + + # TODO: support for BOM within a stream. + #if ch == '\uFEFF': + # return self.fetch_bom() <-- issue BOMToken + + # Note: the order of the following checks is NOT significant. + + # Is it the flow sequence start indicator? + if ch == '[': + return self.fetch_flow_sequence_start() + + # Is it the flow mapping start indicator? + if ch == '{': + return self.fetch_flow_mapping_start() + + # Is it the flow sequence end indicator? + if ch == ']': + return self.fetch_flow_sequence_end() + + # Is it the flow mapping end indicator? + if ch == '}': + return self.fetch_flow_mapping_end() + + # Is it the flow entry indicator? + if ch == ',': + return self.fetch_flow_entry() + + # Is it the block entry indicator? + if ch == '-' and self.check_block_entry(): + return self.fetch_block_entry() + + # Is it the key indicator? + if ch == '?' and self.check_key(): + return self.fetch_key() + + # Is it the value indicator? + if ch == ':' and self.check_value(): + return self.fetch_value() + + # Is it an alias? + if ch == '*': + return self.fetch_alias() + + # Is it an anchor? + if ch == '&': + return self.fetch_anchor() + + # Is it a tag? + if ch == '!': + return self.fetch_tag() + + # Is it a literal scalar? + if ch == '|' and not self.flow_level: + return self.fetch_literal() + + # Is it a folded scalar? + if ch == '>' and not self.flow_level: + return self.fetch_folded() + + # Is it a single quoted scalar? + if ch == '\'': + return self.fetch_single() + + # Is it a double quoted scalar? + if ch == '\"': + return self.fetch_double() + + # It must be a plain scalar then. + if self.check_plain(): + return self.fetch_plain() + + # No? It's an error. Let's produce a nice error message. + raise ScannerError("while scanning for the next token", None, + "found character %r that cannot start any token" % ch, + self.get_mark()) + + # Simple keys treatment. + + def next_possible_simple_key(self): + # Return the number of the nearest possible simple key. Actually we + # don't need to loop through the whole dictionary. We may replace it + # with the following code: + # if not self.possible_simple_keys: + # return None + # return self.possible_simple_keys[ + # min(self.possible_simple_keys.keys())].token_number + min_token_number = None + for level in self.possible_simple_keys: + key = self.possible_simple_keys[level] + if min_token_number is None or key.token_number < min_token_number: + min_token_number = key.token_number + return min_token_number + + def stale_possible_simple_keys(self): + # Remove entries that are no longer possible simple keys. According to + # the YAML specification, simple keys + # - should be limited to a single line, + # - should be no longer than 1024 characters. + # Disabling this procedure will allow simple keys of any length and + # height (may cause problems if indentation is broken though). + for level in list(self.possible_simple_keys): + key = self.possible_simple_keys[level] + if key.line != self.line \ + or self.index-key.index > 1024: + if key.required: + raise ScannerError("while scanning a simple key", key.mark, + "could not find expected ':'", self.get_mark()) + del self.possible_simple_keys[level] + + def save_possible_simple_key(self): + # The next token may start a simple key. We check if it's possible + # and save its position. This function is called for + # ALIAS, ANCHOR, TAG, SCALAR(flow), '[', and '{'. + + # Check if a simple key is required at the current position. + required = not self.flow_level and self.indent == self.column + + # The next token might be a simple key. Let's save it's number and + # position. + if self.allow_simple_key: + self.remove_possible_simple_key() + token_number = self.tokens_taken+len(self.tokens) + key = SimpleKey(token_number, required, + self.index, self.line, self.column, self.get_mark()) + self.possible_simple_keys[self.flow_level] = key + + def remove_possible_simple_key(self): + # Remove the saved possible key position at the current flow level. + if self.flow_level in self.possible_simple_keys: + key = self.possible_simple_keys[self.flow_level] + + if key.required: + raise ScannerError("while scanning a simple key", key.mark, + "could not find expected ':'", self.get_mark()) + + del self.possible_simple_keys[self.flow_level] + + # Indentation functions. + + def unwind_indent(self, column): + + ## In flow context, tokens should respect indentation. + ## Actually the condition should be `self.indent >= column` according to + ## the spec. But this condition will prohibit intuitively correct + ## constructions such as + ## key : { + ## } + #if self.flow_level and self.indent > column: + # raise ScannerError(None, None, + # "invalid indentation or unclosed '[' or '{'", + # self.get_mark()) + + # In the flow context, indentation is ignored. We make the scanner less + # restrictive then specification requires. + if self.flow_level: + return + + # In block context, we may need to issue the BLOCK-END tokens. + while self.indent > column: + mark = self.get_mark() + self.indent = self.indents.pop() + self.tokens.append(BlockEndToken(mark, mark)) + + def add_indent(self, column): + # Check if we need to increase indentation. + if self.indent < column: + self.indents.append(self.indent) + self.indent = column + return True + return False + + # Fetchers. + + def fetch_stream_start(self): + # We always add STREAM-START as the first token and STREAM-END as the + # last token. + + # Read the token. + mark = self.get_mark() + + # Add STREAM-START. + self.tokens.append(StreamStartToken(mark, mark, + encoding=self.encoding)) + + + def fetch_stream_end(self): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. + self.remove_possible_simple_key() + self.allow_simple_key = False + self.possible_simple_keys = {} + + # Read the token. + mark = self.get_mark() + + # Add STREAM-END. + self.tokens.append(StreamEndToken(mark, mark)) + + # The steam is finished. + self.done = True + + def fetch_directive(self): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. + self.remove_possible_simple_key() + self.allow_simple_key = False + + # Scan and add DIRECTIVE. + self.tokens.append(self.scan_directive()) + + def fetch_document_start(self): + self.fetch_document_indicator(DocumentStartToken) + + def fetch_document_end(self): + self.fetch_document_indicator(DocumentEndToken) + + def fetch_document_indicator(self, TokenClass): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. Note that there could not be a block collection + # after '---'. + self.remove_possible_simple_key() + self.allow_simple_key = False + + # Add DOCUMENT-START or DOCUMENT-END. + start_mark = self.get_mark() + self.forward(3) + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_sequence_start(self): + self.fetch_flow_collection_start(FlowSequenceStartToken) + + def fetch_flow_mapping_start(self): + self.fetch_flow_collection_start(FlowMappingStartToken) + + def fetch_flow_collection_start(self, TokenClass): + + # '[' and '{' may start a simple key. + self.save_possible_simple_key() + + # Increase the flow level. + self.flow_level += 1 + + # Simple keys are allowed after '[' and '{'. + self.allow_simple_key = True + + # Add FLOW-SEQUENCE-START or FLOW-MAPPING-START. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_sequence_end(self): + self.fetch_flow_collection_end(FlowSequenceEndToken) + + def fetch_flow_mapping_end(self): + self.fetch_flow_collection_end(FlowMappingEndToken) + + def fetch_flow_collection_end(self, TokenClass): + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Decrease the flow level. + self.flow_level -= 1 + + # No simple keys after ']' or '}'. + self.allow_simple_key = False + + # Add FLOW-SEQUENCE-END or FLOW-MAPPING-END. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_entry(self): + + # Simple keys are allowed after ','. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add FLOW-ENTRY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(FlowEntryToken(start_mark, end_mark)) + + def fetch_block_entry(self): + + # Block context needs additional checks. + if not self.flow_level: + + # Are we allowed to start a new entry? + if not self.allow_simple_key: + raise ScannerError(None, None, + "sequence entries are not allowed here", + self.get_mark()) + + # We may need to add BLOCK-SEQUENCE-START. + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockSequenceStartToken(mark, mark)) + + # It's an error for the block entry to occur in the flow context, + # but we let the parser detect this. + else: + pass + + # Simple keys are allowed after '-'. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add BLOCK-ENTRY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(BlockEntryToken(start_mark, end_mark)) + + def fetch_key(self): + + # Block context needs additional checks. + if not self.flow_level: + + # Are we allowed to start a key (not necessary a simple)? + if not self.allow_simple_key: + raise ScannerError(None, None, + "mapping keys are not allowed here", + self.get_mark()) + + # We may need to add BLOCK-MAPPING-START. + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockMappingStartToken(mark, mark)) + + # Simple keys are allowed after '?' in the block context. + self.allow_simple_key = not self.flow_level + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add KEY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(KeyToken(start_mark, end_mark)) + + def fetch_value(self): + + # Do we determine a simple key? + if self.flow_level in self.possible_simple_keys: + + # Add KEY. + key = self.possible_simple_keys[self.flow_level] + del self.possible_simple_keys[self.flow_level] + self.tokens.insert(key.token_number-self.tokens_taken, + KeyToken(key.mark, key.mark)) + + # If this key starts a new block mapping, we need to add + # BLOCK-MAPPING-START. + if not self.flow_level: + if self.add_indent(key.column): + self.tokens.insert(key.token_number-self.tokens_taken, + BlockMappingStartToken(key.mark, key.mark)) + + # There cannot be two simple keys one after another. + self.allow_simple_key = False + + # It must be a part of a complex key. + else: + + # Block context needs additional checks. + # (Do we really need them? They will be caught by the parser + # anyway.) + if not self.flow_level: + + # We are allowed to start a complex value if and only if + # we can start a simple key. + if not self.allow_simple_key: + raise ScannerError(None, None, + "mapping values are not allowed here", + self.get_mark()) + + # If this value starts a new block mapping, we need to add + # BLOCK-MAPPING-START. It will be detected as an error later by + # the parser. + if not self.flow_level: + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockMappingStartToken(mark, mark)) + + # Simple keys are allowed after ':' in the block context. + self.allow_simple_key = not self.flow_level + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add VALUE. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(ValueToken(start_mark, end_mark)) + + def fetch_alias(self): + + # ALIAS could be a simple key. + self.save_possible_simple_key() + + # No simple keys after ALIAS. + self.allow_simple_key = False + + # Scan and add ALIAS. + self.tokens.append(self.scan_anchor(AliasToken)) + + def fetch_anchor(self): + + # ANCHOR could start a simple key. + self.save_possible_simple_key() + + # No simple keys after ANCHOR. + self.allow_simple_key = False + + # Scan and add ANCHOR. + self.tokens.append(self.scan_anchor(AnchorToken)) + + def fetch_tag(self): + + # TAG could start a simple key. + self.save_possible_simple_key() + + # No simple keys after TAG. + self.allow_simple_key = False + + # Scan and add TAG. + self.tokens.append(self.scan_tag()) + + def fetch_literal(self): + self.fetch_block_scalar(style='|') + + def fetch_folded(self): + self.fetch_block_scalar(style='>') + + def fetch_block_scalar(self, style): + + # A simple key may follow a block scalar. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Scan and add SCALAR. + self.tokens.append(self.scan_block_scalar(style)) + + def fetch_single(self): + self.fetch_flow_scalar(style='\'') + + def fetch_double(self): + self.fetch_flow_scalar(style='"') + + def fetch_flow_scalar(self, style): + + # A flow scalar could be a simple key. + self.save_possible_simple_key() + + # No simple keys after flow scalars. + self.allow_simple_key = False + + # Scan and add SCALAR. + self.tokens.append(self.scan_flow_scalar(style)) + + def fetch_plain(self): + + # A plain scalar could be a simple key. + self.save_possible_simple_key() + + # No simple keys after plain scalars. But note that `scan_plain` will + # change this flag if the scan is finished at the beginning of the + # line. + self.allow_simple_key = False + + # Scan and add SCALAR. May change `allow_simple_key`. + self.tokens.append(self.scan_plain()) + + # Checkers. + + def check_directive(self): + + # DIRECTIVE: ^ '%' ... + # The '%' indicator is already checked. + if self.column == 0: + return True + + def check_document_start(self): + + # DOCUMENT-START: ^ '---' (' '|'\n') + if self.column == 0: + if self.prefix(3) == '---' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return True + + def check_document_end(self): + + # DOCUMENT-END: ^ '...' (' '|'\n') + if self.column == 0: + if self.prefix(3) == '...' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return True + + def check_block_entry(self): + + # BLOCK-ENTRY: '-' (' '|'\n') + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_key(self): + + # KEY(flow context): '?' + if self.flow_level: + return True + + # KEY(block context): '?' (' '|'\n') + else: + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_value(self): + + # VALUE(flow context): ':' + if self.flow_level: + return True + + # VALUE(block context): ':' (' '|'\n') + else: + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_plain(self): + + # A plain scalar may start with any non-space character except: + # '-', '?', ':', ',', '[', ']', '{', '}', + # '#', '&', '*', '!', '|', '>', '\'', '\"', + # '%', '@', '`'. + # + # It may also start with + # '-', '?', ':' + # if it is followed by a non-space character. + # + # Note that we limit the last rule to the block context (except the + # '-' character) because we want the flow context to be space + # independent. + ch = self.peek() + return ch not in '\0 \t\r\n\x85\u2028\u2029-?:,[]{}#&*!|>\'\"%@`' \ + or (self.peek(1) not in '\0 \t\r\n\x85\u2028\u2029' + and (ch == '-' or (not self.flow_level and ch in '?:'))) + + # Scanners. + + def scan_to_next_token(self): + # We ignore spaces, line breaks and comments. + # If we find a line break in the block context, we set the flag + # `allow_simple_key` on. + # The byte order mark is stripped if it's the first character in the + # stream. We do not yet support BOM inside the stream as the + # specification requires. Any such mark will be considered as a part + # of the document. + # + # TODO: We need to make tab handling rules more sane. A good rule is + # Tabs cannot precede tokens + # BLOCK-SEQUENCE-START, BLOCK-MAPPING-START, BLOCK-END, + # KEY(block), VALUE(block), BLOCK-ENTRY + # So the checking code is + # if : + # self.allow_simple_keys = False + # We also need to add the check for `allow_simple_keys == True` to + # `unwind_indent` before issuing BLOCK-END. + # Scanners for block, flow, and plain scalars need to be modified. + + if self.index == 0 and self.peek() == '\uFEFF': + self.forward() + found = False + while not found: + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + if self.scan_line_break(): + if not self.flow_level: + self.allow_simple_key = True + else: + found = True + + def scan_directive(self): + # See the specification for details. + start_mark = self.get_mark() + self.forward() + name = self.scan_directive_name(start_mark) + value = None + if name == 'YAML': + value = self.scan_yaml_directive_value(start_mark) + end_mark = self.get_mark() + elif name == 'TAG': + value = self.scan_tag_directive_value(start_mark) + end_mark = self.get_mark() + else: + end_mark = self.get_mark() + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + self.scan_directive_ignored_line(start_mark) + return DirectiveToken(name, value, start_mark, end_mark) + + def scan_directive_name(self, start_mark): + # See the specification for details. + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if not length: + raise ScannerError("while scanning a directive", start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + value = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + return value + + def scan_yaml_directive_value(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + major = self.scan_yaml_directive_number(start_mark) + if self.peek() != '.': + raise ScannerError("while scanning a directive", start_mark, + "expected a digit or '.', but found %r" % self.peek(), + self.get_mark()) + self.forward() + minor = self.scan_yaml_directive_number(start_mark) + if self.peek() not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected a digit or ' ', but found %r" % self.peek(), + self.get_mark()) + return (major, minor) + + def scan_yaml_directive_number(self, start_mark): + # See the specification for details. + ch = self.peek() + if not ('0' <= ch <= '9'): + raise ScannerError("while scanning a directive", start_mark, + "expected a digit, but found %r" % ch, self.get_mark()) + length = 0 + while '0' <= self.peek(length) <= '9': + length += 1 + value = int(self.prefix(length)) + self.forward(length) + return value + + def scan_tag_directive_value(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + handle = self.scan_tag_directive_handle(start_mark) + while self.peek() == ' ': + self.forward() + prefix = self.scan_tag_directive_prefix(start_mark) + return (handle, prefix) + + def scan_tag_directive_handle(self, start_mark): + # See the specification for details. + value = self.scan_tag_handle('directive', start_mark) + ch = self.peek() + if ch != ' ': + raise ScannerError("while scanning a directive", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + return value + + def scan_tag_directive_prefix(self, start_mark): + # See the specification for details. + value = self.scan_tag_uri('directive', start_mark) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + return value + + def scan_directive_ignored_line(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + ch = self.peek() + if ch not in '\0\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected a comment or a line break, but found %r" + % ch, self.get_mark()) + self.scan_line_break() + + def scan_anchor(self, TokenClass): + # The specification does not restrict characters for anchors and + # aliases. This may lead to problems, for instance, the document: + # [ *alias, value ] + # can be interpreted in two ways, as + # [ "value" ] + # and + # [ *alias , "value" ] + # Therefore we restrict aliases to numbers and ASCII letters. + start_mark = self.get_mark() + indicator = self.peek() + if indicator == '*': + name = 'alias' + else: + name = 'anchor' + self.forward() + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if not length: + raise ScannerError("while scanning an %s" % name, start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + value = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch not in '\0 \t\r\n\x85\u2028\u2029?:,]}%@`': + raise ScannerError("while scanning an %s" % name, start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + end_mark = self.get_mark() + return TokenClass(value, start_mark, end_mark) + + def scan_tag(self): + # See the specification for details. + start_mark = self.get_mark() + ch = self.peek(1) + if ch == '<': + handle = None + self.forward(2) + suffix = self.scan_tag_uri('tag', start_mark) + if self.peek() != '>': + raise ScannerError("while parsing a tag", start_mark, + "expected '>', but found %r" % self.peek(), + self.get_mark()) + self.forward() + elif ch in '\0 \t\r\n\x85\u2028\u2029': + handle = None + suffix = '!' + self.forward() + else: + length = 1 + use_handle = False + while ch not in '\0 \r\n\x85\u2028\u2029': + if ch == '!': + use_handle = True + break + length += 1 + ch = self.peek(length) + handle = '!' + if use_handle: + handle = self.scan_tag_handle('tag', start_mark) + else: + handle = '!' + self.forward() + suffix = self.scan_tag_uri('tag', start_mark) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a tag", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + value = (handle, suffix) + end_mark = self.get_mark() + return TagToken(value, start_mark, end_mark) + + def scan_block_scalar(self, style): + # See the specification for details. + + if style == '>': + folded = True + else: + folded = False + + chunks = [] + start_mark = self.get_mark() + + # Scan the header. + self.forward() + chomping, increment = self.scan_block_scalar_indicators(start_mark) + self.scan_block_scalar_ignored_line(start_mark) + + # Determine the indentation level and go to the first non-empty line. + min_indent = self.indent+1 + if min_indent < 1: + min_indent = 1 + if increment is None: + breaks, max_indent, end_mark = self.scan_block_scalar_indentation() + indent = max(min_indent, max_indent) + else: + indent = min_indent+increment-1 + breaks, end_mark = self.scan_block_scalar_breaks(indent) + line_break = '' + + # Scan the inner part of the block scalar. + while self.column == indent and self.peek() != '\0': + chunks.extend(breaks) + leading_non_space = self.peek() not in ' \t' + length = 0 + while self.peek(length) not in '\0\r\n\x85\u2028\u2029': + length += 1 + chunks.append(self.prefix(length)) + self.forward(length) + line_break = self.scan_line_break() + breaks, end_mark = self.scan_block_scalar_breaks(indent) + if self.column == indent and self.peek() != '\0': + + # Unfortunately, folding rules are ambiguous. + # + # This is the folding according to the specification: + + if folded and line_break == '\n' \ + and leading_non_space and self.peek() not in ' \t': + if not breaks: + chunks.append(' ') + else: + chunks.append(line_break) + + # This is Clark Evans's interpretation (also in the spec + # examples): + # + #if folded and line_break == '\n': + # if not breaks: + # if self.peek() not in ' \t': + # chunks.append(' ') + # else: + # chunks.append(line_break) + #else: + # chunks.append(line_break) + else: + break + + # Chomp the tail. + if chomping is not False: + chunks.append(line_break) + if chomping is True: + chunks.extend(breaks) + + # We are done. + return ScalarToken(''.join(chunks), False, start_mark, end_mark, + style) + + def scan_block_scalar_indicators(self, start_mark): + # See the specification for details. + chomping = None + increment = None + ch = self.peek() + if ch in '+-': + if ch == '+': + chomping = True + else: + chomping = False + self.forward() + ch = self.peek() + if ch in '0123456789': + increment = int(ch) + if increment == 0: + raise ScannerError("while scanning a block scalar", start_mark, + "expected indentation indicator in the range 1-9, but found 0", + self.get_mark()) + self.forward() + elif ch in '0123456789': + increment = int(ch) + if increment == 0: + raise ScannerError("while scanning a block scalar", start_mark, + "expected indentation indicator in the range 1-9, but found 0", + self.get_mark()) + self.forward() + ch = self.peek() + if ch in '+-': + if ch == '+': + chomping = True + else: + chomping = False + self.forward() + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a block scalar", start_mark, + "expected chomping or indentation indicators, but found %r" + % ch, self.get_mark()) + return chomping, increment + + def scan_block_scalar_ignored_line(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + ch = self.peek() + if ch not in '\0\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a block scalar", start_mark, + "expected a comment or a line break, but found %r" % ch, + self.get_mark()) + self.scan_line_break() + + def scan_block_scalar_indentation(self): + # See the specification for details. + chunks = [] + max_indent = 0 + end_mark = self.get_mark() + while self.peek() in ' \r\n\x85\u2028\u2029': + if self.peek() != ' ': + chunks.append(self.scan_line_break()) + end_mark = self.get_mark() + else: + self.forward() + if self.column > max_indent: + max_indent = self.column + return chunks, max_indent, end_mark + + def scan_block_scalar_breaks(self, indent): + # See the specification for details. + chunks = [] + end_mark = self.get_mark() + while self.column < indent and self.peek() == ' ': + self.forward() + while self.peek() in '\r\n\x85\u2028\u2029': + chunks.append(self.scan_line_break()) + end_mark = self.get_mark() + while self.column < indent and self.peek() == ' ': + self.forward() + return chunks, end_mark + + def scan_flow_scalar(self, style): + # See the specification for details. + # Note that we loose indentation rules for quoted scalars. Quoted + # scalars don't need to adhere indentation because " and ' clearly + # mark the beginning and the end of them. Therefore we are less + # restrictive then the specification requires. We only need to check + # that document separators are not included in scalars. + if style == '"': + double = True + else: + double = False + chunks = [] + start_mark = self.get_mark() + quote = self.peek() + self.forward() + chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark)) + while self.peek() != quote: + chunks.extend(self.scan_flow_scalar_spaces(double, start_mark)) + chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark)) + self.forward() + end_mark = self.get_mark() + return ScalarToken(''.join(chunks), False, start_mark, end_mark, + style) + + ESCAPE_REPLACEMENTS = { + '0': '\0', + 'a': '\x07', + 'b': '\x08', + 't': '\x09', + '\t': '\x09', + 'n': '\x0A', + 'v': '\x0B', + 'f': '\x0C', + 'r': '\x0D', + 'e': '\x1B', + ' ': '\x20', + '\"': '\"', + '\\': '\\', + '/': '/', + 'N': '\x85', + '_': '\xA0', + 'L': '\u2028', + 'P': '\u2029', + } + + ESCAPE_CODES = { + 'x': 2, + 'u': 4, + 'U': 8, + } + + def scan_flow_scalar_non_spaces(self, double, start_mark): + # See the specification for details. + chunks = [] + while True: + length = 0 + while self.peek(length) not in '\'\"\\\0 \t\r\n\x85\u2028\u2029': + length += 1 + if length: + chunks.append(self.prefix(length)) + self.forward(length) + ch = self.peek() + if not double and ch == '\'' and self.peek(1) == '\'': + chunks.append('\'') + self.forward(2) + elif (double and ch == '\'') or (not double and ch in '\"\\'): + chunks.append(ch) + self.forward() + elif double and ch == '\\': + self.forward() + ch = self.peek() + if ch in self.ESCAPE_REPLACEMENTS: + chunks.append(self.ESCAPE_REPLACEMENTS[ch]) + self.forward() + elif ch in self.ESCAPE_CODES: + length = self.ESCAPE_CODES[ch] + self.forward() + for k in range(length): + if self.peek(k) not in '0123456789ABCDEFabcdef': + raise ScannerError("while scanning a double-quoted scalar", start_mark, + "expected escape sequence of %d hexdecimal numbers, but found %r" % + (length, self.peek(k)), self.get_mark()) + code = int(self.prefix(length), 16) + chunks.append(chr(code)) + self.forward(length) + elif ch in '\r\n\x85\u2028\u2029': + self.scan_line_break() + chunks.extend(self.scan_flow_scalar_breaks(double, start_mark)) + else: + raise ScannerError("while scanning a double-quoted scalar", start_mark, + "found unknown escape character %r" % ch, self.get_mark()) + else: + return chunks + + def scan_flow_scalar_spaces(self, double, start_mark): + # See the specification for details. + chunks = [] + length = 0 + while self.peek(length) in ' \t': + length += 1 + whitespaces = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch == '\0': + raise ScannerError("while scanning a quoted scalar", start_mark, + "found unexpected end of stream", self.get_mark()) + elif ch in '\r\n\x85\u2028\u2029': + line_break = self.scan_line_break() + breaks = self.scan_flow_scalar_breaks(double, start_mark) + if line_break != '\n': + chunks.append(line_break) + elif not breaks: + chunks.append(' ') + chunks.extend(breaks) + else: + chunks.append(whitespaces) + return chunks + + def scan_flow_scalar_breaks(self, double, start_mark): + # See the specification for details. + chunks = [] + while True: + # Instead of checking indentation, we check for document + # separators. + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a quoted scalar", start_mark, + "found unexpected document separator", self.get_mark()) + while self.peek() in ' \t': + self.forward() + if self.peek() in '\r\n\x85\u2028\u2029': + chunks.append(self.scan_line_break()) + else: + return chunks + + def scan_plain(self): + # See the specification for details. + # We add an additional restriction for the flow context: + # plain scalars in the flow context cannot contain ',' or '?'. + # We also keep track of the `allow_simple_key` flag here. + # Indentation rules are loosed for the flow context. + chunks = [] + start_mark = self.get_mark() + end_mark = start_mark + indent = self.indent+1 + # We allow zero indentation for scalars, but then we need to check for + # document separators at the beginning of the line. + #if indent == 0: + # indent = 1 + spaces = [] + while True: + length = 0 + if self.peek() == '#': + break + while True: + ch = self.peek(length) + if ch in '\0 \t\r\n\x85\u2028\u2029' \ + or (ch == ':' and + self.peek(length+1) in '\0 \t\r\n\x85\u2028\u2029' + + (u',[]{}' if self.flow_level else u''))\ + or (self.flow_level and ch in ',?[]{}'): + break + length += 1 + if length == 0: + break + self.allow_simple_key = False + chunks.extend(spaces) + chunks.append(self.prefix(length)) + self.forward(length) + end_mark = self.get_mark() + spaces = self.scan_plain_spaces(indent, start_mark) + if not spaces or self.peek() == '#' \ + or (not self.flow_level and self.column < indent): + break + return ScalarToken(''.join(chunks), True, start_mark, end_mark) + + def scan_plain_spaces(self, indent, start_mark): + # See the specification for details. + # The specification is really confusing about tabs in plain scalars. + # We just forbid them completely. Do not use tabs in YAML! + chunks = [] + length = 0 + while self.peek(length) in ' ': + length += 1 + whitespaces = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch in '\r\n\x85\u2028\u2029': + line_break = self.scan_line_break() + self.allow_simple_key = True + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return + breaks = [] + while self.peek() in ' \r\n\x85\u2028\u2029': + if self.peek() == ' ': + self.forward() + else: + breaks.append(self.scan_line_break()) + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return + if line_break != '\n': + chunks.append(line_break) + elif not breaks: + chunks.append(' ') + chunks.extend(breaks) + elif whitespaces: + chunks.append(whitespaces) + return chunks + + def scan_tag_handle(self, name, start_mark): + # See the specification for details. + # For some strange reasons, the specification does not allow '_' in + # tag handles. I have allowed it anyway. + ch = self.peek() + if ch != '!': + raise ScannerError("while scanning a %s" % name, start_mark, + "expected '!', but found %r" % ch, self.get_mark()) + length = 1 + ch = self.peek(length) + if ch != ' ': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if ch != '!': + self.forward(length) + raise ScannerError("while scanning a %s" % name, start_mark, + "expected '!', but found %r" % ch, self.get_mark()) + length += 1 + value = self.prefix(length) + self.forward(length) + return value + + def scan_tag_uri(self, name, start_mark): + # See the specification for details. + # Note: we do not check if URI is well-formed. + chunks = [] + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.!~*\'()[]%': + if ch == '%': + chunks.append(self.prefix(length)) + self.forward(length) + length = 0 + chunks.append(self.scan_uri_escapes(name, start_mark)) + else: + length += 1 + ch = self.peek(length) + if length: + chunks.append(self.prefix(length)) + self.forward(length) + length = 0 + if not chunks: + raise ScannerError("while parsing a %s" % name, start_mark, + "expected URI, but found %r" % ch, self.get_mark()) + return ''.join(chunks) + + def scan_uri_escapes(self, name, start_mark): + # See the specification for details. + codes = [] + mark = self.get_mark() + while self.peek() == '%': + self.forward() + for k in range(2): + if self.peek(k) not in '0123456789ABCDEFabcdef': + raise ScannerError("while scanning a %s" % name, start_mark, + "expected URI escape sequence of 2 hexdecimal numbers, but found %r" + % self.peek(k), self.get_mark()) + codes.append(int(self.prefix(2), 16)) + self.forward(2) + try: + value = bytes(codes).decode('utf-8') + except UnicodeDecodeError as exc: + raise ScannerError("while scanning a %s" % name, start_mark, str(exc), mark) + return value + + def scan_line_break(self): + # Transforms: + # '\r\n' : '\n' + # '\r' : '\n' + # '\n' : '\n' + # '\x85' : '\n' + # '\u2028' : '\u2028' + # '\u2029 : '\u2029' + # default : '' + ch = self.peek() + if ch in '\r\n\x85': + if self.prefix(2) == '\r\n': + self.forward(2) + else: + self.forward() + return '\n' + elif ch in '\u2028\u2029': + self.forward() + return ch + return '' diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/serializer.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/serializer.py new file mode 100644 index 00000000..fe911e67 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/serializer.py @@ -0,0 +1,111 @@ + +__all__ = ['Serializer', 'SerializerError'] + +from .error import YAMLError +from .events import * +from .nodes import * + +class SerializerError(YAMLError): + pass + +class Serializer: + + ANCHOR_TEMPLATE = 'id%03d' + + def __init__(self, encoding=None, + explicit_start=None, explicit_end=None, version=None, tags=None): + self.use_encoding = encoding + self.use_explicit_start = explicit_start + self.use_explicit_end = explicit_end + self.use_version = version + self.use_tags = tags + self.serialized_nodes = {} + self.anchors = {} + self.last_anchor_id = 0 + self.closed = None + + def open(self): + if self.closed is None: + self.emit(StreamStartEvent(encoding=self.use_encoding)) + self.closed = False + elif self.closed: + raise SerializerError("serializer is closed") + else: + raise SerializerError("serializer is already opened") + + def close(self): + if self.closed is None: + raise SerializerError("serializer is not opened") + elif not self.closed: + self.emit(StreamEndEvent()) + self.closed = True + + #def __del__(self): + # self.close() + + def serialize(self, node): + if self.closed is None: + raise SerializerError("serializer is not opened") + elif self.closed: + raise SerializerError("serializer is closed") + self.emit(DocumentStartEvent(explicit=self.use_explicit_start, + version=self.use_version, tags=self.use_tags)) + self.anchor_node(node) + self.serialize_node(node, None, None) + self.emit(DocumentEndEvent(explicit=self.use_explicit_end)) + self.serialized_nodes = {} + self.anchors = {} + self.last_anchor_id = 0 + + def anchor_node(self, node): + if node in self.anchors: + if self.anchors[node] is None: + self.anchors[node] = self.generate_anchor(node) + else: + self.anchors[node] = None + if isinstance(node, SequenceNode): + for item in node.value: + self.anchor_node(item) + elif isinstance(node, MappingNode): + for key, value in node.value: + self.anchor_node(key) + self.anchor_node(value) + + def generate_anchor(self, node): + self.last_anchor_id += 1 + return self.ANCHOR_TEMPLATE % self.last_anchor_id + + def serialize_node(self, node, parent, index): + alias = self.anchors[node] + if node in self.serialized_nodes: + self.emit(AliasEvent(alias)) + else: + self.serialized_nodes[node] = True + self.descend_resolver(parent, index) + if isinstance(node, ScalarNode): + detected_tag = self.resolve(ScalarNode, node.value, (True, False)) + default_tag = self.resolve(ScalarNode, node.value, (False, True)) + implicit = (node.tag == detected_tag), (node.tag == default_tag) + self.emit(ScalarEvent(alias, node.tag, implicit, node.value, + style=node.style)) + elif isinstance(node, SequenceNode): + implicit = (node.tag + == self.resolve(SequenceNode, node.value, True)) + self.emit(SequenceStartEvent(alias, node.tag, implicit, + flow_style=node.flow_style)) + index = 0 + for item in node.value: + self.serialize_node(item, node, index) + index += 1 + self.emit(SequenceEndEvent()) + elif isinstance(node, MappingNode): + implicit = (node.tag + == self.resolve(MappingNode, node.value, True)) + self.emit(MappingStartEvent(alias, node.tag, implicit, + flow_style=node.flow_style)) + for key, value in node.value: + self.serialize_node(key, node, None) + self.serialize_node(value, node, key) + self.emit(MappingEndEvent()) + self.ascend_resolver() + diff --git a/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/tokens.py b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/tokens.py new file mode 100644 index 00000000..4d0b48a3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/grafana-operator/venv/yaml/tokens.py @@ -0,0 +1,104 @@ + +class Token(object): + def __init__(self, start_mark, end_mark): + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + attributes = [key for key in self.__dict__ + if not key.endswith('_mark')] + attributes.sort() + arguments = ', '.join(['%s=%r' % (key, getattr(self, key)) + for key in attributes]) + return '%s(%s)' % (self.__class__.__name__, arguments) + +#class BOMToken(Token): +# id = '' + +class DirectiveToken(Token): + id = '' + def __init__(self, name, value, start_mark, end_mark): + self.name = name + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class DocumentStartToken(Token): + id = '' + +class DocumentEndToken(Token): + id = '' + +class StreamStartToken(Token): + id = '' + def __init__(self, start_mark=None, end_mark=None, + encoding=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.encoding = encoding + +class StreamEndToken(Token): + id = '' + +class BlockSequenceStartToken(Token): + id = '' + +class BlockMappingStartToken(Token): + id = '' + +class BlockEndToken(Token): + id = '' + +class FlowSequenceStartToken(Token): + id = '[' + +class FlowMappingStartToken(Token): + id = '{' + +class FlowSequenceEndToken(Token): + id = ']' + +class FlowMappingEndToken(Token): + id = '}' + +class KeyToken(Token): + id = '?' + +class ValueToken(Token): + id = ':' + +class BlockEntryToken(Token): + id = '-' + +class FlowEntryToken(Token): + id = ',' + +class AliasToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class AnchorToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class TagToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class ScalarToken(Token): + id = '' + def __init__(self, value, plain, start_mark, end_mark, style=None): + self.value = value + self.plain = plain + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.flake8 b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.flake8 new file mode 100644 index 00000000..8ef84fcd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.flake8 @@ -0,0 +1,9 @@ +[flake8] +max-line-length = 99 +select: E,W,F,C,N +exclude: + venv + .git + build + dist + *.egg_info diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.gitignore b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.gitignore new file mode 100644 index 00000000..7d315ecb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.gitignore @@ -0,0 +1,4 @@ +build +*.charm +.idea +__pycache__ diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.jujuignore b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.jujuignore new file mode 100644 index 00000000..6ccd559e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/.jujuignore @@ -0,0 +1,3 @@ +/venv +*.py[cod] +*.charm diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/LICENSE b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/LICENSE new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/README.md b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/README.md new file mode 100644 index 00000000..6f3abb7f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/README.md @@ -0,0 +1,64 @@ +# Grafana Charm + +## Description + +This is the Grafana charm for Kubernetes using the Operator Framework. + +## Usage + +Initial setup (ensure microk8s is a clean slate with `microk8s.reset` or a fresh install with `snap install microk8s --classic`: +```bash +microk8s.enable dns storage registry dashboard +juju bootstrap microk8s mk8s +juju add-model lma +juju create-storage-pool operator-storage kubernetes storage-class=microk8s-hostpath +``` + +Deploy Grafana on its own: +```bash +git clone git@github.com:canonical/grafana-operator.git +cd grafana-operator +charmcraft build +juju deploy ./grafana.charm --resource grafana-image=grafana/grafana:7.2.1 +``` + +View the dashboard in a browser: +1. `juju status` to check the IP of the of the running Grafana application +2. Navigate to `http://IP_ADDRESS:3000` +3. Log in with the default credentials username=admin, password=admin. + +Add Prometheus as a datasource: +```bash +git clone git@github.com:canonical/prometheus-operator.git +cd prometheus-operator +charmcraft build +juju deploy ./prometheus.charm +juju add-relation grafana prometheus +watch -c juju status --color # wait for things to settle down +``` +> Once the deployed charm and relation settles, you should be able to see Prometheus data propagating to the Grafana dashboard. + +### High Availability Grafana + +This charm is written to support a high-availability Grafana cluster, but a database relation is required (MySQL or Postgresql). + +If HA is not required, there is no need to add a database relation. + +> NOTE: HA should not be considered for production use. + +... + +## Developing + +Create and activate a virtualenv, +and install the development requirements, + + virtualenv -p python3 venv + source venv/bin/activate + pip install -r requirements-dev.txt + +## Testing + +Just run `run_tests`: + + ./run_tests diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/config.yaml new file mode 100644 index 00000000..c91c65a3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/config.yaml @@ -0,0 +1,11 @@ +options: + port: + description: The port grafana will be listening on + type: int + default: 3000 + grafana_log_level: + type: string + description: | + Logging level for Grafana. Options are “debug”, “info”, + “warn”, “error”, and “critical”. + default: info \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/icon.svg b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/icon.svg new file mode 100644 index 00000000..2ad84eeb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/metadata.yaml new file mode 100644 index 00000000..1979c947 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/metadata.yaml @@ -0,0 +1,34 @@ +name: grafana +summary: Data visualization and observability with Grafana +maintainers: + - Justin Clark +description: | + Grafana provides dashboards for monitoring data and this + charm is written to allow for HA on Kubernetes and can take + multiple data sources (for example, Prometheus). +tags: + - lma + - grafana + - prometheus + - monitoring + - observability +series: + - kubernetes +provides: + grafana-source: + interface: grafana-datasource + grafana-dashboard: + interface: grafana-dash +requires: + database: + interface: db + limit: 1 +peers: + grafana: + interface: grafana-peers +storage: + sqlitedb: + type: filesystem + location: /var/lib/grafana +deployment: + service: loadbalancer diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements-dev.txt b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements-dev.txt new file mode 100644 index 00000000..eded4414 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements-dev.txt @@ -0,0 +1,2 @@ +-r requirements.txt +flake8 diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements.txt new file mode 100644 index 00000000..ca625b4c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/requirements.txt @@ -0,0 +1,2 @@ +ops +git+https://github.com/juju-solutions/resource-oci-image/@c5778285d332edf3d9a538f9d0c06154b7ec1b0b#egg=oci-image \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/run_tests b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/run_tests new file mode 100755 index 00000000..14bb4f4e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/run_tests @@ -0,0 +1,16 @@ +#!/bin/sh -e +# Copyright 2020 Justin +# See LICENSE file for licensing details. + +if [ -z "$VIRTUAL_ENV" -a -d venv/ ]; then + . venv/bin/activate +fi + +if [ -z "$PYTHONPATH" ]; then + export PYTHONPATH=src +else + export PYTHONPATH="src:$PYTHONPATH" +fi + +flake8 +python3 -m unittest -v "$@" diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/src/charm.py new file mode 100755 index 00000000..1053f8f8 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/src/charm.py @@ -0,0 +1,494 @@ +#! /usr/bin/env python3 +# -*- coding: utf-8 -*- + +import logging +import hashlib +import textwrap + +from oci_image import OCIImageResource, OCIImageResourceError +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus, BlockedStatus + +log = logging.getLogger() + + +# These are the required and optional relation data fields +# In other words, when relating to this charm, these are the fields +# that will be processed by this charm. +REQUIRED_DATASOURCE_FIELDS = { + 'private-address', # the hostname/IP of the data source server + 'port', # the port of the data source server + 'source-type', # the data source type (e.g. prometheus) +} + +OPTIONAL_DATASOURCE_FIELDS = { + 'source-name', # a human-readable name of the source +} + +# https://grafana.com/docs/grafana/latest/administration/configuration/#database +REQUIRED_DATABASE_FIELDS = { + 'type', # mysql, postgres or sqlite3 (sqlite3 doesn't work for HA) + 'host', # in the form ':', e.g. 127.0.0.1:3306 + 'name', + 'user', + 'password', +} + +# verify with Grafana documentation to ensure fields have valid values +# as this charm will not directly handle these cases +# TODO: fill with optional fields +OPTIONAL_DATABASE_FIELDS = set() + +VALID_DATABASE_TYPES = {'mysql', 'postgres', 'sqlite3'} + + +def get_container(pod_spec, container_name): + """Find and return the first container in pod_spec whose name is + container_name, otherwise return None.""" + for container in pod_spec['containers']: + if container['name'] == container_name: + return container + raise ValueError("Unable to find container named '{}' in pod spec".format( + container_name)) + + +class GrafanaK8s(CharmBase): + """Charm to run Grafana on Kubernetes. + + This charm allows for high-availability + (as long as a non-sqlite database relation is present). + + Developers of this charm should be aware of the Grafana provisioning docs: + https://grafana.com/docs/grafana/latest/administration/provisioning/ + """ + + datastore = StoredState() + + def __init__(self, *args): + log.debug('Initializing charm.') + super().__init__(*args) + + # -- get image information + self.image = OCIImageResource(self, 'grafana-image') + + # -- standard hooks + self.framework.observe(self.on.config_changed, self.on_config_changed) + self.framework.observe(self.on.update_status, self.on_update_status) + self.framework.observe(self.on.stop, self._on_stop) + + # -- grafana-source relation observations + self.framework.observe(self.on['grafana-source'].relation_changed, + self.on_grafana_source_changed) + self.framework.observe(self.on['grafana-source'].relation_broken, + self.on_grafana_source_broken) + + # -- grafana (peer) relation observations + self.framework.observe(self.on['grafana'].relation_changed, + self.on_peer_changed) + # self.framework.observe(self.on['grafana'].relation_departed, + # self.on_peer_departed) + + # -- database relation observations + self.framework.observe(self.on['database'].relation_changed, + self.on_database_changed) + self.framework.observe(self.on['database'].relation_broken, + self.on_database_broken) + + # -- initialize states -- + self.datastore.set_default(sources=dict()) # available data sources + self.datastore.set_default(source_names=set()) # unique source names + self.datastore.set_default(sources_to_delete=set()) + self.datastore.set_default(database=dict()) # db configuration + + @property + def has_peer(self) -> bool: + rel = self.model.get_relation('grafana') + return len(rel.units) > 0 if rel is not None else False + + @property + def has_db(self) -> bool: + """Only consider a DB connection if we have config info.""" + return len(self.datastore.database) > 0 + + def _on_stop(self, _): + """Go into maintenance state if the unit is stopped.""" + self.unit.status = MaintenanceStatus('Pod is terminating.') + + def on_config_changed(self, _): + self.configure_pod() + + def on_update_status(self, _): + """Various health checks of the charm.""" + self._check_high_availability() + + def on_grafana_source_changed(self, event): + """ Get relation data for Grafana source and set k8s pod spec. + + This event handler (if the unit is the leader) will get data for + an incoming grafana-source relation and make the relation data + is available in the app's datastore object (StoredState). + """ + + # if this unit is the leader, set the required data + # of the grafana-source in this charm's datastore + if not self.unit.is_leader(): + return + + # if there is no available unit, remove data-source info if it exists + if event.unit is None: + log.warning("event unit can't be None when setting data sources.") + return + + # dictionary of all the required/optional datasource field values + # using this as a more generic way of getting data source fields + datasource_fields = \ + {field: event.relation.data[event.unit].get(field) for field in + REQUIRED_DATASOURCE_FIELDS | OPTIONAL_DATASOURCE_FIELDS} + + missing_fields = [field for field + in REQUIRED_DATASOURCE_FIELDS + if datasource_fields.get(field) is None] + # check the relation data for missing required fields + if len(missing_fields) > 0: + log.error("Missing required data fields for grafana-source " + "relation: {}".format(missing_fields)) + self._remove_source_from_datastore(event.relation.id) + return + + # specifically handle optional fields if necessary + # check if source-name was not passed or if we have already saved the provided name + if datasource_fields['source-name'] is None\ + or datasource_fields['source-name'] in self.datastore.source_names: + default_source_name = '{}_{}'.format( + event.app.name, + event.relation.id + ) + log.warning("No name 'grafana-source' or provided name is already in use. " + "Using safe default: {}.".format(default_source_name)) + datasource_fields['source-name'] = default_source_name + + self.datastore.source_names.add(datasource_fields['source-name']) + + # set the first grafana-source as the default (needed for pod config) + # if `self.datastore.sources` is currently empty, this is the first + datasource_fields['isDefault'] = 'false' + if not dict(self.datastore.sources): + datasource_fields['isDefault'] = 'true' + + # add unit name so the source can be removed might be a + # duplicate of 'source-name', but this will guarantee lookup + datasource_fields['unit_name'] = event.unit.name + + # add the new datasource relation data to the current state + new_source_data = { + field: value for field, value in datasource_fields.items() + if value is not None + } + self.datastore.sources.update({event.relation.id: new_source_data}) + self.configure_pod() + + def on_grafana_source_broken(self, event): + """When a grafana-source is removed, delete from the datastore.""" + if self.unit.is_leader(): + self._remove_source_from_datastore(event.relation.id) + self.configure_pod() + + def on_peer_changed(self, _): + # TODO: https://grafana.com/docs/grafana/latest/tutorials/ha_setup/ + # According to these docs ^, as long as we have a DB, HA should + # work out of the box if we are OK with "Sticky Sessions" + # but having "Stateless Sessions" could require more config + + # if the config changed, set a new pod spec + self.configure_pod() + + def on_peer_departed(self, _): + """Sets pod spec with new info.""" + # TODO: setting pod spec shouldn't do anything now, + # but if we ever need to change config based peer units, + # we will want to make sure configure_pod() is called + self.configure_pod() + + def on_database_changed(self, event): + """Sets configuration information for database connection.""" + if not self.unit.is_leader(): + return + + if event.unit is None: + log.warning("event unit can't be None when setting db config.") + return + + # save the necessary configuration of this database connection + database_fields = \ + {field: event.relation.data[event.unit].get(field) for field in + REQUIRED_DATABASE_FIELDS | OPTIONAL_DATABASE_FIELDS} + + # if any required fields are missing, warn the user and return + missing_fields = [field for field + in REQUIRED_DATABASE_FIELDS + if database_fields.get(field) is None] + if len(missing_fields) > 0: + log.error("Missing required data fields for related database " + "relation: {}".format(missing_fields)) + return + + # check if the passed database type is not in VALID_DATABASE_TYPES + if database_fields['type'] not in VALID_DATABASE_TYPES: + log.error('Grafana can only accept databases of the following ' + 'types: {}'.format(VALID_DATABASE_TYPES)) + return + + # add the new database relation data to the datastore + self.datastore.database.update({ + field: value for field, value in database_fields.items() + if value is not None + }) + self.configure_pod() + + def on_database_broken(self, _): + """Removes database connection info from datastore. + + We are guaranteed to only have one DB connection, so clearing + datastore.database is all we need for the change to be propagated + to the pod spec.""" + if not self.unit.is_leader(): + return + + # remove the existing database info from datastore + self.datastore.database = dict() + + # set pod spec because datastore config has changed + self.configure_pod() + + def _remove_source_from_datastore(self, rel_id): + """Remove the grafana-source from the datastore. + + Once removed from the datastore, this datasource will not + part of the next pod spec.""" + log.info('Removing all data for relation: {}'.format(rel_id)) + removed_source = self.datastore.sources.pop(rel_id, None) + if removed_source is None: + log.warning('Could not remove source for relation: {}'.format( + rel_id)) + else: + # free name from charm's set of source names + # and save to set which will be used in set_pod_spec + self.datastore.source_names.remove(removed_source['source-name']) + self.datastore.sources_to_delete.add(removed_source['source-name']) + + def _check_high_availability(self): + """Checks whether the configuration allows for HA.""" + if self.has_peer: + if self.has_db: + log.info('high availability possible.') + status = MaintenanceStatus('Grafana ready for HA.') + else: + log.warning('high availability not possible ' + 'with current configuration.') + status = BlockedStatus('Need database relation for HA.') + else: + log.info('running Grafana on single node.') + status = MaintenanceStatus('Grafana ready on single node.') + + # make sure we don't have a maintenance status overwrite + # a currently active status + if isinstance(status, MaintenanceStatus) \ + and isinstance(self.unit.status, ActiveStatus): + return status + + self.unit.status = status + return status + + def _make_delete_datasources_config_text(self) -> str: + """Generate text of data sources to delete.""" + if not self.datastore.sources_to_delete: + return "\n" + + delete_datasources_text = textwrap.dedent(""" + deleteDatasources:""") + for name in self.datastore.sources_to_delete: + delete_datasources_text += textwrap.dedent(""" + - name: {} + orgId: 1""".format(name)) + + # clear datastore.sources_to_delete and return text result + self.datastore.sources_to_delete.clear() + return delete_datasources_text + '\n\n' + + def _make_data_source_config_text(self) -> str: + """Build config based on Data Sources section of provisioning docs.""" + # get starting text for the config file and sources to delete + delete_text = self._make_delete_datasources_config_text() + config_text = textwrap.dedent(""" + apiVersion: 1 + """) + config_text += delete_text + if self.datastore.sources: + config_text += "datasources:" + for rel_id, source_info in self.datastore.sources.items(): + # TODO: handle more optional fields and verify that current + # defaults are what we want (e.g. "access") + config_text += textwrap.dedent(""" + - name: {0} + type: {1} + access: proxy + url: http://{2}:{3} + isDefault: {4} + editable: true + orgId: 1""").format( + source_info['source-name'], + source_info['source-type'], + source_info['private-address'], + source_info['port'], + source_info['isDefault'], + ) + + # check if there these are empty + return config_text + '\n' + + def _update_pod_data_source_config_file(self, pod_spec): + """Adds datasources to pod configuration.""" + file_text = self._make_data_source_config_text() + data_source_file_meta = { + 'name': 'grafana-datasources', + 'mountPath': '/etc/grafana/provisioning/datasources', + 'files': [{ + 'path': 'datasources.yaml', + 'content': file_text, + }] + } + container = get_container(pod_spec, self.app.name) + container['volumeConfig'].append(data_source_file_meta) + + # get hash string of the new file text and put into container config + # if this changes, it will trigger a pod restart + file_text_hash = hashlib.md5(file_text.encode()).hexdigest() + if 'DATASOURCES_YAML' in container['envConfig'] \ + and container['envConfig']['DATASOURCES_YAML'] != file_text_hash: + log.info('datasources.yaml hash has changed. ' + 'Triggering pod restart.') + container['envConfig']['DATASOURCES_YAML'] = file_text_hash + + def _make_config_ini_text(self): + """Create the text of the config.ini file. + + More information about this can be found in the Grafana docs: + https://grafana.com/docs/grafana/latest/administration/configuration/ + """ + + config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """.format( + self.model.config['grafana_log_level'], + )) + + # if there is a database available, add that information + if self.datastore.database: + db_config = self.datastore.database + config_text += textwrap.dedent(""" + [database] + type = {0} + host = {1} + name = {2} + user = {3} + password = {4} + url = {0}://{3}:{4}@{1}/{2}""".format( + db_config['type'], + db_config['host'], + db_config['name'], + db_config['user'], + db_config['password'], + )) + return config_text + + def _update_pod_config_ini_file(self, pod_spec): + file_text = self._make_config_ini_text() + config_ini_file_meta = { + 'name': 'grafana-config-ini', + 'mountPath': '/etc/grafana', + 'files': [{ + 'path': 'grafana.ini', + 'content': file_text + }] + } + container = get_container(pod_spec, self.app.name) + container['volumeConfig'].append(config_ini_file_meta) + + # get hash string of the new file text and put into container config + # if this changes, it will trigger a pod restart + file_text_hash = hashlib.md5(file_text.encode()).hexdigest() + if 'GRAFANA_INI' in container['envConfig'] \ + and container['envConfig']['GRAFANA_INI'] != file_text_hash: + log.info('grafana.ini hash has changed. Triggering pod restart.') + container['envConfig']['GRAFANA_INI'] = file_text_hash + + def _build_pod_spec(self): + """Builds the pod spec based on available info in datastore`.""" + + config = self.model.config + + spec = { + 'version': 3, + 'containers': [{ + 'name': self.app.name, + 'image': "ubuntu/grafana:latest", + 'ports': [{ + 'containerPort': config['port'], + 'protocol': 'TCP' + }], + 'volumeConfig': [], + 'envConfig': {}, # used to store hashes of config file text + 'kubernetes': { + 'readinessProbe': { + 'httpGet': { + 'path': '/api/health', + 'port': config['port'] + }, + 'initialDelaySeconds': 10, + 'timeoutSeconds': 30 + }, + }, + }] + } + + return spec + + def configure_pod(self): + """Set Juju / Kubernetes pod spec built from `_build_pod_spec()`.""" + + # check for valid high availability (or single node) configuration + self._check_high_availability() + + # in the case where we have peers but no DB connection, + # don't set the pod spec until it is resolved + if self.unit.status == BlockedStatus('Need database relation for HA.'): + log.error('Application is in a blocked state. ' + 'Please resolve before pod spec can be set.') + return + + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + # general pod spec component updates + self.unit.status = MaintenanceStatus('Building pod spec.') + pod_spec = self._build_pod_spec() + if not pod_spec: + return + self._update_pod_data_source_config_file(pod_spec) + self._update_pod_config_ini_file(pod_spec) + + # set the pod spec with Juju + self.model.pod.set_spec(pod_spec) + self.unit.status = ActiveStatus() + + +if __name__ == '__main__': + main(GrafanaK8s) diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/__init__.py b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/test_charm.py b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/test_charm.py new file mode 100644 index 00000000..e6b87e41 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/grafana-operator/tests/test_charm.py @@ -0,0 +1,490 @@ +import hashlib +import textwrap +import unittest + +from ops.testing import Harness +from ops.model import ( + TooManyRelatedAppsError, + ActiveStatus, +) +from charm import ( + GrafanaK8s, + MaintenanceStatus, + BlockedStatus, + get_container, +) + +BASE_CONFIG = { + 'port': 3000, + 'grafana_log_level': 'info', +} + + +class GrafanaCharmTest(unittest.TestCase): + + def setUp(self) -> None: + self.harness = Harness(GrafanaK8s) + self.addCleanup(self.harness.cleanup) + self.harness.begin() + self.harness.add_oci_resource('grafana-image') + + def test__grafana_source_data(self): + + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + self.assertIsInstance(rel_id, int) + + # test that the unit data propagates the correct way + # which is through the triggering of on_relation_changed + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-type': 'prometheus', + 'source-name': 'prometheus-app', + }) + + expected_first_source_data = { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-name': 'prometheus-app', + 'source-type': 'prometheus', + 'isDefault': 'true', + 'unit_name': 'prometheus/0' + } + self.assertEqual(expected_first_source_data, + dict(self.harness.charm.datastore.sources[rel_id])) + + # test that clearing the relation data leads to + # the datastore for this data source being cleared + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': None, + 'port': None, + }) + self.assertEqual(None, self.harness.charm.datastore.sources.get(rel_id)) + + def test__ha_database_and_status_check(self): + """If there is a peer connection and no database (needed for HA), + the charm should put the application in a blocked state.""" + + # start charm with one peer and no database relation + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.unit.status, + ActiveStatus()) + + # ensure _check_high_availability() ends up with the correct status + status = self.harness.charm._check_high_availability() + self.assertEqual(status, MaintenanceStatus('Grafana ready on single node.')) + + # make sure that triggering 'update-status' hook does not + # overwrite the current active status + self.harness.charm.on.update_status.emit() + self.assertEqual(self.harness.charm.unit.status, + ActiveStatus()) + + peer_rel_id = self.harness.add_relation('grafana', 'grafana') + + # add main unit and its data + # self.harness.add_relation_unit(peer_rel_id, 'grafana/0') + # will trigger the grafana-changed hook + self.harness.update_relation_data(peer_rel_id, + 'grafana/0', + {'private-address': '10.1.2.3'}) + + # add peer unit and its data + self.harness.add_relation_unit(peer_rel_id, 'grafana/1') + self.harness.update_relation_data(peer_rel_id, + 'grafana/1', + {'private-address': '10.0.0.1'}) + + self.assertTrue(self.harness.charm.has_peer) + self.assertFalse(self.harness.charm.has_db) + self.assertEqual( + self.harness.charm.unit.status, + BlockedStatus('Need database relation for HA.') + ) + + # ensure update-status hook doesn't overwrite this + self.harness.charm.on.update_status.emit() + self.assertEqual(self.harness.charm.unit.status, + BlockedStatus('Need database relation for HA.')) + + # now add the database connection and the model should + # not have a blocked status + db_rel_id = self.harness.add_relation('database', 'mysql') + self.harness.add_relation_unit(db_rel_id, 'mysql/0') + self.harness.update_relation_data(db_rel_id, + 'mysql/0', + { + 'type': 'mysql', + 'host': '10.10.10.10:3306', + 'name': 'test_mysql_db', + 'user': 'test-admin', + 'password': 'super!secret!password', + }) + self.assertTrue(self.harness.charm.has_db) + self.assertEqual(self.harness.charm.unit.status, ActiveStatus()) + + # ensure _check_high_availability() ends up with the correct status + status = self.harness.charm._check_high_availability() + self.assertEqual(status, MaintenanceStatus('Grafana ready for HA.')) + + def test__database_relation_data(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.database, {}) + + # add relation and update relation data + rel_id = self.harness.add_relation('database', 'mysql') + rel = self.harness.model.get_relation('database') + self.harness.add_relation_unit(rel_id, 'mysql/0') + test_relation_data = { + 'type': 'mysql', + 'host': '0.1.2.3:3306', + 'name': 'my-test-db', + 'user': 'test-user', + 'password': 'super!secret!password', + } + self.harness.update_relation_data(rel_id, + 'mysql/0', + test_relation_data) + # check that charm datastore was properly set + self.assertEqual(dict(self.harness.charm.datastore.database), + test_relation_data) + + # now depart this relation and ensure the datastore is emptied + self.harness.charm.on.database_relation_broken.emit(rel) + self.assertEqual({}, dict(self.harness.charm.datastore.database)) + + def test__multiple_database_relation_handling(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.database, {}) + + # add first database relation + self.harness.add_relation('database', 'mysql') + + # add second database relation -- should fail here + with self.assertRaises(TooManyRelatedAppsError): + self.harness.add_relation('database', 'mysql') + self.harness.charm.model.get_relation('database') + + def test__multiple_source_relations(self): + """This will test data-source config text with multiple sources. + + Specifically, it will test multiple grafana-source relations.""" + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + rel_id0 = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id0, 'prometheus/0') + + # add test data to grafana-source relation + # and test that _make_data_source_config_text() works as expected + prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus' + } + self.harness.update_relation_data(rel_id0, 'prometheus/0', prom_source_data) + header_text = textwrap.dedent(""" + apiVersion: 1 + + datasources:""") + correct_config_text0 = header_text + textwrap.dedent(""" + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1""") + + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text0 + '\n', generated_text) + + # add another source relation and check the resulting config text + jaeger_source_data = { + 'private-address': '255.255.255.0', + 'port': 7890, + 'source-type': 'jaeger', + 'source-name': 'jaeger-application' + } + rel_id1 = self.harness.add_relation('grafana-source', 'jaeger') + self.harness.add_relation_unit(rel_id1, 'jaeger/0') + self.harness.update_relation_data(rel_id1, 'jaeger/0', jaeger_source_data) + + correct_config_text1 = correct_config_text0 + textwrap.dedent(""" + - name: jaeger-application + type: jaeger + access: proxy + url: http://255.255.255.0:7890 + isDefault: false + editable: true + orgId: 1""") + + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text1 + '\n', generated_text) + + # test removal of second source results in config_text + # that is the same as the original + self.harness.update_relation_data(rel_id1, + 'jaeger/0', + { + 'private-address': None, + 'port': None, + }) + generated_text = self.harness.charm._make_data_source_config_text() + correct_text_after_removal = textwrap.dedent(""" + apiVersion: 1 + + deleteDatasources: + - name: jaeger-application + orgId: 1 + + datasources: + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1""") + + self.assertEqual(correct_text_after_removal + '\n', generated_text) + + # now test that the 'deleteDatasources' is gone + generated_text = self.harness.charm._make_data_source_config_text() + self.assertEqual(correct_config_text0 + '\n', generated_text) + + def test__pod_spec_container_datasources(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + + # add test data to grafana-source relation + # and test that _make_data_source_config_text() works as expected + prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus' + } + self.harness.update_relation_data(rel_id, 'prometheus/0', prom_source_data) + + data_source_file_text = textwrap.dedent(""" + apiVersion: 1 + + datasources: + - name: prometheus_0 + type: prometheus + access: proxy + url: http://192.0.2.1:4321 + isDefault: true + editable: true + orgId: 1 + """) + + config_ini_file_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """).format( + self.harness.model.config['grafana_log_level'], + ) + + expected_container_files_spec = [ + { + 'name': 'grafana-datasources', + 'mountPath': '/etc/grafana/provisioning/datasources', + 'files': [{ + 'path': 'datasources.yaml', + 'content': data_source_file_text, + }], + }, + { + 'name': 'grafana-config-ini', + 'mountPath': '/etc/grafana', + 'files': [{ + 'path': 'grafana.ini', + 'content': config_ini_file_text, + }] + } + ] + pod_spec, _ = self.harness.get_pod_spec() + container = get_container(pod_spec, 'grafana') + actual_container_files_spec = container['volumeConfig'] + self.assertEqual(expected_container_files_spec, + actual_container_files_spec) + + def test__access_sqlite_storage_location(self): + expected_path = '/var/lib/grafana' + actual_path = self.harness.charm.meta.storages['sqlitedb'].location + self.assertEqual(expected_path, actual_path) + + def test__config_ini_without_database(self): + self.harness.update_config(BASE_CONFIG) + expected_config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + """).format( + self.harness.model.config['grafana_log_level'], + ) + + actual_config_text = self.harness.charm._make_config_ini_text() + self.assertEqual(expected_config_text, actual_config_text) + + def test__config_ini_with_database(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + + # add database relation and update relation data + rel_id = self.harness.add_relation('database', 'mysql') + self.harness.add_relation_unit(rel_id, 'mysql/0') + test_relation_data = { + 'type': 'mysql', + 'host': '0.1.2.3:3306', + 'name': 'my-test-db', + 'user': 'test-user', + 'password': 'super!secret!password', + } + self.harness.update_relation_data(rel_id, + 'mysql/0', + test_relation_data) + + # test the results of _make_config_ini_text() + expected_config_text = textwrap.dedent(""" + [paths] + provisioning = /etc/grafana/provisioning + + [log] + mode = console + level = {0} + + [database] + type = mysql + host = 0.1.2.3:3306 + name = my-test-db + user = test-user + password = super!secret!password + url = mysql://test-user:super!secret!password@0.1.2.3:3306/my-test-db""").format( + self.harness.model.config['grafana_log_level'], + ) + + actual_config_text = self.harness.charm._make_config_ini_text() + self.assertEqual(expected_config_text, actual_config_text) + + def test__duplicate_source_names(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + self.assertEqual(self.harness.charm.datastore.sources, {}) + + # add first relation + p_rel_id = self.harness.add_relation('grafana-source', 'prometheus') + p_rel = self.harness.model.get_relation('grafana-source', p_rel_id) + self.harness.add_relation_unit(p_rel_id, 'prometheus/0') + + # add test data to grafana-source relation + prom_source_data0 = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-type': 'prometheus', + 'source-name': 'duplicate-source-name' + } + self.harness.update_relation_data(p_rel_id, 'prometheus/0', prom_source_data0) + expected_prom_source_data = { + 'private-address': '192.0.2.1', + 'port': 4321, + 'source-name': 'duplicate-source-name', + 'source-type': 'prometheus', + 'isDefault': 'true', + 'unit_name': 'prometheus/0' + } + self.assertEqual(dict(self.harness.charm.datastore.sources[p_rel_id]), + expected_prom_source_data) + + # add second source with the same name as the first source + g_rel_id = self.harness.add_relation('grafana-source', 'graphite') + g_rel = self.harness.model.get_relation('grafana-source', g_rel_id) + self.harness.add_relation_unit(g_rel_id, 'graphite/0') + + graphite_source_data0 = { + 'private-address': '192.12.23.34', + 'port': 4321, + 'source-type': 'graphite', + 'source-name': 'duplicate-source-name' + } + expected_graphite_source_data = { + 'isDefault': 'false', + 'port': 4321, + 'private-address': '192.12.23.34', + 'source-name': 'graphite_1', + 'source-type': 'graphite', + 'unit_name': 'graphite/0' + } + self.harness.update_relation_data(g_rel_id, 'graphite/0', graphite_source_data0) + self.assertEqual( + expected_graphite_source_data, + dict(self.harness.charm.datastore.sources.get(g_rel_id)) + ) + self.assertEqual(2, len(self.harness.charm.datastore.sources)) + + # now remove the relation and ensure datastore source-name is removed + self.harness.charm.on.grafana_source_relation_broken.emit(p_rel) + self.assertEqual(None, self.harness.charm.datastore.sources.get(p_rel_id)) + self.assertEqual(1, len(self.harness.charm.datastore.sources)) + + # remove graphite relation + self.harness.charm.on.grafana_source_relation_broken.emit(g_rel) + self.assertEqual(None, self.harness.charm.datastore.sources.get(g_rel_id)) + self.assertEqual(0, len(self.harness.charm.datastore.sources)) + + def test__idempotent_datasource_file_hash(self): + self.harness.set_leader(True) + self.harness.update_config(BASE_CONFIG) + + rel_id = self.harness.add_relation('grafana-source', 'prometheus') + self.harness.add_relation_unit(rel_id, 'prometheus/0') + self.assertIsInstance(rel_id, int) + + # test that the unit data propagates the correct way + # which is through the triggering of on_relation_changed + self.harness.update_relation_data(rel_id, + 'prometheus/0', + { + 'private-address': '192.0.2.1', + 'port': 1234, + 'source-type': 'prometheus', + 'source-name': 'prometheus-app', + }) + + # get a hash of the created file and check that it matches the pod spec + pod_spec, _ = self.harness.get_pod_spec() + container = get_container(pod_spec, 'grafana') + hash_text = hashlib.md5( + container['volumeConfig'][0]['files'][0]['content'].encode()).hexdigest() + self.assertEqual(container['envConfig']['DATASOURCES_YAML'], hash_text) + + # test the idempotence of the call by re-configuring the pod spec + self.harness.charm.configure_pod() + self.assertEqual(container['envConfig']['DATASOURCES_YAML'], hash_text) diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.flake8 b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.flake8 new file mode 100644 index 00000000..8ef84fcd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.flake8 @@ -0,0 +1,9 @@ +[flake8] +max-line-length = 99 +select: E,W,F,C,N +exclude: + venv + .git + build + dist + *.egg_info diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.gitignore b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.gitignore new file mode 100644 index 00000000..b3b17b40 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.gitignore @@ -0,0 +1,6 @@ +*~ +*swp +*.charm +__pycache__ +build +venv diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.jujuignore b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.jujuignore new file mode 100644 index 00000000..6ccd559e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/.jujuignore @@ -0,0 +1,3 @@ +/venv +*.py[cod] +*.charm diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/LICENSE b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/LICENSE new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/README.md b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/README.md new file mode 100644 index 00000000..35f66607 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/README.md @@ -0,0 +1,78 @@ +# Prometheus Operator + +## Description + +The Prometheus Operator provides a cluster monitoring solution using +[Prometheus](https://prometheus.io), which is an open source +monitoring system and alerting toolkit. + +This repository contains a [Juju](https://jaas.ai/) Charm for +deploying the monitoring component of Prometheus in a Kubernetes +cluster. The alerting component of prometheus is offered through a +separate Charm. + +## Setup + +A typical setup using [snaps](https://snapcraft.io/), for deployments +to a [microk8s](https://microk8s.io/) cluster can be done using the +following commands + + sudo snap install microk8s --classic + microk8s.enable dns storage registry dashboard + sudo snap install juju --classic + juju bootstrap microk8s microk8s + juju create-storage-pool operator-storage kubernetes storage-class=microk8s-hostpath + +## Build + +Install the charmcraft tool + + sudo snap install charmcraft + +Build the charm in this git repository + + charmcraft build + +## Usage + +Create a Juju model for your monitoring operators + + juju add-model lma + +Deploy Prometheus using its default configuration. + + juju deploy ./prometheus.charm + +View the Prometheus dashboard + +1. Use `juju status` to determine IP of the Prometheus unit +2. Navigate to `http://:9090` using your browser + +If required, remove the deployed monitoring model completely + + juju destroy-model -y lma --no-wait --force --destroy-storage + +## Relations + +Currently supported relations are + +- [Grafana](https://github.com/canonical/grafana-operator) +- [Alertmanager](https://github.com/canonical/alertmanager-operator) + +## Developing + +Use your existing Python 3 development environment or create and +activate a Python 3 virtualenv + + virtualenv -p python3 venv + source venv/bin/activate + +Install the development requirements + + pip install -r requirements-dev.txt + +## Testing + +Just run `run_tests`: + + ./run_tests diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions.yaml b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions.yaml new file mode 100644 index 00000000..fef67f32 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions.yaml @@ -0,0 +1,3 @@ +reload-config: + description: | + Tell Prometheus to reload its config from the ConfigMap. \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions/reload-config b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions/reload-config new file mode 100755 index 00000000..d736d4e1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/actions/reload-config @@ -0,0 +1,2 @@ +#!/bin/sh +kill -HUP 1 && echo "Sent SIGHUP to the Prometheus container, config reloaded" \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config.yaml new file mode 100644 index 00000000..e40cb172 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config.yaml @@ -0,0 +1,99 @@ +options: + prometheus-image-path: + type: string + description: | + The location of the image to use, + e.g. "registry.example.com/prometheus:v1". + + This setting is required. + default: "prom/prometheus:latest" + prometheus-image-username: + type: string + description: | + The username for accessing the registry specified in + prometheus-image-path. + default: "" + prometheus-image-password: + type: string + description: | + The password associated with prometheus-image-username for + accessing the registry specified in prometheus-image-path. + default: "" + port: + description: The port prometheus will be listening on + type: int + default: 9090 + ssl-cert: + type: string + default: + description: | + SSL certificate to install and use for Prometheus endpoint. + ssl-key: + type: string + default: + description: | + SSL key to use with certificate specified as ssl-cert. + log-level: + description: | + Prometheus server log level (only log messages with the given severity + or above). Must be one of: [debug, info, warn, error, fatal]. + If not set, the Prometheus default one (info) will be used. + type: string + default: + web-external-url: + description: | + The URL under which Prometheus is externally reachable (for example, + if Prometheus is served via a reverse proxy). + Used for generating relative and absolute links back to + Prometheus itself. If the URL has a path portion, it will be used to + prefix all HTTP endpoints served by Prometheus. + + If omitted, relevant URL components will be derived automatically. + type: string + default: "" + tsdb-retention-time: + description: | + How long to retain samples in the storage. + Units Supported: y, w, d, h, m, s + type: string + default: 15d + tsdb-wal-compression: + description: | + This flag enables compression of the write-ahead log (WAL). + Depending on your data, you can expect the WAL size to be + halved with little extra cpu load. + type: boolean + default: false + external-labels: + description: | + A JSON string of key-value pairs that specify the labels to + attach to metrics in this Prometheus instance when they get pulled + by an aggregating parent. This is useful in the case of federation + where, for example, you want each datacenter to have its own + Prometheus instance and then have a global instance that pulls from + each of these datacenter instances. By specifying a unique set of + external-labels for each datacenter instance, you can easily determine + in the aggregating Prometheus instance which datacenter a metric is + coming from. Note that you are not limited to one instance per + datacenter. The datacenter example here is arbitrary and you are free + to organize your federation's hierarchy as you see fit. + Ex. '{ "cluster": "datacenter1" }'. Both keys and values may be + arbitrarily chosen as you see fit. + type: string + default: "{}" + scrape-interval: + description: | + How frequently to scrape targets by default. + type: string + default: 1m + scrape-timeout: + description: | + How long until a scrape request times out. + type: string + default: 10s + evaluation-interval: + description: | + How frequently rules will be evaluated. + type: string + default: 1m + diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config/prometheus-k8s.yml b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config/prometheus-k8s.yml new file mode 100644 index 00000000..e003db0a --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/config/prometheus-k8s.yml @@ -0,0 +1,283 @@ +# +# This file copied from https://github.com/prometheus/prometheus/blob/release-2.18/documentation/examples/prometheus-kubernetes.yml +# + +# A scrape configuration for running Prometheus on a Kubernetes cluster. +# This uses separate scrape configs for cluster components (i.e. API server, node) +# and services to allow each to use different authentication configs. +# +# Kubernetes labels will be added as Prometheus labels on metrics via the +# `labelmap` relabeling action. +# +# If you are using Kubernetes 1.7.2 or earlier, please take note of the comments +# for the kubernetes-cadvisor job; you will need to edit or remove this job. + +# Scrape config for API servers. +# +# Kubernetes exposes API servers as endpoints to the default/kubernetes +# service so this uses `endpoints` role and uses relabelling to only keep +# the endpoints associated with the default/kubernetes service using the +# default named port `https`. This works for single API server deployments as +# well as HA API server deployments. +scrape_configs: +- job_name: 'kubernetes-apiservers' + + kubernetes_sd_configs: + - role: endpoints + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + # If your node certificates are self-signed or use a different CA to the + # master CA, then disable certificate verification below. Note that + # certificate verification is an integral part of a secure infrastructure + # so this should only be disabled in a controlled environment. You can + # disable certificate verification by uncommenting the line below. + # + # insecure_skip_verify: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + # Keep only the default/kubernetes service endpoints for the https port. This + # will add targets for each API server which Kubernetes adds an endpoint to + # the default/kubernetes service. + relabel_configs: + - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: default;kubernetes;https + +# Scrape config for nodes (kubelet). +# +# Rather than connecting directly to the node, the scrape is proxied though the +# Kubernetes apiserver. This means it will work if Prometheus is running out of +# cluster, or can't connect to nodes for some other reason (e.g. because of +# firewalling). +- job_name: 'kubernetes-nodes' + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: node + + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics + +# Scrape config for Kubelet cAdvisor. +# +# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics +# (those whose names begin with 'container_') have been removed from the +# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to +# retrieve those metrics. +# +# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor +# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" +# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with +# the --cadvisor-port=0 Kubelet flag). +# +# This job is not necessary and should be removed in Kubernetes 1.6 and +# earlier versions, or it will cause the metrics to be scraped twice. +- job_name: 'kubernetes-cadvisor' + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: node + + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor + +# Example scrape config for service endpoints. +# +# The relabeling allows the actual service scrape endpoint to be configured +# for all or only some endpoints. +- job_name: 'kubernetes-service-endpoints' + + kubernetes_sd_configs: + - role: endpoints + + relabel_configs: + # Example relabel to scrape only endpoints that have + # "example.io/should_be_scraped = true" annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_should_be_scraped] + # action: keep + # regex: true + # + # Example relabel to customize metric path based on endpoints + # "example.io/metric_path = " annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_metric_path] + # action: replace + # target_label: __metrics_path__ + # regex: (.+) + # + # Example relabel to scrape only single, desired port for the service based + # on endpoints "example.io/scrape_port = " annotation. + # - source_labels: [__address__, __meta_kubernetes_service_annotation_example_io_scrape_port] + # action: replace + # regex: ([^:]+)(?::\d+)?;(\d+) + # replacement: $1:$2 + # target_label: __address__ + # + # Example relabel to configure scrape scheme for all service scrape targets + # based on endpoints "example.io/scrape_scheme = " annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_scrape_scheme] + # action: replace + # target_label: __scheme__ + # regex: (https?) + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_service_name] + action: replace + target_label: kubernetes_name + +# Example scrape config for probing services via the Blackbox Exporter. +# +# The relabeling allows the actual service scrape endpoint to be configured +# for all or only some services. +- job_name: 'kubernetes-services' + + metrics_path: /probe + params: + module: [http_2xx] + + kubernetes_sd_configs: + - role: service + + relabel_configs: + # Example relabel to probe only some services that have "example.io/should_be_probed = true" annotation + # - source_labels: [__meta_kubernetes_service_annotation_example_io_should_be_probed] + # action: keep + # regex: true + - source_labels: [__address__] + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter.example.com:9115 + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_service_name] + target_label: kubernetes_name + +# Example scrape config for probing ingresses via the Blackbox Exporter. +# +# The relabeling allows the actual ingress scrape endpoint to be configured +# for all or only some services. +- job_name: 'kubernetes-ingresses' + + metrics_path: /probe + params: + module: [http_2xx] + + kubernetes_sd_configs: + - role: ingress + + relabel_configs: + # Example relabel to probe only some ingresses that have "example.io/should_be_probed = true" annotation + # - source_labels: [__meta_kubernetes_ingress_annotation_example_io_should_be_probed] + # action: keep + # regex: true + - source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path] + regex: (.+);(.+);(.+) + replacement: ${1}://${2}${3} + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter.example.com:9115 + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_ingress_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_ingress_name] + target_label: kubernetes_name + +# Example scrape config for pods +# +# The relabeling allows the actual pod scrape to be configured +# for all the declared ports (or port-free target if none is declared) +# or only some ports. +- job_name: 'kubernetes-pods' + + kubernetes_sd_configs: + - role: pod + + relabel_configs: + # Example relabel to scrape only pods that have + # "example.io/should_be_scraped = true" annotation. + # - source_labels: [__meta_kubernetes_pod_annotation_example_io_should_be_scraped] + # action: keep + # regex: true + # + # Example relabel to customize metric path based on pod + # "example.io/metric_path = " annotation. + # - source_labels: [__meta_kubernetes_pod_annotation_example_io_metric_path] + # action: replace + # target_label: __metrics_path__ + # regex: (.+) + # + # Example relabel to scrape only single, desired port for the pod + # based on pod "example.io/scrape_port = " annotation. + # - source_labels: [__address__, __meta_kubernetes_pod_annotation_example_io_scrape_port] + # action: replace + # regex: ([^:]+)(?::\d+)?;(\d+) + # replacement: $1:$2 + # target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: kubernetes_pod_name diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/icon.svg b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/icon.svg new file mode 100644 index 00000000..5c51f66d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/icon.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/metadata.yaml new file mode 100644 index 00000000..5d4329da --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/metadata.yaml @@ -0,0 +1,34 @@ +name: prometheus +summary: Prometheus for Kubernetes clusters +maintainers: + - Balbir Thomas +description: | + Prometheus is an open source monitoring solution. Prometheus + supports aggregating high dimensional data and exposes a powerful + query language PromQL. This charm deploys and operates Prometheus on + Kubernetes clusters. Prometheus can raise alerts through a relation + with the Altermanager charm. Alerting rules for Prometheus need to + be provided through a relation with the application that requires + alerting. Prometheus provides its own dashboard for data + visualization but a richer visualization interface may be obtained + through a relation with the Grafana charm. +tags: + - observability + - lma + - prometheus + - monitoring + - alerting + - grafana +series: + - kubernetes +requires: + grafana-source: + interface: grafana-datasource + alertmanager: + interface: alertmanager + target: + interface: http +storage: + database: + type: filesystem + location: /var/lib/prometheus diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements-dev.txt b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements-dev.txt new file mode 100644 index 00000000..3950bef2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements-dev.txt @@ -0,0 +1,5 @@ +-r requirements.txt +black +flake8 +pytest +pytest-cov diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements.txt new file mode 100644 index 00000000..ff3e3351 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/requirements.txt @@ -0,0 +1,2 @@ +ops +pyaml diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/run_tests b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/run_tests new file mode 100755 index 00000000..637497ff --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/run_tests @@ -0,0 +1,16 @@ +#!/bin/sh -e +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +if [ -z "$VIRTUAL_ENV" -a -d venv/ ]; then + . venv/bin/activate +fi + +if [ -z "$PYTHONPATH" ]; then + export PYTHONPATH=src +else + export PYTHONPATH="src:$PYTHONPATH" +fi + +black --diff +python3 -m unittest -v "$@" diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/setup.py b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/setup.py new file mode 100644 index 00000000..15ce0b9c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/setup.py @@ -0,0 +1,21 @@ +import setuptools + +with open("README.md", "r") as fh: + long_description = fh.read() + +setuptools.setup( + name="prometheus-charm", + version="0.0.1", + author="Balbir Thomas", + author_email="balbir.thomas@canonical.com", + description="Kubernetes Charm/Operator for Prometheus", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/balbirthomas/prometheus-charm", + packages=setuptools.find_packages(), + classifiers=[ + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", + ], + python_requires='>=3.5', +) diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/src/charm.py new file mode 100755 index 00000000..e4f584fb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/src/charm.py @@ -0,0 +1,377 @@ +#!/usr/bin/env python3 +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +import logging +import yaml +import json + +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus, BlockedStatus + +logger = logging.getLogger(__name__) + + +class PrometheusCharm(CharmBase): + """A Juju Charm for Prometheus + """ + _stored = StoredState() + + def __init__(self, *args): + logger.debug('Initializing Charm') + + super().__init__(*args) + + self._stored.set_default(alertmanagers=[]) + self._stored.set_default(alertmanager_port='9093') + + self.framework.observe(self.on.config_changed, self._on_config_changed) + self.framework.observe(self.on.stop, self._on_stop) + self.framework.observe(self.on['alertmanager'].relation_changed, + self._on_alertmanager_changed) + self.framework.observe(self.on['alertmanager'].relation_broken, + self._on_alertmanager_broken) + + self.framework.observe(self.on['grafana-source'].relation_changed, + self._on_grafana_changed) + self.framework.observe(self.on['target'].relation_changed, + self._on_config_changed) + + def _on_config_changed(self, _): + """Set a new Juju pod specification + """ + self._configure_pod() + + def _on_stop(self, _): + """Mark unit is inactive + """ + self.unit.status = MaintenanceStatus('Pod is terminating.') + + def _on_grafana_changed(self, event): + """Provide Grafana with data source information + """ + event.relation.data[self.unit]['port'] = str(self.model.config['port']) + event.relation.data[self.unit]['source-type'] = 'prometheus' + + def _on_alertmanager_changed(self, event): + """Set an alertmanager configuation + """ + if not self.unit.is_leader(): + return + + addrs = json.loads(event.relation.data[event.app].get('addrs', '[]')) + port = event.relation.data[event.app]['port'] + + self._stored.alertmanager_port = port + self._stored.alertmanagers = addrs + + + self._configure_pod() + + def _on_alertmanager_broken(self, event): + """Remove all alertmanager configuration + """ + if not self.unit.is_leader(): + return + self._stored.alertmanagers.clear() + self._configure_pod() + + def _cli_args(self): + """Construct command line arguments for Prometheus + """ + config = self.model.config + args = [ + '--config.file=/etc/prometheus/prometheus.yml', + '--storage.tsdb.path=/var/lib/prometheus', + '--web.enable-lifecycle', + '--web.console.templates=/usr/share/prometheus/consoles', + '--web.console.libraries=/usr/share/prometheus/console_libraries' + ] + + # get log level + allowed_log_levels = ['debug', 'info', 'warn', 'error', 'fatal'] + if config.get('log-level'): + log_level = config['log-level'].lower() + else: + log_level = 'info' + + # If log level is invalid set it to debug + if log_level not in allowed_log_levels: + logging.error( + 'Invalid loglevel: {0} given, {1} allowed. ' + 'defaulting to DEBUG loglevel.'.format( + log_level, '/'.join(allowed_log_levels) + ) + ) + log_level = 'debug' + + # set log level + args.append( + '--log.level={0}'.format(log_level) + ) + + # Enable time series database compression + if config.get('tsdb-wal-compression'): + args.append('--storage.tsdb.wal-compression') + + # Set time series retention time + if config.get('tsdb-retention-time') and self._is_valid_timespec( + config['tsdb-retention-time']): + args.append('--storage.tsdb.retention.time={}'.format(config['tsdb-retention-time'])) + + return args + + def _is_valid_timespec(self, timeval): + """Is a time interval unit and value valid + """ + if not timeval: + return False + + time, unit = timeval[:-1], timeval[-1] + + if unit not in ['y', 'w', 'd', 'h', 'm', 's']: + logger.error('Invalid unit {} in time spec'.format(unit)) + return False + + try: + int(time) + except ValueError: + logger.error('Can not convert time {} to integer'.format(time)) + return False + + if not int(time) > 0: + logger.error('Expected positive time spec but got {}'.format(time)) + return False + + return True + + def _are_valid_labels(self, json_data): + """Are Prometheus external labels valid + """ + if not json_data: + return False + + try: + labels = json.loads(json_data) + except (ValueError, TypeError): + logger.error('Can not parse external labels : {}'.format(json_data)) + return False + + if not isinstance(labels, dict): + logger.error('Expected label dictionary but got : {}'.format(labels)) + return False + + for key, value in labels.items(): + if not isinstance(key, str) or not isinstance(value, str): + logger.error('External label keys/values must be strings') + return False + + return True + + def _external_labels(self): + """Extract external labels for Prometheus from configuration + """ + config = self.model.config + labels = {} + + if config.get('external-labels') and self._are_valid_labels( + config['external-labels']): + labels = json.loads(config['external-labels']) + + return labels + + def _prometheus_global_config(self): + """Construct Prometheus global configuration + """ + config = self.model.config + global_config = {} + + labels = self._external_labels() + if labels: + global_config['external_labels'] = labels + + if config.get('scrape-interval') and self._is_valid_timespec( + config['scrape-interval']): + global_config['scrape_interval'] = config['scrape-interval'] + + if config.get('scrape-timeout') and self._is_valid_timespec( + config['scrape-timeout']): + global_config['scrape_timeout'] = config['scrape-timeout'] + + if config.get('evaluation-interval') and self._is_valid_timespec( + config['evaluation-interval']): + global_config['evaluation_interval'] = config['evaluation-interval'] + + return global_config + + def _alerting_config(self): + """Construct Prometheus altering configuation + """ + alerting_config = '' + + if len(self._stored.alertmanagers) < 1: + logger.debug('No alertmanagers available') + return alerting_config + + targets = [] + for manager in self._stored.alertmanagers: + port = self._stored.alertmanager_port + targets.append("{}:{}".format(manager, port)) + + manager_config = {'static_configs': [{'targets': targets}]} + alerting_config = {'alertmanagers': [manager_config]} + + return alerting_config + + def _prometheus_config(self): + """Construct Prometheus configuration + """ + config = self.model.config + + scrape_config = {'global': self._prometheus_global_config(), + 'scrape_configs': []} + + alerting_config = self._alerting_config() + if alerting_config: + scrape_config['alerting'] = alerting_config + + # By default only monitor prometheus server itself + targets = ['localhost:{}'.format(config['port'])] + relation_targets = self.relation_targets + if relation_targets: + targets.extend(relation_targets) + + default_config = { + 'job_name': 'prometheus', + 'scrape_interval': '5s', + 'scrape_timeout': '5s', + 'metrics_path': '/metrics', + 'honor_timestamps': True, + 'scheme': 'http', + 'static_configs': [{ + 'targets': targets + }] + } + scrape_config['scrape_configs'].append(default_config) + + logger.debug('Prometheus config : {}'.format(scrape_config)) + + return yaml.dump(scrape_config), targets + + def _build_pod_spec(self): + """Construct a Juju pod specification for Prometheus + """ + logger.debug('Building Pod Spec') + config = self.model.config + prometheus_config, targets = self._prometheus_config() + spec = { + 'version': 3, + 'containers': [{ + 'name': self.app.name, + 'imageDetails': { + 'imagePath': config['prometheus-image-path'], + 'username': config.get('prometheus-image-username', ''), + 'password': config.get('prometheus-image-password', '') + }, + 'args': self._cli_args(), + "envConfig": { + "targets": str(targets), + }, + 'kubernetes': { + 'readinessProbe': { + 'httpGet': { + 'path': '/-/ready', + 'port': config['port'] + }, + 'initialDelaySeconds': 10, + 'timeoutSeconds': 30 + }, + 'livenessProbe': { + 'httpGet': { + 'path': '/-/healthy', + 'port': config['port'] + }, + 'initialDelaySeconds': 30, + 'timeoutSeconds': 30 + } + }, + 'ports': [{ + 'containerPort': config['port'], + 'name': 'prometheus-http', + 'protocol': 'TCP' + }], + 'volumeConfig': [{ + 'name': 'prometheus-config', + 'mountPath': '/etc/prometheus', + 'files': [{ + 'path': 'prometheus.yml', + 'content': prometheus_config + }] + }] + }] + } + + return spec + + def _check_config(self): + """Identify missing but required items in configuation + + :returns: list of missing configuration items (configuration keys) + """ + logger.debug('Checking Config') + config = self.model.config + missing = [] + + if not config.get('prometheus-image-path'): + missing.append('prometheus-image-path') + + if config.get('prometheus-image-username') \ + and not config.get('prometheus-image-password'): + missing.append('prometheus-image-password') + + return missing + + def _configure_pod(self): + """Setup a new Prometheus pod specification + """ + logger.debug('Configuring Pod') + missing_config = self._check_config() + if missing_config: + logger.error('Incomplete Configuration : {}. ' + 'Application will be blocked.'.format(missing_config)) + self.unit.status = \ + BlockedStatus('Missing configuration: {}'.format(missing_config)) + return + + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + self.unit.status = MaintenanceStatus('Setting pod spec.') + pod_spec = self._build_pod_spec() + + self.model.pod.set_spec(pod_spec) + self.app.status = ActiveStatus() + self.unit.status = ActiveStatus() + + @property + def relation_targets(self): + hosts = [] + relations = self.framework.model.relations.get("target") + if relations: + for relation in relations: + for i, unit in enumerate(relation.units): + unit_name = unit.name.replace("/", "-") + host = relation.data[unit].get("host") + port = int(relation.data[unit].get("port", "9100")) + if not host: + continue + hostname = f"{host}-{i}.{host}-endpoints" + if hostname and port: + hosts.append(f"{hostname}:{port}") + return hosts + +if __name__ == "__main__": + main(PrometheusCharm) diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/__init__.py b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/test_charm.py b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/test_charm.py new file mode 100644 index 00000000..05f95782 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/prometheus-operator/tests/test_charm.py @@ -0,0 +1,313 @@ +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +import unittest +import yaml +import json + +from ops.testing import Harness +from charm import PrometheusCharm + +MINIMAL_CONFIG = { + 'prometheus-image-path': 'prom/prometheus', + 'port': 9090 +} + +SAMPLE_ALERTING_CONFIG = { + 'alertmanagers': [{ + 'static_configs': [{ + 'targets': ['192.168.0.1:9093'] + }] + }] +} + + +class TestCharm(unittest.TestCase): + def setUp(self): + self.harness = Harness(PrometheusCharm) + self.addCleanup(self.harness.cleanup) + self.harness.begin() + + def test_image_path_is_required(self): + missing_image_config = { + 'prometheus-image-path': '', + 'prometheus-image-username': '', + 'prometheus-image-password': '' + } + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(missing_image_config) + expected_logs = [ + "ERROR:charm:Incomplete Configuration : ['prometheus-image-path']. " + "Application will be blocked." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + missing = self.harness.charm._check_config() + expected = ['prometheus-image-path'] + self.assertEqual(missing, expected) + + def test_password_is_required_when_username_is_set(self): + missing_password_config = { + 'prometheus-image-path': 'prom/prometheus:latest', + 'prometheus-image-username': 'some-user', + 'prometheus-image-password': '', + } + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(missing_password_config) + expected_logs = [ + "ERROR:charm:Incomplete Configuration : ['prometheus-image-password']. " + "Application will be blocked." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + missing = self.harness.charm._check_config() + expected = ['prometheus-image-password'] + self.assertEqual(missing, expected) + + def test_alerting_config_is_updated_by_alertmanager_relation(self): + self.harness.set_leader(True) + + # check alerting config is empty without alertmanager relation + self.harness.update_config(MINIMAL_CONFIG) + + self.assertEqual(self.harness.charm._stored.alertmanagers, []) + rel_id = self.harness.add_relation('alertmanager', 'alertmanager') + + self.assertIsInstance(rel_id, int) + self.harness.add_relation_unit(rel_id, 'alertmanager/0') + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), None) + + # check alerting config is updated when a alertmanager joins + self.harness.update_relation_data(rel_id, + 'alertmanager', + { + 'port': '9093', + 'addrs': '["192.168.0.1"]' + }) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), SAMPLE_ALERTING_CONFIG) + + def test_alerting_config_is_removed_when_alertmanager_is_broken(self): + self.harness.set_leader(True) + + # ensure there is a non-empty alerting config + self.harness.update_config(MINIMAL_CONFIG) + rel_id = self.harness.add_relation('alertmanager', 'alertmanager') + rel = self.harness.model.get_relation('alertmanager') + self.assertIsInstance(rel_id, int) + self.harness.add_relation_unit(rel_id, 'alertmanager/0') + self.harness.update_relation_data(rel_id, + 'alertmanager', + { + 'port': '9093', + 'addrs': '["192.168.0.1"]' + }) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), SAMPLE_ALERTING_CONFIG) + + # check alerting config is removed when relation departs + self.harness.charm.on.alertmanager_relation_broken.emit(rel) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), None) + + def test_grafana_is_provided_port_and_source(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + rel_id = self.harness.add_relation('grafana-source', 'grafana') + self.harness.add_relation_unit(rel_id, 'grafana/0') + self.harness.update_relation_data(rel_id, 'grafana/0', {}) + data = self.harness.get_relation_data(rel_id, self.harness.model.unit.name) + + self.assertEqual(int(data['port']), MINIMAL_CONFIG['port']) + self.assertEqual(data['source-type'], 'prometheus') + + def test_default_cli_log_level_is_info(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'info') + + def test_invalid_log_level_defaults_to_debug(self): + self.harness.set_leader(True) + bad_log_config = MINIMAL_CONFIG.copy() + bad_log_config['log-level'] = 'bad-level' + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(bad_log_config) + expected_logs = [ + "ERROR:root:Invalid loglevel: bad-level given, " + "debug/info/warn/error/fatal allowed. " + "defaulting to DEBUG loglevel." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'debug') + + def test_valid_log_level_is_accepted(self): + self.harness.set_leader(True) + valid_log_config = MINIMAL_CONFIG.copy() + valid_log_config['log-level'] = 'warn' + self.harness.update_config(valid_log_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'warn') + + def test_tsdb_compression_is_not_enabled_by_default(self): + self.harness.set_leader(True) + compress_config = MINIMAL_CONFIG.copy() + self.harness.update_config(compress_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.wal-compression'), + None) + + def test_tsdb_compression_can_be_enabled(self): + self.harness.set_leader(True) + compress_config = MINIMAL_CONFIG.copy() + compress_config['tsdb-wal-compression'] = True + self.harness.update_config(compress_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.wal-compression'), + '--storage.tsdb.wal-compression') + + def test_valid_tsdb_retention_times_can_be_set(self): + self.harness.set_leader(True) + retention_time_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + retention_time = '{}{}'.format(1, unit) + retention_time_config['tsdb-retention-time'] = retention_time + self.harness.update_config(retention_time_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + retention_time) + + def test_invalid_tsdb_retention_times_can_not_be_set(self): + self.harness.set_leader(True) + retention_time_config = MINIMAL_CONFIG.copy() + + # invalid unit + retention_time = '{}{}'.format(1, 'x') + retention_time_config['tsdb-retention-time'] = retention_time + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(retention_time_config) + expected_logs = ["ERROR:charm:Invalid unit x in time spec"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + None) + + # invalid time value + retention_time = '{}{}'.format(0, 'd') + retention_time_config['tsdb-retention-time'] = retention_time + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(retention_time_config) + expected_logs = ["ERROR:charm:Expected positive time spec but got 0"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + None) + + def test_global_scrape_interval_can_be_set(self): + self.harness.set_leader(True) + scrapeint_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + scrapeint_config['scrape-interval'] = '{}{}'.format(1, unit) + self.harness.update_config(scrapeint_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['scrape_interval'], + scrapeint_config['scrape-interval']) + + def test_global_scrape_timeout_can_be_set(self): + self.harness.set_leader(True) + scrapetime_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + scrapetime_config['scrape-timeout'] = '{}{}'.format(1, unit) + self.harness.update_config(scrapetime_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['scrape_timeout'], + scrapetime_config['scrape-timeout']) + + def test_global_evaluation_interval_can_be_set(self): + self.harness.set_leader(True) + evalint_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + evalint_config['evaluation-interval'] = '{}{}'.format(1, unit) + self.harness.update_config(evalint_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['evaluation_interval'], + evalint_config['evaluation-interval']) + + def test_valid_external_labels_can_be_set(self): + self.harness.set_leader(True) + label_config = MINIMAL_CONFIG.copy() + labels = {'name1': 'value1', + 'name2': 'value2'} + label_config['external-labels'] = json.dumps(labels) + self.harness.update_config(label_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertIsNotNone(gconfig['external_labels']) + self.assertEqual(labels, gconfig['external_labels']) + + def test_invalid_external_labels_can_not_be_set(self): + self.harness.set_leader(True) + label_config = MINIMAL_CONFIG.copy() + # label value must be string + labels = {'name': 1} + label_config['external-labels'] = json.dumps(labels) + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(label_config) + expected_logs = ["ERROR:charm:External label keys/values must be strings"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertIsNone(gconfig.get('external_labels')) + + def test_default_scrape_config_is_always_set(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + pod_spec = self.harness.get_pod_spec() + prometheus_scrape_config = scrape_config(pod_spec, 'prometheus') + self.assertIsNotNone(prometheus_scrape_config, 'No default config found') + + +def alerting_config(pod_spec): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + return config_dict.get('alerting') + + +def global_config(pod_spec): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + return config_dict['global'] + + +def scrape_config(pod_spec, job_name): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + scrape_configs = config_dict['scrape_configs'] + for config in scrape_configs: + if config['job_name'] == job_name: + return config + return None + + +def cli_arg(pod_spec, cli_opt): + args = pod_spec[0]['containers'][0]['args'] + for arg in args: + opt_list = arg.split('=') + if len(opt_list) == 2 and opt_list[0] == cli_opt: + return opt_list[1] + if len(opt_list) == 1 and opt_list[0] == cli_opt: + return opt_list[0] + return None diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/README.md b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/README.md new file mode 100644 index 00000000..1b226214 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/README.md @@ -0,0 +1,47 @@ +# squid-k8s Charm + +## Overview + +This is a Kuberentes Charm to deploy [Squid Cache](http://www.squid-cache.org/). + +Sugested Actions for this charm: +* Set allowed URLs + Possible way to run action: `juju run-action squid/0 addurl url=google.com` +* Stop/Start/Restart the squid service - done + Run like this: `juju run-action squid/0 restart` +* Set ftp, http, https proxies + +## Quickstart + +If you don't have microk8s and juju installed executing the following commands: +``` +sudo snap install juju --classic +sudo snap install microk8s --classic +juju bootstrap microk8s +juju add-model squid +``` + +Afterwards clone the repository and deploy the charm +``` +git clone https://github.com/DomFleischmann/charm-squid-k8s.git +cd charm-squid-k8s +git submodule update --init +juju deploy . +``` +Check if the charm is deployed correctly with `juju status` + +To test the `addurl` action open another terminal and type the following command: +`export https_proxy=http://:3128` + +Where squid-ip is the Squid App Address shown in `juju status` + +Now when executing `curl https://www.google.com` squid will block access to the url + +Execute the `addurl` action: +`juju run-action squid/0 addurl url=google.com` + +Now when executing `curl https://www.google.com` it will give you the google output. + +## Contact + - Author: Dominik Fleischmann + - Bug Tracker: [here](https://github.com/DomFleischmann/charm-squid-k8s) diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/actions.yaml b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/actions.yaml new file mode 100644 index 00000000..3e57d8e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/actions.yaml @@ -0,0 +1,14 @@ +addurl: + description: "Add allowed URL to squid config" + params: + url: + description: "URL that will be allowed" + type: string + default: "" +deleteurl: + description: "Delete allowed URL squid config" + params: + url: + description: "URL that will stop to be allowed" + type: string + default: "" diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/config.yaml new file mode 100644 index 00000000..450525ee --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/config.yaml @@ -0,0 +1,5 @@ +options: + port: + type: int + description: "Port" + default: 3128 diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/metadata.yaml new file mode 100644 index 00000000..a70555ab --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/metadata.yaml @@ -0,0 +1,22 @@ +name: squid +summary: Describe your charm here +maintainers: + - Dominik Fleischmann +description: | + A nice long description of what the product does and any + high level information about how the charm provides the product, + on which platform, etc. +tags: + - misc +series: + - kubernetes +deployment: + type: stateful + service: loadbalancer +storage: + spool: + type: filesystem + location: /var/spool/squid +provides: + prometheus-target: + interface: http diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/requirements.txt new file mode 100644 index 00000000..4da6f5fe --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/requirements.txt @@ -0,0 +1,3 @@ +ops +jinja2 +git+https://github.com/juju-solutions/resource-oci-image/@c5778285d332edf3d9a538f9d0c06154b7ec1b0b#egg=oci-image diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/squid.charm b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/squid.charm new file mode 100644 index 0000000000000000000000000000000000000000..811b39fd546328428d142c7663112947e2a6044a GIT binary patch literal 1157519 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μ;kY#n@upeng++TaD`dZaf@SYBc|;mq8IIl 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%0A$5DdKoX|3K0izQ_0ccSP}*}unxo%lcA3Z9 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

hER?VQJ# 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

@PK_!OP5HAx00# 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%0D~j;U@;o>L?D4$fKRNN5MOd#e^B(aq-{Yo;6YjRm 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

79F%@qz!X&8oYbYQPTO(d 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

8re%fj}-cif> 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 +Z$9%a$jK(MUM7Y@e6p_%%F^d_r% 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 F{{xf$r5peN literal 0 HcmV?d00001 diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/src/charm.py new file mode 100755 index 00000000..58ae5df1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/src/charm.py @@ -0,0 +1,122 @@ +#! /usr/bin/env python3 + +import logging +import subprocess + +from jinja2 import Template +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus + + +SQUID_CONF = "/etc/squid/squid.conf" + +logger = logging.getLogger(__name__) + + +def reload(): + subprocess.Popen("sleep 1 && kill -HUP `cat /var/run/squid.pid`", shell=True) + + +def apply_config(config): + with open(SQUID_CONF, "w") as f: + f.write(config) + reload() + + +def _generate_allowedurls_config(allowed_urls: set): + allowed_urls_text = "" + for url in allowed_urls: + allowed_urls_text += f"acl allowedurls dstdomain .{url}\n" + allowed_urls_text += "http_access allow allowedurls\n" + return allowed_urls_text + + +def _generate_config(**kwargs): + with open("template/squid.conf") as template: + return Template(template.read()).render(**kwargs) + + +def update_config(allowed_urls: set): + allowed_urls_config = _generate_allowedurls_config(allowed_urls) + squid_config = _generate_config(allowed_urls=allowed_urls_config) + if squid_config: + apply_config(squid_config) + + +class SquidK8SCharm(CharmBase): + """Class reprisenting this Operator charm.""" + + _stored = StoredState() + + def __init__(self, *args): + """Initialize charm and configure states and events to observe.""" + super().__init__(*args) + self._stored.set_default(allowedurls=set()) + + self.framework.observe(self.on.start, self.configure_pod) + self.framework.observe(self.on.config_changed, self.configure_pod) + self.framework.observe(self.on.addurl_action, self.on_addurl_action) + self.framework.observe(self.on.deleteurl_action, self.on_deleteurl_action) + + self.framework.observe(self.on["prometheus-target"].relation_joined, self._publish_prometheus_target_info) + + def _publish_prometheus_target_info(self, event): + event.relation.data[self.unit]["host"] = self.app.name + event.relation.data[self.unit]["port"] = str(9100) + + def on_addurl_action(self, event): + url = event.params["url"] + self._stored.allowedurls.add(url) + update_config(self._stored.allowedurls) + + def on_deleteurl_action(self, event): + """Handle the deleteurl action.""" + url = event.params["url"] + if url in self._stored.allowedurls: + self._stored.allowedurls.remove(url) + update_config(self._stored.allowedurls) + + def configure_pod(self, event): + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + self.unit.status = MaintenanceStatus("Applying pod spec") + + pod_spec = { + "version": 3, + "containers": [ + { + "name": self.framework.model.app.name, + "image": "domfleischmann/squid-python", + "ports": [ + { + "name": "squid", + "containerPort": self.config["port"], + "protocol": "TCP", + } + ], + }, + { + "name": "exporter", + "image": "prom/node-exporter", + "ports": [ + { + "containerPort": 9100, + "name": "exporter-http", + "protocol": "TCP", + } + ], + } + ], + } + + self.model.pod.set_spec(pod_spec) + self.unit.status = ActiveStatus() + self.app.status = ActiveStatus() + + +if __name__ == "__main__": + main(SquidK8SCharm) diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/template/squid.conf b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/template/squid.conf new file mode 100644 index 00000000..9dc7e8b6 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/template/squid.conf @@ -0,0 +1,26 @@ +acl SSL_ports port 443 +acl Safe_ports port 80 # http +acl Safe_ports port 21 # ftp +acl Safe_ports port 443 # https +acl Safe_ports port 70 # gopher +acl Safe_ports port 210 # wais +acl Safe_ports port 1025-65535 # unregistered ports +acl Safe_ports port 280 # http-mgmt +acl Safe_ports port 488 # gss-http +acl Safe_ports port 591 # filemaker +acl Safe_ports port 777 # multiling http +acl CONNECT method CONNECT +http_access deny !Safe_ports +http_access deny CONNECT !SSL_ports +http_access allow localhost manager +http_access deny manager +http_access allow localhost +{{ allowed_urls }} +http_access deny all +http_port 3128 +coredump_dir /var/spool/squid +refresh_pattern ^ftp: 1440 20% 10080 +refresh_pattern ^gopher: 1440 0% 1440 +refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 +refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 +refresh_pattern . 0 20% 4320 diff --git a/hackfest_squid_metrics_cnf/charms/ops/squid-operator/tox.ini b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/tox.ini new file mode 100644 index 00000000..a2476324 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/ops/squid-operator/tox.ini @@ -0,0 +1,46 @@ +[tox] +skipsdist = True +envlist = unit, functional +skip_missing_interpreters = True + +[testenv] +basepython = python3 +setenv = + PYTHONPATH = {toxinidir}/lib/:{toxinidir} +passenv = HOME + +[testenv:unit] +commands = + coverage run -m unittest discover -s {toxinidir}/tests/unit -v + coverage report \ + --omit tests/*,mod/*,.tox/* + coverage html \ + --omit tests/*,mod/*,.tox/* +deps = -r{toxinidir}/tests/unit/requirements.txt + +[testenv:functional] +changedir = {toxinidir}/tests/functional +commands = functest-run-suite {posargs} +deps = -r{toxinidir}/tests/functional/requirements.txt + +[testenv:lint] +commands = flake8 +deps = + flake8 + flake8-docstrings + flake8-import-order + pep8-naming + flake8-colors + +[flake8] +exclude = + .git, + __pycache__, + .tox, + mod, +max-line-length = 120 +max-complexity = 10 +import-order-style = google + +[isort] +force_to_top=setuppath diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/.flake8 b/hackfest_squid_metrics_cnf/charms/prometheus-operator/.flake8 new file mode 100644 index 00000000..8ef84fcd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/.flake8 @@ -0,0 +1,9 @@ +[flake8] +max-line-length = 99 +select: E,W,F,C,N +exclude: + venv + .git + build + dist + *.egg_info diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/.gitignore b/hackfest_squid_metrics_cnf/charms/prometheus-operator/.gitignore new file mode 100644 index 00000000..d3b36b8a --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/.gitignore @@ -0,0 +1,5 @@ +*~ +*swp +*.charm +__pycache__ +build diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/LICENSE b/hackfest_squid_metrics_cnf/charms/prometheus-operator/LICENSE new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/README.md b/hackfest_squid_metrics_cnf/charms/prometheus-operator/README.md new file mode 100644 index 00000000..35f66607 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/README.md @@ -0,0 +1,78 @@ +# Prometheus Operator + +## Description + +The Prometheus Operator provides a cluster monitoring solution using +[Prometheus](https://prometheus.io), which is an open source +monitoring system and alerting toolkit. + +This repository contains a [Juju](https://jaas.ai/) Charm for +deploying the monitoring component of Prometheus in a Kubernetes +cluster. The alerting component of prometheus is offered through a +separate Charm. + +## Setup + +A typical setup using [snaps](https://snapcraft.io/), for deployments +to a [microk8s](https://microk8s.io/) cluster can be done using the +following commands + + sudo snap install microk8s --classic + microk8s.enable dns storage registry dashboard + sudo snap install juju --classic + juju bootstrap microk8s microk8s + juju create-storage-pool operator-storage kubernetes storage-class=microk8s-hostpath + +## Build + +Install the charmcraft tool + + sudo snap install charmcraft + +Build the charm in this git repository + + charmcraft build + +## Usage + +Create a Juju model for your monitoring operators + + juju add-model lma + +Deploy Prometheus using its default configuration. + + juju deploy ./prometheus.charm + +View the Prometheus dashboard + +1. Use `juju status` to determine IP of the Prometheus unit +2. Navigate to `http://:9090` using your browser + +If required, remove the deployed monitoring model completely + + juju destroy-model -y lma --no-wait --force --destroy-storage + +## Relations + +Currently supported relations are + +- [Grafana](https://github.com/canonical/grafana-operator) +- [Alertmanager](https://github.com/canonical/alertmanager-operator) + +## Developing + +Use your existing Python 3 development environment or create and +activate a Python 3 virtualenv + + virtualenv -p python3 venv + source venv/bin/activate + +Install the development requirements + + pip install -r requirements-dev.txt + +## Testing + +Just run `run_tests`: + + ./run_tests diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions.yaml b/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions.yaml new file mode 100644 index 00000000..fef67f32 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions.yaml @@ -0,0 +1,3 @@ +reload-config: + description: | + Tell Prometheus to reload its config from the ConfigMap. \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions/reload-config b/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions/reload-config new file mode 100755 index 00000000..d736d4e1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/actions/reload-config @@ -0,0 +1,2 @@ +#!/bin/sh +kill -HUP 1 && echo "Sent SIGHUP to the Prometheus container, config reloaded" \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/prometheus-operator/config.yaml new file mode 100644 index 00000000..e40cb172 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/config.yaml @@ -0,0 +1,99 @@ +options: + prometheus-image-path: + type: string + description: | + The location of the image to use, + e.g. "registry.example.com/prometheus:v1". + + This setting is required. + default: "prom/prometheus:latest" + prometheus-image-username: + type: string + description: | + The username for accessing the registry specified in + prometheus-image-path. + default: "" + prometheus-image-password: + type: string + description: | + The password associated with prometheus-image-username for + accessing the registry specified in prometheus-image-path. + default: "" + port: + description: The port prometheus will be listening on + type: int + default: 9090 + ssl-cert: + type: string + default: + description: | + SSL certificate to install and use for Prometheus endpoint. + ssl-key: + type: string + default: + description: | + SSL key to use with certificate specified as ssl-cert. + log-level: + description: | + Prometheus server log level (only log messages with the given severity + or above). Must be one of: [debug, info, warn, error, fatal]. + If not set, the Prometheus default one (info) will be used. + type: string + default: + web-external-url: + description: | + The URL under which Prometheus is externally reachable (for example, + if Prometheus is served via a reverse proxy). + Used for generating relative and absolute links back to + Prometheus itself. If the URL has a path portion, it will be used to + prefix all HTTP endpoints served by Prometheus. + + If omitted, relevant URL components will be derived automatically. + type: string + default: "" + tsdb-retention-time: + description: | + How long to retain samples in the storage. + Units Supported: y, w, d, h, m, s + type: string + default: 15d + tsdb-wal-compression: + description: | + This flag enables compression of the write-ahead log (WAL). + Depending on your data, you can expect the WAL size to be + halved with little extra cpu load. + type: boolean + default: false + external-labels: + description: | + A JSON string of key-value pairs that specify the labels to + attach to metrics in this Prometheus instance when they get pulled + by an aggregating parent. This is useful in the case of federation + where, for example, you want each datacenter to have its own + Prometheus instance and then have a global instance that pulls from + each of these datacenter instances. By specifying a unique set of + external-labels for each datacenter instance, you can easily determine + in the aggregating Prometheus instance which datacenter a metric is + coming from. Note that you are not limited to one instance per + datacenter. The datacenter example here is arbitrary and you are free + to organize your federation's hierarchy as you see fit. + Ex. '{ "cluster": "datacenter1" }'. Both keys and values may be + arbitrarily chosen as you see fit. + type: string + default: "{}" + scrape-interval: + description: | + How frequently to scrape targets by default. + type: string + default: 1m + scrape-timeout: + description: | + How long until a scrape request times out. + type: string + default: 10s + evaluation-interval: + description: | + How frequently rules will be evaluated. + type: string + default: 1m + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/config/prometheus-k8s.yml b/hackfest_squid_metrics_cnf/charms/prometheus-operator/config/prometheus-k8s.yml new file mode 100644 index 00000000..e003db0a --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/config/prometheus-k8s.yml @@ -0,0 +1,283 @@ +# +# This file copied from https://github.com/prometheus/prometheus/blob/release-2.18/documentation/examples/prometheus-kubernetes.yml +# + +# A scrape configuration for running Prometheus on a Kubernetes cluster. +# This uses separate scrape configs for cluster components (i.e. API server, node) +# and services to allow each to use different authentication configs. +# +# Kubernetes labels will be added as Prometheus labels on metrics via the +# `labelmap` relabeling action. +# +# If you are using Kubernetes 1.7.2 or earlier, please take note of the comments +# for the kubernetes-cadvisor job; you will need to edit or remove this job. + +# Scrape config for API servers. +# +# Kubernetes exposes API servers as endpoints to the default/kubernetes +# service so this uses `endpoints` role and uses relabelling to only keep +# the endpoints associated with the default/kubernetes service using the +# default named port `https`. This works for single API server deployments as +# well as HA API server deployments. +scrape_configs: +- job_name: 'kubernetes-apiservers' + + kubernetes_sd_configs: + - role: endpoints + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + # If your node certificates are self-signed or use a different CA to the + # master CA, then disable certificate verification below. Note that + # certificate verification is an integral part of a secure infrastructure + # so this should only be disabled in a controlled environment. You can + # disable certificate verification by uncommenting the line below. + # + # insecure_skip_verify: true + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + # Keep only the default/kubernetes service endpoints for the https port. This + # will add targets for each API server which Kubernetes adds an endpoint to + # the default/kubernetes service. + relabel_configs: + - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_endpoint_port_name] + action: keep + regex: default;kubernetes;https + +# Scrape config for nodes (kubelet). +# +# Rather than connecting directly to the node, the scrape is proxied though the +# Kubernetes apiserver. This means it will work if Prometheus is running out of +# cluster, or can't connect to nodes for some other reason (e.g. because of +# firewalling). +- job_name: 'kubernetes-nodes' + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: node + + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics + +# Scrape config for Kubelet cAdvisor. +# +# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics +# (those whose names begin with 'container_') have been removed from the +# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to +# retrieve those metrics. +# +# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor +# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics" +# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with +# the --cadvisor-port=0 Kubelet flag). +# +# This job is not necessary and should be removed in Kubernetes 1.6 and +# earlier versions, or it will cause the metrics to be scraped twice. +- job_name: 'kubernetes-cadvisor' + + # Default to scraping over https. If required, just disable this or change to + # `http`. + scheme: https + + # This TLS & bearer token file config is used to connect to the actual scrape + # endpoints for cluster components. This is separate to discovery auth + # configuration because discovery & scraping are two separate concerns in + # Prometheus. The discovery auth config is automatic if Prometheus runs inside + # the cluster. Otherwise, more config options have to be provided within the + # . + tls_config: + ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token + + kubernetes_sd_configs: + - role: node + + relabel_configs: + - action: labelmap + regex: __meta_kubernetes_node_label_(.+) + - target_label: __address__ + replacement: kubernetes.default.svc:443 + - source_labels: [__meta_kubernetes_node_name] + regex: (.+) + target_label: __metrics_path__ + replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor + +# Example scrape config for service endpoints. +# +# The relabeling allows the actual service scrape endpoint to be configured +# for all or only some endpoints. +- job_name: 'kubernetes-service-endpoints' + + kubernetes_sd_configs: + - role: endpoints + + relabel_configs: + # Example relabel to scrape only endpoints that have + # "example.io/should_be_scraped = true" annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_should_be_scraped] + # action: keep + # regex: true + # + # Example relabel to customize metric path based on endpoints + # "example.io/metric_path = " annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_metric_path] + # action: replace + # target_label: __metrics_path__ + # regex: (.+) + # + # Example relabel to scrape only single, desired port for the service based + # on endpoints "example.io/scrape_port = " annotation. + # - source_labels: [__address__, __meta_kubernetes_service_annotation_example_io_scrape_port] + # action: replace + # regex: ([^:]+)(?::\d+)?;(\d+) + # replacement: $1:$2 + # target_label: __address__ + # + # Example relabel to configure scrape scheme for all service scrape targets + # based on endpoints "example.io/scrape_scheme = " annotation. + # - source_labels: [__meta_kubernetes_service_annotation_example_io_scrape_scheme] + # action: replace + # target_label: __scheme__ + # regex: (https?) + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_service_name] + action: replace + target_label: kubernetes_name + +# Example scrape config for probing services via the Blackbox Exporter. +# +# The relabeling allows the actual service scrape endpoint to be configured +# for all or only some services. +- job_name: 'kubernetes-services' + + metrics_path: /probe + params: + module: [http_2xx] + + kubernetes_sd_configs: + - role: service + + relabel_configs: + # Example relabel to probe only some services that have "example.io/should_be_probed = true" annotation + # - source_labels: [__meta_kubernetes_service_annotation_example_io_should_be_probed] + # action: keep + # regex: true + - source_labels: [__address__] + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter.example.com:9115 + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_service_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_service_name] + target_label: kubernetes_name + +# Example scrape config for probing ingresses via the Blackbox Exporter. +# +# The relabeling allows the actual ingress scrape endpoint to be configured +# for all or only some services. +- job_name: 'kubernetes-ingresses' + + metrics_path: /probe + params: + module: [http_2xx] + + kubernetes_sd_configs: + - role: ingress + + relabel_configs: + # Example relabel to probe only some ingresses that have "example.io/should_be_probed = true" annotation + # - source_labels: [__meta_kubernetes_ingress_annotation_example_io_should_be_probed] + # action: keep + # regex: true + - source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path] + regex: (.+);(.+);(.+) + replacement: ${1}://${2}${3} + target_label: __param_target + - target_label: __address__ + replacement: blackbox-exporter.example.com:9115 + - source_labels: [__param_target] + target_label: instance + - action: labelmap + regex: __meta_kubernetes_ingress_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_ingress_name] + target_label: kubernetes_name + +# Example scrape config for pods +# +# The relabeling allows the actual pod scrape to be configured +# for all the declared ports (or port-free target if none is declared) +# or only some ports. +- job_name: 'kubernetes-pods' + + kubernetes_sd_configs: + - role: pod + + relabel_configs: + # Example relabel to scrape only pods that have + # "example.io/should_be_scraped = true" annotation. + # - source_labels: [__meta_kubernetes_pod_annotation_example_io_should_be_scraped] + # action: keep + # regex: true + # + # Example relabel to customize metric path based on pod + # "example.io/metric_path = " annotation. + # - source_labels: [__meta_kubernetes_pod_annotation_example_io_metric_path] + # action: replace + # target_label: __metrics_path__ + # regex: (.+) + # + # Example relabel to scrape only single, desired port for the pod + # based on pod "example.io/scrape_port = " annotation. + # - source_labels: [__address__, __meta_kubernetes_pod_annotation_example_io_scrape_port] + # action: replace + # regex: ([^:]+)(?::\d+)?;(\d+) + # replacement: $1:$2 + # target_label: __address__ + - action: labelmap + regex: __meta_kubernetes_pod_label_(.+) + - source_labels: [__meta_kubernetes_namespace] + action: replace + target_label: kubernetes_namespace + - source_labels: [__meta_kubernetes_pod_name] + action: replace + target_label: kubernetes_pod_name diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/dispatch b/hackfest_squid_metrics_cnf/charms/prometheus-operator/dispatch new file mode 100755 index 00000000..fe31c056 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/dispatch @@ -0,0 +1,3 @@ +#!/bin/sh + +JUJU_DISPATCH_PATH="${JUJU_DISPATCH_PATH:-$0}" PYTHONPATH=lib:venv ./src/charm.py diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/install b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/install new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/install @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/start b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/start new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/start @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/upgrade-charm b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/upgrade-charm new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/hooks/upgrade-charm @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/icon.svg b/hackfest_squid_metrics_cnf/charms/prometheus-operator/icon.svg new file mode 100644 index 00000000..5c51f66d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/icon.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/prometheus-operator/metadata.yaml new file mode 100644 index 00000000..5d4329da --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/metadata.yaml @@ -0,0 +1,34 @@ +name: prometheus +summary: Prometheus for Kubernetes clusters +maintainers: + - Balbir Thomas +description: | + Prometheus is an open source monitoring solution. Prometheus + supports aggregating high dimensional data and exposes a powerful + query language PromQL. This charm deploys and operates Prometheus on + Kubernetes clusters. Prometheus can raise alerts through a relation + with the Altermanager charm. Alerting rules for Prometheus need to + be provided through a relation with the application that requires + alerting. Prometheus provides its own dashboard for data + visualization but a richer visualization interface may be obtained + through a relation with the Grafana charm. +tags: + - observability + - lma + - prometheus + - monitoring + - alerting + - grafana +series: + - kubernetes +requires: + grafana-source: + interface: grafana-datasource + alertmanager: + interface: alertmanager + target: + interface: http +storage: + database: + type: filesystem + location: /var/lib/prometheus diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements-dev.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements-dev.txt new file mode 100644 index 00000000..3950bef2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements-dev.txt @@ -0,0 +1,5 @@ +-r requirements.txt +black +flake8 +pytest +pytest-cov diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements.txt new file mode 100644 index 00000000..ff3e3351 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/requirements.txt @@ -0,0 +1,2 @@ +ops +pyaml diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/run_tests b/hackfest_squid_metrics_cnf/charms/prometheus-operator/run_tests new file mode 100755 index 00000000..637497ff --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/run_tests @@ -0,0 +1,16 @@ +#!/bin/sh -e +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +if [ -z "$VIRTUAL_ENV" -a -d venv/ ]; then + . venv/bin/activate +fi + +if [ -z "$PYTHONPATH" ]; then + export PYTHONPATH=src +else + export PYTHONPATH="src:$PYTHONPATH" +fi + +black --diff +python3 -m unittest -v "$@" diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/setup.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/setup.py new file mode 100644 index 00000000..15ce0b9c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/setup.py @@ -0,0 +1,21 @@ +import setuptools + +with open("README.md", "r") as fh: + long_description = fh.read() + +setuptools.setup( + name="prometheus-charm", + version="0.0.1", + author="Balbir Thomas", + author_email="balbir.thomas@canonical.com", + description="Kubernetes Charm/Operator for Prometheus", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/balbirthomas/prometheus-charm", + packages=setuptools.find_packages(), + classifiers=[ + "Programming Language :: Python :: 3", + "Operating System :: OS Independent", + ], + python_requires='>=3.5', +) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/src/charm.py new file mode 100755 index 00000000..e4f584fb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/src/charm.py @@ -0,0 +1,377 @@ +#!/usr/bin/env python3 +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +import logging +import yaml +import json + +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus, BlockedStatus + +logger = logging.getLogger(__name__) + + +class PrometheusCharm(CharmBase): + """A Juju Charm for Prometheus + """ + _stored = StoredState() + + def __init__(self, *args): + logger.debug('Initializing Charm') + + super().__init__(*args) + + self._stored.set_default(alertmanagers=[]) + self._stored.set_default(alertmanager_port='9093') + + self.framework.observe(self.on.config_changed, self._on_config_changed) + self.framework.observe(self.on.stop, self._on_stop) + self.framework.observe(self.on['alertmanager'].relation_changed, + self._on_alertmanager_changed) + self.framework.observe(self.on['alertmanager'].relation_broken, + self._on_alertmanager_broken) + + self.framework.observe(self.on['grafana-source'].relation_changed, + self._on_grafana_changed) + self.framework.observe(self.on['target'].relation_changed, + self._on_config_changed) + + def _on_config_changed(self, _): + """Set a new Juju pod specification + """ + self._configure_pod() + + def _on_stop(self, _): + """Mark unit is inactive + """ + self.unit.status = MaintenanceStatus('Pod is terminating.') + + def _on_grafana_changed(self, event): + """Provide Grafana with data source information + """ + event.relation.data[self.unit]['port'] = str(self.model.config['port']) + event.relation.data[self.unit]['source-type'] = 'prometheus' + + def _on_alertmanager_changed(self, event): + """Set an alertmanager configuation + """ + if not self.unit.is_leader(): + return + + addrs = json.loads(event.relation.data[event.app].get('addrs', '[]')) + port = event.relation.data[event.app]['port'] + + self._stored.alertmanager_port = port + self._stored.alertmanagers = addrs + + + self._configure_pod() + + def _on_alertmanager_broken(self, event): + """Remove all alertmanager configuration + """ + if not self.unit.is_leader(): + return + self._stored.alertmanagers.clear() + self._configure_pod() + + def _cli_args(self): + """Construct command line arguments for Prometheus + """ + config = self.model.config + args = [ + '--config.file=/etc/prometheus/prometheus.yml', + '--storage.tsdb.path=/var/lib/prometheus', + '--web.enable-lifecycle', + '--web.console.templates=/usr/share/prometheus/consoles', + '--web.console.libraries=/usr/share/prometheus/console_libraries' + ] + + # get log level + allowed_log_levels = ['debug', 'info', 'warn', 'error', 'fatal'] + if config.get('log-level'): + log_level = config['log-level'].lower() + else: + log_level = 'info' + + # If log level is invalid set it to debug + if log_level not in allowed_log_levels: + logging.error( + 'Invalid loglevel: {0} given, {1} allowed. ' + 'defaulting to DEBUG loglevel.'.format( + log_level, '/'.join(allowed_log_levels) + ) + ) + log_level = 'debug' + + # set log level + args.append( + '--log.level={0}'.format(log_level) + ) + + # Enable time series database compression + if config.get('tsdb-wal-compression'): + args.append('--storage.tsdb.wal-compression') + + # Set time series retention time + if config.get('tsdb-retention-time') and self._is_valid_timespec( + config['tsdb-retention-time']): + args.append('--storage.tsdb.retention.time={}'.format(config['tsdb-retention-time'])) + + return args + + def _is_valid_timespec(self, timeval): + """Is a time interval unit and value valid + """ + if not timeval: + return False + + time, unit = timeval[:-1], timeval[-1] + + if unit not in ['y', 'w', 'd', 'h', 'm', 's']: + logger.error('Invalid unit {} in time spec'.format(unit)) + return False + + try: + int(time) + except ValueError: + logger.error('Can not convert time {} to integer'.format(time)) + return False + + if not int(time) > 0: + logger.error('Expected positive time spec but got {}'.format(time)) + return False + + return True + + def _are_valid_labels(self, json_data): + """Are Prometheus external labels valid + """ + if not json_data: + return False + + try: + labels = json.loads(json_data) + except (ValueError, TypeError): + logger.error('Can not parse external labels : {}'.format(json_data)) + return False + + if not isinstance(labels, dict): + logger.error('Expected label dictionary but got : {}'.format(labels)) + return False + + for key, value in labels.items(): + if not isinstance(key, str) or not isinstance(value, str): + logger.error('External label keys/values must be strings') + return False + + return True + + def _external_labels(self): + """Extract external labels for Prometheus from configuration + """ + config = self.model.config + labels = {} + + if config.get('external-labels') and self._are_valid_labels( + config['external-labels']): + labels = json.loads(config['external-labels']) + + return labels + + def _prometheus_global_config(self): + """Construct Prometheus global configuration + """ + config = self.model.config + global_config = {} + + labels = self._external_labels() + if labels: + global_config['external_labels'] = labels + + if config.get('scrape-interval') and self._is_valid_timespec( + config['scrape-interval']): + global_config['scrape_interval'] = config['scrape-interval'] + + if config.get('scrape-timeout') and self._is_valid_timespec( + config['scrape-timeout']): + global_config['scrape_timeout'] = config['scrape-timeout'] + + if config.get('evaluation-interval') and self._is_valid_timespec( + config['evaluation-interval']): + global_config['evaluation_interval'] = config['evaluation-interval'] + + return global_config + + def _alerting_config(self): + """Construct Prometheus altering configuation + """ + alerting_config = '' + + if len(self._stored.alertmanagers) < 1: + logger.debug('No alertmanagers available') + return alerting_config + + targets = [] + for manager in self._stored.alertmanagers: + port = self._stored.alertmanager_port + targets.append("{}:{}".format(manager, port)) + + manager_config = {'static_configs': [{'targets': targets}]} + alerting_config = {'alertmanagers': [manager_config]} + + return alerting_config + + def _prometheus_config(self): + """Construct Prometheus configuration + """ + config = self.model.config + + scrape_config = {'global': self._prometheus_global_config(), + 'scrape_configs': []} + + alerting_config = self._alerting_config() + if alerting_config: + scrape_config['alerting'] = alerting_config + + # By default only monitor prometheus server itself + targets = ['localhost:{}'.format(config['port'])] + relation_targets = self.relation_targets + if relation_targets: + targets.extend(relation_targets) + + default_config = { + 'job_name': 'prometheus', + 'scrape_interval': '5s', + 'scrape_timeout': '5s', + 'metrics_path': '/metrics', + 'honor_timestamps': True, + 'scheme': 'http', + 'static_configs': [{ + 'targets': targets + }] + } + scrape_config['scrape_configs'].append(default_config) + + logger.debug('Prometheus config : {}'.format(scrape_config)) + + return yaml.dump(scrape_config), targets + + def _build_pod_spec(self): + """Construct a Juju pod specification for Prometheus + """ + logger.debug('Building Pod Spec') + config = self.model.config + prometheus_config, targets = self._prometheus_config() + spec = { + 'version': 3, + 'containers': [{ + 'name': self.app.name, + 'imageDetails': { + 'imagePath': config['prometheus-image-path'], + 'username': config.get('prometheus-image-username', ''), + 'password': config.get('prometheus-image-password', '') + }, + 'args': self._cli_args(), + "envConfig": { + "targets": str(targets), + }, + 'kubernetes': { + 'readinessProbe': { + 'httpGet': { + 'path': '/-/ready', + 'port': config['port'] + }, + 'initialDelaySeconds': 10, + 'timeoutSeconds': 30 + }, + 'livenessProbe': { + 'httpGet': { + 'path': '/-/healthy', + 'port': config['port'] + }, + 'initialDelaySeconds': 30, + 'timeoutSeconds': 30 + } + }, + 'ports': [{ + 'containerPort': config['port'], + 'name': 'prometheus-http', + 'protocol': 'TCP' + }], + 'volumeConfig': [{ + 'name': 'prometheus-config', + 'mountPath': '/etc/prometheus', + 'files': [{ + 'path': 'prometheus.yml', + 'content': prometheus_config + }] + }] + }] + } + + return spec + + def _check_config(self): + """Identify missing but required items in configuation + + :returns: list of missing configuration items (configuration keys) + """ + logger.debug('Checking Config') + config = self.model.config + missing = [] + + if not config.get('prometheus-image-path'): + missing.append('prometheus-image-path') + + if config.get('prometheus-image-username') \ + and not config.get('prometheus-image-password'): + missing.append('prometheus-image-password') + + return missing + + def _configure_pod(self): + """Setup a new Prometheus pod specification + """ + logger.debug('Configuring Pod') + missing_config = self._check_config() + if missing_config: + logger.error('Incomplete Configuration : {}. ' + 'Application will be blocked.'.format(missing_config)) + self.unit.status = \ + BlockedStatus('Missing configuration: {}'.format(missing_config)) + return + + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + self.unit.status = MaintenanceStatus('Setting pod spec.') + pod_spec = self._build_pod_spec() + + self.model.pod.set_spec(pod_spec) + self.app.status = ActiveStatus() + self.unit.status = ActiveStatus() + + @property + def relation_targets(self): + hosts = [] + relations = self.framework.model.relations.get("target") + if relations: + for relation in relations: + for i, unit in enumerate(relation.units): + unit_name = unit.name.replace("/", "-") + host = relation.data[unit].get("host") + port = int(relation.data[unit].get("port", "9100")) + if not host: + continue + hostname = f"{host}-{i}.{host}-endpoints" + if hostname and port: + hosts.append(f"{hostname}:{port}") + return hosts + +if __name__ == "__main__": + main(PrometheusCharm) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/test_charm.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/test_charm.py new file mode 100644 index 00000000..05f95782 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/tests/test_charm.py @@ -0,0 +1,313 @@ +# Copyright 2020 Balbir Thomas +# See LICENSE file for licensing details. + +import unittest +import yaml +import json + +from ops.testing import Harness +from charm import PrometheusCharm + +MINIMAL_CONFIG = { + 'prometheus-image-path': 'prom/prometheus', + 'port': 9090 +} + +SAMPLE_ALERTING_CONFIG = { + 'alertmanagers': [{ + 'static_configs': [{ + 'targets': ['192.168.0.1:9093'] + }] + }] +} + + +class TestCharm(unittest.TestCase): + def setUp(self): + self.harness = Harness(PrometheusCharm) + self.addCleanup(self.harness.cleanup) + self.harness.begin() + + def test_image_path_is_required(self): + missing_image_config = { + 'prometheus-image-path': '', + 'prometheus-image-username': '', + 'prometheus-image-password': '' + } + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(missing_image_config) + expected_logs = [ + "ERROR:charm:Incomplete Configuration : ['prometheus-image-path']. " + "Application will be blocked." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + missing = self.harness.charm._check_config() + expected = ['prometheus-image-path'] + self.assertEqual(missing, expected) + + def test_password_is_required_when_username_is_set(self): + missing_password_config = { + 'prometheus-image-path': 'prom/prometheus:latest', + 'prometheus-image-username': 'some-user', + 'prometheus-image-password': '', + } + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(missing_password_config) + expected_logs = [ + "ERROR:charm:Incomplete Configuration : ['prometheus-image-password']. " + "Application will be blocked." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + missing = self.harness.charm._check_config() + expected = ['prometheus-image-password'] + self.assertEqual(missing, expected) + + def test_alerting_config_is_updated_by_alertmanager_relation(self): + self.harness.set_leader(True) + + # check alerting config is empty without alertmanager relation + self.harness.update_config(MINIMAL_CONFIG) + + self.assertEqual(self.harness.charm._stored.alertmanagers, []) + rel_id = self.harness.add_relation('alertmanager', 'alertmanager') + + self.assertIsInstance(rel_id, int) + self.harness.add_relation_unit(rel_id, 'alertmanager/0') + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), None) + + # check alerting config is updated when a alertmanager joins + self.harness.update_relation_data(rel_id, + 'alertmanager', + { + 'port': '9093', + 'addrs': '["192.168.0.1"]' + }) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), SAMPLE_ALERTING_CONFIG) + + def test_alerting_config_is_removed_when_alertmanager_is_broken(self): + self.harness.set_leader(True) + + # ensure there is a non-empty alerting config + self.harness.update_config(MINIMAL_CONFIG) + rel_id = self.harness.add_relation('alertmanager', 'alertmanager') + rel = self.harness.model.get_relation('alertmanager') + self.assertIsInstance(rel_id, int) + self.harness.add_relation_unit(rel_id, 'alertmanager/0') + self.harness.update_relation_data(rel_id, + 'alertmanager', + { + 'port': '9093', + 'addrs': '["192.168.0.1"]' + }) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), SAMPLE_ALERTING_CONFIG) + + # check alerting config is removed when relation departs + self.harness.charm.on.alertmanager_relation_broken.emit(rel) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(alerting_config(pod_spec), None) + + def test_grafana_is_provided_port_and_source(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + rel_id = self.harness.add_relation('grafana-source', 'grafana') + self.harness.add_relation_unit(rel_id, 'grafana/0') + self.harness.update_relation_data(rel_id, 'grafana/0', {}) + data = self.harness.get_relation_data(rel_id, self.harness.model.unit.name) + + self.assertEqual(int(data['port']), MINIMAL_CONFIG['port']) + self.assertEqual(data['source-type'], 'prometheus') + + def test_default_cli_log_level_is_info(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'info') + + def test_invalid_log_level_defaults_to_debug(self): + self.harness.set_leader(True) + bad_log_config = MINIMAL_CONFIG.copy() + bad_log_config['log-level'] = 'bad-level' + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(bad_log_config) + expected_logs = [ + "ERROR:root:Invalid loglevel: bad-level given, " + "debug/info/warn/error/fatal allowed. " + "defaulting to DEBUG loglevel." + ] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'debug') + + def test_valid_log_level_is_accepted(self): + self.harness.set_leader(True) + valid_log_config = MINIMAL_CONFIG.copy() + valid_log_config['log-level'] = 'warn' + self.harness.update_config(valid_log_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--log.level'), 'warn') + + def test_tsdb_compression_is_not_enabled_by_default(self): + self.harness.set_leader(True) + compress_config = MINIMAL_CONFIG.copy() + self.harness.update_config(compress_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.wal-compression'), + None) + + def test_tsdb_compression_can_be_enabled(self): + self.harness.set_leader(True) + compress_config = MINIMAL_CONFIG.copy() + compress_config['tsdb-wal-compression'] = True + self.harness.update_config(compress_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.wal-compression'), + '--storage.tsdb.wal-compression') + + def test_valid_tsdb_retention_times_can_be_set(self): + self.harness.set_leader(True) + retention_time_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + retention_time = '{}{}'.format(1, unit) + retention_time_config['tsdb-retention-time'] = retention_time + self.harness.update_config(retention_time_config) + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + retention_time) + + def test_invalid_tsdb_retention_times_can_not_be_set(self): + self.harness.set_leader(True) + retention_time_config = MINIMAL_CONFIG.copy() + + # invalid unit + retention_time = '{}{}'.format(1, 'x') + retention_time_config['tsdb-retention-time'] = retention_time + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(retention_time_config) + expected_logs = ["ERROR:charm:Invalid unit x in time spec"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + None) + + # invalid time value + retention_time = '{}{}'.format(0, 'd') + retention_time_config['tsdb-retention-time'] = retention_time + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(retention_time_config) + expected_logs = ["ERROR:charm:Expected positive time spec but got 0"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + self.assertEqual(cli_arg(pod_spec, '--storage.tsdb.retention.time'), + None) + + def test_global_scrape_interval_can_be_set(self): + self.harness.set_leader(True) + scrapeint_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + scrapeint_config['scrape-interval'] = '{}{}'.format(1, unit) + self.harness.update_config(scrapeint_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['scrape_interval'], + scrapeint_config['scrape-interval']) + + def test_global_scrape_timeout_can_be_set(self): + self.harness.set_leader(True) + scrapetime_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + scrapetime_config['scrape-timeout'] = '{}{}'.format(1, unit) + self.harness.update_config(scrapetime_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['scrape_timeout'], + scrapetime_config['scrape-timeout']) + + def test_global_evaluation_interval_can_be_set(self): + self.harness.set_leader(True) + evalint_config = MINIMAL_CONFIG.copy() + acceptable_units = ['y', 'w', 'd', 'h', 'm', 's'] + for unit in acceptable_units: + evalint_config['evaluation-interval'] = '{}{}'.format(1, unit) + self.harness.update_config(evalint_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertEqual(gconfig['evaluation_interval'], + evalint_config['evaluation-interval']) + + def test_valid_external_labels_can_be_set(self): + self.harness.set_leader(True) + label_config = MINIMAL_CONFIG.copy() + labels = {'name1': 'value1', + 'name2': 'value2'} + label_config['external-labels'] = json.dumps(labels) + self.harness.update_config(label_config) + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertIsNotNone(gconfig['external_labels']) + self.assertEqual(labels, gconfig['external_labels']) + + def test_invalid_external_labels_can_not_be_set(self): + self.harness.set_leader(True) + label_config = MINIMAL_CONFIG.copy() + # label value must be string + labels = {'name': 1} + label_config['external-labels'] = json.dumps(labels) + with self.assertLogs(level='ERROR') as logger: + self.harness.update_config(label_config) + expected_logs = ["ERROR:charm:External label keys/values must be strings"] + self.assertEqual(sorted(logger.output), expected_logs) + + pod_spec = self.harness.get_pod_spec() + gconfig = global_config(pod_spec) + self.assertIsNone(gconfig.get('external_labels')) + + def test_default_scrape_config_is_always_set(self): + self.harness.set_leader(True) + self.harness.update_config(MINIMAL_CONFIG) + pod_spec = self.harness.get_pod_spec() + prometheus_scrape_config = scrape_config(pod_spec, 'prometheus') + self.assertIsNotNone(prometheus_scrape_config, 'No default config found') + + +def alerting_config(pod_spec): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + return config_dict.get('alerting') + + +def global_config(pod_spec): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + return config_dict['global'] + + +def scrape_config(pod_spec, job_name): + config_yaml = pod_spec[0]['containers'][0]['volumeConfig'][0]['files'][0]['content'] + config_dict = yaml.safe_load(config_yaml) + scrape_configs = config_dict['scrape_configs'] + for config in scrape_configs: + if config['job_name'] == job_name: + return config + return None + + +def cli_arg(pod_spec, cli_opt): + args = pod_spec[0]['containers'][0]['args'] + for arg in args: + opt_list = arg.split('=') + if len(opt_list) == 2 and opt_list[0] == cli_opt: + return opt_list[1] + if len(opt_list) == 1 and opt_list[0] == cli_opt: + return opt_list[0] + return None diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/LICENSE b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/LICENSE new file mode 100644 index 00000000..2f1b8e15 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2017-2021 Ingy döt Net +Copyright (c) 2006-2016 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/METADATA new file mode 100644 index 00000000..565f05b7 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/METADATA @@ -0,0 +1,46 @@ +Metadata-Version: 2.1 +Name: PyYAML +Version: 5.4.1 +Summary: YAML parser and emitter for Python +Home-page: https://pyyaml.org/ +Author: Kirill Simonov +Author-email: xi@resolvent.net +License: MIT +Download-URL: https://pypi.org/project/PyYAML/ +Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues +Project-URL: CI, https://github.com/yaml/pyyaml/actions +Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation +Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core +Project-URL: Source Code, https://github.com/yaml/pyyaml +Platform: Any +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* + +YAML is a data serialization format designed for human readability +and interaction with scripting languages. PyYAML is a YAML parser +and emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistence. + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/RECORD new file mode 100644 index 00000000..68ca4da2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/RECORD @@ -0,0 +1,43 @@ +PyYAML-5.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyYAML-5.4.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 +PyYAML-5.4.1.dist-info/METADATA,sha256=XnrM5LY-uS85ica26gKUK0dGG-xmPjmGfDTSLpIHQFk,2087 +PyYAML-5.4.1.dist-info/RECORD,, +PyYAML-5.4.1.dist-info/WHEEL,sha256=Dh4w5P6PPWbqyqoE6MHlzbFQwZXlM-voWJDf2WUsS2g,108 +PyYAML-5.4.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 +_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 +_yaml/__pycache__/__init__.cpython-38.pyc,, +yaml/__init__.py,sha256=gfp2CbRVhzknghkiiJD2l6Z0pI-mv_iZHPSJ4aj0-nY,13170 +yaml/__pycache__/__init__.cpython-38.pyc,sha256=n0YyVkjiOLmcjlR2NXE5TIZf7Z2clZ6sqQ5KlyuTWSI,11845 +yaml/__pycache__/composer.cpython-38.pyc,sha256=OVPzAKAvC2-Tiv4HUwUUG9JHCzG17nvsRQcFTCtY9xs,3563 +yaml/__pycache__/constructor.cpython-38.pyc,sha256=EXPDY7Prtv3F6QbXiJc5F4BvJQyCCGRu83WF4u6X7Vo,20822 +yaml/__pycache__/cyaml.cpython-38.pyc,sha256=wI01UFU-WhUcdnnczL5QpKu0ZNQTttSzXbleIvIfcvM,3411 +yaml/__pycache__/dumper.cpython-38.pyc,sha256=9wIctrlMpF4ksMWuCc5QAyZSenGiRVyrtU-1pAfj54U,1823 +yaml/__pycache__/emitter.cpython-38.pyc,sha256=kd_QGJd0GjpfgQPN9DlG_7HwKfJnJ24JxtdiUOxM9iE,25353 +yaml/__pycache__/error.cpython-38.pyc,sha256=j6mkXgDmzV0y0lo6FeUrvZL2vHN6Vkc52k0_R0oOn6g,2300 +yaml/__pycache__/events.cpython-38.pyc,sha256=NFsoAO36pPL_uxoCO-xRxKndQ3vx47mkStOYjfoQVZ8,3974 +yaml/__pycache__/loader.cpython-38.pyc,sha256=lEMB2brjPrfMjXXTJpCEx6-ct4eI6LYovD4hW5ZuGsw,2164 +yaml/__pycache__/nodes.cpython-38.pyc,sha256=Kkxh_oL04gQg-YFWwnfjpIoYspsXO4GEqKTr3NbxOD8,1725 +yaml/__pycache__/parser.cpython-38.pyc,sha256=0R9Qx0cBMUoOLzMOWeXCyXsC4S4KJ7oPHdmTVPQ4FbQ,11924 +yaml/__pycache__/reader.cpython-38.pyc,sha256=ZpOMJ6rZDc8EWffI4vZR_Fhcu3WmhgT_GAkDrKkEtPo,4537 +yaml/__pycache__/representer.cpython-38.pyc,sha256=tR9wWffCThWXwQe47uYFdHg2bCkqNjBcwmG7RSHmWS4,10069 +yaml/__pycache__/resolver.cpython-38.pyc,sha256=zsLBuCKn8KAJPVGo5J_xZSytifJktdTtkUNnltOt__I,5498 +yaml/__pycache__/scanner.cpython-38.pyc,sha256=N8ubxRd6bZBjoRna6CU8wK1Imb_7TWOsudzPh9JDDkQ,25269 +yaml/__pycache__/serializer.cpython-38.pyc,sha256=9JDH7ONP5zFlep0f2yNWRoOSZr5Y28jL012O1EIbuug,3320 +yaml/__pycache__/tokens.cpython-38.pyc,sha256=haBW6UBDhVFog2xIe63OkrAP_9JRFyNKCROFPRJiyu0,4935 +yaml/_yaml.cpython-38-x86_64-linux-gnu.so,sha256=fxjEXaSdzion1SMwhu9Ikx-JOVNtcl6KvW_pyGBt-cU,2342916 +yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 +yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 +yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 +yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 +yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 +yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 +yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 +yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 +yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 +yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 +yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 +yaml/representer.py,sha256=82UM3ZxUQKqsKAF4ltWOxCS6jGPIFtXpGs7mvqyv4Xs,14184 +yaml/resolver.py,sha256=Z1W8AOMA6Proy4gIO2OhUO4IPS_bFNAl0Ca3rwChpPg,8999 +yaml/scanner.py,sha256=KeQIKGNlSyPE8QDwionHxy9CgbqE5teJEz05FR9-nAg,51277 +yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 +yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/WHEEL new file mode 100644 index 00000000..69d594f0 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: false +Tag: cp38-cp38-manylinux1_x86_64 + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt new file mode 100644 index 00000000..e6475e91 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt @@ -0,0 +1,2 @@ +_yaml +yaml diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/_yaml/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/_yaml/__init__.py new file mode 100644 index 00000000..7baa8c4b --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/_yaml/__init__.py @@ -0,0 +1,33 @@ +# This is a stub package designed to roughly emulate the _yaml +# extension module, which previously existed as a standalone module +# and has been moved into the `yaml` package namespace. +# It does not perfectly mimic its old counterpart, but should get +# close enough for anyone who's relying on it even when they shouldn't. +import yaml + +# in some circumstances, the yaml module we imoprted may be from a different version, so we need +# to tread carefully when poking at it here (it may not have the attributes we expect) +if not getattr(yaml, '__with_libyaml__', False): + from sys import version_info + + exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError + raise exc("No module named '_yaml'") +else: + from yaml._yaml import * + import warnings + warnings.warn( + 'The _yaml extension module is now located at yaml._yaml' + ' and its location is subject to change. To use the' + ' LibYAML-based parser and emitter, import from `yaml`:' + ' `from yaml import CLoader as Loader, CDumper as Dumper`.', + DeprecationWarning + ) + del warnings + # Don't `del yaml` here because yaml is actually an existing + # namespace member of _yaml. + +__name__ = '_yaml' +# If the module is top-level (i.e. not a part of any specific package) +# then the attribute should be set to ''. +# https://docs.python.org/3.8/library/types.html +__package__ = '' diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/LICENSE.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/LICENSE.txt new file mode 100644 index 00000000..d6456956 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/METADATA new file mode 100644 index 00000000..cd45af93 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/METADATA @@ -0,0 +1,263 @@ +Metadata-Version: 2.1 +Name: ops +Version: 1.1.0 +Summary: The Python library behind great charms +Home-page: https://github.com/canonical/operator +Author: The Charmcraft team at Canonical Ltd. +Author-email: charmcraft@lists.launchpad.net +License: Apache-2.0 +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 3 +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: Operating System :: MacOS :: MacOS X +Classifier: Operating System :: POSIX :: Linux +Requires-Python: >=3.5 +Description-Content-Type: text/markdown +Requires-Dist: PyYAML + +# The Operator Framework + +This Operator Framework simplifies [Kubernetes +operator](https://charmhub.io/about) development for +[model-driven application +management](https://juju.is/model-driven-operations). + +A Kubernetes operator is a container that drives lifecycle management, +configuration, integration and daily actions for an application. +Operators simplify software management and operations. They capture +reusable app domain knowledge from experts in a software component that +can be shared. + +This project extends the operator pattern to enable +[universal operators](https://juju.is/universal-operators), not just +for Kubernetes but also operators for traditional Linux or Windows +application management. + +Operators use an [Operator Lifecycle Manager +(OLM)](https://juju.is/operator-lifecycle-manager) to coordinate their +work in a cluster. The system uses Golang for concurrent event +processing under the hood, but enables the operators to be written in +Python. + +## Simple, composable operators + +Operators should 'do one thing and do it well'. Each operator drives a +single microservice and can be [composed with other +operators](https://juju.is/integration) to deliver a complex application. + +It is better to have small, reusable operators that each drive a single +microservice very well. The operator handles instantiation, scaling, +configuration, optimisation, networking, service mesh, observability, +and day-2 operations specific to that microservice. + +Operator composition takes place through declarative integration in +the OLM. Operators declare integration endpoints, and discover lines of +integration between those endpoints dynamically at runtime. + +## Pure Python operators + +The framework provides a standard Python library and object model that +represents the application graph, and an event distribution mechanism for +distributed system coordination and communication. + +The OLM is written in Golang for efficient concurrency in event handling +and distribution. Operators can be written in any language. We recommend +this Python framework for ease of design, development and collaboration. + +## Better collaboration + +Operator developers publish Python libraries that make it easy to integrate +your operator with their operator. The framework includes standard tools +to distribute these integration libraries and keep them up to date. + +Development collaboration happens at [Charmhub.io](https://charmhub.io/) where +operators are published along with integration libraries. Design and +code review discussions are hosted in the +[Charmhub forum](https://discourse.charmhub.io/). We recommend the +[Open Operator Manifesto](https://charmhub.io/manifesto) as a guideline for +high quality operator engineering. + +## Event serialization and operator services + +Distributed systems can be hard! So this framework exists to make it much +simpler to reason about operator behaviour, especially in complex deployments. +The OLM provides [operator services](https://juju.is/operator-services) such +as provisioning, event delivery, leader election and model management. + +Coordination between operators is provided by a cluster-wide event +distribution system. Events are serialized to avoid race conditions in any +given container or machine. This greatly simplifies the development of +operators for high availability, scale-out and integrated applications. + +## Model-driven Operator Lifecycle Manager + +A key goal of the project is to improve the user experience for admins +working with multiple different operators. + +We embrace [model-driven operations](https://juju.is/model-driven-operations) +in the Operator Lifecycle Manager. The model encompasses capacity, +storage, networking, the application graph and administrative access. + +Admins describe the application graph of integrated microservices, and +the OLM then drives instantiation. A change in the model is propagated +to all affected operators, reducing the duplication of effort and +repetition normally found in operating a complex topology of services. + +Administrative actions, updates, configuration and integration are all +driven through the OLM. + +# Getting started + +A package of operator code is called a charm. You will use `charmcraft` +to register your operator name, and publish it when you are ready. + +``` +$ sudo snap install charmcraft --beta +charmcraft (beta) 0.6.0 from John Lenton (chipaca) installed +``` + +Charms written using the operator framework are just Python code. The goal +is to feel natural for somebody used to coding in Python, and reasonably +easy to learn for somebody who is not a pythonista. + +The dependencies of the operator framework are kept as minimal as possible; +currently that's Python 3.5 or greater, and `PyYAML` (both are included by +default in Ubuntu's cloud images from 16.04 on). + +# A quick introduction + +Make an empty directory `my-charm` and cd into it. Then start a new charm +with: + +``` +$ charmcraft init +All done. +There are some notes about things we think you should do. +These are marked with ‘TODO:’, as is customary. Namely: + README.md: fill out the description + README.md: explain how to use the charm + metadata.yaml: fill out the charm's description + metadata.yaml: fill out the charm's summary +``` + +Charmed operators are just Python code. The entry point to your charm can +be any filename, by default this is `src/charm.py` which must be executable +(and probably have `#!/usr/bin/env python3` on the first line). + +You need a `metadata.yaml` to describe your charm, and if you will support +configuration of your charm then `config.yaml` files is required too. The +`requirements.txt` specifies any Python dependencies. + +``` +$ tree my-charm/ +my-charm/ +├── actions.yaml +├── config.yaml +├── LICENSE +├── metadata.yaml +├── README.md +├── requirements-dev.txt +├── requirements.txt +├── run_tests +├── src +│   └── charm.py +├── tests +│   ├── __init__.py +│   └── my_charm.py +``` + +`src/charm.py` here is the entry point to your charm code. At a minimum, it +needs to define a subclass of `CharmBase` and pass that into the framework +`main` function: + +```python +from ops.charm import CharmBase +from ops.main import main + +class MyCharm(CharmBase): + def __init__(self, *args): + super().__init__(*args) + self.framework.observe(self.on.start, self.on_start) + + def on_start(self, event): + # Handle the start event here. + +if __name__ == "__main__": + main(MyCharm) +``` + +That should be enough for you to be able to run + +``` +$ charmcraft build +Done, charm left in 'my-charm.charm' +$ juju deploy ./my-charm.charm +``` + +> 🛈 More information on [`charmcraft`](https://pypi.org/project/charmcraft/) can +> also be found on its [github page](https://github.com/canonical/charmcraft). + +Happy charming! + +# Testing your charms + +The operator framework provides a testing harness, so you can check your +charm does the right thing in different scenarios, without having to create +a full deployment. `pydoc3 ops.testing` has the details, including this +example: + +```python +harness = Harness(MyCharm) +# Do initial setup here +relation_id = harness.add_relation('db', 'postgresql') +# Now instantiate the charm to see events as the model changes +harness.begin() +harness.add_relation_unit(relation_id, 'postgresql/0') +harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) +# Check that charm has properly handled the relation_joined event for postgresql/0 +self.assertEqual(harness.charm. ...) +``` + +## Talk to us + +If you need help, have ideas, or would just like to chat with us, reach out on +IRC: we're in [#smooth-operator] on freenode (or try the [webchat]). + +We also pay attention to [Charmhub discourse](https://discourse.charmhub.io/) + +You can also deep dive into the [API docs] if that's your thing. + +[webchat]: https://webchat.freenode.net/#smooth-operator +[#smooth-operator]: irc://chat.freenode.net/%23smooth-operator +[discourse]: https://discourse.juju.is/c/charming +[API docs]: https://ops.rtfd.io/ + +## Operator Framework development + +To work in the framework itself you will need Python >= 3.5 and the +dependencies in `requirements-dev.txt` installed in your system, or a +virtualenv: + + virtualenv --python=python3 env + source env/bin/activate + pip install -r requirements-dev.txt + +Then you can try `./run_tests`, it should all go green. + +For improved performance on the tests, ensure that you have PyYAML +installed with the correct extensions: + + apt-get install libyaml-dev + pip install --force-reinstall --no-cache-dir pyyaml + +If you want to build the documentation you'll need the requirements from +`docs/requirements.txt`, or in your virtualenv + + pip install -r docs/requirements.txt + +and then you can run `./build_docs`. + + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/RECORD new file mode 100644 index 00000000..35eb15f5 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/RECORD @@ -0,0 +1,28 @@ +ops-1.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ops-1.1.0.dist-info/LICENSE.txt,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358 +ops-1.1.0.dist-info/METADATA,sha256=ffVuqPnEob6-iBYjEf3lPShSbToJL17obFFufoW2F4g,9485 +ops-1.1.0.dist-info/RECORD,, +ops-1.1.0.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92 +ops-1.1.0.dist-info/top_level.txt,sha256=enC05wWafSg8iDKIvj3gvtAtEP2kYCyN5Gmd689q-_I,4 +ops/__init__.py,sha256=WaHb0dfp1KEe6jFV8Pm_mcdJ3ModiWujnQ6xLjNzPNQ,819 +ops/__pycache__/__init__.cpython-38.pyc,, +ops/__pycache__/charm.cpython-38.pyc,, +ops/__pycache__/framework.cpython-38.pyc,, +ops/__pycache__/jujuversion.cpython-38.pyc,, +ops/__pycache__/log.cpython-38.pyc,, +ops/__pycache__/main.cpython-38.pyc,, +ops/__pycache__/model.cpython-38.pyc,, +ops/__pycache__/storage.cpython-38.pyc,, +ops/__pycache__/testing.cpython-38.pyc,, +ops/__pycache__/version.cpython-38.pyc,, +ops/charm.py,sha256=7KyaNNA0t_a0h0hrzehSEWm4xU_Y5JIqGWHTg747qfU,32817 +ops/framework.py,sha256=1ByOtFKRR6kRzOEbfWnGEMNevixOYf18U0oZxKq8LsA,43769 +ops/jujuversion.py,sha256=9wMlUmngcAENV9RkgVVLWtZsyRQaf6XNrQQqUeY_fHA,4139 +ops/lib/__init__.py,sha256=QizPpuRWXjqbH5Gv7mnH8CcPR9BX7q2YNFnxyoSsA0g,9213 +ops/lib/__pycache__/__init__.cpython-38.pyc,, +ops/log.py,sha256=JVpt_Vkf_lWO2cucUcJfXjAWVTattk4xBscSs65Sn3I,2155 +ops/main.py,sha256=BUJZM4soFpsY4bO6zJ1bSHQeWJcm028gq0MhJT3rC8M,15523 +ops/model.py,sha256=yvM1yhidNyGpVdxkG365jPJRhQuE42EiiojBHJ7tL3c,47930 +ops/storage.py,sha256=jEfszzQGYDrl5wa03I6txvea-7lI661Yq6n7sIPa0fU,14192 +ops/testing.py,sha256=sH8PoNzGmfPdVWM1lBjStxHcNfQHsasFjF-WzHfDhFA,34898 +ops/version.py,sha256=UuaLFU_UN-InNFu4I23Y22huxQdbsOgTQ_d_r623fx4,46 diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/WHEEL new file mode 100644 index 00000000..b552003f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/top_level.txt new file mode 100644 index 00000000..2d81d3bb --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops-1.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +ops diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/__init__.py new file mode 100644 index 00000000..f17b2969 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/__init__.py @@ -0,0 +1,20 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""The Operator Framework.""" + +from .version import version as __version__ # noqa: F401 (imported but unused) + +# Import here the bare minimum to break the circular import between modules +from . import charm # noqa: F401 (imported but unused) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/charm.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/charm.py new file mode 100644 index 00000000..82ed2fdd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/charm.py @@ -0,0 +1,823 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Base objects for the Charm, events and metadata.""" + +import enum +import os +import pathlib +import typing + +import yaml + +from ops.framework import Object, EventSource, EventBase, Framework, ObjectEvents +from ops import model + + +def _loadYaml(source): + if yaml.__with_libyaml__: + return yaml.load(source, Loader=yaml.CSafeLoader) + return yaml.load(source, Loader=yaml.SafeLoader) + + +class HookEvent(EventBase): + """Events raised by Juju to progress a charm's lifecycle. + + Hooks are callback methods of a charm class (a subclass of + :class:`CharmBase`) that are invoked in response to events raised + by Juju. These callback methods are the means by which a charm + governs the lifecycle of its application. + + The :class:`HookEvent` class is the base of a type hierarchy of events + related to the charm's lifecycle. + + :class:`HookEvent` subtypes are grouped into the following categories + + - Core lifecycle events + - Relation events + - Storage events + - Metric events + """ + + +class ActionEvent(EventBase): + """Events raised by Juju when an administrator invokes a Juju Action. + + This class is the data type of events triggered when an administrator + invokes a Juju Action. Callbacks bound to these events may be used + for responding to the administrator's Juju Action request. + + To read the parameters for the action, see the instance variable :attr:`params`. + To respond with the result of the action, call :meth:`set_results`. To add + progress messages that are visible as the action is progressing use + :meth:`log`. + + Attributes: + params: The parameters passed to the action. + """ + + def defer(self): + """Action events are not deferable like other events. + + This is because an action runs synchronously and the administrator + is waiting for the result. + """ + raise RuntimeError('cannot defer action events') + + def restore(self, snapshot: dict) -> None: + """Used by the operator framework to record the action. + + Not meant to be called directly by charm code. + """ + env_action_name = os.environ.get('JUJU_ACTION_NAME') + event_action_name = self.handle.kind[:-len('_action')].replace('_', '-') + if event_action_name != env_action_name: + # This could only happen if the dev manually emits the action, or from a bug. + raise RuntimeError('action event kind does not match current action') + # Params are loaded at restore rather than __init__ because + # the model is not available in __init__. + self.params = self.framework.model._backend.action_get() + + def set_results(self, results: typing.Mapping) -> None: + """Report the result of the action. + + Args: + results: The result of the action as a Dict + """ + self.framework.model._backend.action_set(results) + + def log(self, message: str) -> None: + """Send a message that a user will see while the action is running. + + Args: + message: The message for the user. + """ + self.framework.model._backend.action_log(message) + + def fail(self, message: str = '') -> None: + """Report that this action has failed. + + Args: + message: Optional message to record why it has failed. + """ + self.framework.model._backend.action_fail(message) + + +class InstallEvent(HookEvent): + """Event triggered when a charm is installed. + + This event is triggered at the beginning of a charm's + lifecycle. Any associated callback method should be used to + perform one-time setup operations, such as installing prerequisite + software. + """ + + +class StartEvent(HookEvent): + """Event triggered immediately after first configuation change. + + This event is triggered immediately after the first + :class:`ConfigChangedEvent`. Callback methods bound to the event should be + used to ensure that the charm’s software is in a running state. Note that + the charm’s software should be configured so as to persist in this state + through reboots without further intervention on Juju’s part. + """ + + +class StopEvent(HookEvent): + """Event triggered when a charm is shut down. + + This event is triggered when an application's removal is requested + by the client. The event fires immediately before the end of the + unit’s destruction sequence. Callback methods bound to this event + should be used to ensure that the charm’s software is not running, + and that it will not start again on reboot. + """ + + +class RemoveEvent(HookEvent): + """Event triggered when a unit is about to be terminated. + + This event fires prior to Juju removing the charm and terminating its unit. + """ + + +class ConfigChangedEvent(HookEvent): + """Event triggered when a configuration change is requested. + + This event fires in several different situations. + + - immediately after the :class:`install ` event. + - after a :class:`relation is created `. + - after a :class:`leader is elected `. + - after changing charm configuration using the GUI or command line + interface + - when the charm :class:`starts `. + - when a new unit :class:`joins a relation `. + - when there is a :class:`change to an existing relation `. + + Any callback method bound to this event cannot assume that the + software has already been started; it should not start stopped + software, but should (if appropriate) restart running software to + take configuration changes into account. + """ + + +class UpdateStatusEvent(HookEvent): + """Event triggered by a status update request from Juju. + + This event is periodically triggered by Juju so that it can + provide constant feedback to the administrator about the status of + the application the charm is modeling. Any callback method bound + to this event should determine the "health" of the application and + set the status appropriately. + + The interval between :class:`update-status ` events can + be configured model-wide, e.g. ``juju model-config + update-status-hook-interval=1m``. + """ + + +class UpgradeCharmEvent(HookEvent): + """Event triggered by request to upgrade the charm. + + This event will be triggered when an administrator executes ``juju + upgrade-charm``. The event fires after Juju has unpacked the upgraded charm + code, and so this event will be handled by the callback method bound to the + event in the new codebase. The associated callback method is invoked + provided there is no existing error state. The callback method should be + used to reconcile current state written by an older version of the charm + into whatever form that is needed by the current charm version. + """ + + +class PreSeriesUpgradeEvent(HookEvent): + """Event triggered to prepare a unit for series upgrade. + + This event triggers when an administrator executes ``juju upgrade-series + MACHINE prepare``. The event will fire for each unit that is running on the + specified machine. Any callback method bound to this event must prepare the + charm for an upgrade to the series. This may include things like exporting + database content to a version neutral format, or evacuating running + instances to other machines. + + It can be assumed that only after all units on a machine have executed the + callback method associated with this event, the administrator will initiate + steps to actually upgrade the series. After the upgrade has been completed, + the :class:`PostSeriesUpgradeEvent` will fire. + """ + + +class PostSeriesUpgradeEvent(HookEvent): + """Event triggered after a series upgrade. + + This event is triggered after the administrator has done a distribution + upgrade (or rolled back and kept the same series). It is called in response + to ``juju upgrade-series MACHINE complete``. Associated charm callback + methods are expected to do whatever steps are necessary to reconfigure their + applications for the new series. This may include things like populating the + upgraded version of a database. Note however charms are expected to check if + the series has actually changed or whether it was rolled back to the + original series. + """ + + +class LeaderElectedEvent(HookEvent): + """Event triggered when a new leader has been elected. + + Juju will trigger this event when a new leader unit is chosen for + a given application. + + This event fires at least once after Juju selects a leader + unit. Callback methods bound to this event may take any action + required for the elected unit to assert leadership. Note that only + the elected leader unit will receive this event. + """ + + +class LeaderSettingsChangedEvent(HookEvent): + """Event triggered when leader changes any settings. + + DEPRECATED NOTICE + + This event has been deprecated in favor of using a Peer relation, + and having the leader set a value in the Application data bag for + that peer relation. (see :class:`RelationChangedEvent`). + """ + + +class CollectMetricsEvent(HookEvent): + """Event triggered by Juju to collect metrics. + + Juju fires this event every five minutes for the lifetime of the + unit. Callback methods bound to this event may use the :meth:`add_metrics` + method of this class to send measurements to Juju. + + Note that associated callback methods are currently sandboxed in + how they can interact with Juju. + """ + + def add_metrics(self, metrics: typing.Mapping, labels: typing.Mapping = None) -> None: + """Record metrics that have been gathered by the charm for this unit. + + Args: + metrics: A collection of {key: float} pairs that contains the + metrics that have been gathered + labels: {key:value} strings that can be applied to the + metrics that are being gathered + """ + self.framework.model._backend.add_metrics(metrics, labels) + + +class RelationEvent(HookEvent): + """A base class representing the various relation lifecycle events. + + Relation lifecycle events are generated when application units + participate in relations. Units can only participate in relations + after they have been "started", and before they have been + "stopped". Within that time window, the unit may participate in + several different relations at a time, including multiple + relations with the same name. + + Attributes: + relation: The :class:`~ops.model.Relation` involved in this event + app: The remote :class:`~ops.model.Application` that has triggered this + event + unit: The remote unit that has triggered this event. This may be + ``None`` if the relation event was triggered as an + :class:`~ops.model.Application` level event + + """ + + def __init__(self, handle, relation, app=None, unit=None): + super().__init__(handle) + + if unit is not None and unit.app != app: + raise RuntimeError( + 'cannot create RelationEvent with application {} and unit {}'.format(app, unit)) + + self.relation = relation + self.app = app + self.unit = unit + + def snapshot(self) -> dict: + """Used by the framework to serialize the event to disk. + + Not meant to be called by charm code. + """ + snapshot = { + 'relation_name': self.relation.name, + 'relation_id': self.relation.id, + } + if self.app: + snapshot['app_name'] = self.app.name + if self.unit: + snapshot['unit_name'] = self.unit.name + return snapshot + + def restore(self, snapshot: dict) -> None: + """Used by the framework to deserialize the event from disk. + + Not meant to be called by charm code. + """ + self.relation = self.framework.model.get_relation( + snapshot['relation_name'], snapshot['relation_id']) + + app_name = snapshot.get('app_name') + if app_name: + self.app = self.framework.model.get_app(app_name) + else: + self.app = None + + unit_name = snapshot.get('unit_name') + if unit_name: + self.unit = self.framework.model.get_unit(unit_name) + else: + self.unit = None + + +class RelationCreatedEvent(RelationEvent): + """Event triggered when a new relation is created. + + This is triggered when a new relation to another app is added in Juju. This + can occur before units for those applications have started. All existing + relations should be established before start. + """ + + +class RelationJoinedEvent(RelationEvent): + """Event triggered when a new unit joins a relation. + + This event is triggered whenever a new unit of a related + application joins the relation. The event fires only when that + remote unit is first observed by the unit. Callback methods bound + to this event may set any local unit settings that can be + determined using no more than the name of the joining unit and the + remote ``private-address`` setting, which is always available when + the relation is created and is by convention not deleted. + """ + + +class RelationChangedEvent(RelationEvent): + """Event triggered when relation data changes. + + This event is triggered whenever there is a change to the data bucket for a + related application or unit. Look at ``event.relation.data[event.unit/app]`` + to see the new information, where ``event`` is the event object passed to + the callback method bound to this event. + + This event always fires once, after :class:`RelationJoinedEvent`, and + will subsequently fire whenever that remote unit changes its settings for + the relation. Callback methods bound to this event should be the only ones + that rely on remote relation settings. They should not error if the settings + are incomplete, since it can be guaranteed that when the remote unit or + application changes its settings, the event will fire again. + + The settings that may be queried, or set, are determined by the relation’s + interface. + """ + + +class RelationDepartedEvent(RelationEvent): + """Event triggered when a unit leaves a relation. + + This is the inverse of the :class:`RelationJoinedEvent`, representing when a + unit is leaving the relation (the unit is being removed, the app is being + removed, the relation is being removed). It is fired once for each unit that + is going away. + + When the remote unit is known to be leaving the relation, this will result + in the :class:`RelationChangedEvent` firing at least once, after which the + :class:`RelationDepartedEvent` will fire. The :class:`RelationDepartedEvent` + will fire once only. Once the :class:`RelationDepartedEvent` has fired no + further :class:`RelationChangedEvent` will fire. + + Callback methods bound to this event may be used to remove all + references to the departing remote unit, because there’s no + guarantee that it’s still part of the system; it’s perfectly + probable (although not guaranteed) that the system running that + unit has already shut down. + + Once all callback methods bound to this event have been run for such a + relation, the unit agent will fire the :class:`RelationBrokenEvent`. + """ + + +class RelationBrokenEvent(RelationEvent): + """Event triggered when a relation is removed. + + If a relation is being removed (``juju remove-relation`` or ``juju + remove-application``), once all the units have been removed, this event will + fire to signal that the relationship has been fully terminated. + + The event indicates that the current relation is no longer valid, and that + the charm’s software must be configured as though the relation had never + existed. It will only be called after every callback method bound to + :class:`RelationDepartedEvent` has been run. If a callback method + bound to this event is being executed, it is gauranteed that no remote units + are currently known locally. + """ + + +class StorageEvent(HookEvent): + """Base class representing storage-related events. + + Juju can provide a variety of storage types to a charms. The + charms can define several different types of storage that are + allocated from Juju. Changes in state of storage trigger sub-types + of :class:`StorageEvent`. + """ + + +class StorageAttachedEvent(StorageEvent): + """Event triggered when new storage becomes available. + + This event is triggered when new storage is available for the + charm to use. + + Callback methods bound to this event allow the charm to run code + when storage has been added. Such methods will be run before the + :class:`InstallEvent` fires, so that the installation routine may + use the storage. The name prefix of this hook will depend on the + storage key defined in the ``metadata.yaml`` file. + """ + + +class StorageDetachingEvent(StorageEvent): + """Event triggered prior to removal of storage. + + This event is triggered when storage a charm has been using is + going away. + + Callback methods bound to this event allow the charm to run code + before storage is removed. Such methods will be run before storage + is detached, and always before the :class:`StopEvent` fires, thereby + allowing the charm to gracefully release resources before they are + removed and before the unit terminates. The name prefix of the + hook will depend on the storage key defined in the ``metadata.yaml`` + file. + """ + + +class CharmEvents(ObjectEvents): + """Events generated by Juju pertaining to application lifecycle. + + This class is used to create an event descriptor (``self.on``) attribute for + a charm class that inherits from :class:`CharmBase`. The event descriptor + may be used to set up event handlers for corresponding events. + + By default the following events will be provided through + :class:`CharmBase`:: + + self.on.install + self.on.start + self.on.remove + self.on.update_status + self.on.config_changed + self.on.upgrade_charm + self.on.pre_series_upgrade + self.on.post_series_upgrade + self.on.leader_elected + self.on.collect_metrics + + + In addition to these, depending on the charm's metadata (``metadata.yaml``), + named relation and storage events may also be defined. These named events + are created by :class:`CharmBase` using charm metadata. The named events may be + accessed as ``self.on[].`` + """ + + install = EventSource(InstallEvent) + start = EventSource(StartEvent) + stop = EventSource(StopEvent) + remove = EventSource(RemoveEvent) + update_status = EventSource(UpdateStatusEvent) + config_changed = EventSource(ConfigChangedEvent) + upgrade_charm = EventSource(UpgradeCharmEvent) + pre_series_upgrade = EventSource(PreSeriesUpgradeEvent) + post_series_upgrade = EventSource(PostSeriesUpgradeEvent) + leader_elected = EventSource(LeaderElectedEvent) + leader_settings_changed = EventSource(LeaderSettingsChangedEvent) + collect_metrics = EventSource(CollectMetricsEvent) + + +class CharmBase(Object): + """Base class that represents the charm overall. + + :class:`CharmBase` is used to create a charm. This is done by inheriting + from :class:`CharmBase` and customising the sub class as required. So to + create your own charm, say ``MyCharm``, define a charm class and set up the + required event handlers (“hooks”) in its constructor:: + + import logging + + from ops.charm import CharmBase + from ops.main import main + + logger = logging.getLogger(__name__) + + def MyCharm(CharmBase): + def __init__(self, *args): + logger.debug('Initializing Charm') + + super().__init__(*args) + + self.framework.observe(self.on.config_changed, self._on_config_changed) + self.framework.observe(self.on.stop, self._on_stop) + # ... + + if __name__ == "__main__": + main(MyCharm) + + As shown in the example above, a charm class is instantiated by + :func:`~ops.main.main` rather than charm authors directly instantiating a + charm. + + Args: + framework: The framework responsible for managing the Model and events for this + charm. + key: Ignored; will remove after deprecation period of the signature change. + + """ + + # note that without the #: below, sphinx will copy the whole of CharmEvents + # docstring inline which is less than ideal. + #: Used to set up event handlers; see :class:`CharmEvents`. + on = CharmEvents() + + def __init__(self, framework: Framework, key: typing.Optional = None): + super().__init__(framework, None) + + for relation_name in self.framework.meta.relations: + relation_name = relation_name.replace('-', '_') + self.on.define_event(relation_name + '_relation_created', RelationCreatedEvent) + self.on.define_event(relation_name + '_relation_joined', RelationJoinedEvent) + self.on.define_event(relation_name + '_relation_changed', RelationChangedEvent) + self.on.define_event(relation_name + '_relation_departed', RelationDepartedEvent) + self.on.define_event(relation_name + '_relation_broken', RelationBrokenEvent) + + for storage_name in self.framework.meta.storages: + storage_name = storage_name.replace('-', '_') + self.on.define_event(storage_name + '_storage_attached', StorageAttachedEvent) + self.on.define_event(storage_name + '_storage_detaching', StorageDetachingEvent) + + for action_name in self.framework.meta.actions: + action_name = action_name.replace('-', '_') + self.on.define_event(action_name + '_action', ActionEvent) + + @property + def app(self) -> model.Application: + """Application that this unit is part of.""" + return self.framework.model.app + + @property + def unit(self) -> model.Unit: + """Unit that this execution is responsible for.""" + return self.framework.model.unit + + @property + def meta(self) -> 'CharmMeta': + """Metadata of this charm.""" + return self.framework.meta + + @property + def charm_dir(self) -> pathlib.Path: + """Root directory of the charm as it is running.""" + return self.framework.charm_dir + + @property + def config(self) -> model.ConfigData: + """A mapping containing the charm's config and current values.""" + return self.model.config + + +class CharmMeta: + """Object containing the metadata for the charm. + + This is read from ``metadata.yaml`` and/or ``actions.yaml``. Generally + charms will define this information, rather than reading it at runtime. This + class is mostly for the framework to understand what the charm has defined. + + The :attr:`maintainers`, :attr:`tags`, :attr:`terms`, :attr:`series`, and + :attr:`extra_bindings` attributes are all lists of strings. The + :attr:`requires`, :attr:`provides`, :attr:`peers`, :attr:`relations`, + :attr:`storages`, :attr:`resources`, and :attr:`payloads` attributes are all + mappings of names to instances of the respective :class:`RelationMeta`, + :class:`StorageMeta`, :class:`ResourceMeta`, or :class:`PayloadMeta`. + + The :attr:`relations` attribute is a convenience accessor which includes all + of the ``requires``, ``provides``, and ``peers`` :class:`RelationMeta` + items. If needed, the role of the relation definition can be obtained from + its :attr:`role ` attribute. + + Attributes: + name: The name of this charm + summary: Short description of what this charm does + description: Long description for this charm + maintainers: A list of strings of the email addresses of the maintainers + of this charm. + tags: Charm store tag metadata for categories associated with this charm. + terms: Charm store terms that should be agreed to before this charm can + be deployed. (Used for things like licensing issues.) + series: The list of supported OS series that this charm can support. + The first entry in the list is the default series that will be + used by deploy if no other series is requested by the user. + subordinate: True/False whether this charm is intended to be used as a + subordinate charm. + min_juju_version: If supplied, indicates this charm needs features that + are not available in older versions of Juju. + requires: A dict of {name: :class:`RelationMeta` } for each 'requires' relation. + provides: A dict of {name: :class:`RelationMeta` } for each 'provides' relation. + peers: A dict of {name: :class:`RelationMeta` } for each 'peer' relation. + relations: A dict containing all :class:`RelationMeta` attributes (merged from other + sections) + storages: A dict of {name: :class:`StorageMeta`} for each defined storage. + resources: A dict of {name: :class:`ResourceMeta`} for each defined resource. + payloads: A dict of {name: :class:`PayloadMeta`} for each defined payload. + extra_bindings: A dict of additional named bindings that a charm can use + for network configuration. + actions: A dict of {name: :class:`ActionMeta`} for actions that the charm has defined. + Args: + raw: a mapping containing the contents of metadata.yaml + actions_raw: a mapping containing the contents of actions.yaml + + """ + + def __init__(self, raw: dict = {}, actions_raw: dict = {}): + self.name = raw.get('name', '') + self.summary = raw.get('summary', '') + self.description = raw.get('description', '') + self.maintainers = [] + if 'maintainer' in raw: + self.maintainers.append(raw['maintainer']) + if 'maintainers' in raw: + self.maintainers.extend(raw['maintainers']) + self.tags = raw.get('tags', []) + self.terms = raw.get('terms', []) + self.series = raw.get('series', []) + self.subordinate = raw.get('subordinate', False) + self.min_juju_version = raw.get('min-juju-version') + self.requires = {name: RelationMeta(RelationRole.requires, name, rel) + for name, rel in raw.get('requires', {}).items()} + self.provides = {name: RelationMeta(RelationRole.provides, name, rel) + for name, rel in raw.get('provides', {}).items()} + self.peers = {name: RelationMeta(RelationRole.peer, name, rel) + for name, rel in raw.get('peers', {}).items()} + self.relations = {} + self.relations.update(self.requires) + self.relations.update(self.provides) + self.relations.update(self.peers) + self.storages = {name: StorageMeta(name, storage) + for name, storage in raw.get('storage', {}).items()} + self.resources = {name: ResourceMeta(name, res) + for name, res in raw.get('resources', {}).items()} + self.payloads = {name: PayloadMeta(name, payload) + for name, payload in raw.get('payloads', {}).items()} + self.extra_bindings = raw.get('extra-bindings', {}) + self.actions = {name: ActionMeta(name, action) for name, action in actions_raw.items()} + + @classmethod + def from_yaml( + cls, metadata: typing.Union[str, typing.TextIO], + actions: typing.Optional[typing.Union[str, typing.TextIO]] = None): + """Instantiate a CharmMeta from a YAML description of metadata.yaml. + + Args: + metadata: A YAML description of charm metadata (name, relations, etc.) + This can be a simple string, or a file-like object. (passed to `yaml.safe_load`). + actions: YAML description of Actions for this charm (eg actions.yaml) + """ + meta = _loadYaml(metadata) + raw_actions = {} + if actions is not None: + raw_actions = _loadYaml(actions) + if raw_actions is None: + raw_actions = {} + return cls(meta, raw_actions) + + +class RelationRole(enum.Enum): + """An annotation for a charm's role in a relation. + + For each relation a charm's role may be + + - A Peer + - A service consumer in the relation ('requires') + - A service provider in the relation ('provides') + """ + peer = 'peer' + requires = 'requires' + provides = 'provides' + + def is_peer(self) -> bool: + """Return whether the current role is peer. + + A convenience to avoid having to import charm. + """ + return self is RelationRole.peer + + +class RelationMeta: + """Object containing metadata about a relation definition. + + Should not be constructed directly by charm code. Is gotten from one of + :attr:`CharmMeta.peers`, :attr:`CharmMeta.requires`, :attr:`CharmMeta.provides`, + or :attr:`CharmMeta.relations`. + + Attributes: + role: This is :class:`RelationRole`; one of peer/requires/provides + relation_name: Name of this relation from metadata.yaml + interface_name: Optional definition of the interface protocol. + scope: "global" or "container" scope based on how the relation should be used. + """ + + def __init__(self, role: RelationRole, relation_name: str, raw: dict): + if not isinstance(role, RelationRole): + raise TypeError("role should be a Role, not {!r}".format(role)) + self.role = role + self.relation_name = relation_name + self.interface_name = raw['interface'] + self.scope = raw.get('scope') + + +class StorageMeta: + """Object containing metadata about a storage definition. + + Attributes: + storage_name: Name of storage + type: Storage type + description: A text description of the storage + read_only: Whether or not the storage is read only + minimum_size: Minimum size of storage + location: Mount point of storage + multiple_range: Range of numeric qualifiers when multiple storage units are used + """ + + def __init__(self, name, raw): + self.storage_name = name + self.type = raw['type'] + self.description = raw.get('description', '') + self.shared = raw.get('shared', False) + self.read_only = raw.get('read-only', False) + self.minimum_size = raw.get('minimum-size') + self.location = raw.get('location') + self.multiple_range = None + if 'multiple' in raw: + range = raw['multiple']['range'] + if '-' not in range: + self.multiple_range = (int(range), int(range)) + else: + range = range.split('-') + self.multiple_range = (int(range[0]), int(range[1]) if range[1] else None) + + +class ResourceMeta: + """Object containing metadata about a resource definition. + + Attributes: + resource_name: Name of resource + filename: Name of file + description: A text description of resource + """ + + def __init__(self, name, raw): + self.resource_name = name + self.type = raw['type'] + self.filename = raw.get('filename', None) + self.description = raw.get('description', '') + + +class PayloadMeta: + """Object containing metadata about a payload definition. + + Attributes: + payload_name: Name of payload + type: Payload type + """ + + def __init__(self, name, raw): + self.payload_name = name + self.type = raw['type'] + + +class ActionMeta: + """Object containing metadata about an action's definition.""" + + def __init__(self, name, raw=None): + raw = raw or {} + self.name = name + self.title = raw.get('title', '') + self.description = raw.get('description', '') + self.parameters = raw.get('params', {}) # {: } + self.required = raw.get('required', []) # [, ...] diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/framework.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/framework.py new file mode 100644 index 00000000..d20c0007 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/framework.py @@ -0,0 +1,1199 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""The Operator Framework infrastructure.""" + +import collections +import collections.abc +import inspect +import keyword +import logging +import marshal +import os +import pathlib +import pdb +import re +import sys +import types +import weakref + +from ops import charm +from ops.storage import ( + NoSnapshotError, + SQLiteStorage, +) + +logger = logging.getLogger(__name__) + + +class Handle: + """Handle defines a name for an object in the form of a hierarchical path. + + The provided parent is the object (or that object's handle) that this handle + sits under, or None if the object identified by this handle stands by itself + as the root of its own hierarchy. + + The handle kind is a string that defines a namespace so objects with the + same parent and kind will have unique keys. + + The handle key is a string uniquely identifying the object. No other objects + under the same parent and kind may have the same key. + """ + + def __init__(self, parent, kind, key): + if parent and not isinstance(parent, Handle): + parent = parent.handle + self._parent = parent + self._kind = kind + self._key = key + if parent: + if key: + self._path = "{}/{}[{}]".format(parent, kind, key) + else: + self._path = "{}/{}".format(parent, kind) + else: + if key: + self._path = "{}[{}]".format(kind, key) + else: + self._path = "{}".format(kind) + + def nest(self, kind, key): + """Create a new handle as child of the current one.""" + return Handle(self, kind, key) + + def __hash__(self): + return hash((self.parent, self.kind, self.key)) + + def __eq__(self, other): + return (self.parent, self.kind, self.key) == (other.parent, other.kind, other.key) + + def __str__(self): + return self.path + + @property + def parent(self): + """Return own parent handle.""" + return self._parent + + @property + def kind(self): + """Return the handle's kind.""" + return self._kind + + @property + def key(self): + """Return the handle's key.""" + return self._key + + @property + def path(self): + """Return the handle's path.""" + return self._path + + @classmethod + def from_path(cls, path): + """Build a handle from the indicated path.""" + handle = None + for pair in path.split("/"): + pair = pair.split("[") + good = False + if len(pair) == 1: + kind, key = pair[0], None + good = True + elif len(pair) == 2: + kind, key = pair + if key and key[-1] == ']': + key = key[:-1] + good = True + if not good: + raise RuntimeError("attempted to restore invalid handle path {}".format(path)) + handle = Handle(handle, kind, key) + return handle + + +class EventBase: + """The base for all the different Events. + + Inherit this and override 'snapshot' and 'restore' methods to build a custom event. + """ + + def __init__(self, handle): + self.handle = handle + self.deferred = False + + def __repr__(self): + return "<%s via %s>" % (self.__class__.__name__, self.handle) + + def defer(self): + """Defer the event to the future. + + Deferring an event from a handler puts that handler into a queue, to be + called again the next time the charm is invoked. This invocation may be + the result of an action, or any event other than metric events. The + queue of events will be dispatched before the new event is processed. + + From the above you may deduce, but it's important to point out: + + * ``defer()`` does not interrupt the execution of the current event + handler. In almost all cases, a call to ``defer()`` should be followed + by an explicit ``return`` from the handler; + + * the re-execution of the deferred event handler starts from the top of + the handler method (not where defer was called); + + * only the handlers that actually called ``defer()`` are called again + (that is: despite talking about “deferring an event” it is actually + the handler/event combination that is deferred); and + + * any deferred events get processed before the event (or action) that + caused the current invocation of the charm. + + The general desire to call ``defer()`` happens when some precondition + isn't yet met. However, care should be exercised as to whether it is + better to defer this event so that you see it again, or whether it is + better to just wait for the event that indicates the precondition has + been met. + + For example, if ``config-changed`` is fired, and you are waiting for + different config, there is no reason to defer the event because there + will be a *different* ``config-changed`` event when the config actually + changes, rather than checking to see if maybe config has changed prior + to every other event that occurs. + + Similarly, if you need 2 events to occur before you are ready to + proceed (say event A and B). When you see event A, you could chose to + ``defer()`` it because you haven't seen B yet. However, that leads to: + + 1. event A fires, calls defer() + + 2. event B fires, event A handler is called first, still hasn't seen B + happen, so is deferred again. Then B happens, which progresses since + it has seen A. + + 3. At some future time, event C happens, which also checks if A can + proceed. + + """ + logger.debug("Deferring %s.", self) + self.deferred = True + + def snapshot(self): + """Return the snapshot data that should be persisted. + + Subclasses must override to save any custom state. + """ + return None + + def restore(self, snapshot): + """Restore the value state from the given snapshot. + + Subclasses must override to restore their custom state. + """ + self.deferred = False + + +class EventSource: + """EventSource wraps an event type with a descriptor to facilitate observing and emitting. + + It is generally used as: + + class SomethingHappened(EventBase): + pass + + class SomeObject(Object): + something_happened = EventSource(SomethingHappened) + + With that, instances of that type will offer the someobj.something_happened + attribute which is a BoundEvent and may be used to emit and observe the event. + """ + + def __init__(self, event_type): + if not isinstance(event_type, type) or not issubclass(event_type, EventBase): + raise RuntimeError( + 'Event requires a subclass of EventBase as an argument, got {}'.format(event_type)) + self.event_type = event_type + self.event_kind = None + self.emitter_type = None + + def _set_name(self, emitter_type, event_kind): + if self.event_kind is not None: + raise RuntimeError( + 'EventSource({}) reused as {}.{} and {}.{}'.format( + self.event_type.__name__, + self.emitter_type.__name__, + self.event_kind, + emitter_type.__name__, + event_kind, + )) + self.event_kind = event_kind + self.emitter_type = emitter_type + + def __get__(self, emitter, emitter_type=None): + if emitter is None: + return self + # Framework might not be available if accessed as CharmClass.on.event + # rather than charm_instance.on.event, but in that case it couldn't be + # emitted anyway, so there's no point to registering it. + framework = getattr(emitter, 'framework', None) + if framework is not None: + framework.register_type(self.event_type, emitter, self.event_kind) + return BoundEvent(emitter, self.event_type, self.event_kind) + + +class BoundEvent: + """Event bound to an Object.""" + + def __repr__(self): + return ''.format( + self.event_type.__name__, + type(self.emitter).__name__, + self.event_kind, + hex(id(self)), + ) + + def __init__(self, emitter, event_type, event_kind): + self.emitter = emitter + self.event_type = event_type + self.event_kind = event_kind + + def emit(self, *args, **kwargs): + """Emit event to all registered observers. + + The current storage state is committed before and after each observer is notified. + """ + framework = self.emitter.framework + key = framework._next_event_key() + event = self.event_type(Handle(self.emitter, self.event_kind, key), *args, **kwargs) + framework._emit(event) + + +class HandleKind: + """Helper descriptor to define the Object.handle_kind field. + + The handle_kind for an object defaults to its type name, but it may + be explicitly overridden if desired. + """ + + def __get__(self, obj, obj_type): + kind = obj_type.__dict__.get("handle_kind") + if kind: + return kind + return obj_type.__name__ + + +class _Metaclass(type): + """Helper class to ensure proper instantiation of Object-derived classes. + + This class currently has a single purpose: events derived from EventSource + that are class attributes of Object-derived classes need to be told what + their name is in that class. For example, in + + class SomeObject(Object): + something_happened = EventSource(SomethingHappened) + + the instance of EventSource needs to know it's called 'something_happened'. + + Starting from python 3.6 we could use __set_name__ on EventSource for this, + but until then this (meta)class does the equivalent work. + + TODO: when we drop support for 3.5 drop this class, and rename _set_name in + EventSource to __set_name__; everything should continue to work. + + """ + + def __new__(typ, *a, **kw): + k = super().__new__(typ, *a, **kw) + # k is now the Object-derived class; loop over its class attributes + for n, v in vars(k).items(): + # we could do duck typing here if we want to support + # non-EventSource-derived shenanigans. We don't. + if isinstance(v, EventSource): + # this is what 3.6+ does automatically for us: + v._set_name(k, n) + return k + + +class Object(metaclass=_Metaclass): + """Base class of all the charm-related objects.""" + + handle_kind = HandleKind() + + def __init__(self, parent, key): + kind = self.handle_kind + if isinstance(parent, Framework): + self.framework = parent + # Avoid Framework instances having a circular reference to themselves. + if self.framework is self: + self.framework = weakref.proxy(self.framework) + self.handle = Handle(None, kind, key) + else: + self.framework = parent.framework + self.handle = Handle(parent, kind, key) + self.framework._track(self) + + # TODO Detect conflicting handles here. + + @property + def model(self): + """Shortcut for more simple access the model.""" + return self.framework.model + + +class ObjectEvents(Object): + """Convenience type to allow defining .on attributes at class level.""" + + handle_kind = "on" + + def __init__(self, parent=None, key=None): + if parent is not None: + super().__init__(parent, key) + else: + self._cache = weakref.WeakKeyDictionary() + + def __get__(self, emitter, emitter_type): + if emitter is None: + return self + instance = self._cache.get(emitter) + if instance is None: + # Same type, different instance, more data. Doing this unusual construct + # means people can subclass just this one class to have their own 'on'. + instance = self._cache[emitter] = type(self)(emitter) + return instance + + @classmethod + def define_event(cls, event_kind, event_type): + """Define an event on this type at runtime. + + cls: a type to define an event on. + + event_kind: an attribute name that will be used to access the + event. Must be a valid python identifier, not be a keyword + or an existing attribute. + + event_type: a type of the event to define. + + """ + prefix = 'unable to define an event with event_kind that ' + if not event_kind.isidentifier(): + raise RuntimeError(prefix + 'is not a valid python identifier: ' + event_kind) + elif keyword.iskeyword(event_kind): + raise RuntimeError(prefix + 'is a python keyword: ' + event_kind) + try: + getattr(cls, event_kind) + raise RuntimeError( + prefix + 'overlaps with an existing type {} attribute: {}'.format(cls, event_kind)) + except AttributeError: + pass + + event_descriptor = EventSource(event_type) + event_descriptor._set_name(cls, event_kind) + setattr(cls, event_kind, event_descriptor) + + def _event_kinds(self): + event_kinds = [] + # We have to iterate over the class rather than instance to allow for properties which + # might call this method (e.g., event views), leading to infinite recursion. + for attr_name, attr_value in inspect.getmembers(type(self)): + if isinstance(attr_value, EventSource): + # We actually care about the bound_event, however, since it + # provides the most info for users of this method. + event_kinds.append(attr_name) + return event_kinds + + def events(self): + """Return a mapping of event_kinds to bound_events for all available events.""" + return {event_kind: getattr(self, event_kind) for event_kind in self._event_kinds()} + + def __getitem__(self, key): + return PrefixedEvents(self, key) + + def __repr__(self): + k = type(self) + event_kinds = ', '.join(sorted(self._event_kinds())) + return '<{}.{}: {}>'.format(k.__module__, k.__qualname__, event_kinds) + + +class PrefixedEvents: + """Events to be found in all events using a specific prefix.""" + + def __init__(self, emitter, key): + self._emitter = emitter + self._prefix = key.replace("-", "_") + '_' + + def __getattr__(self, name): + return getattr(self._emitter, self._prefix + name) + + +class PreCommitEvent(EventBase): + """Events that will be emited first on commit.""" + + +class CommitEvent(EventBase): + """Events that will be emited second on commit.""" + + +class FrameworkEvents(ObjectEvents): + """Manager of all framework events.""" + pre_commit = EventSource(PreCommitEvent) + commit = EventSource(CommitEvent) + + +class NoTypeError(Exception): + """No class to hold it was found when restoring an event.""" + + def __init__(self, handle_path): + self.handle_path = handle_path + + def __str__(self): + return "cannot restore {} since no class was registered for it".format(self.handle_path) + + +# the message to show to the user when a pdb breakpoint goes active +_BREAKPOINT_WELCOME_MESSAGE = """ +Starting pdb to debug charm operator. +Run `h` for help, `c` to continue, or `exit`/CTRL-d to abort. +Future breakpoints may interrupt execution again. +More details at https://discourse.jujucharms.com/t/debugging-charm-hooks + +""" + + +_event_regex = r'^(|.*/)on/[a-zA-Z_]+\[\d+\]$' + + +class Framework(Object): + """Main interface to from the Charm to the Operator Framework internals.""" + + on = FrameworkEvents() + + # Override properties from Object so that we can set them in __init__. + model = None + meta = None + charm_dir = None + + def __init__(self, storage, charm_dir, meta, model): + + super().__init__(self, None) + + self.charm_dir = charm_dir + self.meta = meta + self.model = model + self._observers = [] # [(observer_path, method_name, parent_path, event_key)] + self._observer = weakref.WeakValueDictionary() # {observer_path: observer} + self._objects = weakref.WeakValueDictionary() + self._type_registry = {} # {(parent_path, kind): cls} + self._type_known = set() # {cls} + + if isinstance(storage, (str, pathlib.Path)): + logger.warning( + "deprecated: Framework now takes a Storage not a path") + storage = SQLiteStorage(storage) + self._storage = storage + + # We can't use the higher-level StoredState because it relies on events. + self.register_type(StoredStateData, None, StoredStateData.handle_kind) + stored_handle = Handle(None, StoredStateData.handle_kind, '_stored') + try: + self._stored = self.load_snapshot(stored_handle) + except NoSnapshotError: + self._stored = StoredStateData(self, '_stored') + self._stored['event_count'] = 0 + + # Flag to indicate that we already presented the welcome message in a debugger breakpoint + self._breakpoint_welcomed = False + + # Parse the env var once, which may be used multiple times later + debug_at = os.environ.get('JUJU_DEBUG_AT') + self._juju_debug_at = debug_at.split(',') if debug_at else () + + def set_breakpointhook(self): + """Hook into sys.breakpointhook so the builtin breakpoint() works as expected. + + This method is called by ``main``, and is not intended to be + called by users of the framework itself outside of perhaps + some testing scenarios. + + It returns the old value of sys.excepthook. + + The breakpoint function is a Python >= 3.7 feature. + + This method was added in ops 1.0; before that, it was done as + part of the Framework's __init__. + """ + old_breakpointhook = getattr(sys, 'breakpointhook', None) + if old_breakpointhook is not None: + # Hook into builtin breakpoint, so if Python >= 3.7, devs will be able to just do + # breakpoint() + sys.breakpointhook = self.breakpoint + return old_breakpointhook + + def close(self): + """Close the underlying backends.""" + self._storage.close() + + def _track(self, obj): + """Track object and ensure it is the only object created using its handle path.""" + if obj is self: + # Framework objects don't track themselves + return + if obj.handle.path in self.framework._objects: + raise RuntimeError( + 'two objects claiming to be {} have been created'.format(obj.handle.path)) + self._objects[obj.handle.path] = obj + + def _forget(self, obj): + """Stop tracking the given object. See also _track.""" + self._objects.pop(obj.handle.path, None) + + def commit(self): + """Save changes to the underlying backends.""" + # Give a chance for objects to persist data they want to before a commit is made. + self.on.pre_commit.emit() + # Make sure snapshots are saved by instances of StoredStateData. Any possible state + # modifications in on_commit handlers of instances of other classes will not be persisted. + self.on.commit.emit() + # Save our event count after all events have been emitted. + self.save_snapshot(self._stored) + self._storage.commit() + + def register_type(self, cls, parent, kind=None): + """Register a type to a handle.""" + if parent and not isinstance(parent, Handle): + parent = parent.handle + if parent: + parent_path = parent.path + else: + parent_path = None + if not kind: + kind = cls.handle_kind + self._type_registry[(parent_path, kind)] = cls + self._type_known.add(cls) + + def save_snapshot(self, value): + """Save a persistent snapshot of the provided value. + + The provided value must implement the following interface: + + value.handle = Handle(...) + value.snapshot() => {...} # Simple builtin types only. + value.restore(snapshot) # Restore custom state from prior snapshot. + """ + if type(value) not in self._type_known: + raise RuntimeError( + 'cannot save {} values before registering that type'.format(type(value).__name__)) + data = value.snapshot() + + # Use marshal as a validator, enforcing the use of simple types, as we later the + # information is really pickled, which is too error prone for future evolution of the + # stored data (e.g. if the developer stores a custom object and later changes its + # class name; when unpickling the original class will not be there and event + # data loading will fail). + try: + marshal.dumps(data) + except ValueError: + msg = "unable to save the data for {}, it must contain only simple types: {!r}" + raise ValueError(msg.format(value.__class__.__name__, data)) + + self._storage.save_snapshot(value.handle.path, data) + + def load_snapshot(self, handle): + """Load a persistent snapshot.""" + parent_path = None + if handle.parent: + parent_path = handle.parent.path + cls = self._type_registry.get((parent_path, handle.kind)) + if not cls: + raise NoTypeError(handle.path) + data = self._storage.load_snapshot(handle.path) + obj = cls.__new__(cls) + obj.framework = self + obj.handle = handle + obj.restore(data) + self._track(obj) + return obj + + def drop_snapshot(self, handle): + """Discard a persistent snapshot.""" + self._storage.drop_snapshot(handle.path) + + def observe(self, bound_event: BoundEvent, observer: types.MethodType): + """Register observer to be called when bound_event is emitted. + + The bound_event is generally provided as an attribute of the object that emits + the event, and is created in this style:: + + class SomeObject: + something_happened = Event(SomethingHappened) + + That event may be observed as:: + + framework.observe(someobj.something_happened, self._on_something_happened) + + Raises: + RuntimeError: if bound_event or observer are the wrong type. + """ + if not isinstance(bound_event, BoundEvent): + raise RuntimeError( + 'Framework.observe requires a BoundEvent as second parameter, got {}'.format( + bound_event)) + if not isinstance(observer, types.MethodType): + # help users of older versions of the framework + if isinstance(observer, charm.CharmBase): + raise TypeError( + 'observer methods must now be explicitly provided;' + ' please replace observe(self.on.{0}, self)' + ' with e.g. observe(self.on.{0}, self._on_{0})'.format( + bound_event.event_kind)) + raise RuntimeError( + 'Framework.observe requires a method as third parameter, got {}'.format(observer)) + + event_type = bound_event.event_type + event_kind = bound_event.event_kind + emitter = bound_event.emitter + + self.register_type(event_type, emitter, event_kind) + + if hasattr(emitter, "handle"): + emitter_path = emitter.handle.path + else: + raise RuntimeError( + 'event emitter {} must have a "handle" attribute'.format(type(emitter).__name__)) + + # Validate that the method has an acceptable call signature. + sig = inspect.signature(observer) + # Self isn't included in the params list, so the first arg will be the event. + extra_params = list(sig.parameters.values())[1:] + + method_name = observer.__name__ + observer = observer.__self__ + if not sig.parameters: + raise TypeError( + '{}.{} must accept event parameter'.format(type(observer).__name__, method_name)) + elif any(param.default is inspect.Parameter.empty for param in extra_params): + # Allow for additional optional params, since there's no reason to exclude them, but + # required params will break. + raise TypeError( + '{}.{} has extra required parameter'.format(type(observer).__name__, method_name)) + + # TODO Prevent the exact same parameters from being registered more than once. + + self._observer[observer.handle.path] = observer + self._observers.append((observer.handle.path, method_name, emitter_path, event_kind)) + + def _next_event_key(self): + """Return the next event key that should be used, incrementing the internal counter.""" + # Increment the count first; this means the keys will start at 1, and 0 + # means no events have been emitted. + self._stored['event_count'] += 1 + return str(self._stored['event_count']) + + def _emit(self, event): + """See BoundEvent.emit for the public way to call this.""" + saved = False + event_path = event.handle.path + event_kind = event.handle.kind + parent_path = event.handle.parent.path + # TODO Track observers by (parent_path, event_kind) rather than as a list of + # all observers. Avoiding linear search through all observers for every event + for observer_path, method_name, _parent_path, _event_kind in self._observers: + if _parent_path != parent_path: + continue + if _event_kind and _event_kind != event_kind: + continue + if not saved: + # Save the event for all known observers before the first notification + # takes place, so that either everyone interested sees it, or nobody does. + self.save_snapshot(event) + saved = True + # Again, only commit this after all notices are saved. + self._storage.save_notice(event_path, observer_path, method_name) + if saved: + self._reemit(event_path) + + def reemit(self): + """Reemit previously deferred events to the observers that deferred them. + + Only the specific observers that have previously deferred the event will be + notified again. Observers that asked to be notified about events after it's + been first emitted won't be notified, as that would mean potentially observing + events out of order. + """ + self._reemit() + + def _reemit(self, single_event_path=None): + last_event_path = None + deferred = True + for event_path, observer_path, method_name in self._storage.notices(single_event_path): + event_handle = Handle.from_path(event_path) + + if last_event_path != event_path: + if not deferred and last_event_path is not None: + self._storage.drop_snapshot(last_event_path) + last_event_path = event_path + deferred = False + + try: + event = self.load_snapshot(event_handle) + except NoTypeError: + self._storage.drop_notice(event_path, observer_path, method_name) + continue + + event.deferred = False + observer = self._observer.get(observer_path) + if observer: + if single_event_path is None: + logger.debug("Re-emitting %s.", event) + custom_handler = getattr(observer, method_name, None) + if custom_handler: + event_is_from_juju = isinstance(event, charm.HookEvent) + event_is_action = isinstance(event, charm.ActionEvent) + if (event_is_from_juju or event_is_action) and 'hook' in self._juju_debug_at: + # Present the welcome message and run under PDB. + self._show_debug_code_message() + pdb.runcall(custom_handler, event) + else: + # Regular call to the registered method. + custom_handler(event) + + if event.deferred: + deferred = True + else: + self._storage.drop_notice(event_path, observer_path, method_name) + # We intentionally consider this event to be dead and reload it from + # scratch in the next path. + self.framework._forget(event) + + if not deferred and last_event_path is not None: + self._storage.drop_snapshot(last_event_path) + + def _show_debug_code_message(self): + """Present the welcome message (only once!) when using debugger functionality.""" + if not self._breakpoint_welcomed: + self._breakpoint_welcomed = True + print(_BREAKPOINT_WELCOME_MESSAGE, file=sys.stderr, end='') + + def breakpoint(self, name=None): + """Add breakpoint, optionally named, at the place where this method is called. + + For the breakpoint to be activated the JUJU_DEBUG_AT environment variable + must be set to "all" or to the specific name parameter provided, if any. In every + other situation calling this method does nothing. + + The framework also provides a standard breakpoint named "hook", that will + stop execution when a hook event is about to be handled. + + For those reasons, the "all" and "hook" breakpoint names are reserved. + """ + # If given, validate the name comply with all the rules + if name is not None: + if not isinstance(name, str): + raise TypeError('breakpoint names must be strings') + if name in ('hook', 'all'): + raise ValueError('breakpoint names "all" and "hook" are reserved') + if not re.match(r'^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$', name): + raise ValueError('breakpoint names must look like "foo" or "foo-bar"') + + indicated_breakpoints = self._juju_debug_at + if not indicated_breakpoints: + return + + if 'all' in indicated_breakpoints or name in indicated_breakpoints: + self._show_debug_code_message() + + # If we call set_trace() directly it will open the debugger *here*, so indicating + # it to use our caller's frame + code_frame = inspect.currentframe().f_back + pdb.Pdb().set_trace(code_frame) + else: + logger.warning( + "Breakpoint %r skipped (not found in the requested breakpoints: %s)", + name, indicated_breakpoints) + + def remove_unreferenced_events(self): + """Remove events from storage that are not referenced. + + In older versions of the framework, events that had no observers would get recorded but + never deleted. This makes a best effort to find these events and remove them from the + database. + """ + event_regex = re.compile(_event_regex) + to_remove = [] + for handle_path in self._storage.list_snapshots(): + if event_regex.match(handle_path): + notices = self._storage.notices(handle_path) + if next(notices, None) is None: + # There are no notices for this handle_path, it is valid to remove it + to_remove.append(handle_path) + for handle_path in to_remove: + self._storage.drop_snapshot(handle_path) + + +class StoredStateData(Object): + """Manager of the stored data.""" + + def __init__(self, parent, attr_name): + super().__init__(parent, attr_name) + self._cache = {} + self.dirty = False + + def __getitem__(self, key): + return self._cache.get(key) + + def __setitem__(self, key, value): + self._cache[key] = value + self.dirty = True + + def __contains__(self, key): + return key in self._cache + + def snapshot(self): + """Return the current state.""" + return self._cache + + def restore(self, snapshot): + """Restore current state to the given snapshot.""" + self._cache = snapshot + self.dirty = False + + def on_commit(self, event): + """Save changes to the storage backend.""" + if self.dirty: + self.framework.save_snapshot(self) + self.dirty = False + + +class BoundStoredState: + """Stored state data bound to a specific Object.""" + + def __init__(self, parent, attr_name): + parent.framework.register_type(StoredStateData, parent) + + handle = Handle(parent, StoredStateData.handle_kind, attr_name) + try: + data = parent.framework.load_snapshot(handle) + except NoSnapshotError: + data = StoredStateData(parent, attr_name) + + # __dict__ is used to avoid infinite recursion. + self.__dict__["_data"] = data + self.__dict__["_attr_name"] = attr_name + + parent.framework.observe(parent.framework.on.commit, self._data.on_commit) + + def __getattr__(self, key): + # "on" is the only reserved key that can't be used in the data map. + if key == "on": + return self._data.on + if key not in self._data: + raise AttributeError("attribute '{}' is not stored".format(key)) + return _wrap_stored(self._data, self._data[key]) + + def __setattr__(self, key, value): + if key == "on": + raise AttributeError("attribute 'on' is reserved and cannot be set") + + value = _unwrap_stored(self._data, value) + + if not isinstance(value, (type(None), int, float, str, bytes, list, dict, set)): + raise AttributeError( + 'attribute {!r} cannot be a {}: must be int/float/dict/list/etc'.format( + key, type(value).__name__)) + + self._data[key] = _unwrap_stored(self._data, value) + + def set_default(self, **kwargs): + """Set the value of any given key if it has not already been set.""" + for k, v in kwargs.items(): + if k not in self._data: + self._data[k] = v + + +class StoredState: + """A class used to store data the charm needs persisted across invocations. + + Example:: + + class MyClass(Object): + _stored = StoredState() + + Instances of `MyClass` can transparently save state between invocations by + setting attributes on `_stored`. Initial state should be set with + `set_default` on the bound object, that is:: + + class MyClass(Object): + _stored = StoredState() + + def __init__(self, parent, key): + super().__init__(parent, key) + self._stored.set_default(seen=set()) + self.framework.observe(self.on.seen, self._on_seen) + + def _on_seen(self, event): + self._stored.seen.add(event.uuid) + + """ + + def __init__(self): + self.parent_type = None + self.attr_name = None + + def __get__(self, parent, parent_type=None): + if self.parent_type is not None and self.parent_type not in parent_type.mro(): + # the StoredState instance is being shared between two unrelated classes + # -> unclear what is exepcted of us -> bail out + raise RuntimeError( + 'StoredState shared by {} and {}'.format( + self.parent_type.__name__, parent_type.__name__)) + + if parent is None: + # accessing via the class directly (e.g. MyClass.stored) + return self + + bound = None + if self.attr_name is not None: + bound = parent.__dict__.get(self.attr_name) + if bound is not None: + # we already have the thing from a previous pass, huzzah + return bound + + # need to find ourselves amongst the parent's bases + for cls in parent_type.mro(): + for attr_name, attr_value in cls.__dict__.items(): + if attr_value is not self: + continue + # we've found ourselves! is it the first time? + if bound is not None: + # the StoredState instance is being stored in two different + # attributes -> unclear what is expected of us -> bail out + raise RuntimeError("StoredState shared by {0}.{1} and {0}.{2}".format( + cls.__name__, self.attr_name, attr_name)) + # we've found ourselves for the first time; save where, and bind the object + self.attr_name = attr_name + self.parent_type = cls + bound = BoundStoredState(parent, attr_name) + + if bound is not None: + # cache the bound object to avoid the expensive lookup the next time + # (don't use setattr, to keep things symmetric with the fast-path lookup above) + parent.__dict__[self.attr_name] = bound + return bound + + raise AttributeError( + 'cannot find {} attribute in type {}'.format( + self.__class__.__name__, parent_type.__name__)) + + +def _wrap_stored(parent_data, value): + t = type(value) + if t is dict: + return StoredDict(parent_data, value) + if t is list: + return StoredList(parent_data, value) + if t is set: + return StoredSet(parent_data, value) + return value + + +def _unwrap_stored(parent_data, value): + t = type(value) + if t is StoredDict or t is StoredList or t is StoredSet: + return value._under + return value + + +def _wrapped_repr(obj): + t = type(obj) + if obj._under: + return "{}.{}({!r})".format(t.__module__, t.__name__, obj._under) + else: + return "{}.{}()".format(t.__module__, t.__name__) + + +class StoredDict(collections.abc.MutableMapping): + """A dict-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def __getitem__(self, key): + return _wrap_stored(self._stored_data, self._under[key]) + + def __setitem__(self, key, value): + self._under[key] = _unwrap_stored(self._stored_data, value) + self._stored_data.dirty = True + + def __delitem__(self, key): + del self._under[key] + self._stored_data.dirty = True + + def __iter__(self): + return self._under.__iter__() + + def __len__(self): + return len(self._under) + + def __eq__(self, other): + if isinstance(other, StoredDict): + return self._under == other._under + elif isinstance(other, collections.abc.Mapping): + return self._under == other + else: + return NotImplemented + + __repr__ = _wrapped_repr + + +class StoredList(collections.abc.MutableSequence): + """A list-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def __getitem__(self, index): + return _wrap_stored(self._stored_data, self._under[index]) + + def __setitem__(self, index, value): + self._under[index] = _unwrap_stored(self._stored_data, value) + self._stored_data.dirty = True + + def __delitem__(self, index): + del self._under[index] + self._stored_data.dirty = True + + def __len__(self): + return len(self._under) + + def insert(self, index, value): + """Insert value before index.""" + self._under.insert(index, value) + self._stored_data.dirty = True + + def append(self, value): + """Append value to the end of the list.""" + self._under.append(value) + self._stored_data.dirty = True + + def __eq__(self, other): + if isinstance(other, StoredList): + return self._under == other._under + elif isinstance(other, collections.abc.Sequence): + return self._under == other + else: + return NotImplemented + + def __lt__(self, other): + if isinstance(other, StoredList): + return self._under < other._under + elif isinstance(other, collections.abc.Sequence): + return self._under < other + else: + return NotImplemented + + def __le__(self, other): + if isinstance(other, StoredList): + return self._under <= other._under + elif isinstance(other, collections.abc.Sequence): + return self._under <= other + else: + return NotImplemented + + def __gt__(self, other): + if isinstance(other, StoredList): + return self._under > other._under + elif isinstance(other, collections.abc.Sequence): + return self._under > other + else: + return NotImplemented + + def __ge__(self, other): + if isinstance(other, StoredList): + return self._under >= other._under + elif isinstance(other, collections.abc.Sequence): + return self._under >= other + else: + return NotImplemented + + __repr__ = _wrapped_repr + + +class StoredSet(collections.abc.MutableSet): + """A set-like object that uses the StoredState as backend.""" + + def __init__(self, stored_data, under): + self._stored_data = stored_data + self._under = under + + def add(self, key): + """Add a key to a set. + + This has no effect if the key is already present. + """ + self._under.add(key) + self._stored_data.dirty = True + + def discard(self, key): + """Remove a key from a set if it is a member. + + If the key is not a member, do nothing. + """ + self._under.discard(key) + self._stored_data.dirty = True + + def __contains__(self, key): + return key in self._under + + def __iter__(self): + return self._under.__iter__() + + def __len__(self): + return len(self._under) + + @classmethod + def _from_iterable(cls, it): + """Construct an instance of the class from any iterable input. + + Per https://docs.python.org/3/library/collections.abc.html + if the Set mixin is being used in a class with a different constructor signature, + you will need to override _from_iterable() with a classmethod that can construct + new instances from an iterable argument. + """ + return set(it) + + def __le__(self, other): + if isinstance(other, StoredSet): + return self._under <= other._under + elif isinstance(other, collections.abc.Set): + return self._under <= other + else: + return NotImplemented + + def __ge__(self, other): + if isinstance(other, StoredSet): + return self._under >= other._under + elif isinstance(other, collections.abc.Set): + return self._under >= other + else: + return NotImplemented + + def __eq__(self, other): + if isinstance(other, StoredSet): + return self._under == other._under + elif isinstance(other, collections.abc.Set): + return self._under == other + else: + return NotImplemented + + __repr__ = _wrapped_repr diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/jujuversion.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/jujuversion.py new file mode 100644 index 00000000..61d420d3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/jujuversion.py @@ -0,0 +1,114 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""A helper to work with the Juju version.""" + +import os +import re +from functools import total_ordering + + +@total_ordering +class JujuVersion: + """Helper to work with the Juju version. + + It knows how to parse the ``JUJU_VERSION`` environment variable, and exposes different + capabilities according to the specific version, allowing also to compare with other + versions. + """ + + PATTERN = r'''^ + (?P\d{1,9})\.(?P\d{1,9}) # and numbers are always there + ((?:\.|-(?P[a-z]+))(?P\d{1,9}))? # sometimes with . or - + (\.(?P\d{1,9}))?$ # and sometimes with a number. + ''' + + def __init__(self, version): + m = re.match(self.PATTERN, version, re.VERBOSE) + if not m: + raise RuntimeError('"{}" is not a valid Juju version string'.format(version)) + + d = m.groupdict() + self.major = int(m.group('major')) + self.minor = int(m.group('minor')) + self.tag = d['tag'] or '' + self.patch = int(d['patch'] or 0) + self.build = int(d['build'] or 0) + + def __repr__(self): + if self.tag: + s = '{}.{}-{}{}'.format(self.major, self.minor, self.tag, self.patch) + else: + s = '{}.{}.{}'.format(self.major, self.minor, self.patch) + if self.build > 0: + s += '.{}'.format(self.build) + return s + + def __eq__(self, other): + if self is other: + return True + if isinstance(other, str): + other = type(self)(other) + elif not isinstance(other, JujuVersion): + raise RuntimeError('cannot compare Juju version "{}" with "{}"'.format(self, other)) + return ( + self.major == other.major + and self.minor == other.minor + and self.tag == other.tag + and self.build == other.build + and self.patch == other.patch) + + def __lt__(self, other): + if self is other: + return False + if isinstance(other, str): + other = type(self)(other) + elif not isinstance(other, JujuVersion): + raise RuntimeError('cannot compare Juju version "{}" with "{}"'.format(self, other)) + + if self.major != other.major: + return self.major < other.major + elif self.minor != other.minor: + return self.minor < other.minor + elif self.tag != other.tag: + if not self.tag: + return False + elif not other.tag: + return True + return self.tag < other.tag + elif self.patch != other.patch: + return self.patch < other.patch + elif self.build != other.build: + return self.build < other.build + return False + + @classmethod + def from_environ(cls) -> 'JujuVersion': + """Build a JujuVersion from JUJU_VERSION.""" + v = os.environ.get('JUJU_VERSION') + if v is None: + v = '0.0.0' + return cls(v) + + def has_app_data(self) -> bool: + """Determine whether this juju version knows about app data.""" + return (self.major, self.minor, self.patch) >= (2, 7, 0) + + def is_dispatch_aware(self) -> bool: + """Determine whether this juju version knows about dispatch.""" + return (self.major, self.minor, self.patch) >= (2, 8, 0) + + def has_controller_storage(self) -> bool: + """Determine whether this juju version supports controller-side storage.""" + return (self.major, self.minor, self.patch) >= (2, 8, 0) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/lib/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/lib/__init__.py new file mode 100644 index 00000000..22b5a84e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/lib/__init__.py @@ -0,0 +1,264 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Infrastructure for the opslib functionality.""" + +import logging +import os +import re +import sys + +from ast import literal_eval +from importlib.util import module_from_spec +from importlib.machinery import ModuleSpec +from pkgutil import get_importer +from types import ModuleType +from typing import List + +__all__ = ('use', 'autoimport') + +logger = logging.getLogger(__name__) + +_libraries = None + +_libline_re = re.compile(r'''^LIB([A-Z]+)\s*=\s*([0-9]+|['"][a-zA-Z0-9_.\-@]+['"])''') +_libname_re = re.compile(r'''^[a-z][a-z0-9]+$''') + +# Not perfect, but should do for now. +_libauthor_re = re.compile(r'''^[A-Za-z0-9_+.-]+@[a-z0-9_-]+(?:\.[a-z0-9_-]+)*\.[a-z]{2,3}$''') + + +def use(name: str, api: int, author: str) -> ModuleType: + """Use a library from the ops libraries. + + Args: + name: the name of the library requested. + api: the API version of the library. + author: the author of the library. If not given, requests the + one in the standard library. + + Raises: + ImportError: if the library cannot be found. + TypeError: if the name, api, or author are the wrong type. + ValueError: if the name, api, or author are invalid. + """ + if not isinstance(name, str): + raise TypeError("invalid library name: {!r} (must be a str)".format(name)) + if not isinstance(author, str): + raise TypeError("invalid library author: {!r} (must be a str)".format(author)) + if not isinstance(api, int): + raise TypeError("invalid library API: {!r} (must be an int)".format(api)) + if api < 0: + raise ValueError('invalid library api: {} (must be ≥0)'.format(api)) + if not _libname_re.match(name): + raise ValueError("invalid library name: {!r} (chars and digits only)".format(name)) + if not _libauthor_re.match(author): + raise ValueError("invalid library author email: {!r}".format(author)) + + if _libraries is None: + autoimport() + + versions = _libraries.get((name, author), ()) + for lib in versions: + if lib.api == api: + return lib.import_module() + + others = ', '.join(str(lib.api) for lib in versions) + if others: + msg = 'cannot find "{}" from "{}" with API version {} (have {})'.format( + name, author, api, others) + else: + msg = 'cannot find library "{}" from "{}"'.format(name, author) + + raise ImportError(msg, name=name) + + +def autoimport(): + """Find all libs in the path and enable use of them. + + You only need to call this if you've installed a package or + otherwise changed sys.path in the current run, and need to see the + changes. Otherwise libraries are found on first call of `use`. + """ + global _libraries + _libraries = {} + for spec in _find_all_specs(sys.path): + lib = _parse_lib(spec) + if lib is None: + continue + + versions = _libraries.setdefault((lib.name, lib.author), []) + versions.append(lib) + versions.sort(reverse=True) + + +def _find_all_specs(path): + for sys_dir in path: + if sys_dir == "": + sys_dir = "." + try: + top_dirs = os.listdir(sys_dir) + except (FileNotFoundError, NotADirectoryError): + continue + except OSError as e: + logger.debug("Tried to look for ops.lib packages under '%s': %s", sys_dir, e) + continue + logger.debug("Looking for ops.lib packages under '%s'", sys_dir) + for top_dir in top_dirs: + opslib = os.path.join(sys_dir, top_dir, 'opslib') + try: + lib_dirs = os.listdir(opslib) + except (FileNotFoundError, NotADirectoryError): + continue + except OSError as e: + logger.debug(" Tried '%s': %s", opslib, e) # *lots* of things checked here + continue + else: + logger.debug(" Trying '%s'", opslib) + finder = get_importer(opslib) + if finder is None: + logger.debug(" Finder for '%s' is None", opslib) + continue + if not hasattr(finder, 'find_spec'): + logger.debug(" Finder for '%s' has no find_spec", opslib) + continue + for lib_dir in lib_dirs: + spec_name = "{}.opslib.{}".format(top_dir, lib_dir) + spec = finder.find_spec(spec_name) + if spec is None: + logger.debug(" No spec for %r", spec_name) + continue + if spec.loader is None: + # a namespace package; not supported + logger.debug(" No loader for %r (probably a namespace package)", spec_name) + continue + + logger.debug(" Found %r", spec_name) + yield spec + + +# only the first this many lines of a file are looked at for the LIB* constants +_MAX_LIB_LINES = 99 +# these keys, with these types, are needed to have an opslib +_NEEDED_KEYS = {'NAME': str, 'AUTHOR': str, 'API': int, 'PATCH': int} + + +def _join_and(keys: List[str]) -> str: + if len(keys) == 0: + return "" + if len(keys) == 1: + return keys[0] + return ", ".join(keys[:-1]) + ", and " + keys[-1] + + +class _Missing: + """Helper to get the difference between what was found and what was needed when logging.""" + + def __init__(self, found): + self._found = found + + def __str__(self): + exp = set(_NEEDED_KEYS) + got = set(self._found) + if len(got) == 0: + return "missing {}".format(_join_and(sorted(exp))) + return "got {}, but missing {}".format( + _join_and(sorted(got)), + _join_and(sorted(exp - got))) + + +def _parse_lib(spec): + if spec.origin is None: + # "can't happen" + logger.warning("No origin for %r (no idea why; please report)", spec.name) + return None + + logger.debug(" Parsing %r", spec.name) + + try: + with open(spec.origin, 'rt', encoding='utf-8') as f: + libinfo = {} + for n, line in enumerate(f): + if len(libinfo) == len(_NEEDED_KEYS): + break + if n > _MAX_LIB_LINES: + logger.debug( + " Missing opslib metadata after reading to line %d: %s", + _MAX_LIB_LINES, _Missing(libinfo)) + return None + m = _libline_re.match(line) + if m is None: + continue + key, value = m.groups() + if key in _NEEDED_KEYS: + value = literal_eval(value) + if not isinstance(value, _NEEDED_KEYS[key]): + logger.debug( + " Bad type for %s: expected %s, got %s", + key, _NEEDED_KEYS[key].__name__, type(value).__name__) + return None + libinfo[key] = value + else: + if len(libinfo) != len(_NEEDED_KEYS): + logger.debug( + " Missing opslib metadata after reading to end of file: %s", + _Missing(libinfo)) + return None + except Exception as e: + logger.debug(" Failed: %s", e) + return None + + lib = _Lib(spec, libinfo['NAME'], libinfo['AUTHOR'], libinfo['API'], libinfo['PATCH']) + logger.debug(" Success: found library %s", lib) + + return lib + + +class _Lib: + + def __init__(self, spec: ModuleSpec, name: str, author: str, api: int, patch: int): + self.spec = spec + self.name = name + self.author = author + self.api = api + self.patch = patch + + self._module = None + + def __repr__(self): + return "<_Lib {}>".format(self) + + def __str__(self): + return "{0.name} by {0.author}, API {0.api}, patch {0.patch}".format(self) + + def import_module(self) -> ModuleType: + if self._module is None: + module = module_from_spec(self.spec) + self.spec.loader.exec_module(module) + self._module = module + return self._module + + def __eq__(self, other): + if not isinstance(other, _Lib): + return NotImplemented + a = (self.name, self.author, self.api, self.patch) + b = (other.name, other.author, other.api, other.patch) + return a == b + + def __lt__(self, other): + if not isinstance(other, _Lib): + return NotImplemented + a = (self.name, self.author, self.api, self.patch) + b = (other.name, other.author, other.api, other.patch) + return a < b diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/log.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/log.py new file mode 100644 index 00000000..b47013dd --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/log.py @@ -0,0 +1,58 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Interface to emit messages to the Juju logging system.""" + +import sys +import logging + + +class JujuLogHandler(logging.Handler): + """A handler for sending logs to Juju via juju-log.""" + + def __init__(self, model_backend, level=logging.DEBUG): + super().__init__(level) + self.model_backend = model_backend + + def emit(self, record): + """Send the specified logging record to the Juju backend. + + This method is not used directly by the Operator Framework code, but by + :class:`logging.Handler` itself as part of the logging machinery. + """ + self.model_backend.juju_log(record.levelname, self.format(record)) + + +def setup_root_logging(model_backend, debug=False): + """Setup python logging to forward messages to juju-log. + + By default, logging is set to DEBUG level, and messages will be filtered by Juju. + Charmers can also set their own default log level with:: + + logging.getLogger().setLevel(logging.INFO) + + model_backend -- a ModelBackend to use for juju-log + debug -- if True, write logs to stderr as well as to juju-log. + """ + logger = logging.getLogger() + logger.setLevel(logging.DEBUG) + logger.addHandler(JujuLogHandler(model_backend)) + if debug: + handler = logging.StreamHandler() + formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(message)s') + handler.setFormatter(formatter) + logger.addHandler(handler) + + sys.excepthook = lambda etype, value, tb: logger.error( + "Uncaught exception while in charm code:", exc_info=(etype, value, tb)) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/main.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/main.py new file mode 100644 index 00000000..f18f88ae --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/main.py @@ -0,0 +1,406 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Main entry point to the Operator Framework.""" + +import inspect +import logging +import os +import shutil +import subprocess +import sys +import typing +import warnings +from pathlib import Path + +import yaml + +import ops.charm +import ops.framework +import ops.model +import ops.storage + +from ops.log import setup_root_logging +from ops.jujuversion import JujuVersion + +CHARM_STATE_FILE = '.unit-state.db' + + +logger = logging.getLogger() + + +def _exe_path(path: Path) -> typing.Optional[Path]: + """Find and return the full path to the given binary. + + Here path is the absolute path to a binary, but might be missing an extension. + """ + p = shutil.which(path.name, mode=os.F_OK, path=str(path.parent)) + if p is None: + return None + return Path(p) + + +def _get_charm_dir(): + charm_dir = os.environ.get("JUJU_CHARM_DIR") + if charm_dir is None: + # Assume $JUJU_CHARM_DIR/lib/op/main.py structure. + charm_dir = Path('{}/../../..'.format(__file__)).resolve() + else: + charm_dir = Path(charm_dir).resolve() + return charm_dir + + +def _create_event_link(charm, bound_event, link_to): + """Create a symlink for a particular event. + + charm -- A charm object. + bound_event -- An event for which to create a symlink. + link_to -- What the event link should point to + """ + if issubclass(bound_event.event_type, ops.charm.HookEvent): + event_dir = charm.framework.charm_dir / 'hooks' + event_path = event_dir / bound_event.event_kind.replace('_', '-') + elif issubclass(bound_event.event_type, ops.charm.ActionEvent): + if not bound_event.event_kind.endswith("_action"): + raise RuntimeError( + 'action event name {} needs _action suffix'.format(bound_event.event_kind)) + event_dir = charm.framework.charm_dir / 'actions' + # The event_kind is suffixed with "_action" while the executable is not. + event_path = event_dir / bound_event.event_kind[:-len('_action')].replace('_', '-') + else: + raise RuntimeError( + 'cannot create a symlink: unsupported event type {}'.format(bound_event.event_type)) + + event_dir.mkdir(exist_ok=True) + if not event_path.exists(): + target_path = os.path.relpath(link_to, str(event_dir)) + + # Ignore the non-symlink files or directories + # assuming the charm author knows what they are doing. + logger.debug( + 'Creating a new relative symlink at %s pointing to %s', + event_path, target_path) + event_path.symlink_to(target_path) + + +def _setup_event_links(charm_dir, charm): + """Set up links for supported events that originate from Juju. + + Whether a charm can handle an event or not can be determined by + introspecting which events are defined on it. + + Hooks or actions are created as symlinks to the charm code file + which is determined by inspecting symlinks provided by the charm + author at hooks/install or hooks/start. + + charm_dir -- A root directory of the charm. + charm -- An instance of the Charm class. + + """ + # XXX: on windows this function does not accomplish what it wants to: + # it creates symlinks with no extension pointing to a .py + # and juju only knows how to handle .exe, .bat, .cmd, and .ps1 + # so it does its job, but does not accomplish anything as the + # hooks aren't 'callable'. + link_to = os.path.realpath(os.environ.get("JUJU_DISPATCH_PATH", sys.argv[0])) + for bound_event in charm.on.events().values(): + # Only events that originate from Juju need symlinks. + if issubclass(bound_event.event_type, (ops.charm.HookEvent, ops.charm.ActionEvent)): + _create_event_link(charm, bound_event, link_to) + + +def _emit_charm_event(charm, event_name): + """Emits a charm event based on a Juju event name. + + charm -- A charm instance to emit an event from. + event_name -- A Juju event name to emit on a charm. + """ + event_to_emit = None + try: + event_to_emit = getattr(charm.on, event_name) + except AttributeError: + logger.debug("Event %s not defined for %s.", event_name, charm) + + # If the event is not supported by the charm implementation, do + # not error out or try to emit it. This is to support rollbacks. + if event_to_emit is not None: + args, kwargs = _get_event_args(charm, event_to_emit) + logger.debug('Emitting Juju event %s.', event_name) + event_to_emit.emit(*args, **kwargs) + + +def _get_event_args(charm, bound_event): + event_type = bound_event.event_type + model = charm.framework.model + + if issubclass(event_type, ops.charm.RelationEvent): + relation_name = os.environ['JUJU_RELATION'] + relation_id = int(os.environ['JUJU_RELATION_ID'].split(':')[-1]) + relation = model.get_relation(relation_name, relation_id) + else: + relation = None + + remote_app_name = os.environ.get('JUJU_REMOTE_APP', '') + remote_unit_name = os.environ.get('JUJU_REMOTE_UNIT', '') + if remote_app_name or remote_unit_name: + if not remote_app_name: + if '/' not in remote_unit_name: + raise RuntimeError('invalid remote unit name: {}'.format(remote_unit_name)) + remote_app_name = remote_unit_name.split('/')[0] + args = [relation, model.get_app(remote_app_name)] + if remote_unit_name: + args.append(model.get_unit(remote_unit_name)) + return args, {} + elif relation: + return [relation], {} + return [], {} + + +class _Dispatcher: + """Encapsulate how to figure out what event Juju wants us to run. + + Also knows how to run “legacy” hooks when Juju called us via a top-level + ``dispatch`` binary. + + Args: + charm_dir: the toplevel directory of the charm + + Attributes: + event_name: the name of the event to run + is_dispatch_aware: are we running under a Juju that knows about the + dispatch binary, and is that binary present? + + """ + + def __init__(self, charm_dir: Path): + self._charm_dir = charm_dir + self._exec_path = Path(os.environ.get('JUJU_DISPATCH_PATH', sys.argv[0])) + + dispatch = charm_dir / 'dispatch' + if JujuVersion.from_environ().is_dispatch_aware() and _exe_path(dispatch) is not None: + self._init_dispatch() + else: + self._init_legacy() + + def ensure_event_links(self, charm): + """Make sure necessary symlinks are present on disk.""" + if self.is_dispatch_aware: + # links aren't needed + return + + # When a charm is force-upgraded and a unit is in an error state Juju + # does not run upgrade-charm and instead runs the failed hook followed + # by config-changed. Given the nature of force-upgrading the hook setup + # code is not triggered on config-changed. + # + # 'start' event is included as Juju does not fire the install event for + # K8s charms (see LP: #1854635). + if (self.event_name in ('install', 'start', 'upgrade_charm') + or self.event_name.endswith('_storage_attached')): + _setup_event_links(self._charm_dir, charm) + + def run_any_legacy_hook(self): + """Run any extant legacy hook. + + If there is both a dispatch file and a legacy hook for the + current event, run the wanted legacy hook. + """ + if not self.is_dispatch_aware: + # we *are* the legacy hook + return + + dispatch_path = _exe_path(self._charm_dir / self._dispatch_path) + if dispatch_path is None: + logger.debug("Legacy %s does not exist.", self._dispatch_path) + return + + # super strange that there isn't an is_executable + if not os.access(str(dispatch_path), os.X_OK): + logger.warning("Legacy %s exists but is not executable.", self._dispatch_path) + return + + if dispatch_path.resolve() == Path(sys.argv[0]).resolve(): + logger.debug("Legacy %s is just a link to ourselves.", self._dispatch_path) + return + + argv = sys.argv.copy() + argv[0] = str(dispatch_path) + logger.info("Running legacy %s.", self._dispatch_path) + try: + subprocess.run(argv, check=True) + except subprocess.CalledProcessError as e: + logger.warning("Legacy %s exited with status %d.", self._dispatch_path, e.returncode) + sys.exit(e.returncode) + except OSError as e: + logger.warning("Unable to run legacy %s: %s", self._dispatch_path, e) + sys.exit(1) + else: + logger.debug("Legacy %s exited with status 0.", self._dispatch_path) + + def _set_name_from_path(self, path: Path): + """Sets the name attribute to that which can be inferred from the given path.""" + name = path.name.replace('-', '_') + if path.parent.name == 'actions': + name = '{}_action'.format(name) + self.event_name = name + + def _init_legacy(self): + """Set up the 'legacy' dispatcher. + + The current Juju doesn't know about 'dispatch' and calls hooks + explicitly. + """ + self.is_dispatch_aware = False + self._set_name_from_path(self._exec_path) + + def _init_dispatch(self): + """Set up the new 'dispatch' dispatcher. + + The current Juju will run 'dispatch' if it exists, and otherwise fall + back to the old behaviour. + + JUJU_DISPATCH_PATH will be set to the wanted hook, e.g. hooks/install, + in both cases. + """ + self._dispatch_path = Path(os.environ['JUJU_DISPATCH_PATH']) + + if 'OPERATOR_DISPATCH' in os.environ: + logger.debug("Charm called itself via %s.", self._dispatch_path) + sys.exit(0) + os.environ['OPERATOR_DISPATCH'] = '1' + + self.is_dispatch_aware = True + self._set_name_from_path(self._dispatch_path) + + def is_restricted_context(self): + """Return True if we are running in a restricted Juju context. + + When in a restricted context, most commands (relation-get, config-get, + state-get) are not available. As such, we change how we interact with + Juju. + """ + return self.event_name in ('collect_metrics',) + + +def _should_use_controller_storage(db_path: Path, meta: ops.charm.CharmMeta) -> bool: + """Figure out whether we want to use controller storage or not.""" + # if you've previously used local state, carry on using that + if db_path.exists(): + logger.debug("Using local storage: %s already exists", db_path) + return False + + # if you're not in k8s you don't need controller storage + if 'kubernetes' not in meta.series: + logger.debug("Using local storage: not a kubernetes charm") + return False + + # are we in a new enough Juju? + cur_version = JujuVersion.from_environ() + + if cur_version.has_controller_storage(): + logger.debug("Using controller storage: JUJU_VERSION=%s", cur_version) + return True + else: + logger.debug("Using local storage: JUJU_VERSION=%s", cur_version) + return False + + +def main(charm_class: ops.charm.CharmBase, use_juju_for_storage: bool = None): + """Setup the charm and dispatch the observed event. + + The event name is based on the way this executable was called (argv[0]). + + Args: + charm_class: your charm class. + use_juju_for_storage: whether to use controller-side storage. If not specified + then kubernetes charms that haven't previously used local storage and that + are running on a new enough Juju default to controller-side storage, + otherwise local storage is used. + """ + charm_dir = _get_charm_dir() + + model_backend = ops.model._ModelBackend() + debug = ('JUJU_DEBUG' in os.environ) + setup_root_logging(model_backend, debug=debug) + logger.debug("Operator Framework %s up and running.", ops.__version__) + + dispatcher = _Dispatcher(charm_dir) + dispatcher.run_any_legacy_hook() + + metadata = (charm_dir / 'metadata.yaml').read_text() + actions_meta = charm_dir / 'actions.yaml' + if actions_meta.exists(): + actions_metadata = actions_meta.read_text() + else: + actions_metadata = None + + if not yaml.__with_libyaml__: + logger.debug('yaml does not have libyaml extensions, using slower pure Python yaml loader') + meta = ops.charm.CharmMeta.from_yaml(metadata, actions_metadata) + model = ops.model.Model(meta, model_backend) + + charm_state_path = charm_dir / CHARM_STATE_FILE + + if use_juju_for_storage and not ops.storage.juju_backend_available(): + # raise an exception; the charm is broken and needs fixing. + msg = 'charm set use_juju_for_storage=True, but Juju version {} does not support it' + raise RuntimeError(msg.format(JujuVersion.from_environ())) + + if use_juju_for_storage is None: + use_juju_for_storage = _should_use_controller_storage(charm_state_path, meta) + + if use_juju_for_storage: + if dispatcher.is_restricted_context(): + # TODO: jam 2020-06-30 This unconditionally avoids running a collect metrics event + # Though we eventually expect that juju will run collect-metrics in a + # non-restricted context. Once we can determine that we are running collect-metrics + # in a non-restricted context, we should fire the event as normal. + logger.debug('"%s" is not supported when using Juju for storage\n' + 'see: https://github.com/canonical/operator/issues/348', + dispatcher.event_name) + # Note that we don't exit nonzero, because that would cause Juju to rerun the hook + return + store = ops.storage.JujuStorage() + else: + store = ops.storage.SQLiteStorage(charm_state_path) + framework = ops.framework.Framework(store, charm_dir, meta, model) + framework.set_breakpointhook() + try: + sig = inspect.signature(charm_class) + try: + sig.bind(framework) + except TypeError: + msg = ( + "the second argument, 'key', has been deprecated and will be " + "removed after the 0.7 release") + warnings.warn(msg, DeprecationWarning) + charm = charm_class(framework, None) + else: + charm = charm_class(framework) + dispatcher.ensure_event_links(charm) + + # TODO: Remove the collect_metrics check below as soon as the relevant + # Juju changes are made. Also adjust the docstring on + # EventBase.defer(). + # + # Skip reemission of deferred events for collect-metrics events because + # they do not have the full access to all hook tools. + if not dispatcher.is_restricted_context(): + framework.reemit() + + _emit_charm_event(charm, dispatcher.event_name) + + framework.commit() + finally: + framework.close() diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/model.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/model.py new file mode 100644 index 00000000..d446d636 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/model.py @@ -0,0 +1,1314 @@ +# Copyright 2019 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Representations of Juju's model, application, unit, and other entities.""" + +import datetime +import decimal +import ipaddress +import json +import os +import re +import shutil +import tempfile +import time +import typing +import weakref + +from abc import ABC, abstractmethod +from collections.abc import Mapping, MutableMapping +from pathlib import Path +from subprocess import run, PIPE, CalledProcessError +import yaml + +import ops +from ops.jujuversion import JujuVersion + + +if yaml.__with_libyaml__: + _DefaultDumper = yaml.CSafeDumper +else: + _DefaultDumper = yaml.SafeDumper + + +class Model: + """Represents the Juju Model as seen from this unit. + + This should not be instantiated directly by Charmers, but can be accessed as `self.model` + from any class that derives from Object. + """ + + def __init__(self, meta: 'ops.charm.CharmMeta', backend: '_ModelBackend'): + self._cache = _ModelCache(backend) + self._backend = backend + self._unit = self.get_unit(self._backend.unit_name) + self._relations = RelationMapping(meta.relations, self.unit, self._backend, self._cache) + self._config = ConfigData(self._backend) + self._resources = Resources(list(meta.resources), self._backend) + self._pod = Pod(self._backend) + self._storages = StorageMapping(list(meta.storages), self._backend) + self._bindings = BindingMapping(self._backend) + + @property + def unit(self) -> 'Unit': + """A :class:`Unit` that represents the unit that is running this code (eg yourself).""" + return self._unit + + @property + def app(self): + """A :class:`Application` that represents the application this unit is a part of.""" + return self._unit.app + + @property + def relations(self) -> 'RelationMapping': + """Mapping of endpoint to list of :class:`Relation`. + + Answers the question "what am I currently related to". + See also :meth:`.get_relation`. + """ + return self._relations + + @property + def config(self) -> 'ConfigData': + """Return a mapping of config for the current application.""" + return self._config + + @property + def resources(self) -> 'Resources': + """Access to resources for this charm. + + Use ``model.resources.fetch(resource_name)`` to get the path on disk + where the resource can be found. + """ + return self._resources + + @property + def storages(self) -> 'StorageMapping': + """Mapping of storage_name to :class:`Storage` as defined in metadata.yaml.""" + return self._storages + + @property + def pod(self) -> 'Pod': + """Use ``model.pod.set_spec`` to set the container specification for Kubernetes charms.""" + return self._pod + + @property + def name(self) -> str: + """Return the name of the Model that this unit is running in. + + This is read from the environment variable ``JUJU_MODEL_NAME``. + """ + return self._backend.model_name + + def get_unit(self, unit_name: str) -> 'Unit': + """Get an arbitrary unit by name. + + Internally this uses a cache, so asking for the same unit two times will + return the same object. + """ + return self._cache.get(Unit, unit_name) + + def get_app(self, app_name: str) -> 'Application': + """Get an application by name. + + Internally this uses a cache, so asking for the same application two times will + return the same object. + """ + return self._cache.get(Application, app_name) + + def get_relation( + self, relation_name: str, + relation_id: typing.Optional[int] = None) -> 'Relation': + """Get a specific Relation instance. + + If relation_id is not given, this will return the Relation instance if the + relation is established only once or None if it is not established. If this + same relation is established multiple times the error TooManyRelatedAppsError is raised. + + Args: + relation_name: The name of the endpoint for this charm + relation_id: An identifier for a specific relation. Used to disambiguate when a + given application has more than one relation on a given endpoint. + + Raises: + TooManyRelatedAppsError: is raised if there is more than one relation to the + supplied relation_name and no relation_id was supplied + """ + return self.relations._get_unique(relation_name, relation_id) + + def get_binding(self, binding_key: typing.Union[str, 'Relation']) -> 'Binding': + """Get a network space binding. + + Args: + binding_key: The relation name or instance to obtain bindings for. + + Returns: + If ``binding_key`` is a relation name, the method returns the default binding + for that relation. If a relation instance is provided, the method first looks + up a more specific binding for that specific relation ID, and if none is found + falls back to the default binding for the relation name. + """ + return self._bindings.get(binding_key) + + +class _ModelCache: + + def __init__(self, backend): + self._backend = backend + self._weakrefs = weakref.WeakValueDictionary() + + def get(self, entity_type, *args): + key = (entity_type,) + args + entity = self._weakrefs.get(key) + if entity is None: + entity = entity_type(*args, backend=self._backend, cache=self) + self._weakrefs[key] = entity + return entity + + +class Application: + """Represents a named application in the model. + + This might be your application, or might be an application that you are related to. + Charmers should not instantiate Application objects directly, but should use + :meth:`Model.get_app` if they need a reference to a given application. + + Attributes: + name: The name of this application (eg, 'mysql'). This name may differ from the name of + the charm, if the user has deployed it to a different name. + """ + + def __init__(self, name, backend, cache): + self.name = name + self._backend = backend + self._cache = cache + self._is_our_app = self.name == self._backend.app_name + self._status = None + + def _invalidate(self): + self._status = None + + @property + def status(self) -> 'StatusBase': + """Used to report or read the status of the overall application. + + Can only be read and set by the lead unit of the application. + + The status of remote units is always Unknown. + + Raises: + RuntimeError: if you try to set the status of another application, or if you try to + set the status of this application as a unit that is not the leader. + InvalidStatusError: if you try to set the status to something that is not a + :class:`StatusBase` + + Example:: + + self.model.app.status = BlockedStatus('I need a human to come help me') + """ + if not self._is_our_app: + return UnknownStatus() + + if not self._backend.is_leader(): + raise RuntimeError('cannot get application status as a non-leader unit') + + if self._status: + return self._status + + s = self._backend.status_get(is_app=True) + self._status = StatusBase.from_name(s['status'], s['message']) + return self._status + + @status.setter + def status(self, value: 'StatusBase'): + if not isinstance(value, StatusBase): + raise InvalidStatusError( + 'invalid value provided for application {} status: {}'.format(self, value) + ) + + if not self._is_our_app: + raise RuntimeError('cannot to set status for a remote application {}'.format(self)) + + if not self._backend.is_leader(): + raise RuntimeError('cannot set application status as a non-leader unit') + + self._backend.status_set(value.name, value.message, is_app=True) + self._status = value + + def __repr__(self): + return '<{}.{} {}>'.format(type(self).__module__, type(self).__name__, self.name) + + +class Unit: + """Represents a named unit in the model. + + This might be your unit, another unit of your application, or a unit of another application + that you are related to. + + Attributes: + name: The name of the unit (eg, 'mysql/0') + app: The Application the unit is a part of. + """ + + def __init__(self, name, backend, cache): + self.name = name + + app_name = name.split('/')[0] + self.app = cache.get(Application, app_name) + + self._backend = backend + self._cache = cache + self._is_our_unit = self.name == self._backend.unit_name + self._status = None + + def _invalidate(self): + self._status = None + + @property + def status(self) -> 'StatusBase': + """Used to report or read the status of a specific unit. + + The status of any unit other than yourself is always Unknown. + + Raises: + RuntimeError: if you try to set the status of a unit other than yourself. + InvalidStatusError: if you try to set the status to something other than + a :class:`StatusBase` + Example:: + + self.model.unit.status = MaintenanceStatus('reconfiguring the frobnicators') + """ + if not self._is_our_unit: + return UnknownStatus() + + if self._status: + return self._status + + s = self._backend.status_get(is_app=False) + self._status = StatusBase.from_name(s['status'], s['message']) + return self._status + + @status.setter + def status(self, value: 'StatusBase'): + if not isinstance(value, StatusBase): + raise InvalidStatusError( + 'invalid value provided for unit {} status: {}'.format(self, value) + ) + + if not self._is_our_unit: + raise RuntimeError('cannot set status for a remote unit {}'.format(self)) + + self._backend.status_set(value.name, value.message, is_app=False) + self._status = value + + def __repr__(self): + return '<{}.{} {}>'.format(type(self).__module__, type(self).__name__, self.name) + + def is_leader(self) -> bool: + """Return whether this unit is the leader of its application. + + This can only be called for your own unit. + + Returns: + True if you are the leader, False otherwise + Raises: + RuntimeError: if called for a unit that is not yourself + """ + if self._is_our_unit: + # This value is not cached as it is not guaranteed to persist for the whole duration + # of a hook execution. + return self._backend.is_leader() + else: + raise RuntimeError( + 'leadership status of remote units ({}) is not visible to other' + ' applications'.format(self) + ) + + def set_workload_version(self, version: str) -> None: + """Record the version of the software running as the workload. + + This shouldn't be confused with the revision of the charm. This is informative only; + shown in the output of 'juju status'. + """ + if not isinstance(version, str): + raise TypeError("workload version must be a str, not {}: {!r}".format( + type(version).__name__, version)) + self._backend.application_version_set(version) + + +class LazyMapping(Mapping, ABC): + """Represents a dict that isn't populated until it is accessed. + + Charm authors should generally never need to use this directly, but it forms + the basis for many of the dicts that the framework tracks. + """ + + _lazy_data = None + + @abstractmethod + def _load(self): + raise NotImplementedError() + + @property + def _data(self): + data = self._lazy_data + if data is None: + data = self._lazy_data = self._load() + return data + + def _invalidate(self): + self._lazy_data = None + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def __repr__(self): + return repr(self._data) + + +class RelationMapping(Mapping): + """Map of relation names to lists of :class:`Relation` instances.""" + + def __init__(self, relations_meta, our_unit, backend, cache): + self._peers = set() + for name, relation_meta in relations_meta.items(): + if relation_meta.role.is_peer(): + self._peers.add(name) + self._our_unit = our_unit + self._backend = backend + self._cache = cache + self._data = {relation_name: None for relation_name in relations_meta} + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, relation_name): + is_peer = relation_name in self._peers + relation_list = self._data[relation_name] + if relation_list is None: + relation_list = self._data[relation_name] = [] + for rid in self._backend.relation_ids(relation_name): + relation = Relation(relation_name, rid, is_peer, + self._our_unit, self._backend, self._cache) + relation_list.append(relation) + return relation_list + + def _invalidate(self, relation_name): + """Used to wipe the cache of a given relation_name. + + Not meant to be used by Charm authors. The content of relation data is + static for the lifetime of a hook, so it is safe to cache in memory once + accessed. + """ + self._data[relation_name] = None + + def _get_unique(self, relation_name, relation_id=None): + if relation_id is not None: + if not isinstance(relation_id, int): + raise ModelError('relation id {} must be int or None not {}'.format( + relation_id, + type(relation_id).__name__)) + for relation in self[relation_name]: + if relation.id == relation_id: + return relation + else: + # The relation may be dead, but it is not forgotten. + is_peer = relation_name in self._peers + return Relation(relation_name, relation_id, is_peer, + self._our_unit, self._backend, self._cache) + num_related = len(self[relation_name]) + if num_related == 0: + return None + elif num_related == 1: + return self[relation_name][0] + else: + # TODO: We need something in the framework to catch and gracefully handle + # errors, ideally integrating the error catching with Juju's mechanisms. + raise TooManyRelatedAppsError(relation_name, num_related, 1) + + +class BindingMapping: + """Mapping of endpoints to network bindings. + + Charm authors should not instantiate this directly, but access it via + :meth:`Model.get_binding` + """ + + def __init__(self, backend): + self._backend = backend + self._data = {} + + def get(self, binding_key: typing.Union[str, 'Relation']) -> 'Binding': + """Get a specific Binding for an endpoint/relation. + + Not used directly by Charm authors. See :meth:`Model.get_binding` + """ + if isinstance(binding_key, Relation): + binding_name = binding_key.name + relation_id = binding_key.id + elif isinstance(binding_key, str): + binding_name = binding_key + relation_id = None + else: + raise ModelError('binding key must be str or relation instance, not {}' + ''.format(type(binding_key).__name__)) + binding = self._data.get(binding_key) + if binding is None: + binding = Binding(binding_name, relation_id, self._backend) + self._data[binding_key] = binding + return binding + + +class Binding: + """Binding to a network space. + + Attributes: + name: The name of the endpoint this binding represents (eg, 'db') + """ + + def __init__(self, name, relation_id, backend): + self.name = name + self._relation_id = relation_id + self._backend = backend + self._network = None + + @property + def network(self) -> 'Network': + """The network information for this binding.""" + if self._network is None: + try: + self._network = Network(self._backend.network_get(self.name, self._relation_id)) + except RelationNotFoundError: + if self._relation_id is None: + raise + # If a relation is dead, we can still get network info associated with an + # endpoint itself + self._network = Network(self._backend.network_get(self.name)) + return self._network + + +class Network: + """Network space details. + + Charm authors should not instantiate this directly, but should get access to the Network + definition from :meth:`Model.get_binding` and its ``network`` attribute. + + Attributes: + interfaces: A list of :class:`NetworkInterface` details. This includes the + information about how your application should be configured (eg, what + IP addresses should you bind to.) + Note that multiple addresses for a single interface are represented as multiple + interfaces. (eg, ``[NetworkInfo('ens1', '10.1.1.1/32'), + NetworkInfo('ens1', '10.1.2.1/32'])``) + ingress_addresses: A list of :class:`ipaddress.ip_address` objects representing the IP + addresses that other units should use to get in touch with you. + egress_subnets: A list of :class:`ipaddress.ip_network` representing the subnets that + other units will see you connecting from. Due to things like NAT it isn't always + possible to narrow it down to a single address, but when it is clear, the CIDRs + will be constrained to a single address. (eg, 10.0.0.1/32) + Args: + network_info: A dict of network information as returned by ``network-get``. + """ + + def __init__(self, network_info: dict): + self.interfaces = [] + # Treat multiple addresses on an interface as multiple logical + # interfaces with the same name. + for interface_info in network_info.get('bind-addresses', []): + interface_name = interface_info.get('interface-name') + for address_info in interface_info.get('addresses', []): + self.interfaces.append(NetworkInterface(interface_name, address_info)) + self.ingress_addresses = [] + for address in network_info.get('ingress-addresses', []): + self.ingress_addresses.append(ipaddress.ip_address(address)) + self.egress_subnets = [] + for subnet in network_info.get('egress-subnets', []): + self.egress_subnets.append(ipaddress.ip_network(subnet)) + + @property + def bind_address(self): + """A single address that your application should bind() to. + + For the common case where there is a single answer. This represents a single + address from :attr:`.interfaces` that can be used to configure where your + application should bind() and listen(). + """ + if self.interfaces: + return self.interfaces[0].address + else: + return None + + @property + def ingress_address(self): + """The address other applications should use to connect to your unit. + + Due to things like public/private addresses, NAT and tunneling, the address you bind() + to is not always the address other people can use to connect() to you. + This is just the first address from :attr:`.ingress_addresses`. + """ + if self.ingress_addresses: + return self.ingress_addresses[0] + else: + return None + + +class NetworkInterface: + """Represents a single network interface that the charm needs to know about. + + Charmers should not instantiate this type directly. Instead use :meth:`Model.get_binding` + to get the network information for a given endpoint. + + Attributes: + name: The name of the interface (eg. 'eth0', or 'ens1') + subnet: An :class:`ipaddress.ip_network` representation of the IP for the network + interface. This may be a single address (eg '10.0.1.2/32') + """ + + def __init__(self, name: str, address_info: dict): + self.name = name + # TODO: expose a hardware address here, see LP: #1864070. + address = address_info.get('value') + # The value field may be empty. + if address: + self.address = ipaddress.ip_address(address) + else: + self.address = None + cidr = address_info.get('cidr') + # The cidr field may be empty, see LP: #1864102. + if cidr: + self.subnet = ipaddress.ip_network(cidr) + elif address: + # If we have an address, convert it to a /32 or /128 IP network. + self.subnet = ipaddress.ip_network(address) + else: + self.subnet = None + # TODO: expose a hostname/canonical name for the address here, see LP: #1864086. + + +class Relation: + """Represents an established relation between this application and another application. + + This class should not be instantiated directly, instead use :meth:`Model.get_relation` + or :attr:`ops.charm.RelationEvent.relation`. + + Attributes: + name: The name of the local endpoint of the relation (eg 'db') + id: The identifier for a particular relation (integer) + app: An :class:`Application` representing the remote application of this relation. + For peer relations this will be the local application. + units: A set of :class:`Unit` for units that have started and joined this relation. + data: A :class:`RelationData` holding the data buckets for each entity + of a relation. Accessed via eg Relation.data[unit]['foo'] + """ + + def __init__( + self, relation_name: str, relation_id: int, is_peer: bool, our_unit: Unit, + backend: '_ModelBackend', cache: '_ModelCache'): + self.name = relation_name + self.id = relation_id + self.app = None + self.units = set() + + # For peer relations, both the remote and the local app are the same. + if is_peer: + self.app = our_unit.app + try: + for unit_name in backend.relation_list(self.id): + unit = cache.get(Unit, unit_name) + self.units.add(unit) + if self.app is None: + self.app = unit.app + except RelationNotFoundError: + # If the relation is dead, just treat it as if it has no remote units. + pass + self.data = RelationData(self, our_unit, backend) + + def __repr__(self): + return '<{}.{} {}:{}>'.format(type(self).__module__, + type(self).__name__, + self.name, + self.id) + + +class RelationData(Mapping): + """Represents the various data buckets of a given relation. + + Each unit and application involved in a relation has their own data bucket. + Eg: ``{entity: RelationDataContent}`` + where entity can be either a :class:`Unit` or a :class:`Application`. + + Units can read and write their own data, and if they are the leader, + they can read and write their application data. They are allowed to read + remote unit and application data. + + This class should not be created directly. It should be accessed via + :attr:`Relation.data` + """ + + def __init__(self, relation: Relation, our_unit: Unit, backend: '_ModelBackend'): + self.relation = weakref.proxy(relation) + self._data = { + our_unit: RelationDataContent(self.relation, our_unit, backend), + our_unit.app: RelationDataContent(self.relation, our_unit.app, backend), + } + self._data.update({ + unit: RelationDataContent(self.relation, unit, backend) + for unit in self.relation.units}) + # The relation might be dead so avoid a None key here. + if self.relation.app is not None: + self._data.update({ + self.relation.app: RelationDataContent(self.relation, self.relation.app, backend), + }) + + def __contains__(self, key): + return key in self._data + + def __len__(self): + return len(self._data) + + def __iter__(self): + return iter(self._data) + + def __getitem__(self, key): + return self._data[key] + + def __repr__(self): + return repr(self._data) + + +# We mix in MutableMapping here to get some convenience implementations, but whether it's actually +# mutable or not is controlled by the flag. +class RelationDataContent(LazyMapping, MutableMapping): + """Data content of a unit or application in a relation.""" + + def __init__(self, relation, entity, backend): + self.relation = relation + self._entity = entity + self._backend = backend + self._is_app = isinstance(entity, Application) + + def _load(self): + """Load the data from the current entity / relation.""" + try: + return self._backend.relation_get(self.relation.id, self._entity.name, self._is_app) + except RelationNotFoundError: + # Dead relations tell no tales (and have no data). + return {} + + def _is_mutable(self): + """Return if the data content can be modified.""" + if self._is_app: + is_our_app = self._backend.app_name == self._entity.name + if not is_our_app: + return False + # Whether the application data bag is mutable or not depends on + # whether this unit is a leader or not, but this is not guaranteed + # to be always true during the same hook execution. + return self._backend.is_leader() + else: + is_our_unit = self._backend.unit_name == self._entity.name + if is_our_unit: + return True + return False + + def __setitem__(self, key, value): + if not self._is_mutable(): + raise RelationDataError('cannot set relation data for {}'.format(self._entity.name)) + if not isinstance(value, str): + raise RelationDataError('relation data values must be strings') + + self._backend.relation_set(self.relation.id, key, value, self._is_app) + + # Don't load data unnecessarily if we're only updating. + if self._lazy_data is not None: + if value == '': + # Match the behavior of Juju, which is that setting the value to an + # empty string will remove the key entirely from the relation data. + self._data.pop(key, None) + else: + self._data[key] = value + + def __delitem__(self, key): + # Match the behavior of Juju, which is that setting the value to an empty + # string will remove the key entirely from the relation data. + self.__setitem__(key, '') + + +class ConfigData(LazyMapping): + """Configuration data. + + This class should not be created directly. It should be accessed via :attr:`Model.config`. + """ + + def __init__(self, backend): + self._backend = backend + + def _load(self): + return self._backend.config_get() + + +class StatusBase: + """Status values specific to applications and units. + + To access a status by name, see :meth:`StatusBase.from_name`, most use cases will just + directly use the child class to indicate their status. + """ + + _statuses = {} + name = None + + def __init__(self, message: str): + self.message = message + + def __new__(cls, *args, **kwargs): + """Forbid the usage of StatusBase directly.""" + if cls is StatusBase: + raise TypeError("cannot instantiate a base class") + return super().__new__(cls) + + def __eq__(self, other): + if not isinstance(self, type(other)): + return False + return self.message == other.message + + def __repr__(self): + return "{.__class__.__name__}({!r})".format(self, self.message) + + @classmethod + def from_name(cls, name: str, message: str): + """Get the specific Status for the name (or UnknownStatus if not registered).""" + if name == 'unknown': + # unknown is special + return UnknownStatus() + else: + return cls._statuses[name](message) + + @classmethod + def register(cls, child): + """Register a Status for the child's name.""" + if child.name is None: + raise AttributeError('cannot register a Status which has no name') + cls._statuses[child.name] = child + return child + + +@StatusBase.register +class UnknownStatus(StatusBase): + """The unit status is unknown. + + A unit-agent has finished calling install, config-changed and start, but the + charm has not called status-set yet. + + """ + name = 'unknown' + + def __init__(self): + # Unknown status cannot be set and does not have a message associated with it. + super().__init__('') + + def __repr__(self): + return "UnknownStatus()" + + +@StatusBase.register +class ActiveStatus(StatusBase): + """The unit is ready. + + The unit believes it is correctly offering all the services it has been asked to offer. + """ + name = 'active' + + def __init__(self, message: str = ''): + super().__init__(message) + + +@StatusBase.register +class BlockedStatus(StatusBase): + """The unit requires manual intervention. + + An operator has to manually intervene to unblock the unit and let it proceed. + """ + name = 'blocked' + + +@StatusBase.register +class MaintenanceStatus(StatusBase): + """The unit is performing maintenance tasks. + + The unit is not yet providing services, but is actively doing work in preparation + for providing those services. This is a "spinning" state, not an error state. It + reflects activity on the unit itself, not on peers or related units. + + """ + name = 'maintenance' + + +@StatusBase.register +class WaitingStatus(StatusBase): + """A unit is unable to progress. + + The unit is unable to progress to an active state because an application to which + it is related is not running. + + """ + name = 'waiting' + + +class Resources: + """Object representing resources for the charm.""" + + def __init__(self, names: typing.Iterable[str], backend: '_ModelBackend'): + self._backend = backend + self._paths = {name: None for name in names} + + def fetch(self, name: str) -> Path: + """Fetch the resource from the controller or store. + + If successfully fetched, this returns a Path object to where the resource is stored + on disk, otherwise it raises a ModelError. + """ + if name not in self._paths: + raise RuntimeError('invalid resource name: {}'.format(name)) + if self._paths[name] is None: + self._paths[name] = Path(self._backend.resource_get(name)) + return self._paths[name] + + +class Pod: + """Represents the definition of a pod spec in Kubernetes models. + + Currently only supports simple access to setting the Juju pod spec via :attr:`.set_spec`. + """ + + def __init__(self, backend: '_ModelBackend'): + self._backend = backend + + def set_spec(self, spec: typing.Mapping, k8s_resources: typing.Mapping = None): + """Set the specification for pods that Juju should start in kubernetes. + + See `juju help-tool pod-spec-set` for details of what should be passed. + + Args: + spec: The mapping defining the pod specification + k8s_resources: Additional kubernetes specific specification. + + Returns: + None + """ + if not self._backend.is_leader(): + raise ModelError('cannot set a pod spec as this unit is not a leader') + self._backend.pod_spec_set(spec, k8s_resources) + + +class StorageMapping(Mapping): + """Map of storage names to lists of Storage instances.""" + + def __init__(self, storage_names: typing.Iterable[str], backend: '_ModelBackend'): + self._backend = backend + self._storage_map = {storage_name: None for storage_name in storage_names} + + def __contains__(self, key: str): + return key in self._storage_map + + def __len__(self): + return len(self._storage_map) + + def __iter__(self): + return iter(self._storage_map) + + def __getitem__(self, storage_name: str) -> typing.List['Storage']: + storage_list = self._storage_map[storage_name] + if storage_list is None: + storage_list = self._storage_map[storage_name] = [] + for storage_id in self._backend.storage_list(storage_name): + storage_list.append(Storage(storage_name, storage_id, self._backend)) + return storage_list + + def request(self, storage_name: str, count: int = 1): + """Requests new storage instances of a given name. + + Uses storage-add tool to request additional storage. Juju will notify the unit + via -storage-attached events when it becomes available. + """ + if storage_name not in self._storage_map: + raise ModelError(('cannot add storage {!r}:' + ' it is not present in the charm metadata').format(storage_name)) + self._backend.storage_add(storage_name, count) + + +class Storage: + """Represents a storage as defined in metadata.yaml. + + Attributes: + name: Simple string name of the storage + id: The provider id for storage + """ + + def __init__(self, storage_name, storage_id, backend): + self.name = storage_name + self.id = storage_id + self._backend = backend + self._location = None + + @property + def location(self): + """Return the location of the storage.""" + if self._location is None: + raw = self._backend.storage_get('{}/{}'.format(self.name, self.id), "location") + self._location = Path(raw) + return self._location + + +class ModelError(Exception): + """Base class for exceptions raised when interacting with the Model.""" + pass + + +class TooManyRelatedAppsError(ModelError): + """Raised by :meth:`Model.get_relation` if there is more than one related application.""" + + def __init__(self, relation_name, num_related, max_supported): + super().__init__('Too many remote applications on {} ({} > {})'.format( + relation_name, num_related, max_supported)) + self.relation_name = relation_name + self.num_related = num_related + self.max_supported = max_supported + + +class RelationDataError(ModelError): + """Raised by ``Relation.data[entity][key] = 'foo'`` if the data is invalid. + + This is raised if you're either trying to set a value to something that isn't a string, + or if you are trying to set a value in a bucket that you don't have access to. (eg, + another application/unit or setting your application data but you aren't the leader.) + """ + + +class RelationNotFoundError(ModelError): + """Backend error when querying juju for a given relation and that relation doesn't exist.""" + + +class InvalidStatusError(ModelError): + """Raised if trying to set an Application or Unit status to something invalid.""" + + +class _ModelBackend: + """Represents the connection between the Model representation and talking to Juju. + + Charm authors should not directly interact with the ModelBackend, it is a private + implementation of Model. + """ + + LEASE_RENEWAL_PERIOD = datetime.timedelta(seconds=30) + + def __init__(self, unit_name=None, model_name=None): + if unit_name is None: + self.unit_name = os.environ['JUJU_UNIT_NAME'] + else: + self.unit_name = unit_name + if model_name is None: + model_name = os.environ.get('JUJU_MODEL_NAME') + self.model_name = model_name + self.app_name = self.unit_name.split('/')[0] + + self._is_leader = None + self._leader_check_time = None + + def _run(self, *args, return_output=False, use_json=False): + kwargs = dict(stdout=PIPE, stderr=PIPE, check=True) + args = (shutil.which(args[0]),) + args[1:] + if use_json: + args += ('--format=json',) + try: + result = run(args, **kwargs) + except CalledProcessError as e: + raise ModelError(e.stderr) + if return_output: + if result.stdout is None: + return '' + else: + text = result.stdout.decode('utf8') + if use_json: + return json.loads(text) + else: + return text + + def relation_ids(self, relation_name): + relation_ids = self._run('relation-ids', relation_name, return_output=True, use_json=True) + return [int(relation_id.split(':')[-1]) for relation_id in relation_ids] + + def relation_list(self, relation_id): + try: + return self._run('relation-list', '-r', str(relation_id), + return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def relation_get(self, relation_id, member_name, is_app): + if not isinstance(is_app, bool): + raise TypeError('is_app parameter to relation_get must be a boolean') + + if is_app: + version = JujuVersion.from_environ() + if not version.has_app_data(): + raise RuntimeError( + 'getting application data is not supported on Juju version {}'.format(version)) + + args = ['relation-get', '-r', str(relation_id), '-', member_name] + if is_app: + args.append('--app') + + try: + return self._run(*args, return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def relation_set(self, relation_id, key, value, is_app): + if not isinstance(is_app, bool): + raise TypeError('is_app parameter to relation_set must be a boolean') + + if is_app: + version = JujuVersion.from_environ() + if not version.has_app_data(): + raise RuntimeError( + 'setting application data is not supported on Juju version {}'.format(version)) + + args = ['relation-set', '-r', str(relation_id), '{}={}'.format(key, value)] + if is_app: + args.append('--app') + + try: + return self._run(*args) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def config_get(self): + return self._run('config-get', return_output=True, use_json=True) + + def is_leader(self): + """Obtain the current leadership status for the unit the charm code is executing on. + + The value is cached for the duration of a lease which is 30s in Juju. + """ + now = time.monotonic() + if self._leader_check_time is None: + check = True + else: + time_since_check = datetime.timedelta(seconds=now - self._leader_check_time) + check = (time_since_check > self.LEASE_RENEWAL_PERIOD or self._is_leader is None) + if check: + # Current time MUST be saved before running is-leader to ensure the cache + # is only used inside the window that is-leader itself asserts. + self._leader_check_time = now + self._is_leader = self._run('is-leader', return_output=True, use_json=True) + + return self._is_leader + + def resource_get(self, resource_name): + return self._run('resource-get', resource_name, return_output=True).strip() + + def pod_spec_set(self, spec, k8s_resources): + tmpdir = Path(tempfile.mkdtemp('-pod-spec-set')) + try: + spec_path = tmpdir / 'spec.yaml' + with spec_path.open("wt", encoding="utf8") as f: + yaml.dump(spec, stream=f, Dumper=_DefaultDumper) + args = ['--file', str(spec_path)] + if k8s_resources: + k8s_res_path = tmpdir / 'k8s-resources.yaml' + with k8s_res_path.open("wt", encoding="utf8") as f: + yaml.dump(k8s_resources, stream=f, Dumper=_DefaultDumper) + args.extend(['--k8s-resources', str(k8s_res_path)]) + self._run('pod-spec-set', *args) + finally: + shutil.rmtree(str(tmpdir)) + + def status_get(self, *, is_app=False): + """Get a status of a unit or an application. + + Args: + is_app: A boolean indicating whether the status should be retrieved for a unit + or an application. + """ + content = self._run( + 'status-get', '--include-data', '--application={}'.format(is_app), + use_json=True, + return_output=True) + # Unit status looks like (in YAML): + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + # Application status looks like (in YAML): + # application-status: + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + # units: + # uo/0: + # message: 'load: 0.28 0.26 0.26' + # status: active + # status-data: {} + + if is_app: + return {'status': content['application-status']['status'], + 'message': content['application-status']['message']} + else: + return content + + def status_set(self, status, message='', *, is_app=False): + """Set a status of a unit or an application. + + Args: + status: The status to set. + message: The message to set in the status. + is_app: A boolean indicating whether the status should be set for a unit or an + application. + """ + if not isinstance(is_app, bool): + raise TypeError('is_app parameter must be boolean') + return self._run('status-set', '--application={}'.format(is_app), status, message) + + def storage_list(self, name): + return [int(s.split('/')[1]) for s in self._run('storage-list', name, + return_output=True, use_json=True)] + + def storage_get(self, storage_name_id, attribute): + return self._run('storage-get', '-s', storage_name_id, attribute, + return_output=True, use_json=True) + + def storage_add(self, name, count=1): + if not isinstance(count, int) or isinstance(count, bool): + raise TypeError('storage count must be integer, got: {} ({})'.format(count, + type(count))) + self._run('storage-add', '{}={}'.format(name, count)) + + def action_get(self): + return self._run('action-get', return_output=True, use_json=True) + + def action_set(self, results): + self._run('action-set', *["{}={}".format(k, v) for k, v in results.items()]) + + def action_log(self, message): + self._run('action-log', message) + + def action_fail(self, message=''): + self._run('action-fail', message) + + def application_version_set(self, version): + self._run('application-version-set', '--', version) + + def juju_log(self, level, message): + self._run('juju-log', '--log-level', level, "--", message) + + def network_get(self, binding_name, relation_id=None): + """Return network info provided by network-get for a given binding. + + Args: + binding_name: A name of a binding (relation name or extra-binding name). + relation_id: An optional relation id to get network info for. + """ + cmd = ['network-get', binding_name] + if relation_id is not None: + cmd.extend(['-r', str(relation_id)]) + try: + return self._run(*cmd, return_output=True, use_json=True) + except ModelError as e: + if 'relation not found' in str(e): + raise RelationNotFoundError() from e + raise + + def add_metrics(self, metrics, labels=None): + cmd = ['add-metric'] + + if labels: + label_args = [] + for k, v in labels.items(): + _ModelBackendValidator.validate_metric_label(k) + _ModelBackendValidator.validate_label_value(k, v) + label_args.append('{}={}'.format(k, v)) + cmd.extend(['--labels', ','.join(label_args)]) + + metric_args = [] + for k, v in metrics.items(): + _ModelBackendValidator.validate_metric_key(k) + metric_value = _ModelBackendValidator.format_metric_value(v) + metric_args.append('{}={}'.format(k, metric_value)) + cmd.extend(metric_args) + self._run(*cmd) + + +class _ModelBackendValidator: + """Provides facilities for validating inputs and formatting them for model backends.""" + + METRIC_KEY_REGEX = re.compile(r'^[a-zA-Z](?:[a-zA-Z0-9-_]*[a-zA-Z0-9])?$') + + @classmethod + def validate_metric_key(cls, key): + if cls.METRIC_KEY_REGEX.match(key) is None: + raise ModelError( + 'invalid metric key {!r}: must match {}'.format( + key, cls.METRIC_KEY_REGEX.pattern)) + + @classmethod + def validate_metric_label(cls, label_name): + if cls.METRIC_KEY_REGEX.match(label_name) is None: + raise ModelError( + 'invalid metric label name {!r}: must match {}'.format( + label_name, cls.METRIC_KEY_REGEX.pattern)) + + @classmethod + def format_metric_value(cls, value): + try: + decimal_value = decimal.Decimal.from_float(value) + except TypeError as e: + e2 = ModelError('invalid metric value {!r} provided:' + ' must be a positive finite float'.format(value)) + raise e2 from e + if decimal_value.is_nan() or decimal_value.is_infinite() or decimal_value < 0: + raise ModelError('invalid metric value {!r} provided:' + ' must be a positive finite float'.format(value)) + return str(decimal_value) + + @classmethod + def validate_label_value(cls, label, value): + # Label values cannot be empty, contain commas or equal signs as those are + # used by add-metric as separators. + if not value: + raise ModelError( + 'metric label {} has an empty value, which is not allowed'.format(label)) + v = str(value) + if re.search('[,=]', v) is not None: + raise ModelError( + 'metric label values must not contain "," or "=": {}={!r}'.format(label, value)) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/storage.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/storage.py new file mode 100644 index 00000000..562cde77 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/storage.py @@ -0,0 +1,374 @@ +# Copyright 2019-2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Structures to offer storage to the charm (through Juju or locally).""" + +from datetime import timedelta +import pickle +import shutil +import subprocess +import sqlite3 +import typing + +import yaml + + +def _run(args, **kw): + cmd = shutil.which(args[0]) + if cmd is None: + raise FileNotFoundError(args[0]) + return subprocess.run([cmd, *args[1:]], **kw) + + +class SQLiteStorage: + """Storage using SQLite backend.""" + + DB_LOCK_TIMEOUT = timedelta(hours=1) + + def __init__(self, filename): + # The isolation_level argument is set to None such that the implicit + # transaction management behavior of the sqlite3 module is disabled. + self._db = sqlite3.connect(str(filename), + isolation_level=None, + timeout=self.DB_LOCK_TIMEOUT.total_seconds()) + self._setup() + + def _setup(self): + """Make the database ready to be used as storage.""" + # Make sure that the database is locked until the connection is closed, + # not until the transaction ends. + self._db.execute("PRAGMA locking_mode=EXCLUSIVE") + c = self._db.execute("BEGIN") + c.execute("SELECT count(name) FROM sqlite_master WHERE type='table' AND name='snapshot'") + if c.fetchone()[0] == 0: + # Keep in mind what might happen if the process dies somewhere below. + # The system must not be rendered permanently broken by that. + self._db.execute("CREATE TABLE snapshot (handle TEXT PRIMARY KEY, data BLOB)") + self._db.execute(''' + CREATE TABLE notice ( + sequence INTEGER PRIMARY KEY AUTOINCREMENT, + event_path TEXT, + observer_path TEXT, + method_name TEXT) + ''') + self._db.commit() + + def close(self): + """Part of the Storage API, close the storage backend.""" + self._db.close() + + def commit(self): + """Part of the Storage API, commit latest changes in the storage backend.""" + self._db.commit() + + # There's commit but no rollback. For abort to be supported, we'll need logic that + # can rollback decisions made by third-party code in terms of the internal state + # of objects that have been snapshotted, and hooks to let them know about it and + # take the needed actions to undo their logic until the last snapshot. + # This is doable but will increase significantly the chances for mistakes. + + def save_snapshot(self, handle_path: str, snapshot_data: typing.Any) -> None: + """Part of the Storage API, persist a snapshot data under the given handle. + + Args: + handle_path: The string identifying the snapshot. + snapshot_data: The data to be persisted. (as returned by Object.snapshot()). This + might be a dict/tuple/int, but must only contain 'simple' python types. + """ + # Use pickle for serialization, so the value remains portable. + raw_data = pickle.dumps(snapshot_data) + self._db.execute("REPLACE INTO snapshot VALUES (?, ?)", (handle_path, raw_data)) + + def load_snapshot(self, handle_path: str) -> typing.Any: + """Part of the Storage API, retrieve a snapshot that was previously saved. + + Args: + handle_path: The string identifying the snapshot. + + Raises: + NoSnapshotError: if there is no snapshot for the given handle_path. + """ + c = self._db.cursor() + c.execute("SELECT data FROM snapshot WHERE handle=?", (handle_path,)) + row = c.fetchone() + if row: + return pickle.loads(row[0]) + raise NoSnapshotError(handle_path) + + def drop_snapshot(self, handle_path: str): + """Part of the Storage API, remove a snapshot that was previously saved. + + Dropping a snapshot that doesn't exist is treated as a no-op. + """ + self._db.execute("DELETE FROM snapshot WHERE handle=?", (handle_path,)) + + def list_snapshots(self) -> typing.Generator[str, None, None]: + """Return the name of all snapshots that are currently saved.""" + c = self._db.cursor() + c.execute("SELECT handle FROM snapshot") + while True: + rows = c.fetchmany() + if not rows: + break + for row in rows: + yield row[0] + + def save_notice(self, event_path: str, observer_path: str, method_name: str) -> None: + """Part of the Storage API, record an notice (event and observer).""" + self._db.execute('INSERT INTO notice VALUES (NULL, ?, ?, ?)', + (event_path, observer_path, method_name)) + + def drop_notice(self, event_path: str, observer_path: str, method_name: str) -> None: + """Part of the Storage API, remove a notice that was previously recorded.""" + self._db.execute(''' + DELETE FROM notice + WHERE event_path=? + AND observer_path=? + AND method_name=? + ''', (event_path, observer_path, method_name)) + + def notices(self, event_path: str = None) ->\ + typing.Generator[typing.Tuple[str, str, str], None, None]: + """Part of the Storage API, return all notices that begin with event_path. + + Args: + event_path: If supplied, will only yield events that match event_path. If not + supplied (or None/'') will return all events. + + Returns: + Iterable of (event_path, observer_path, method_name) tuples + """ + if event_path: + c = self._db.execute(''' + SELECT event_path, observer_path, method_name + FROM notice + WHERE event_path=? + ORDER BY sequence + ''', (event_path,)) + else: + c = self._db.execute(''' + SELECT event_path, observer_path, method_name + FROM notice + ORDER BY sequence + ''') + while True: + rows = c.fetchmany() + if not rows: + break + for row in rows: + yield tuple(row) + + +class JujuStorage: + """Storing the content tracked by the Framework in Juju. + + This uses :class:`_JujuStorageBackend` to interact with state-get/state-set + as the way to store state for the framework and for components. + """ + + NOTICE_KEY = "#notices#" + + def __init__(self, backend: '_JujuStorageBackend' = None): + self._backend = backend + if backend is None: + self._backend = _JujuStorageBackend() + + def close(self): + """Part of the Storage API, close the storage backend. + + Nothing to be done for Juju backend, as it's transactional. + """ + + def commit(self): + """Part of the Storage API, commit latest changes in the storage backend. + + Nothing to be done for Juju backend, as it's transactional. + """ + + def save_snapshot(self, handle_path: str, snapshot_data: typing.Any) -> None: + """Part of the Storage API, persist a snapshot data under the given handle. + + Args: + handle_path: The string identifying the snapshot. + snapshot_data: The data to be persisted. (as returned by Object.snapshot()). This + might be a dict/tuple/int, but must only contain 'simple' python types. + """ + self._backend.set(handle_path, snapshot_data) + + def load_snapshot(self, handle_path): + """Part of the Storage API, retrieve a snapshot that was previously saved. + + Args: + handle_path: The string identifying the snapshot. + + Raises: + NoSnapshotError: if there is no snapshot for the given handle_path. + """ + try: + content = self._backend.get(handle_path) + except KeyError: + raise NoSnapshotError(handle_path) + return content + + def drop_snapshot(self, handle_path): + """Part of the Storage API, remove a snapshot that was previously saved. + + Dropping a snapshot that doesn't exist is treated as a no-op. + """ + self._backend.delete(handle_path) + + def save_notice(self, event_path: str, observer_path: str, method_name: str): + """Part of the Storage API, record an notice (event and observer).""" + notice_list = self._load_notice_list() + notice_list.append([event_path, observer_path, method_name]) + self._save_notice_list(notice_list) + + def drop_notice(self, event_path: str, observer_path: str, method_name: str): + """Part of the Storage API, remove a notice that was previously recorded.""" + notice_list = self._load_notice_list() + notice_list.remove([event_path, observer_path, method_name]) + self._save_notice_list(notice_list) + + def notices(self, event_path: str = None): + """Part of the Storage API, return all notices that begin with event_path. + + Args: + event_path: If supplied, will only yield events that match event_path. If not + supplied (or None/'') will return all events. + + Returns: + Iterable of (event_path, observer_path, method_name) tuples + """ + notice_list = self._load_notice_list() + for row in notice_list: + if event_path and row[0] != event_path: + continue + yield tuple(row) + + def _load_notice_list(self) -> typing.List[typing.Tuple[str]]: + """Load a notice list from current key. + + Returns: + List of (event_path, observer_path, method_name) tuples; empty if no key or is None. + """ + try: + notice_list = self._backend.get(self.NOTICE_KEY) + except KeyError: + return [] + if notice_list is None: + return [] + return notice_list + + def _save_notice_list(self, notices: typing.List[typing.Tuple[str]]) -> None: + """Save a notice list under current key. + + Args: + notices: List of (event_path, observer_path, method_name) tuples. + """ + self._backend.set(self.NOTICE_KEY, notices) + + +class _SimpleLoader(getattr(yaml, 'CSafeLoader', yaml.SafeLoader)): + """Handle a couple basic python types. + + yaml.SafeLoader can handle all the basic int/float/dict/set/etc that we want. The only one + that it *doesn't* handle is tuples. We don't want to support arbitrary types, so we just + subclass SafeLoader and add tuples back in. + """ + # Taken from the example at: + # https://stackoverflow.com/questions/9169025/how-can-i-add-a-python-tuple-to-a-yaml-file-using-pyyaml + + construct_python_tuple = yaml.Loader.construct_python_tuple + + +_SimpleLoader.add_constructor( + u'tag:yaml.org,2002:python/tuple', + _SimpleLoader.construct_python_tuple) + + +class _SimpleDumper(getattr(yaml, 'CSafeDumper', yaml.SafeDumper)): + """Add types supported by 'marshal'. + + YAML can support arbitrary types, but that is generally considered unsafe (like pickle). So + we want to only support dumping out types that are safe to load. + """ + + +_SimpleDumper.represent_tuple = yaml.Dumper.represent_tuple +_SimpleDumper.add_representer(tuple, _SimpleDumper.represent_tuple) + + +def juju_backend_available() -> bool: + """Check if Juju state storage is available.""" + p = shutil.which('state-get') + return p is not None + + +class _JujuStorageBackend: + """Implements the interface from the Operator framework to Juju's state-get/set/etc.""" + + def set(self, key: str, value: typing.Any) -> None: + """Set a key to a given value. + + Args: + key: The string key that will be used to find the value later + value: Arbitrary content that will be returned by get(). + + Raises: + CalledProcessError: if 'state-set' returns an error code. + """ + # default_flow_style=None means that it can use Block for + # complex types (types that have nested types) but use flow + # for simple types (like an array). Not all versions of PyYAML + # have the same default style. + encoded_value = yaml.dump(value, Dumper=_SimpleDumper, default_flow_style=None) + content = yaml.dump( + {key: encoded_value}, encoding='utf8', default_style='|', + default_flow_style=False, + Dumper=_SimpleDumper) + _run(["state-set", "--file", "-"], input=content, check=True) + + def get(self, key: str) -> typing.Any: + """Get the bytes value associated with a given key. + + Args: + key: The string key that will be used to find the value + Raises: + CalledProcessError: if 'state-get' returns an error code. + """ + # We don't capture stderr here so it can end up in debug logs. + p = _run(["state-get", key], stdout=subprocess.PIPE, check=True, universal_newlines=True) + if p.stdout == '' or p.stdout == '\n': + raise KeyError(key) + return yaml.load(p.stdout, Loader=_SimpleLoader) + + def delete(self, key: str) -> None: + """Remove a key from being tracked. + + Args: + key: The key to stop storing + Raises: + CalledProcessError: if 'state-delete' returns an error code. + """ + _run(["state-delete", key], check=True) + + +class NoSnapshotError(Exception): + """Exception to flag that there is no snapshot for the given handle_path.""" + + def __init__(self, handle_path): + self.handle_path = handle_path + + def __str__(self): + return 'no snapshot data found for {} object'.format(self.handle_path) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/testing.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/testing.py new file mode 100644 index 00000000..e70bc98f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/testing.py @@ -0,0 +1,826 @@ +# Copyright 2020 Canonical Ltd. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Infrastructure to build unittests for Charms using the Operator Framework.""" + +import inspect +import pathlib +import random +import tempfile +import typing +import yaml +from contextlib import contextmanager +from textwrap import dedent + +from ops import ( + charm, + framework, + model, + storage, +) + + +# OptionalYAML is something like metadata.yaml or actions.yaml. You can +# pass in a file-like object or the string directly. +OptionalYAML = typing.Optional[typing.Union[str, typing.TextIO]] + + +# noinspection PyProtectedMember +class Harness: + """This class represents a way to build up the model that will drive a test suite. + + The model that is created is from the viewpoint of the charm that you are testing. + + Example:: + + harness = Harness(MyCharm) + # Do initial setup here + relation_id = harness.add_relation('db', 'postgresql') + # Now instantiate the charm to see events as the model changes + harness.begin() + harness.add_relation_unit(relation_id, 'postgresql/0') + harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) + # Check that charm has properly handled the relation_joined event for postgresql/0 + self.assertEqual(harness.charm. ...) + + Args: + charm_cls: The Charm class that you'll be testing. + meta: charm.CharmBase is a A string or file-like object containing the contents of + metadata.yaml. If not supplied, we will look for a 'metadata.yaml' file in the + parent directory of the Charm, and if not found fall back to a trivial + 'name: test-charm' metadata. + actions: A string or file-like object containing the contents of + actions.yaml. If not supplied, we will look for a 'actions.yaml' file in the + parent directory of the Charm. + config: A string or file-like object containing the contents of + config.yaml. If not supplied, we will look for a 'config.yaml' file in the + parent directory of the Charm. + """ + + def __init__( + self, + charm_cls: typing.Type[charm.CharmBase], + *, + meta: OptionalYAML = None, + actions: OptionalYAML = None, + config: OptionalYAML = None): + self._charm_cls = charm_cls + self._charm = None + self._charm_dir = 'no-disk-path' # this may be updated by _create_meta + self._meta = self._create_meta(meta, actions) + self._unit_name = self._meta.name + '/0' + self._framework = None + self._hooks_enabled = True + self._relation_id_counter = 0 + self._backend = _TestingModelBackend(self._unit_name, self._meta) + self._model = model.Model(self._meta, self._backend) + self._storage = storage.SQLiteStorage(':memory:') + self._oci_resources = {} + self._framework = framework.Framework( + self._storage, self._charm_dir, self._meta, self._model) + self._update_config(key_values=self._load_config_defaults(config)) + + @property + def charm(self) -> charm.CharmBase: + """Return the instance of the charm class that was passed to __init__. + + Note that the Charm is not instantiated until you have called + :meth:`.begin()`. + """ + return self._charm + + @property + def model(self) -> model.Model: + """Return the :class:`~ops.model.Model` that is being driven by this Harness.""" + return self._model + + @property + def framework(self) -> framework.Framework: + """Return the Framework that is being driven by this Harness.""" + return self._framework + + def begin(self) -> None: + """Instantiate the Charm and start handling events. + + Before calling :meth:`begin`, there is no Charm instance, so changes to the Model won't + emit events. You must call :meth:`.begin` before :attr:`.charm` is valid. + """ + if self._charm is not None: + raise RuntimeError('cannot call the begin method on the harness more than once') + + # The Framework adds attributes to class objects for events, etc. As such, we can't re-use + # the original class against multiple Frameworks. So create a locally defined class + # and register it. + # TODO: jam 2020-03-16 We are looking to changes this to Instance attributes instead of + # Class attributes which should clean up this ugliness. The API can stay the same + class TestEvents(self._charm_cls.on.__class__): + pass + + TestEvents.__name__ = self._charm_cls.on.__class__.__name__ + + class TestCharm(self._charm_cls): + on = TestEvents() + + # Note: jam 2020-03-01 This is so that errors in testing say MyCharm has no attribute foo, + # rather than TestCharm has no attribute foo. + TestCharm.__name__ = self._charm_cls.__name__ + self._charm = TestCharm(self._framework) + + def begin_with_initial_hooks(self) -> None: + """Called when you want the Harness to fire the same hooks that Juju would fire at startup. + + This triggers install, relation-created, config-changed, start, and any relation-joined + hooks. Based on what relations have been defined before you called begin(). + Note that all of these are fired before returning control to the test suite, so if you + want to introspect what happens at each step, you need to fire them directly + (eg Charm.on.install.emit()). + + To use this with all the normal hooks, you should instantiate the harness, setup any + relations that you want active when the charm starts, and then call this method. + + Example:: + + harness = Harness(MyCharm) + # Do initial setup here + relation_id = harness.add_relation('db', 'postgresql') + harness.add_relation_unit(relation_id, 'postgresql/0') + harness.update_relation_data(relation_id, 'postgresql/0', {'key': 'val'}) + harness.set_leader(True) + harness.update_config({'initial': 'config'}) + harness.begin_with_initial_hooks() + # This will cause + # install, db-relation-created('postgresql'), leader-elected, config-changed, start + # db-relation-joined('postrgesql/0'), db-relation-changed('postgresql/0') + # To be fired. + """ + self.begin() + # TODO: jam 2020-08-03 This should also handle storage-attached hooks once we have support + # for dealing with storage. + self._charm.on.install.emit() + # Juju itself iterates what relation to fire based on a map[int]relation, so it doesn't + # guarantee a stable ordering between relation events. It *does* give a stable ordering + # of joined units for a given relation. + items = list(self._meta.relations.items()) + random.shuffle(items) + this_app_name = self._meta.name + for relname, rel_meta in items: + if rel_meta.role == charm.RelationRole.peer: + # If the user has directly added a relation, leave it be, but otherwise ensure + # that peer relations are always established at before leader-elected. + rel_ids = self._backend._relation_ids_map.get(relname) + if rel_ids is None: + self.add_relation(relname, self._meta.name) + else: + random.shuffle(rel_ids) + for rel_id in rel_ids: + self._emit_relation_created(relname, rel_id, this_app_name) + else: + rel_ids = self._backend._relation_ids_map.get(relname, []) + random.shuffle(rel_ids) + for rel_id in rel_ids: + app_name = self._backend._relation_app_and_units[rel_id]["app"] + self._emit_relation_created(relname, rel_id, app_name) + if self._backend._is_leader: + self._charm.on.leader_elected.emit() + else: + self._charm.on.leader_settings_changed.emit() + self._charm.on.config_changed.emit() + self._charm.on.start.emit() + all_ids = list(self._backend._relation_names.items()) + random.shuffle(all_ids) + for rel_id, rel_name in all_ids: + rel_app_and_units = self._backend._relation_app_and_units[rel_id] + app_name = rel_app_and_units["app"] + # Note: Juju *does* fire relation events for a given relation in the sorted order of + # the unit names. It also always fires relation-changed immediately after + # relation-joined for the same unit. + # Juju only fires relation-changed (app) if there is data for the related application + relation = self._model.get_relation(rel_name, rel_id) + if self._backend._relation_data[rel_id].get(app_name): + app = self._model.get_app(app_name) + self._charm.on[rel_name].relation_changed.emit( + relation, app, None) + for unit_name in sorted(rel_app_and_units["units"]): + remote_unit = self._model.get_unit(unit_name) + self._charm.on[rel_name].relation_joined.emit( + relation, remote_unit.app, remote_unit) + self._charm.on[rel_name].relation_changed.emit( + relation, remote_unit.app, remote_unit) + + def cleanup(self) -> None: + """Called by your test infrastructure to cleanup any temporary directories/files/etc. + + Currently this only needs to be called if you test with resources. But it is reasonable + to always include a `testcase.addCleanup(harness.cleanup)` just in case. + """ + self._backend._cleanup() + + def _create_meta(self, charm_metadata, action_metadata): + """Create a CharmMeta object. + + Handle the cases where a user doesn't supply explicit metadata snippets. + """ + filename = inspect.getfile(self._charm_cls) + charm_dir = pathlib.Path(filename).parents[1] + + if charm_metadata is None: + metadata_path = charm_dir / 'metadata.yaml' + if metadata_path.is_file(): + charm_metadata = metadata_path.read_text() + self._charm_dir = charm_dir + else: + # The simplest of metadata that the framework can support + charm_metadata = 'name: test-charm' + elif isinstance(charm_metadata, str): + charm_metadata = dedent(charm_metadata) + + if action_metadata is None: + actions_path = charm_dir / 'actions.yaml' + if actions_path.is_file(): + action_metadata = actions_path.read_text() + self._charm_dir = charm_dir + elif isinstance(action_metadata, str): + action_metadata = dedent(action_metadata) + + return charm.CharmMeta.from_yaml(charm_metadata, action_metadata) + + def _load_config_defaults(self, charm_config): + """Load default values from config.yaml. + + Handle the case where a user doesn't supply explicit config snippets. + """ + filename = inspect.getfile(self._charm_cls) + charm_dir = pathlib.Path(filename).parents[1] + + if charm_config is None: + config_path = charm_dir / 'config.yaml' + if config_path.is_file(): + charm_config = config_path.read_text() + self._charm_dir = charm_dir + else: + # The simplest of config that the framework can support + charm_config = '{}' + elif isinstance(charm_config, str): + charm_config = dedent(charm_config) + charm_config = yaml.load(charm_config, Loader=yaml.SafeLoader) + charm_config = charm_config.get('options', {}) + return {key: value['default'] for key, value in charm_config.items() + if 'default' in value} + + def add_oci_resource(self, resource_name: str, + contents: typing.Mapping[str, str] = None) -> None: + """Add oci resources to the backend. + + This will register an oci resource and create a temporary file for processing metadata + about the resource. A default set of values will be used for all the file contents + unless a specific contents dict is provided. + + Args: + resource_name: Name of the resource to add custom contents to. + contents: Optional custom dict to write for the named resource. + """ + if not contents: + contents = {'registrypath': 'registrypath', + 'username': 'username', + 'password': 'password', + } + if resource_name not in self._meta.resources.keys(): + raise RuntimeError('Resource {} is not a defined resources'.format(resource_name)) + if self._meta.resources[resource_name].type != "oci-image": + raise RuntimeError('Resource {} is not an OCI Image'.format(resource_name)) + + as_yaml = yaml.dump(contents, Dumper=yaml.SafeDumper) + self._backend._resources_map[resource_name] = ('contents.yaml', as_yaml) + + def add_resource(self, resource_name: str, content: typing.AnyStr) -> None: + """Add content for a resource to the backend. + + This will register the content, so that a call to `Model.resources.fetch(resource_name)` + will return a path to a file containing that content. + + Args: + resource_name: The name of the resource being added + content: Either string or bytes content, which will be the content of the filename + returned by resource-get. If contents is a string, it will be encoded in utf-8 + """ + if resource_name not in self._meta.resources.keys(): + raise RuntimeError('Resource {} is not a defined resources'.format(resource_name)) + record = self._meta.resources[resource_name] + if record.type != "file": + raise RuntimeError( + 'Resource {} is not a file, but actually {}'.format(resource_name, record.type)) + filename = record.filename + if filename is None: + filename = resource_name + + self._backend._resources_map[resource_name] = (filename, content) + + def populate_oci_resources(self) -> None: + """Populate all OCI resources.""" + for name, data in self._meta.resources.items(): + if data.type == "oci-image": + self.add_oci_resource(name) + + def disable_hooks(self) -> None: + """Stop emitting hook events when the model changes. + + This can be used by developers to stop changes to the model from emitting events that + the charm will react to. Call :meth:`.enable_hooks` + to re-enable them. + """ + self._hooks_enabled = False + + def enable_hooks(self) -> None: + """Re-enable hook events from charm.on when the model is changed. + + By default hook events are enabled once you call :meth:`.begin`, + but if you have used :meth:`.disable_hooks`, this can be used to + enable them again. + """ + self._hooks_enabled = True + + @contextmanager + def hooks_disabled(self): + """A context manager to run code with hooks disabled. + + Example:: + + with harness.hooks_disabled(): + # things in here don't fire events + harness.set_leader(True) + harness.update_config(unset=['foo', 'bar']) + # things here will again fire events + """ + if self._hooks_enabled: + self.disable_hooks() + try: + yield None + finally: + self.enable_hooks() + else: + yield None + + def _next_relation_id(self): + rel_id = self._relation_id_counter + self._relation_id_counter += 1 + return rel_id + + def add_relation(self, relation_name: str, remote_app: str) -> int: + """Declare that there is a new relation between this app and `remote_app`. + + Args: + relation_name: The relation on Charm that is being related to + remote_app: The name of the application that is being related to + + Return: + The relation_id created by this add_relation. + """ + rel_id = self._next_relation_id() + self._backend._relation_ids_map.setdefault(relation_name, []).append(rel_id) + self._backend._relation_names[rel_id] = relation_name + self._backend._relation_list_map[rel_id] = [] + self._backend._relation_data[rel_id] = { + remote_app: {}, + self._backend.unit_name: {}, + self._backend.app_name: {}, + } + self._backend._relation_app_and_units[rel_id] = { + "app": remote_app, + "units": [], + } + # Reload the relation_ids list + if self._model is not None: + self._model.relations._invalidate(relation_name) + self._emit_relation_created(relation_name, rel_id, remote_app) + return rel_id + + def _emit_relation_created(self, relation_name: str, relation_id: int, + remote_app: str) -> None: + """Trigger relation-created for a given relation with a given remote application.""" + if self._charm is None or not self._hooks_enabled: + return + if self._charm is None or not self._hooks_enabled: + return + relation = self._model.get_relation(relation_name, relation_id) + app = self._model.get_app(remote_app) + self._charm.on[relation_name].relation_created.emit( + relation, app) + + def add_relation_unit(self, relation_id: int, remote_unit_name: str) -> None: + """Add a new unit to a relation. + + Example:: + + rel_id = harness.add_relation('db', 'postgresql') + harness.add_relation_unit(rel_id, 'postgresql/0') + + This will trigger a `relation_joined` event. This would naturally be + followed by a `relation_changed` event, which you can trigger with + :meth:`.update_relation_data`. This separation is artificial in the + sense that Juju will always fire the two, but is intended to make + testing relations and their data bags slightly more natural. + + Args: + relation_id: The integer relation identifier (as returned by add_relation). + remote_unit_name: A string representing the remote unit that is being added. + + Return: + None + """ + self._backend._relation_list_map[relation_id].append(remote_unit_name) + self._backend._relation_data[relation_id][remote_unit_name] = {} + # TODO: jam 2020-08-03 This is where we could assert that the unit name matches the + # application name (eg you don't have a relation to 'foo' but add units of 'bar/0' + self._backend._relation_app_and_units[relation_id]["units"].append(remote_unit_name) + relation_name = self._backend._relation_names[relation_id] + # Make sure that the Model reloads the relation_list for this relation_id, as well as + # reloading the relation data for this unit. + if self._model is not None: + remote_unit = self._model.get_unit(remote_unit_name) + relation = self._model.get_relation(relation_name, relation_id) + unit_cache = relation.data.get(remote_unit, None) + if unit_cache is not None: + unit_cache._invalidate() + self._model.relations._invalidate(relation_name) + if self._charm is None or not self._hooks_enabled: + return + self._charm.on[relation_name].relation_joined.emit( + relation, remote_unit.app, remote_unit) + + def get_relation_data(self, relation_id: int, app_or_unit: str) -> typing.Mapping: + """Get the relation data bucket for a single app or unit in a given relation. + + This ignores all of the safety checks of who can and can't see data in relations (eg, + non-leaders can't read their own application's relation data because there are no events + that keep that data up-to-date for the unit). + + Args: + relation_id: The relation whose content we want to look at. + app_or_unit: The name of the application or unit whose data we want to read + Return: + a dict containing the relation data for `app_or_unit` or None. + + Raises: + KeyError: if relation_id doesn't exist + """ + return self._backend._relation_data[relation_id].get(app_or_unit, None) + + def get_pod_spec(self) -> (typing.Mapping, typing.Mapping): + """Return the content of the pod spec as last set by the charm. + + This returns both the pod spec and any k8s_resources that were supplied. + See the signature of Model.pod.set_spec + """ + return self._backend._pod_spec + + def get_workload_version(self) -> str: + """Read the workload version that was set by the unit.""" + return self._backend._workload_version + + def set_model_name(self, name: str) -> None: + """Set the name of the Model that this is representing. + + This cannot be called once begin() has been called. But it lets you set the value that + will be returned by Model.name. + """ + if self._charm is not None: + raise RuntimeError('cannot set the Model name after begin()') + self._backend.model_name = name + + def update_relation_data( + self, + relation_id: int, + app_or_unit: str, + key_values: typing.Mapping, + ) -> None: + """Update the relation data for a given unit or application in a given relation. + + This also triggers the `relation_changed` event for this relation_id. + + Args: + relation_id: The integer relation_id representing this relation. + app_or_unit: The unit or application name that is being updated. + This can be the local or remote application. + key_values: Each key/value will be updated in the relation data. + """ + relation_name = self._backend._relation_names[relation_id] + relation = self._model.get_relation(relation_name, relation_id) + if '/' in app_or_unit: + entity = self._model.get_unit(app_or_unit) + else: + entity = self._model.get_app(app_or_unit) + rel_data = relation.data.get(entity, None) + if rel_data is not None: + # rel_data may have cached now-stale data, so _invalidate() it. + # Note, this won't cause the data to be loaded if it wasn't already. + rel_data._invalidate() + + new_values = self._backend._relation_data[relation_id][app_or_unit].copy() + for k, v in key_values.items(): + if v == '': + new_values.pop(k, None) + else: + new_values[k] = v + self._backend._relation_data[relation_id][app_or_unit] = new_values + + if app_or_unit == self._model.unit.name: + # No events for our own unit + return + if app_or_unit == self._model.app.name: + # updating our own app only generates an event if it is a peer relation and we + # aren't the leader + is_peer = self._meta.relations[relation_name].role.is_peer() + if not is_peer: + return + if self._model.unit.is_leader(): + return + self._emit_relation_changed(relation_id, app_or_unit) + + def _emit_relation_changed(self, relation_id, app_or_unit): + if self._charm is None or not self._hooks_enabled: + return + rel_name = self._backend._relation_names[relation_id] + relation = self.model.get_relation(rel_name, relation_id) + if '/' in app_or_unit: + app_name = app_or_unit.split('/')[0] + unit_name = app_or_unit + app = self.model.get_app(app_name) + unit = self.model.get_unit(unit_name) + args = (relation, app, unit) + else: + app_name = app_or_unit + app = self.model.get_app(app_name) + args = (relation, app) + self._charm.on[rel_name].relation_changed.emit(*args) + + def _update_config( + self, + key_values: typing.Mapping[str, str] = None, + unset: typing.Iterable[str] = (), + ) -> None: + """Update the config as seen by the charm. + + This will *not* trigger a `config_changed` event, and is intended for internal use. + + Note that the `key_values` mapping will only add or update configuration items. + To remove existing ones, see the `unset` parameter. + + Args: + key_values: A Mapping of key:value pairs to update in config. + unset: An iterable of keys to remove from Config. (Note that this does + not currently reset the config values to the default defined in config.yaml.) + """ + # NOTE: jam 2020-03-01 Note that this sort of works "by accident". Config + # is a LazyMapping, but its _load returns a dict and this method mutates + # the dict that Config is caching. Arguably we should be doing some sort + # of charm.framework.model.config._invalidate() + config = self._backend._config + if key_values is not None: + for key, value in key_values.items(): + config[key] = value + for key in unset: + config.pop(key, None) + + def update_config( + self, + key_values: typing.Mapping[str, str] = None, + unset: typing.Iterable[str] = (), + ) -> None: + """Update the config as seen by the charm. + + This will trigger a `config_changed` event. + + Note that the `key_values` mapping will only add or update configuration items. + To remove existing ones, see the `unset` parameter. + + Args: + key_values: A Mapping of key:value pairs to update in config. + unset: An iterable of keys to remove from Config. (Note that this does + not currently reset the config values to the default defined in config.yaml.) + """ + self._update_config(key_values, unset) + if self._charm is None or not self._hooks_enabled: + return + self._charm.on.config_changed.emit() + + def set_leader(self, is_leader: bool = True) -> None: + """Set whether this unit is the leader or not. + + If this charm becomes a leader then `leader_elected` will be triggered. + + Args: + is_leader: True/False as to whether this unit is the leader. + """ + was_leader = self._backend._is_leader + self._backend._is_leader = is_leader + # Note: jam 2020-03-01 currently is_leader is cached at the ModelBackend level, not in + # the Model objects, so this automatically gets noticed. + if is_leader and not was_leader and self._charm is not None and self._hooks_enabled: + self._charm.on.leader_elected.emit() + + def _get_backend_calls(self, reset: bool = True) -> list: + """Return the calls that we have made to the TestingModelBackend. + + This is useful mostly for testing the framework itself, so that we can assert that we + do/don't trigger extra calls. + + Args: + reset: If True, reset the calls list back to empty, if false, the call list is + preserved. + + Return: + ``[(call1, args...), (call2, args...)]`` + """ + calls = self._backend._calls.copy() + if reset: + self._backend._calls.clear() + return calls + + +def _record_calls(cls): + """Replace methods on cls with methods that record that they have been called. + + Iterate all attributes of cls, and for public methods, replace them with a wrapped method + that records the method called along with the arguments and keyword arguments. + """ + for meth_name, orig_method in cls.__dict__.items(): + if meth_name.startswith('_'): + continue + + def decorator(orig_method): + def wrapped(self, *args, **kwargs): + full_args = (orig_method.__name__,) + args + if kwargs: + full_args = full_args + (kwargs,) + self._calls.append(full_args) + return orig_method(self, *args, **kwargs) + return wrapped + + setattr(cls, meth_name, decorator(orig_method)) + return cls + + +class _ResourceEntry: + """Tracks the contents of a Resource.""" + + def __init__(self, resource_name): + self.name = resource_name + + +@_record_calls +class _TestingModelBackend: + """This conforms to the interface for ModelBackend but provides canned data. + + DO NOT use this class directly, it is used by `Harness`_ to drive the model. + `Harness`_ is responsible for maintaining the internal consistency of the values here, + as the only public methods of this type are for implementing ModelBackend. + """ + + def __init__(self, unit_name, meta): + self.unit_name = unit_name + self.app_name = self.unit_name.split('/')[0] + self.model_name = None + self._calls = [] + self._meta = meta + self._is_leader = None + self._relation_ids_map = {} # relation name to [relation_ids,...] + self._relation_names = {} # reverse map from relation_id to relation_name + self._relation_list_map = {} # relation_id: [unit_name,...] + self._relation_data = {} # {relation_id: {name: data}} + # {relation_id: {"app": app_name, "units": ["app/0",...]} + self._relation_app_and_units = {} + self._config = {} + self._is_leader = False + self._resources_map = {} # {resource_name: resource_content} + self._pod_spec = None + self._app_status = {'status': 'unknown', 'message': ''} + self._unit_status = {'status': 'maintenance', 'message': ''} + self._workload_version = None + self._resource_dir = None + + def _cleanup(self): + if self._resource_dir is not None: + self._resource_dir.cleanup() + self._resource_dir = None + + def _get_resource_dir(self) -> pathlib.Path: + if self._resource_dir is None: + # In actual Juju, the resource path for a charm's resource is + # $AGENT_DIR/resources/$RESOURCE_NAME/$RESOURCE_FILENAME + # However, charms shouldn't depend on this. + self._resource_dir = tempfile.TemporaryDirectory(prefix='tmp-ops-test-resource-') + return pathlib.Path(self._resource_dir.name) + + def relation_ids(self, relation_name): + try: + return self._relation_ids_map[relation_name] + except KeyError as e: + if relation_name not in self._meta.relations: + raise model.ModelError('{} is not a known relation'.format(relation_name)) from e + return [] + + def relation_list(self, relation_id): + try: + return self._relation_list_map[relation_id] + except KeyError as e: + raise model.RelationNotFoundError from e + + def relation_get(self, relation_id, member_name, is_app): + if is_app and '/' in member_name: + member_name = member_name.split('/')[0] + if relation_id not in self._relation_data: + raise model.RelationNotFoundError() + return self._relation_data[relation_id][member_name].copy() + + def relation_set(self, relation_id, key, value, is_app): + relation = self._relation_data[relation_id] + if is_app: + bucket_key = self.app_name + else: + bucket_key = self.unit_name + if bucket_key not in relation: + relation[bucket_key] = {} + bucket = relation[bucket_key] + if value == '': + bucket.pop(key, None) + else: + bucket[key] = value + + def config_get(self): + return self._config + + def is_leader(self): + return self._is_leader + + def application_version_set(self, version): + self._workload_version = version + + def resource_get(self, resource_name): + if resource_name not in self._resources_map: + raise model.ModelError( + "ERROR could not download resource: HTTP request failed: " + "Get https://.../units/unit-{}/resources/{}: resource#{}/{} not found".format( + self.unit_name.replace('/', '-'), resource_name, self.app_name, resource_name + )) + filename, contents = self._resources_map[resource_name] + resource_dir = self._get_resource_dir() + resource_filename = resource_dir / resource_name / filename + if not resource_filename.exists(): + if isinstance(contents, bytes): + mode = 'wb' + else: + mode = 'wt' + resource_filename.parent.mkdir(exist_ok=True) + with resource_filename.open(mode=mode) as resource_file: + resource_file.write(contents) + return resource_filename + + def pod_spec_set(self, spec, k8s_resources): + self._pod_spec = (spec, k8s_resources) + + def status_get(self, *, is_app=False): + if is_app: + return self._app_status + else: + return self._unit_status + + def status_set(self, status, message='', *, is_app=False): + if is_app: + self._app_status = {'status': status, 'message': message} + else: + self._unit_status = {'status': status, 'message': message} + + def storage_list(self, name): + raise NotImplementedError(self.storage_list) + + def storage_get(self, storage_name_id, attribute): + raise NotImplementedError(self.storage_get) + + def storage_add(self, name, count=1): + raise NotImplementedError(self.storage_add) + + def action_get(self): + raise NotImplementedError(self.action_get) + + def action_set(self, results): + raise NotImplementedError(self.action_set) + + def action_log(self, message): + raise NotImplementedError(self.action_log) + + def action_fail(self, message=''): + raise NotImplementedError(self.action_fail) + + def network_get(self, endpoint_name, relation_id=None): + raise NotImplementedError(self.network_get) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/version.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/version.py new file mode 100644 index 00000000..db9e9817 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/ops/version.py @@ -0,0 +1,3 @@ +# this is a generated file + +version = '1.1.0' diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/COPYING b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/COPYING new file mode 100644 index 00000000..4d74262d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/COPYING @@ -0,0 +1,13 @@ + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + Version 2, December 2004 + + Copyright (C) 2012 Mike Kazantsev + + Everyone is permitted to copy and distribute verbatim or modified + copies of this license document, and changing it is allowed as long + as the name is changed. + + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. You just DO WHAT THE FUCK YOU WANT TO. diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/METADATA new file mode 100644 index 00000000..c4236a5a --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/METADATA @@ -0,0 +1,337 @@ +Metadata-Version: 2.1 +Name: pyaml +Version: 20.4.0 +Summary: PyYAML-based module to produce pretty and readable YAML-serialized data +Home-page: https://github.com/mk-fg/pretty-yaml +Author: Mike Kazantsev +Author-email: mk.fraggod@gmail.com +License: WTFPL +Keywords: yaml serialization pretty print format human readable readability +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Topic :: Software Development +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Dist: PyYAML + +pretty-yaml (or pyaml) +====================== + +PyYAML-based python module to produce pretty and readable YAML-serialized data. + +This module is for serialization only, see `ruamel.yaml`_ module for literate +YAML parsing (keeping track of comments, spacing, line/column numbers of values, etc). + +[note: to dump stuff parsed by ruamel.yaml with this module, use only ``YAML(typ='safe')`` there] + +.. contents:: + :backlinks: none + + +Warning +------- + +Prime goal of this module is to produce human-readable output that can be easily +manipulated and re-used, but maybe with some occasional caveats. + +One good example of such "caveat" is that e.g. ``{'foo': '123'}`` will serialize +to ``foo: 123``, which for PyYAML would be a bug, as 123 will then be read back +as an integer from that, but here it's a feature. + +So please do not rely on the thing to produce output that can always be +deserialized exactly to what was exported, at least - use PyYAML (e.g. with +options from the next section) for that. + + +What this module does and why +----------------------------- + +YAML is generally nice and easy format to read *if* it was written by humans. + +PyYAML can a do fairly decent job of making stuff readable, and the best +combination of parameters for such output that I've seen so far is probably this one:: + + >>> m = [123, 45.67, {1: None, 2: False}, u'some text'] + >>> data = dict(a=u'asldnsa\nasldpáknsa\n', b=u'whatever text', ma=m, mb=m) + >>> yaml.safe_dump(data, sys.stdout, allow_unicode=True, default_flow_style=False) + a: 'asldnsa + + asldpáknsa + + ' + b: whatever text + ma: &id001 + - 123 + - 45.67 + - 1: null + 2: false + - some text + mb: *id001 + +pyaml tries to improve on that a bit, with the following tweaks: + +* Most human-friendly representation options in PyYAML (that I know of) get + picked as defaults. + +* Does not dump "null" values, if possible, replacing these with just empty + strings, which have the same meaning but reduce visual clutter and are easier + to edit. + +* Dicts, sets, OrderedDicts, defaultdicts, namedtuples, etc are representable + and get sorted on output (OrderedDicts and namedtuples keep their ordering), + so that output would be as diff-friendly as possible, and not arbitrarily + depend on python internals. + + It appears that at least recent PyYAML versions also do such sorting for + python dicts. + +* List items get indented, as they should be. + +* bytestrings that can't be auto-converted to unicode raise error, as yaml has + no "binary bytes" (i.e. unix strings) type. + +* Attempt is made to pick more readable string representation styles, depending + on the value, e.g.:: + + >>> yaml.safe_dump(cert, sys.stdout) + cert: '-----BEGIN CERTIFICATE----- + + MIIH3jCCBcagAwIBAgIJAJi7AjQ4Z87OMA0GCSqGSIb3DQEBCwUAMIHBMRcwFQYD + + VQQKFA52YWxlcm9uLm5vX2lzcDEeMBwGA1UECxMVQ2VydGlmaWNhdGUgQXV0aG9y + ... + + >>> pyaml.p(cert): + cert: | + -----BEGIN CERTIFICATE----- + MIIH3jCCBcagAwIBAgIJAJi7AjQ4Z87OMA0GCSqGSIb3DQEBCwUAMIHBMRcwFQYD + VQQKFA52YWxlcm9uLm5vX2lzcDEeMBwGA1UECxMVQ2VydGlmaWNhdGUgQXV0aG9y + ... + +* "force_embed" option to avoid having &id stuff scattered all over the output + (which might be beneficial in some cases, hence the option). + +* "&id" anchors, if used, get labels from the keys they get attached to, + not just use meaningless enumerators. + +* "string_val_style" option to only apply to strings that are values, not keys, + i.e:: + + >>> pyaml.p(data, string_val_style='"') + key: "value\nasldpáknsa\n" + >>> yaml.safe_dump(data, sys.stdout, allow_unicode=True, default_style='"') + "key": "value\nasldpáknsa\n" + +* "sort_dicts=False" option to leave dict item ordering to python, and not + force-sort them in yaml output, which can be important for python 3.6+ where + they retain ordering info. + +* Has an option to add vertical spacing (empty lines) between keys on different + depths, to make output much more seekable. + +Result for the (rather meaningless) example above (without any additional +tweaks):: + + >>> pyaml.p(data) + a: | + asldnsa + asldpáknsa + b: 'whatever text' + ma: &ma + - 123 + - 45.67 + - 1: + 2: false + - 'some text' + mb: *ma + +---------- + +Extended example:: + + >>> pyaml.dump(conf, sys.stdout, vspacing=[2, 1]): + destination: + + encoding: + xz: + enabled: true + min_size: 5120 + options: + path_filter: + - \.(gz|bz2|t[gb]z2?|xz|lzma|7z|zip|rar)$ + - \.(rpm|deb|iso)$ + - \.(jpe?g|gif|png|mov|avi|ogg|mkv|webm|mp[34g]|flv|flac|ape|pdf|djvu)$ + - \.(sqlite3?|fossil|fsl)$ + - \.git/objects/[0-9a-f]+/[0-9a-f]+$ + + result: + append_to_file: + append_to_lafs_dir: + print_to_stdout: true + + url: http://localhost:3456/uri + + + filter: + - /(CVS|RCS|SCCS|_darcs|\{arch\})/$ + - /\.(git|hg|bzr|svn|cvs)(/|ignore|attributes|tags)?$ + - /=(RELEASE-ID|meta-update|update)$ + + + http: + + ca_certs_files: /etc/ssl/certs/ca-certificates.crt + + debug_requests: false + + request_pool_options: + cachedConnectionTimeout: 600 + maxPersistentPerHost: 10 + retryAutomatically: true + + + logging: + + formatters: + basic: + datefmt: '%Y-%m-%d %H:%M:%S' + format: '%(asctime)s :: %(name)s :: %(levelname)s: %(message)s' + + handlers: + console: + class: logging.StreamHandler + formatter: basic + level: custom + stream: ext://sys.stderr + + loggers: + twisted: + handlers: + - console + level: 0 + + root: + handlers: + - console + level: custom + +Note that unless there are many moderately wide and deep trees of data, which +are expected to be read and edited by people, it might be preferrable to +directly use PyYAML regardless, as it won't introduce another (rather pointless +in that case) dependency and a point of failure. + + +Some Tricks +----------- + +* Pretty-print any yaml or json (yaml subset) file from the shell:: + + % python -m pyaml /path/to/some/file.yaml + % curl -s https://www.githubstatus.com/api/v2/summary.json | python -m pyaml + +* Process and replace json/yaml file in-place:: + + % python -m pyaml -r file-with-json.data + +* Easier "debug printf" for more complex data (all funcs below are aliases to + same thing):: + + pyaml.p(stuff) + pyaml.pprint(my_data) + pyaml.pprint('----- HOW DOES THAT BREAKS!?!?', input_data, some_var, more_stuff) + pyaml.print(data, file=sys.stderr) # needs "from __future__ import print_function" + +* Force all string values to a certain style (see info on these in + `PyYAML docs`_):: + + pyaml.dump(many_weird_strings, string_val_style='|') + pyaml.dump(multiline_words, string_val_style='>') + pyaml.dump(no_want_quotes, string_val_style='plain') + + Using ``pyaml.add_representer()`` (note \*p\*yaml) as suggested in + `this SO thread`_ (or `github-issue-7`_) should also work. + +* Control indent and width of the results:: + + pyaml.dump(wide_and_deep, indent=4, width=120) + + These are actually keywords for PyYAML Emitter (passed to it from Dumper), + see more info on these in `PyYAML docs`_. + +* Dump multiple yaml documents into a file: ``pyaml.dump_all([data1, data2, data3], dst_file)`` + + explicit_start=True is implied, unless explicit_start=False is passed. + +.. _PyYAML docs: http://pyyaml.org/wiki/PyYAMLDocumentation#Scalars +.. _this SO thread: http://stackoverflow.com/a/7445560 +.. _github-issue-7: https://github.com/mk-fg/pretty-yaml/issues/7 + + +Installation +------------ + +It's a regular package for Python (3.x or 2.x). + +Module uses PyYAML_ for processing of the actual YAML files and should pull it +in as a dependency. + +Dependency on unidecode_ module is optional and should only be necessary if +same-id objects or recursion is used within serialized data. + +Be sure to use python3/python2, pip3/pip2, easy_install-... binaries below, +based on which python version you want to install the module for, if you have +several on the system (as is norm these days for py2-py3 transition). + +Using pip_ is the best way:: + + % pip install pyaml + +(add --user option to install into $HOME for current user only) + +Or, if you don't have "pip" command:: + + % python -m ensurepip + % python -m pip install --upgrade pip + % python -m pip install pyaml + +(same suggestion wrt "install --user" as above) + +On a very old systems, one of these might work:: + + % curl https://bootstrap.pypa.io/get-pip.py | python + % pip install pyaml + + % easy_install pyaml + + % git clone --depth=1 https://github.com/mk-fg/pretty-yaml + % cd pretty-yaml + % python setup.py install + +(all of install-commands here also have --user option, +see also `pip docs "installing" section`_) + +Current-git version can be installed like this:: + + % pip install 'git+https://github.com/mk-fg/pretty-yaml#egg=pyaml' + +Note that to install stuff to system-wide PATH and site-packages (without +--user), elevated privileges (i.e. root and su/sudo) are often required. + +Use "...install --user", `~/.pydistutils.cfg`_ or virtualenv_ to do unprivileged +installs into custom paths. + +More info on python packaging can be found at `packaging.python.org`_. + +.. _ruamel.yaml: https://bitbucket.org/ruamel/yaml/ +.. _PyYAML: http://pyyaml.org/ +.. _unidecode: http://pypi.python.org/pypi/Unidecode +.. _pip: http://pip-installer.org/ +.. _pip docs "installing" section: http://www.pip-installer.org/en/latest/installing.html +.. _~/.pydistutils.cfg: http://docs.python.org/install/index.html#distutils-configuration-files +.. _virtualenv: http://pypi.python.org/pypi/virtualenv +.. _packaging.python.org: https://packaging.python.org/installing/ + + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/RECORD new file mode 100644 index 00000000..4590f714 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/RECORD @@ -0,0 +1,14 @@ +pyaml-20.4.0.dist-info/COPYING,sha256=3BNCzBy0niTByeiklazJYlzi4EFGwRYnmvCrCUnNgpw,491 +pyaml-20.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pyaml-20.4.0.dist-info/METADATA,sha256=hBDANv02yM0Ek8WxPvq_Dptpxa2oprWHmPAsMm9ZQN4,10296 +pyaml-20.4.0.dist-info/RECORD,, +pyaml-20.4.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +pyaml-20.4.0.dist-info/top_level.txt,sha256=SeZMKS4HLohBuwPYFu7IpKCy8axAkJwKbWuibg-t7-c,6 +pyaml/__init__.py,sha256=vuedWDQTWXbqMRKGeTWvjSGTzJ9c4KD5uYaXAKOYDrg,8088 +pyaml/__main__.py,sha256=iBdnt76shHze58EbhHL9Ltc4430yrLFYNaaU9BjQ4B4,1647 +pyaml/__pycache__/__init__.cpython-38.pyc,, +pyaml/__pycache__/__main__.cpython-38.pyc,, +pyaml/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pyaml/tests/__pycache__/__init__.cpython-38.pyc,, +pyaml/tests/__pycache__/dump.cpython-38.pyc,, +pyaml/tests/dump.py,sha256=x_Fe8EhXe29VSlTbCE2EMpW1aIjsQAv0uP7vZQ6YE3g,17405 diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/WHEEL new file mode 100644 index 00000000..ef99c6cf --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/top_level.txt new file mode 100644 index 00000000..2e64be1f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml-20.4.0.dist-info/top_level.txt @@ -0,0 +1 @@ +pyaml diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__init__.py new file mode 100644 index 00000000..07abe032 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__init__.py @@ -0,0 +1,211 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals, print_function + +import itertools as it, operator as op, functools as ft +from collections import defaultdict, OrderedDict, namedtuple +import os, sys, io, re + +import yaml + +if sys.version_info.major > 2: unicode = str + + +class PrettyYAMLDumper(yaml.dumper.SafeDumper): + + def __init__(self, *args, **kws): + self.pyaml_force_embed = kws.pop('force_embed', False) + self.pyaml_string_val_style = kws.pop('string_val_style', None) + self.pyaml_sort_dicts = kws.pop('sort_dicts', True) + return super(PrettyYAMLDumper, self).__init__(*args, **kws) + + def represent_odict(dumper, data): + value = list() + node = yaml.nodes.MappingNode( + 'tag:yaml.org,2002:map', value, flow_style=None ) + if dumper.alias_key is not None: + dumper.represented_objects[dumper.alias_key] = node + for item_key, item_value in data.items(): + node_key = dumper.represent_data(item_key) + node_value = dumper.represent_data(item_value) + value.append((node_key, node_value)) + node.flow_style = False + return node + + def represent_undefined(dumper, data): + if isinstance(data, tuple) and hasattr(data, '_make') and hasattr(data, '_asdict'): + return dumper.represent_odict(data._asdict()) # assuming namedtuple + elif isinstance(data, OrderedDict): return dumper.represent_odict(data) + elif isinstance(data, dict): return dumper.represent_dict(data) + elif callable(getattr(data, 'tolist', None)): return dumper.represent_data(data.tolist()) + return super(PrettyYAMLDumper, dumper).represent_undefined(data) + + def represent_dict(dumper, data): + if not dumper.pyaml_sort_dicts: return dumper.represent_odict(data) + return super(PrettyYAMLDumper, dumper).represent_dict(data) + + def serialize_node(self, node, parent, index): + if self.pyaml_force_embed: self.serialized_nodes.clear() + return super(PrettyYAMLDumper, self).serialize_node(node, parent, index) + + @staticmethod + def pyaml_transliterate(string): + if not all(ord(c) < 128 for c in string): + from unidecode import unidecode + string = unidecode(string) + string_new = '' + for ch in string: + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' or ch in '-_': string_new += ch + else: string_new += '_' + return string_new.lower() + + def anchor_node(self, node, hint=list()): + if node in self.anchors: + if self.anchors[node] is None and not self.pyaml_force_embed: + self.anchors[node] = self.generate_anchor(node)\ + if not hint else '{}'.format( + self.pyaml_transliterate( + '_-_'.join(map(op.attrgetter('value'), hint)) ) ) + else: + self.anchors[node] = None + if isinstance(node, yaml.nodes.SequenceNode): + for item in node.value: + self.anchor_node(item) + elif isinstance(node, yaml.nodes.MappingNode): + for key, value in node.value: + self.anchor_node(key) + self.anchor_node(value, hint=hint+[key]) + +PrettyYAMLDumper.add_representer(dict, PrettyYAMLDumper.represent_dict) +PrettyYAMLDumper.add_representer(defaultdict, PrettyYAMLDumper.represent_dict) +PrettyYAMLDumper.add_representer(OrderedDict, PrettyYAMLDumper.represent_odict) +PrettyYAMLDumper.add_representer(set, PrettyYAMLDumper.represent_list) +PrettyYAMLDumper.add_representer(None, PrettyYAMLDumper.represent_undefined) + +if sys.version_info.major >= 3: + try: import pathlib + except ImportError: pass + else: + PrettyYAMLDumper.add_representer( + type(pathlib.Path('')), lambda cls,o: cls.represent_data(str(o)) ) + + +class UnsafePrettyYAMLDumper(PrettyYAMLDumper): + + def expect_block_sequence(self): + self.increase_indent(flow=False, indentless=False) + self.state = self.expect_first_block_sequence_item + + def expect_block_sequence_item(self, first=False): + if not first and isinstance(self.event, yaml.events.SequenceEndEvent): + self.indent = self.indents.pop() + self.state = self.states.pop() + else: + self.write_indent() + self.write_indicator('-', True, indention=True) + self.states.append(self.expect_block_sequence_item) + self.expect_node(sequence=True) + + def choose_scalar_style(self): + is_dict_key = self.states[-1] == self.expect_block_mapping_simple_value + if is_dict_key: + # Don't mess-up (replace) styles for dict keys, if possible + if self.pyaml_string_val_style: self.event.style = 'plain' + else: + # Make sure we don't create "key: null" mapping accidentally + if self.event.value.endswith(':'): self.event.style = "'" + return super(UnsafePrettyYAMLDumper, self).choose_scalar_style()\ + if self.event.style != 'plain' else ("'" if ' ' in self.event.value else None) + + def represent_stringish(dumper, data): + # Will crash on bytestrings with weird chars in them, + # because we can't tell if it's supposed to be e.g. utf-8 readable string + # or an arbitrary binary buffer, and former one *must* be pretty-printed + # PyYAML's Representer.represent_str does the guesswork and !!binary or !!python/str + # Explicit crash on any bytes object might be more sane, but also annoying + # Use something like base64 to encode such buffer values instead + # Having such binary stuff pretty much everywhere on unix (e.g. paths) kinda sucks + data = unicode(data) # read the comment above + + # Try to use '|' style for multiline data, + # quoting it with 'literal' if lines are too long anyway, + # not sure if Emitter.analyze_scalar can also provide useful info here + style = dumper.pyaml_string_val_style + if not style: + style = 'plain' + if '\n' in data or not data or data == '-' or data[0] in '!&*[' or '#' in data: + style = 'literal' + if '\n' in data[:-1]: + for line in data.splitlines(): + if len(line) > dumper.best_width: break + else: style = '|' + + return yaml.representer.ScalarNode('tag:yaml.org,2002:str', data, style=style) + +for str_type in {bytes, unicode}: + UnsafePrettyYAMLDumper.add_representer( + str_type, UnsafePrettyYAMLDumper.represent_stringish ) + +UnsafePrettyYAMLDumper.add_representer( + type(None), lambda s,o: s.represent_scalar('tag:yaml.org,2002:null', '') ) + +def add_representer(*args, **kws): + PrettyYAMLDumper.add_representer(*args, **kws) + UnsafePrettyYAMLDumper.add_representer(*args, **kws) + + +def dump_add_vspacing(buff, vspacing): + 'Post-processing to add some nice-ish spacing for deeper map/list levels.' + if isinstance(vspacing, int): + vspacing = ['\n']*(vspacing+1) + buff.seek(0) + result = list() + for line in buff: + level = 0 + line = line.decode('utf-8') + result.append(line) + if ':' in line or re.search(r'---(\s*$|\s)', line): + while line.startswith(' '): + level, line = level + 1, line[2:] + if len(vspacing) > level and len(result) != 1: + vspace = vspacing[level] + result.insert( -1, vspace + if not isinstance(vspace, int) else '\n'*vspace ) + buff.seek(0), buff.truncate() + buff.write(''.join(result).encode('utf-8')) + + +def dump_all(data, *dump_args, **dump_kws): + return dump(data, *dump_args, multiple_docs=True, **dump_kws) + +def dump( data, dst=unicode, safe=False, force_embed=False, vspacing=None, + string_val_style=None, sort_dicts=True, multiple_docs=False, **pyyaml_kws ): + buff = io.BytesIO() + Dumper = PrettyYAMLDumper if safe else UnsafePrettyYAMLDumper + Dumper = ft.partial( Dumper, + force_embed=force_embed, string_val_style=string_val_style, sort_dicts=sort_dicts ) + if not multiple_docs: data = [data] + else: pyyaml_kws.setdefault('explicit_start', True) + yaml.dump_all( data, buff, Dumper=Dumper, + default_flow_style=False, allow_unicode=True, encoding='utf-8', **pyyaml_kws ) + + if vspacing is not None: + dump_add_vspacing(buff, vspacing) + + buff = buff.getvalue() + if dst is bytes: return buff + elif dst is unicode: return buff.decode('utf-8') + else: + try: dst.write(b'') # tests if dst is unicode- or bytestream + except: dst.write(buff.decode('utf-8')) + else: dst.write(buff) + +def dumps(data, **dump_kws): + return dump(data, dst=bytes, **dump_kws) + +def pprint(*data, **dump_kws): + dst = dump_kws.pop('file', dump_kws.pop('dst', sys.stdout)) + if len(data) == 1: data, = data + dump(data, dst=dst, **dump_kws) + +p, _p = pprint, print +print = pprint # pyaml.print() won't work without "from __future__ import print_function" diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__main__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__main__.py new file mode 100644 index 00000000..a46fb5b8 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/__main__.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8 -*- + +import os, sys, stat, tempfile, contextlib, yaml, pyaml + + +@contextlib.contextmanager +def safe_replacement(path, *open_args, **open_kws): + path = str(path) + try: mode = stat.S_IMODE(os.stat(path).st_mode) + except (OSError, IOError): mode = None + open_kws.update( delete=False, + dir=os.path.dirname(path), prefix=os.path.basename(path)+'.' ) + with tempfile.NamedTemporaryFile(*open_args, **open_kws) as tmp: + try: + if mode is not None: os.fchmod(tmp.fileno(), mode) + yield tmp + if not tmp.closed: tmp.flush() + os.rename(tmp.name, path) + finally: + try: os.unlink(tmp.name) + except (OSError, IOError): pass + + +def main(argv=None): + import argparse + parser = argparse.ArgumentParser( + description='Process and dump prettified YAML to stdout.') + parser.add_argument('path', nargs='?', metavar='path', + help='Path to YAML to read (default: use stdin).') + parser.add_argument('-r', '--replace', action='store_true', + help='Replace specified path with prettified version in-place.') + parser.add_argument('-w', '--width', type=int, metavar='chars', + help='Max line width hint to pass to pyyaml for the dump.' + ' Only used to format scalars and collections (e.g. lists).') + opts = parser.parse_args(argv or sys.argv[1:]) + + src = open(opts.path) if opts.path else sys.stdin + try: data = yaml.safe_load(src) + finally: src.close() + + pyaml_kwargs = dict() + if opts.width: pyaml_kwargs['width'] = opts.width + if opts.replace and opts.path: + with safe_replacement(opts.path) as tmp: + pyaml.pprint(data, file=tmp, **pyaml_kwargs) + else: pyaml.pprint(data, **pyaml_kwargs) + +if __name__ == '__main__': sys.exit(main()) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/dump.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/dump.py new file mode 100644 index 00000000..882a8e8f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/pyaml/tests/dump.py @@ -0,0 +1,433 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals, print_function + +import itertools as it, operator as op, functools as ft +from collections import Mapping, OrderedDict, namedtuple +import os, sys, io, yaml, unittest + +if sys.version_info.major > 2: unicode = str + +try: import pyaml +except ImportError: + sys.path.insert(1, os.path.join(__file__, *['..']*3)) + import pyaml + + +large_yaml = b''' +### Default (baseline) configuration parameters. +### DO NOT ever change this config, use -c commandline option instead! + +# Note that this file is YAML, so YAML types can be used here, see http://yaml.org/type/ +# For instance, large number can be specified as "10_000_000" or "!!float 10e6". + +source: + # Path or glob pattern (to match path) to backup, required + path: # example: /srv/backups/weekly.* + + queue: + # Path to intermediate backup queue-file (list of paths to upload), required + path: # example: /srv/backups/queue.txt + # Don't rebuild queue-file if it's newer than source.path + check_mtime: true + + entry_cache: + # Path to persistent db (sqlite) of remote directory nodes, required + path: # example: /srv/backups/dentries.sqlite + + # How to pick a path among those matched by "path" glob + pick_policy: alphasort_last # only one supported + + +destination: + # URL of Tahoe-LAFS node webapi + url: http://localhost:3456/uri + + result: # what to do with a cap (URI) of a resulting tree (with full backup) + print_to_stdout: true + # Append the entry to the specified file (creating it, if doesn't exists) + # Example entry: "2012-10-10T23:12:43.904543 /srv/backups/weekly.2012-10-10 URI:DIR2-CHK:..." + append_to_file: # example: /srv/backups/lafs_caps + # Append the entry to specified tahoe-lafs directory (i.e. put it into that dir) + append_to_lafs_dir: # example: URI:DIR2:... + + encoding: + xz: + enabled: true + options: # see lzma.LZMAOptions, empty = module defaults + min_size: 5120 # don't compress files smaller than 5 KiB (unless overidden in "path_filter") + path_filter: + # List of include/exclude regexp path-rules, similar to "filter" section below. + # Same as with "filter", rules can be tuples with '+' or '-' (implied for strings) as first element. + # '+' will indicate that file is compressible, if it's size >= "min_size" option. + # Unlike "filter", first element of rule-tuple can also be a number, + # overriding "min_size" parameter for matched (by that rule) paths. + # If none of the patterns match path, file is handled as if it was matched by '+' rule. + + - '\.(gz|bz2|t[gb]z2?|xz|lzma|7z|zip|rar)$' + - '\.(rpm|deb|iso)$' + - '\.(jpe?g|gif|png|mov|avi|ogg|mkv|webm|mp[34g]|flv|flac|ape|pdf|djvu)$' + - '\.(sqlite3?|fossil|fsl)$' + - '\.git/objects/[0-9a-f]+/[0-9a-f]+$' + # - [500, '\.(txt|csv|log|md|rst|cat|(ba|z|k|c|fi)?sh|env)$'] + # - [500, '\.(cgi|py|p[lm]|php|c|h|[ce]l|lisp|hs|patch|diff|xml|xsl|css|x?html[45]?|js)$'] + # - [500, '\.(co?nf|cfg?|li?st|ini|ya?ml|jso?n|vg|tab)(\.(sample|default|\w+-new))?$'] + # - [500, '\.(unit|service|taget|mount|desktop|rules|rc|menu)$'] + # - [2000, '^/etc/'] + + +http: + request_pool_options: + maxPersistentPerHost: 10 + cachedConnectionTimeout: 600 + retryAutomatically: true + ca_certs_files: /etc/ssl/certs/ca-certificates.crt # can be a list + debug_requests: false # insecure! logs will contain tahoe caps + + +filter: + # Either tuples like "[action ('+' or '-'), regexp]" or just exclude-patterns (python + # regexps) to match relative (to source.path, starting with "/") paths to backup. + # Patterns are matched against each path in order they're listed here. + # Leaf directories are matched with the trailing slash + # (as with rsync) to be distinguishable from files with the same name. + # If path doesn't match any regexp on the list, it will be included. + # + # Examples: + # - ['+', '/\.git/config$'] # backup git repository config files + # - '/\.git/' # *don't* backup any repository objects + # - ['-', '/\.git/'] # exactly same thing as above (redundant) + # - '/(?i)\.?svn(/.*|ignore)$' # exclude (case-insensitive) svn (or .svn) paths and ignore-lists + + - '/(CVS|RCS|SCCS|_darcs|\{arch\})/$' + - '/\.(git|hg|bzr|svn|cvs)(/|ignore|attributes|tags)?$' + - '/=(RELEASE-ID|meta-update|update)$' + + +operation: + queue_only: false # only generate upload queue file, don't upload anything + reuse_queue: false # don't generate upload queue file, use existing one as-is + disable_deduplication: false # make no effort to de-duplicate data (should still work on tahoe-level for files) + + # Rate limiting might be useful to avoid excessive cpu/net usage on nodes, + # and especially when uploading to rate-limited api's (like free cloud storages). + # Only used when uploading objects to the grid, not when building queue file. + # Format of each value is "interval[:burst]", where "interval" can be specified as rate (e.g. "1/3e5"). + # Simple token bucket algorithm is used. Empty values mean "no limit". + # Examples: + # "objects: 1/10:50" - 10 objects per second, up to 50 at once (if rate was lower before). + # "objects: 0.1:50" - same as above. + # "objects: 10:20" - 1 object in 10 seconds, up to 20 at once. + # "objects: 5" - make interval between object uploads equal 5 seconds. + # "bytes: 1/3e6:50e6" - 3 MB/s max, up to 50 MB/s if connection was underutilized before. + rate_limit: + bytes: # limit on rate of *file* bytes upload, example: 1/3e5:20e6 + objects: # limit on rate of uploaded objects, example: 10:50 + + +logging: # see http://docs.python.org/library/logging.config.html + # "custom" level means WARNING/DEBUG/NOISE, depending on CLI options + warnings: true # capture python warnings + sql_queries: false # log executed sqlite queries (very noisy, caps will be there) + + version: 1 + formatters: + basic: + format: '%(asctime)s :: %(name)s :: %(levelname)s: %(message)s' + datefmt: '%Y-%m-%d %H:%M:%S' + handlers: + console: + class: logging.StreamHandler + stream: ext://sys.stderr + formatter: basic + level: custom + debug_logfile: + class: logging.handlers.RotatingFileHandler + filename: /srv/backups/debug.log + formatter: basic + encoding: utf-8 + maxBytes: 5242880 # 5 MiB + backupCount: 2 + level: NOISE + loggers: + twisted: + handlers: [console] + level: 0 + root: + level: custom + handlers: [console] +''' + +data = dict( + path='/some/path', + query_dump=OrderedDict([ + ('key1', 'тест1'), + ('key2', 'тест2'), + ('key3', 'тест3'), + ('последний', None) ]), + ids=OrderedDict(), + a=[1,None,'asd', 'не-ascii'], b=3.5, c=None, + asd=OrderedDict([('b', 1), ('a', 2)]) ) +data['query_dump_clone'] = data['query_dump'] +data['ids']['id в уникоде'] = [4, 5, 6] +data['ids']['id2 в уникоде'] = data['ids']['id в уникоде'] +# data["'asd'\n!\0\1"] =OrderedDict([('b', 1), ('a', 2)]) <-- fails in many ways + +data_str_multiline = dict(cert=( + '-----BEGIN CERTIFICATE-----\n' + 'MIIDUjCCAjoCCQD0/aLLkLY/QDANBgkqhkiG9w0BAQUFADBqMRAwDgYDVQQKFAdm\n' + 'Z19jb3JlMRYwFAYDVQQHEw1ZZWthdGVyaW5idXJnMR0wGwYDVQQIExRTdmVyZGxv\n' + 'dnNrYXlhIG9ibGFzdDELMAkGA1UEBhMCUlUxEjAQBgNVBAMTCWxvY2FsaG9zdDAg\n' + 'Fw0xMzA0MjQwODUxMTRaGA8yMDUzMDQxNDA4NTExNFowajEQMA4GA1UEChQHZmdf\n' + 'Y29yZTEWMBQGA1UEBxMNWWVrYXRlcmluYnVyZzEdMBsGA1UECBMUU3ZlcmRsb3Zz\n' + 'a2F5YSBvYmxhc3QxCzAJBgNVBAYTAlJVMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEi\n' + 'MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnZr3jbhfb5bUhORhmXOXOml8N\n' + 'fAli/ak6Yv+LRBtmOjke2gFybPZFuXYr0lYGQ4KgarN904vEg7WUbSlwwJuszJxQ\n' + 'Lz3xSDqQDqF74m1XeBYywZQIywKIbA/rfop3qiMeDWo3WavYp2kaxW28Xd/ZcsTd\n' + 'bN/eRo+Ft1bor1VPiQbkQKaOOi6K8M9a/2TK1ei2MceNbw6YrlCZe09l61RajCiz\n' + 'y5eZc96/1j436wynmqJn46hzc1gC3APjrkuYrvUNKORp8y//ye+6TX1mVbYW+M5n\n' + 'CZsIjjm9URUXf4wsacNlCHln1nwBxUe6D4e2Hxh2Oc0cocrAipxuNAa8Afn5AgMB\n' + 'AAEwDQYJKoZIhvcNAQEFBQADggEBADUHf1UXsiKCOYam9u3c0GRjg4V0TKkIeZWc\n' + 'uN59JWnpa/6RBJbykiZh8AMwdTonu02g95+13g44kjlUnK3WG5vGeUTrGv+6cnAf\n' + '4B4XwnWTHADQxbdRLja/YXqTkZrXkd7W3Ipxdi0bDCOSi/BXSmiblyWdbNU4cHF/\n' + 'Ex4dTWeGFiTWY2upX8sa+1PuZjk/Ry+RPMLzuamvzP20mVXmKtEIfQTzz4b8+Pom\n' + 'T1gqPkNEbe2j1DciRNUOH1iuY+cL/b7JqZvvdQK34w3t9Cz7GtMWKo+g+ZRdh3+q\n' + '2sn5m3EkrUb1hSKQbMWTbnaG4C/F3i4KVkH+8AZmR9OvOmZ+7Lo=\n' + '-----END CERTIFICATE-----' )) + +data_str_long = dict(cert=( + 'MIIDUjCCAjoCCQD0/aLLkLY/QDANBgkqhkiG9w0BAQUFADBqMRAwDgYDVQQKFAdm' + 'Z19jb3JlMRYwFAYDVQQHEw1ZZWthdGVyaW5idXJnMR0wGwYDVQQIExRTdmVyZGxv' + 'dnNrYXlhIG9ibGFzdDELMAkGA1UEBhMCUlUxEjAQBgNVBAMTCWxvY2FsaG9zdDAg' + 'Fw0xMzA0MjQwODUxMTRaGA8yMDUzMDQxNDA4NTExNFowajEQMA4GA1UEChQHZmdf' + 'Y29yZTEWMBQGA1UEBxMNWWVrYXRlcmluYnVyZzEdMBsGA1UECBMUU3ZlcmRsb3Zz' + 'a2F5YSBvYmxhc3QxCzAJBgNVBAYTAlJVMRIwEAYDVQQDEwlsb2NhbGhvc3QwggEi' + 'MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCnZr3jbhfb5bUhORhmXOXOml8N' + 'fAli/ak6Yv+LRBtmOjke2gFybPZFuXYr0lYGQ4KgarN904vEg7WUbSlwwJuszJxQ' + 'Lz3xSDqQDqF74m1XeBYywZQIywKIbA/rfop3qiMeDWo3WavYp2kaxW28Xd/ZcsTd' + 'bN/eRo+Ft1bor1VPiQbkQKaOOi6K8M9a/2TK1ei2MceNbw6YrlCZe09l61RajCiz' + 'y5eZc96/1j436wynmqJn46hzc1gC3APjrkuYrvUNKORp8y//ye+6TX1mVbYW+M5n' + 'CZsIjjm9URUXf4wsacNlCHln1nwBxUe6D4e2Hxh2Oc0cocrAipxuNAa8Afn5AgMB' + 'AAEwDQYJKoZIhvcNAQEFBQADggEBADUHf1UXsiKCOYam9u3c0GRjg4V0TKkIeZWc' + 'uN59JWnpa/6RBJbykiZh8AMwdTonu02g95+13g44kjlUnK3WG5vGeUTrGv+6cnAf' + '4B4XwnWTHADQxbdRLja/YXqTkZrXkd7W3Ipxdi0bDCOSi/BXSmiblyWdbNU4cHF/' + 'Ex4dTWeGFiTWY2upX8sa+1PuZjk/Ry+RPMLzuamvzP20mVXmKtEIfQTzz4b8+Pom' + 'T1gqPkNEbe2j1DciRNUOH1iuY+cL/b7JqZvvdQK34w3t9Cz7GtMWKo+g+ZRdh3+q' + '2sn5m3EkrUb1hSKQbMWTbnaG4C/F3i4KVkH+8AZmR9OvOmZ+7Lo=' )) + + +# Restore Python2-like heterogeneous list sorting functionality in Python3 +# Based on https://gist.github.com/pR0Ps/1e1a1e892aad5b691448 +def compare(x, y): + if x == y: return 0 + try: + if x < y: return -1 + else: return 1 + + except TypeError as e: + # The case where both are None is taken care of by the equality test + if x is None: return -1 + elif y is None: return 1 + + if type(x) != type(y): + return compare(*map(lambda t: type(t).__name__, [x, y])) + + # Types are the same but a native compare didn't work. + # x and y might be indexable, recursively compare elements + for a, b in zip(x, y): + c = compare(a, b) + if c != 0: return c + + return compare(len(x), len(y)) + + +class DumpTests(unittest.TestCase): + + def flatten(self, data, path=tuple()): + dst = list() + if isinstance(data, (tuple, list)): + for v in data: + dst.extend(self.flatten(v, path + (list,))) + elif isinstance(data, Mapping): + for k,v in data.items(): + dst.extend(self.flatten(v, path + (k,))) + else: dst.append((path, data)) + return tuple(sorted(dst, key=ft.cmp_to_key(compare))) + + def test_dst(self): + buff = io.BytesIO() + self.assertIs(pyaml.dump(data, buff), None) + self.assertIsInstance(pyaml.dump(data, str), str) + self.assertIsInstance(pyaml.dump(data, unicode), unicode) + + def test_simple(self): + a = self.flatten(data) + b = pyaml.dump(data, unicode) + self.assertEqual(a, self.flatten(yaml.safe_load(b))) + + def test_vspacing(self): + data = yaml.safe_load(large_yaml) + a = self.flatten(data) + b = pyaml.dump(data, unicode, vspacing=[2, 1]) + self.assertEqual(a, self.flatten(yaml.safe_load(b))) + pos, pos_list = 0, list() + while True: + pos = b.find(u'\n', pos+1) + if pos < 0: break + pos_list.append(pos) + self.assertEqual( pos_list, + [ 12, 13, 25, 33, 53, 74, 89, 108, 158, 185, 265, 300, 345, 346, 356, 376, 400, 426, 427, + 460, 461, 462, 470, 508, 564, 603, 604, 605, 611, 612, 665, 666, 690, 691, 715, 748, + 777, 806, 807, 808, 817, 818, 832, 843, 878, 948, 949, 961, 974, 1009, 1032, 1052, + 1083, 1102, 1123, 1173, 1195, 1234, 1257, 1276, 1300, 1301, 1312, 1325, 1341, 1359, + 1374, 1375, 1383, 1397, 1413, 1431, 1432, 1453, 1454, 1467, 1468, 1485, 1486, 1487, + 1498, 1499, 1530, 1531, 1551, 1552, 1566, 1577, 1590, 1591, 1612, 1613, 1614, 1622, + 1623, 1638, 1648, 1649, 1657, 1658, 1688, 1689, 1698, 1720, 1730 ] ) + b = pyaml.dump(data, unicode) + self.assertNotIn('\n\n', b) + + def test_ids(self): + b = pyaml.dump(data, unicode) + self.assertNotIn('&id00', b) + self.assertIn('query_dump_clone: *query_dump_clone', b) + self.assertIn("'id в уникоде': &ids_-_id2_v_unikode", b) # kinda bug - should be just "id" + + def test_force_embed(self): + b = pyaml.dump(data, unicode, force_embed=True) + c = pyaml.dump(data, unicode, safe=True, force_embed=True) + for char, dump in it.product('*&', [b, c]): + self.assertNotIn(char, dump) + + def test_encoding(self): + b = pyaml.dump(data, unicode, force_embed=True) + b_lines = list(map(unicode.strip, b.splitlines())) + chk = ['query_dump:', 'key1: тест1', 'key2: тест2', 'key3: тест3', 'последний:'] + pos = b_lines.index('query_dump:') + self.assertEqual(b_lines[pos:pos + len(chk)], chk) + + def test_str_long(self): + b = pyaml.dump(data_str_long, unicode) + self.assertNotIn('"', b) + self.assertNotIn("'", b) + self.assertEqual(len(b.splitlines()), 1) + + def test_str_multiline(self): + b = pyaml.dump(data_str_multiline, unicode) + b_lines = b.splitlines() + self.assertGreater(len(b_lines), len(data_str_multiline['cert'].splitlines())) + for line in b_lines: self.assertLess(len(line), 100) + + def test_dumps(self): + b = pyaml.dumps(data_str_multiline) + self.assertIsInstance(b, bytes) + + def test_print(self): + self.assertIs(pyaml.print, pyaml.pprint) + self.assertIs(pyaml.print, pyaml.p) + buff = io.BytesIO() + b = pyaml.dump(data_str_multiline, dst=bytes) + pyaml.print(data_str_multiline, file=buff) + self.assertEqual(b, buff.getvalue()) + + def test_print_args(self): + buff = io.BytesIO() + args = 1, 2, 3 + b = pyaml.dump(args, dst=bytes) + pyaml.print(*args, file=buff) + self.assertEqual(b, buff.getvalue()) + + def test_str_style_pick(self): + a = pyaml.dump(data_str_multiline) + b = pyaml.dump(data_str_multiline, string_val_style='|') + self.assertEqual(a, b) + b = pyaml.dump(data_str_multiline, string_val_style='plain') + self.assertNotEqual(a, b) + self.assertTrue(pyaml.dump('waka waka', string_val_style='|').startswith('|-\n')) + self.assertEqual(pyaml.dump(dict(a=1), string_val_style='|'), 'a: 1\n') + + def test_colons_in_strings(self): + val1 = {'foo': ['bar:', 'baz', 'bar:bazzo', 'a: b'], 'foo:': 'yak:'} + val1_str = pyaml.dump(val1) + val2 = yaml.safe_load(val1_str) + val2_str = pyaml.dump(val2) + val3 = yaml.safe_load(val2_str) + self.assertEqual(val1, val2) + self.assertEqual(val1_str, val2_str) + self.assertEqual(val2, val3) + + def test_empty_strings(self): + val1 = {'key': ['', 'stuff', '', 'more'], '': 'value', 'k3': ''} + val1_str = pyaml.dump(val1) + val2 = yaml.safe_load(val1_str) + val2_str = pyaml.dump(val2) + val3 = yaml.safe_load(val2_str) + self.assertEqual(val1, val2) + self.assertEqual(val1_str, val2_str) + self.assertEqual(val2, val3) + + def test_single_dash_strings(self): + strip_seq_dash = lambda line: line.lstrip().lstrip('-').lstrip() + val1 = {'key': ['-', '-stuff', '- -', '- more-', 'more-', '--']} + val1_str = pyaml.dump(val1) + val2 = yaml.safe_load(val1_str) + val2_str = pyaml.dump(val2) + val3 = yaml.safe_load(val2_str) + self.assertEqual(val1, val2) + self.assertEqual(val1_str, val2_str) + self.assertEqual(val2, val3) + val1_str_lines = val1_str.splitlines() + self.assertEqual(strip_seq_dash(val1_str_lines[2]), '-stuff') + self.assertEqual(strip_seq_dash(val1_str_lines[5]), 'more-') + self.assertEqual(strip_seq_dash(val1_str_lines[6]), '--') + val1 = {'key': '-'} + val1_str = pyaml.dump(val1) + val2 = yaml.safe_load(val1_str) + val2_str = pyaml.dump(val2) + val3 = yaml.safe_load(val2_str) + + def test_namedtuple(self): + TestTuple = namedtuple('TestTuple', 'y x z') + val = TestTuple(1, 2, 3) + val_str = pyaml.dump(val) + self.assertEqual(val_str, u'y: 1\nx: 2\nz: 3\n') # namedtuple order was preserved + + def test_ordereddict(self): + d = OrderedDict((i, '') for i in reversed(range(10))) + lines = pyaml.dump(d).splitlines() + self.assertEqual(lines, list(reversed(sorted(lines)))) + + def test_pyyaml_params(self): + d = {'foo': 'lorem ipsum ' * 30} # 300+ chars + for w in 40, 80, 200: + lines = pyaml.dump(d, width=w, indent=10).splitlines() + for n, line in enumerate(lines, 1): + self.assertLess(len(line), w*1.2) + if n != len(lines): self.assertGreater(len(line), w*0.8) + + def test_multiple_docs(self): + docs = [yaml.safe_load(large_yaml), dict(a=1, b=2, c=3)] + docs_str = pyaml.dump_all(docs, vspacing=[3, 2]) + self.assertTrue(docs_str.startswith('---')) + self.assertIn('---\n\n\n\na: 1\n\n\n\nb: 2\n\n\n\nc: 3\n', docs_str) + docs_str2 = pyaml.dump(docs, vspacing=[3, 2], multiple_docs=True) + self.assertEqual(docs_str, docs_str2) + docs_str2 = pyaml.dump(docs, vspacing=[3, 2]) + self.assertNotEqual(docs_str, docs_str2) + docs_str2 = pyaml.dump_all(docs, explicit_start=False) + self.assertFalse(docs_str2.startswith('---')) + self.assertNotEqual(docs_str, docs_str2) + docs_str = pyaml.dump(docs, multiple_docs=True, explicit_start=False) + self.assertEqual(docs_str, docs_str2) + + def test_ruamel_yaml(self): + try: from ruamel.yaml import YAML + except ImportError: return unittest.skip('No ruamel.yaml module to test it') + data = YAML(typ='safe').load(large_yaml) + yaml_str = pyaml.dump(data) + + +if __name__ == '__main__': + unittest.main() + # print('-'*80) + # pyaml.dump(yaml.safe_load(large_yaml), sys.stdout) + # print('-'*80) + # pyaml.dump(data, sys.stdout) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/__init__.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/__init__.py new file mode 100644 index 00000000..86d07b55 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/__init__.py @@ -0,0 +1,427 @@ + +from .error import * + +from .tokens import * +from .events import * +from .nodes import * + +from .loader import * +from .dumper import * + +__version__ = '5.4.1' +try: + from .cyaml import * + __with_libyaml__ = True +except ImportError: + __with_libyaml__ = False + +import io + +#------------------------------------------------------------------------------ +# Warnings control +#------------------------------------------------------------------------------ + +# 'Global' warnings state: +_warnings_enabled = { + 'YAMLLoadWarning': True, +} + +# Get or set global warnings' state +def warnings(settings=None): + if settings is None: + return _warnings_enabled + + if type(settings) is dict: + for key in settings: + if key in _warnings_enabled: + _warnings_enabled[key] = settings[key] + +# Warn when load() is called without Loader=... +class YAMLLoadWarning(RuntimeWarning): + pass + +def load_warning(method): + if _warnings_enabled['YAMLLoadWarning'] is False: + return + + import warnings + + message = ( + "calling yaml.%s() without Loader=... is deprecated, as the " + "default Loader is unsafe. Please read " + "https://msg.pyyaml.org/load for full details." + ) % method + + warnings.warn(message, YAMLLoadWarning, stacklevel=3) + +#------------------------------------------------------------------------------ +def scan(stream, Loader=Loader): + """ + Scan a YAML stream and produce scanning tokens. + """ + loader = Loader(stream) + try: + while loader.check_token(): + yield loader.get_token() + finally: + loader.dispose() + +def parse(stream, Loader=Loader): + """ + Parse a YAML stream and produce parsing events. + """ + loader = Loader(stream) + try: + while loader.check_event(): + yield loader.get_event() + finally: + loader.dispose() + +def compose(stream, Loader=Loader): + """ + Parse the first YAML document in a stream + and produce the corresponding representation tree. + """ + loader = Loader(stream) + try: + return loader.get_single_node() + finally: + loader.dispose() + +def compose_all(stream, Loader=Loader): + """ + Parse all YAML documents in a stream + and produce corresponding representation trees. + """ + loader = Loader(stream) + try: + while loader.check_node(): + yield loader.get_node() + finally: + loader.dispose() + +def load(stream, Loader=None): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + """ + if Loader is None: + load_warning('load') + Loader = FullLoader + + loader = Loader(stream) + try: + return loader.get_single_data() + finally: + loader.dispose() + +def load_all(stream, Loader=None): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + """ + if Loader is None: + load_warning('load_all') + Loader = FullLoader + + loader = Loader(stream) + try: + while loader.check_data(): + yield loader.get_data() + finally: + loader.dispose() + +def full_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load(stream, FullLoader) + +def full_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags except those known to be + unsafe on untrusted input. + """ + return load_all(stream, FullLoader) + +def safe_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. + """ + return load(stream, SafeLoader) + +def safe_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve only basic YAML tags. This is known + to be safe for untrusted input. + """ + return load_all(stream, SafeLoader) + +def unsafe_load(stream): + """ + Parse the first YAML document in a stream + and produce the corresponding Python object. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load(stream, UnsafeLoader) + +def unsafe_load_all(stream): + """ + Parse all YAML documents in a stream + and produce corresponding Python objects. + + Resolve all tags, even those known to be + unsafe on untrusted input. + """ + return load_all(stream, UnsafeLoader) + +def emit(events, stream=None, Dumper=Dumper, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None): + """ + Emit YAML parsing events into a stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + stream = io.StringIO() + getvalue = stream.getvalue + dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + try: + for event in events: + dumper.emit(event) + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def serialize_all(nodes, stream=None, Dumper=Dumper, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None): + """ + Serialize a sequence of representation trees into a YAML stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + if encoding is None: + stream = io.StringIO() + else: + stream = io.BytesIO() + getvalue = stream.getvalue + dumper = Dumper(stream, canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break, + encoding=encoding, version=version, tags=tags, + explicit_start=explicit_start, explicit_end=explicit_end) + try: + dumper.open() + for node in nodes: + dumper.serialize(node) + dumper.close() + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def serialize(node, stream=None, Dumper=Dumper, **kwds): + """ + Serialize a representation tree into a YAML stream. + If stream is None, return the produced string instead. + """ + return serialize_all([node], stream, Dumper=Dumper, **kwds) + +def dump_all(documents, stream=None, Dumper=Dumper, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + """ + Serialize a sequence of Python objects into a YAML stream. + If stream is None, return the produced string instead. + """ + getvalue = None + if stream is None: + if encoding is None: + stream = io.StringIO() + else: + stream = io.BytesIO() + getvalue = stream.getvalue + dumper = Dumper(stream, default_style=default_style, + default_flow_style=default_flow_style, + canonical=canonical, indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break, + encoding=encoding, version=version, tags=tags, + explicit_start=explicit_start, explicit_end=explicit_end, sort_keys=sort_keys) + try: + dumper.open() + for data in documents: + dumper.represent(data) + dumper.close() + finally: + dumper.dispose() + if getvalue: + return getvalue() + +def dump(data, stream=None, Dumper=Dumper, **kwds): + """ + Serialize a Python object into a YAML stream. + If stream is None, return the produced string instead. + """ + return dump_all([data], stream, Dumper=Dumper, **kwds) + +def safe_dump_all(documents, stream=None, **kwds): + """ + Serialize a sequence of Python objects into a YAML stream. + Produce only basic YAML tags. + If stream is None, return the produced string instead. + """ + return dump_all(documents, stream, Dumper=SafeDumper, **kwds) + +def safe_dump(data, stream=None, **kwds): + """ + Serialize a Python object into a YAML stream. + Produce only basic YAML tags. + If stream is None, return the produced string instead. + """ + return dump_all([data], stream, Dumper=SafeDumper, **kwds) + +def add_implicit_resolver(tag, regexp, first=None, + Loader=None, Dumper=Dumper): + """ + Add an implicit scalar detector. + If an implicit scalar value matches the given regexp, + the corresponding tag is assigned to the scalar. + first is a sequence of possible initial characters or None. + """ + if Loader is None: + loader.Loader.add_implicit_resolver(tag, regexp, first) + loader.FullLoader.add_implicit_resolver(tag, regexp, first) + loader.UnsafeLoader.add_implicit_resolver(tag, regexp, first) + else: + Loader.add_implicit_resolver(tag, regexp, first) + Dumper.add_implicit_resolver(tag, regexp, first) + +def add_path_resolver(tag, path, kind=None, Loader=None, Dumper=Dumper): + """ + Add a path based resolver for the given tag. + A path is a list of keys that forms a path + to a node in the representation tree. + Keys can be string values, integers, or None. + """ + if Loader is None: + loader.Loader.add_path_resolver(tag, path, kind) + loader.FullLoader.add_path_resolver(tag, path, kind) + loader.UnsafeLoader.add_path_resolver(tag, path, kind) + else: + Loader.add_path_resolver(tag, path, kind) + Dumper.add_path_resolver(tag, path, kind) + +def add_constructor(tag, constructor, Loader=None): + """ + Add a constructor for the given tag. + Constructor is a function that accepts a Loader instance + and a node object and produces the corresponding Python object. + """ + if Loader is None: + loader.Loader.add_constructor(tag, constructor) + loader.FullLoader.add_constructor(tag, constructor) + loader.UnsafeLoader.add_constructor(tag, constructor) + else: + Loader.add_constructor(tag, constructor) + +def add_multi_constructor(tag_prefix, multi_constructor, Loader=None): + """ + Add a multi-constructor for the given tag prefix. + Multi-constructor is called for a node if its tag starts with tag_prefix. + Multi-constructor accepts a Loader instance, a tag suffix, + and a node object and produces the corresponding Python object. + """ + if Loader is None: + loader.Loader.add_multi_constructor(tag_prefix, multi_constructor) + loader.FullLoader.add_multi_constructor(tag_prefix, multi_constructor) + loader.UnsafeLoader.add_multi_constructor(tag_prefix, multi_constructor) + else: + Loader.add_multi_constructor(tag_prefix, multi_constructor) + +def add_representer(data_type, representer, Dumper=Dumper): + """ + Add a representer for the given type. + Representer is a function accepting a Dumper instance + and an instance of the given data type + and producing the corresponding representation node. + """ + Dumper.add_representer(data_type, representer) + +def add_multi_representer(data_type, multi_representer, Dumper=Dumper): + """ + Add a representer for the given type. + Multi-representer is a function accepting a Dumper instance + and an instance of the given data type or subtype + and producing the corresponding representation node. + """ + Dumper.add_multi_representer(data_type, multi_representer) + +class YAMLObjectMetaclass(type): + """ + The metaclass for YAMLObject. + """ + def __init__(cls, name, bases, kwds): + super(YAMLObjectMetaclass, cls).__init__(name, bases, kwds) + if 'yaml_tag' in kwds and kwds['yaml_tag'] is not None: + if isinstance(cls.yaml_loader, list): + for loader in cls.yaml_loader: + loader.add_constructor(cls.yaml_tag, cls.from_yaml) + else: + cls.yaml_loader.add_constructor(cls.yaml_tag, cls.from_yaml) + + cls.yaml_dumper.add_representer(cls, cls.to_yaml) + +class YAMLObject(metaclass=YAMLObjectMetaclass): + """ + An object that can dump itself to a YAML stream + and load itself from a YAML stream. + """ + + __slots__ = () # no direct instantiation, so allow immutable subclasses + + yaml_loader = [Loader, FullLoader, UnsafeLoader] + yaml_dumper = Dumper + + yaml_tag = None + yaml_flow_style = None + + @classmethod + def from_yaml(cls, loader, node): + """ + Convert a representation node to a Python object. + """ + return loader.construct_yaml_object(node, cls) + + @classmethod + def to_yaml(cls, dumper, data): + """ + Convert a Python object to a representation node. + """ + return dumper.represent_yaml_object(cls.yaml_tag, data, cls, + flow_style=cls.yaml_flow_style) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/_yaml.cpython-38-x86_64-linux-gnu.so new file mode 100755 index 0000000000000000000000000000000000000000..801c0e2a72a862a33d640a576ca969b684dc8e86 GIT binary patch literal 2342916 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ÓMog`wQl-izT%Lvq6xkp2flmOG+$G)s?@ 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 z%0D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 z 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]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

UfmxZeWm1Prox@K*TY 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%0A!%*%$fv!us2mxz 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[0-9][0-9][0-9][0-9]) + -(?P[0-9][0-9]?) + -(?P[0-9][0-9]?) + (?:(?:[Tt]|[ \t]+) + (?P[0-9][0-9]?) + :(?P[0-9][0-9]) + :(?P[0-9][0-9]) + (?:\.(?P[0-9]*))? + (?:[ \t]*(?PZ|(?P[-+])(?P[0-9][0-9]?) + (?::(?P[0-9][0-9]))?))?)?$''', re.X) + + def construct_yaml_timestamp(self, node): + value = self.construct_scalar(node) + match = self.timestamp_regexp.match(node.value) + values = match.groupdict() + year = int(values['year']) + month = int(values['month']) + day = int(values['day']) + if not values['hour']: + return datetime.date(year, month, day) + hour = int(values['hour']) + minute = int(values['minute']) + second = int(values['second']) + fraction = 0 + tzinfo = None + if values['fraction']: + fraction = values['fraction'][:6] + while len(fraction) < 6: + fraction += '0' + fraction = int(fraction) + if values['tz_sign']: + tz_hour = int(values['tz_hour']) + tz_minute = int(values['tz_minute'] or 0) + delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute) + if values['tz_sign'] == '-': + delta = -delta + tzinfo = datetime.timezone(delta) + elif values['tz']: + tzinfo = datetime.timezone.utc + return datetime.datetime(year, month, day, hour, minute, second, fraction, + tzinfo=tzinfo) + + def construct_yaml_omap(self, node): + # Note: we do not check for duplicate keys, because it's too + # CPU-expensive. + omap = [] + yield omap + if not isinstance(node, SequenceNode): + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a sequence, but found %s" % node.id, node.start_mark) + for subnode in node.value: + if not isinstance(subnode, MappingNode): + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a mapping of length 1, but found %s" % subnode.id, + subnode.start_mark) + if len(subnode.value) != 1: + raise ConstructorError("while constructing an ordered map", node.start_mark, + "expected a single mapping item, but found %d items" % len(subnode.value), + subnode.start_mark) + key_node, value_node = subnode.value[0] + key = self.construct_object(key_node) + value = self.construct_object(value_node) + omap.append((key, value)) + + def construct_yaml_pairs(self, node): + # Note: the same code as `construct_yaml_omap`. + pairs = [] + yield pairs + if not isinstance(node, SequenceNode): + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a sequence, but found %s" % node.id, node.start_mark) + for subnode in node.value: + if not isinstance(subnode, MappingNode): + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a mapping of length 1, but found %s" % subnode.id, + subnode.start_mark) + if len(subnode.value) != 1: + raise ConstructorError("while constructing pairs", node.start_mark, + "expected a single mapping item, but found %d items" % len(subnode.value), + subnode.start_mark) + key_node, value_node = subnode.value[0] + key = self.construct_object(key_node) + value = self.construct_object(value_node) + pairs.append((key, value)) + + def construct_yaml_set(self, node): + data = set() + yield data + value = self.construct_mapping(node) + data.update(value) + + def construct_yaml_str(self, node): + return self.construct_scalar(node) + + def construct_yaml_seq(self, node): + data = [] + yield data + data.extend(self.construct_sequence(node)) + + def construct_yaml_map(self, node): + data = {} + yield data + value = self.construct_mapping(node) + data.update(value) + + def construct_yaml_object(self, node, cls): + data = cls.__new__(cls) + yield data + if hasattr(data, '__setstate__'): + state = self.construct_mapping(node, deep=True) + data.__setstate__(state) + else: + state = self.construct_mapping(node) + data.__dict__.update(state) + + def construct_undefined(self, node): + raise ConstructorError(None, None, + "could not determine a constructor for the tag %r" % node.tag, + node.start_mark) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:null', + SafeConstructor.construct_yaml_null) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:bool', + SafeConstructor.construct_yaml_bool) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:int', + SafeConstructor.construct_yaml_int) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:float', + SafeConstructor.construct_yaml_float) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:binary', + SafeConstructor.construct_yaml_binary) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:timestamp', + SafeConstructor.construct_yaml_timestamp) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:omap', + SafeConstructor.construct_yaml_omap) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:pairs', + SafeConstructor.construct_yaml_pairs) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:set', + SafeConstructor.construct_yaml_set) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:str', + SafeConstructor.construct_yaml_str) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:seq', + SafeConstructor.construct_yaml_seq) + +SafeConstructor.add_constructor( + 'tag:yaml.org,2002:map', + SafeConstructor.construct_yaml_map) + +SafeConstructor.add_constructor(None, + SafeConstructor.construct_undefined) + +class FullConstructor(SafeConstructor): + # 'extend' is blacklisted because it is used by + # construct_python_object_apply to add `listitems` to a newly generate + # python instance + def get_state_keys_blacklist(self): + return ['^extend$', '^__.*__$'] + + def get_state_keys_blacklist_regexp(self): + if not hasattr(self, 'state_keys_blacklist_regexp'): + self.state_keys_blacklist_regexp = re.compile('(' + '|'.join(self.get_state_keys_blacklist()) + ')') + return self.state_keys_blacklist_regexp + + def construct_python_str(self, node): + return self.construct_scalar(node) + + def construct_python_unicode(self, node): + return self.construct_scalar(node) + + def construct_python_bytes(self, node): + try: + value = self.construct_scalar(node).encode('ascii') + except UnicodeEncodeError as exc: + raise ConstructorError(None, None, + "failed to convert base64 data into ascii: %s" % exc, + node.start_mark) + try: + if hasattr(base64, 'decodebytes'): + return base64.decodebytes(value) + else: + return base64.decodestring(value) + except binascii.Error as exc: + raise ConstructorError(None, None, + "failed to decode base64 data: %s" % exc, node.start_mark) + + def construct_python_long(self, node): + return self.construct_yaml_int(node) + + def construct_python_complex(self, node): + return complex(self.construct_scalar(node)) + + def construct_python_tuple(self, node): + return tuple(self.construct_sequence(node)) + + def find_python_module(self, name, mark, unsafe=False): + if not name: + raise ConstructorError("while constructing a Python module", mark, + "expected non-empty name appended to the tag", mark) + if unsafe: + try: + __import__(name) + except ImportError as exc: + raise ConstructorError("while constructing a Python module", mark, + "cannot find module %r (%s)" % (name, exc), mark) + if name not in sys.modules: + raise ConstructorError("while constructing a Python module", mark, + "module %r is not imported" % name, mark) + return sys.modules[name] + + def find_python_name(self, name, mark, unsafe=False): + if not name: + raise ConstructorError("while constructing a Python object", mark, + "expected non-empty name appended to the tag", mark) + if '.' in name: + module_name, object_name = name.rsplit('.', 1) + else: + module_name = 'builtins' + object_name = name + if unsafe: + try: + __import__(module_name) + except ImportError as exc: + raise ConstructorError("while constructing a Python object", mark, + "cannot find module %r (%s)" % (module_name, exc), mark) + if module_name not in sys.modules: + raise ConstructorError("while constructing a Python object", mark, + "module %r is not imported" % module_name, mark) + module = sys.modules[module_name] + if not hasattr(module, object_name): + raise ConstructorError("while constructing a Python object", mark, + "cannot find %r in the module %r" + % (object_name, module.__name__), mark) + return getattr(module, object_name) + + def construct_python_name(self, suffix, node): + value = self.construct_scalar(node) + if value: + raise ConstructorError("while constructing a Python name", node.start_mark, + "expected the empty value, but found %r" % value, node.start_mark) + return self.find_python_name(suffix, node.start_mark) + + def construct_python_module(self, suffix, node): + value = self.construct_scalar(node) + if value: + raise ConstructorError("while constructing a Python module", node.start_mark, + "expected the empty value, but found %r" % value, node.start_mark) + return self.find_python_module(suffix, node.start_mark) + + def make_python_instance(self, suffix, node, + args=None, kwds=None, newobj=False, unsafe=False): + if not args: + args = [] + if not kwds: + kwds = {} + cls = self.find_python_name(suffix, node.start_mark) + if not (unsafe or isinstance(cls, type)): + raise ConstructorError("while constructing a Python instance", node.start_mark, + "expected a class, but found %r" % type(cls), + node.start_mark) + if newobj and isinstance(cls, type): + return cls.__new__(cls, *args, **kwds) + else: + return cls(*args, **kwds) + + def set_python_instance_state(self, instance, state, unsafe=False): + if hasattr(instance, '__setstate__'): + instance.__setstate__(state) + else: + slotstate = {} + if isinstance(state, tuple) and len(state) == 2: + state, slotstate = state + if hasattr(instance, '__dict__'): + if not unsafe and state: + for key in state.keys(): + self.check_state_key(key) + instance.__dict__.update(state) + elif state: + slotstate.update(state) + for key, value in slotstate.items(): + if not unsafe: + self.check_state_key(key) + setattr(instance, key, value) + + def construct_python_object(self, suffix, node): + # Format: + # !!python/object:module.name { ... state ... } + instance = self.make_python_instance(suffix, node, newobj=True) + yield instance + deep = hasattr(instance, '__setstate__') + state = self.construct_mapping(node, deep=deep) + self.set_python_instance_state(instance, state) + + def construct_python_object_apply(self, suffix, node, newobj=False): + # Format: + # !!python/object/apply # (or !!python/object/new) + # args: [ ... arguments ... ] + # kwds: { ... keywords ... } + # state: ... state ... + # listitems: [ ... listitems ... ] + # dictitems: { ... dictitems ... } + # or short format: + # !!python/object/apply [ ... arguments ... ] + # The difference between !!python/object/apply and !!python/object/new + # is how an object is created, check make_python_instance for details. + if isinstance(node, SequenceNode): + args = self.construct_sequence(node, deep=True) + kwds = {} + state = {} + listitems = [] + dictitems = {} + else: + value = self.construct_mapping(node, deep=True) + args = value.get('args', []) + kwds = value.get('kwds', {}) + state = value.get('state', {}) + listitems = value.get('listitems', []) + dictitems = value.get('dictitems', {}) + instance = self.make_python_instance(suffix, node, args, kwds, newobj) + if state: + self.set_python_instance_state(instance, state) + if listitems: + instance.extend(listitems) + if dictitems: + for key in dictitems: + instance[key] = dictitems[key] + return instance + + def construct_python_object_new(self, suffix, node): + return self.construct_python_object_apply(suffix, node, newobj=True) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/none', + FullConstructor.construct_yaml_null) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bool', + FullConstructor.construct_yaml_bool) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/str', + FullConstructor.construct_python_str) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/unicode', + FullConstructor.construct_python_unicode) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/bytes', + FullConstructor.construct_python_bytes) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/int', + FullConstructor.construct_yaml_int) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/long', + FullConstructor.construct_python_long) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/float', + FullConstructor.construct_yaml_float) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/complex', + FullConstructor.construct_python_complex) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/list', + FullConstructor.construct_yaml_seq) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/tuple', + FullConstructor.construct_python_tuple) + +FullConstructor.add_constructor( + 'tag:yaml.org,2002:python/dict', + FullConstructor.construct_yaml_map) + +FullConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/name:', + FullConstructor.construct_python_name) + +class UnsafeConstructor(FullConstructor): + + def find_python_module(self, name, mark): + return super(UnsafeConstructor, self).find_python_module(name, mark, unsafe=True) + + def find_python_name(self, name, mark): + return super(UnsafeConstructor, self).find_python_name(name, mark, unsafe=True) + + def make_python_instance(self, suffix, node, args=None, kwds=None, newobj=False): + return super(UnsafeConstructor, self).make_python_instance( + suffix, node, args, kwds, newobj, unsafe=True) + + def set_python_instance_state(self, instance, state): + return super(UnsafeConstructor, self).set_python_instance_state( + instance, state, unsafe=True) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/module:', + UnsafeConstructor.construct_python_module) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object:', + UnsafeConstructor.construct_python_object) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/new:', + UnsafeConstructor.construct_python_object_new) + +UnsafeConstructor.add_multi_constructor( + 'tag:yaml.org,2002:python/object/apply:', + UnsafeConstructor.construct_python_object_apply) + +# Constructor is same as UnsafeConstructor. Need to leave this in place in case +# people have extended it directly. +class Constructor(UnsafeConstructor): + pass diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/cyaml.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/cyaml.py new file mode 100644 index 00000000..0c213458 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/cyaml.py @@ -0,0 +1,101 @@ + +__all__ = [ + 'CBaseLoader', 'CSafeLoader', 'CFullLoader', 'CUnsafeLoader', 'CLoader', + 'CBaseDumper', 'CSafeDumper', 'CDumper' +] + +from yaml._yaml import CParser, CEmitter + +from .constructor import * + +from .serializer import * +from .representer import * + +from .resolver import * + +class CBaseLoader(CParser, BaseConstructor, BaseResolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + BaseConstructor.__init__(self) + BaseResolver.__init__(self) + +class CSafeLoader(CParser, SafeConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + SafeConstructor.__init__(self) + Resolver.__init__(self) + +class CFullLoader(CParser, FullConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class CUnsafeLoader(CParser, UnsafeConstructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + UnsafeConstructor.__init__(self) + Resolver.__init__(self) + +class CLoader(CParser, Constructor, Resolver): + + def __init__(self, stream): + CParser.__init__(self, stream) + Constructor.__init__(self) + Resolver.__init__(self) + +class CBaseDumper(CEmitter, BaseRepresenter, BaseResolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class CSafeDumper(CEmitter, SafeRepresenter, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + SafeRepresenter.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class CDumper(CEmitter, Serializer, Representer, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + CEmitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, encoding=encoding, + allow_unicode=allow_unicode, line_break=line_break, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/dumper.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/dumper.py new file mode 100644 index 00000000..6aadba55 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/dumper.py @@ -0,0 +1,62 @@ + +__all__ = ['BaseDumper', 'SafeDumper', 'Dumper'] + +from .emitter import * +from .serializer import * +from .representer import * +from .resolver import * + +class BaseDumper(Emitter, Serializer, BaseRepresenter, BaseResolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class SafeDumper(Emitter, Serializer, SafeRepresenter, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + SafeRepresenter.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + +class Dumper(Emitter, Serializer, Representer, Resolver): + + def __init__(self, stream, + default_style=None, default_flow_style=False, + canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None, + encoding=None, explicit_start=None, explicit_end=None, + version=None, tags=None, sort_keys=True): + Emitter.__init__(self, stream, canonical=canonical, + indent=indent, width=width, + allow_unicode=allow_unicode, line_break=line_break) + Serializer.__init__(self, encoding=encoding, + explicit_start=explicit_start, explicit_end=explicit_end, + version=version, tags=tags) + Representer.__init__(self, default_style=default_style, + default_flow_style=default_flow_style, sort_keys=sort_keys) + Resolver.__init__(self) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/emitter.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/emitter.py new file mode 100644 index 00000000..a664d011 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/emitter.py @@ -0,0 +1,1137 @@ + +# Emitter expects events obeying the following grammar: +# stream ::= STREAM-START document* STREAM-END +# document ::= DOCUMENT-START node DOCUMENT-END +# node ::= SCALAR | sequence | mapping +# sequence ::= SEQUENCE-START node* SEQUENCE-END +# mapping ::= MAPPING-START (node node)* MAPPING-END + +__all__ = ['Emitter', 'EmitterError'] + +from .error import YAMLError +from .events import * + +class EmitterError(YAMLError): + pass + +class ScalarAnalysis: + def __init__(self, scalar, empty, multiline, + allow_flow_plain, allow_block_plain, + allow_single_quoted, allow_double_quoted, + allow_block): + self.scalar = scalar + self.empty = empty + self.multiline = multiline + self.allow_flow_plain = allow_flow_plain + self.allow_block_plain = allow_block_plain + self.allow_single_quoted = allow_single_quoted + self.allow_double_quoted = allow_double_quoted + self.allow_block = allow_block + +class Emitter: + + DEFAULT_TAG_PREFIXES = { + '!' : '!', + 'tag:yaml.org,2002:' : '!!', + } + + def __init__(self, stream, canonical=None, indent=None, width=None, + allow_unicode=None, line_break=None): + + # The stream should have the methods `write` and possibly `flush`. + self.stream = stream + + # Encoding can be overridden by STREAM-START. + self.encoding = None + + # Emitter is a state machine with a stack of states to handle nested + # structures. + self.states = [] + self.state = self.expect_stream_start + + # Current event and the event queue. + self.events = [] + self.event = None + + # The current indentation level and the stack of previous indents. + self.indents = [] + self.indent = None + + # Flow level. + self.flow_level = 0 + + # Contexts. + self.root_context = False + self.sequence_context = False + self.mapping_context = False + self.simple_key_context = False + + # Characteristics of the last emitted character: + # - current position. + # - is it a whitespace? + # - is it an indention character + # (indentation space, '-', '?', or ':')? + self.line = 0 + self.column = 0 + self.whitespace = True + self.indention = True + + # Whether the document requires an explicit document indicator + self.open_ended = False + + # Formatting details. + self.canonical = canonical + self.allow_unicode = allow_unicode + self.best_indent = 2 + if indent and 1 < indent < 10: + self.best_indent = indent + self.best_width = 80 + if width and width > self.best_indent*2: + self.best_width = width + self.best_line_break = '\n' + if line_break in ['\r', '\n', '\r\n']: + self.best_line_break = line_break + + # Tag prefixes. + self.tag_prefixes = None + + # Prepared anchor and tag. + self.prepared_anchor = None + self.prepared_tag = None + + # Scalar analysis and style. + self.analysis = None + self.style = None + + def dispose(self): + # Reset the state attributes (to clear self-references) + self.states = [] + self.state = None + + def emit(self, event): + self.events.append(event) + while not self.need_more_events(): + self.event = self.events.pop(0) + self.state() + self.event = None + + # In some cases, we wait for a few next events before emitting. + + def need_more_events(self): + if not self.events: + return True + event = self.events[0] + if isinstance(event, DocumentStartEvent): + return self.need_events(1) + elif isinstance(event, SequenceStartEvent): + return self.need_events(2) + elif isinstance(event, MappingStartEvent): + return self.need_events(3) + else: + return False + + def need_events(self, count): + level = 0 + for event in self.events[1:]: + if isinstance(event, (DocumentStartEvent, CollectionStartEvent)): + level += 1 + elif isinstance(event, (DocumentEndEvent, CollectionEndEvent)): + level -= 1 + elif isinstance(event, StreamEndEvent): + level = -1 + if level < 0: + return False + return (len(self.events) < count+1) + + def increase_indent(self, flow=False, indentless=False): + self.indents.append(self.indent) + if self.indent is None: + if flow: + self.indent = self.best_indent + else: + self.indent = 0 + elif not indentless: + self.indent += self.best_indent + + # States. + + # Stream handlers. + + def expect_stream_start(self): + if isinstance(self.event, StreamStartEvent): + if self.event.encoding and not hasattr(self.stream, 'encoding'): + self.encoding = self.event.encoding + self.write_stream_start() + self.state = self.expect_first_document_start + else: + raise EmitterError("expected StreamStartEvent, but got %s" + % self.event) + + def expect_nothing(self): + raise EmitterError("expected nothing, but got %s" % self.event) + + # Document handlers. + + def expect_first_document_start(self): + return self.expect_document_start(first=True) + + def expect_document_start(self, first=False): + if isinstance(self.event, DocumentStartEvent): + if (self.event.version or self.event.tags) and self.open_ended: + self.write_indicator('...', True) + self.write_indent() + if self.event.version: + version_text = self.prepare_version(self.event.version) + self.write_version_directive(version_text) + self.tag_prefixes = self.DEFAULT_TAG_PREFIXES.copy() + if self.event.tags: + handles = sorted(self.event.tags.keys()) + for handle in handles: + prefix = self.event.tags[handle] + self.tag_prefixes[prefix] = handle + handle_text = self.prepare_tag_handle(handle) + prefix_text = self.prepare_tag_prefix(prefix) + self.write_tag_directive(handle_text, prefix_text) + implicit = (first and not self.event.explicit and not self.canonical + and not self.event.version and not self.event.tags + and not self.check_empty_document()) + if not implicit: + self.write_indent() + self.write_indicator('---', True) + if self.canonical: + self.write_indent() + self.state = self.expect_document_root + elif isinstance(self.event, StreamEndEvent): + if self.open_ended: + self.write_indicator('...', True) + self.write_indent() + self.write_stream_end() + self.state = self.expect_nothing + else: + raise EmitterError("expected DocumentStartEvent, but got %s" + % self.event) + + def expect_document_end(self): + if isinstance(self.event, DocumentEndEvent): + self.write_indent() + if self.event.explicit: + self.write_indicator('...', True) + self.write_indent() + self.flush_stream() + self.state = self.expect_document_start + else: + raise EmitterError("expected DocumentEndEvent, but got %s" + % self.event) + + def expect_document_root(self): + self.states.append(self.expect_document_end) + self.expect_node(root=True) + + # Node handlers. + + def expect_node(self, root=False, sequence=False, mapping=False, + simple_key=False): + self.root_context = root + self.sequence_context = sequence + self.mapping_context = mapping + self.simple_key_context = simple_key + if isinstance(self.event, AliasEvent): + self.expect_alias() + elif isinstance(self.event, (ScalarEvent, CollectionStartEvent)): + self.process_anchor('&') + self.process_tag() + if isinstance(self.event, ScalarEvent): + self.expect_scalar() + elif isinstance(self.event, SequenceStartEvent): + if self.flow_level or self.canonical or self.event.flow_style \ + or self.check_empty_sequence(): + self.expect_flow_sequence() + else: + self.expect_block_sequence() + elif isinstance(self.event, MappingStartEvent): + if self.flow_level or self.canonical or self.event.flow_style \ + or self.check_empty_mapping(): + self.expect_flow_mapping() + else: + self.expect_block_mapping() + else: + raise EmitterError("expected NodeEvent, but got %s" % self.event) + + def expect_alias(self): + if self.event.anchor is None: + raise EmitterError("anchor is not specified for alias") + self.process_anchor('*') + self.state = self.states.pop() + + def expect_scalar(self): + self.increase_indent(flow=True) + self.process_scalar() + self.indent = self.indents.pop() + self.state = self.states.pop() + + # Flow sequence handlers. + + def expect_flow_sequence(self): + self.write_indicator('[', True, whitespace=True) + self.flow_level += 1 + self.increase_indent(flow=True) + self.state = self.expect_first_flow_sequence_item + + def expect_first_flow_sequence_item(self): + if isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + self.write_indicator(']', False) + self.state = self.states.pop() + else: + if self.canonical or self.column > self.best_width: + self.write_indent() + self.states.append(self.expect_flow_sequence_item) + self.expect_node(sequence=True) + + def expect_flow_sequence_item(self): + if isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + if self.canonical: + self.write_indicator(',', False) + self.write_indent() + self.write_indicator(']', False) + self.state = self.states.pop() + else: + self.write_indicator(',', False) + if self.canonical or self.column > self.best_width: + self.write_indent() + self.states.append(self.expect_flow_sequence_item) + self.expect_node(sequence=True) + + # Flow mapping handlers. + + def expect_flow_mapping(self): + self.write_indicator('{', True, whitespace=True) + self.flow_level += 1 + self.increase_indent(flow=True) + self.state = self.expect_first_flow_mapping_key + + def expect_first_flow_mapping_key(self): + if isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + self.write_indicator('}', False) + self.state = self.states.pop() + else: + if self.canonical or self.column > self.best_width: + self.write_indent() + if not self.canonical and self.check_simple_key(): + self.states.append(self.expect_flow_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True) + self.states.append(self.expect_flow_mapping_value) + self.expect_node(mapping=True) + + def expect_flow_mapping_key(self): + if isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.flow_level -= 1 + if self.canonical: + self.write_indicator(',', False) + self.write_indent() + self.write_indicator('}', False) + self.state = self.states.pop() + else: + self.write_indicator(',', False) + if self.canonical or self.column > self.best_width: + self.write_indent() + if not self.canonical and self.check_simple_key(): + self.states.append(self.expect_flow_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True) + self.states.append(self.expect_flow_mapping_value) + self.expect_node(mapping=True) + + def expect_flow_mapping_simple_value(self): + self.write_indicator(':', False) + self.states.append(self.expect_flow_mapping_key) + self.expect_node(mapping=True) + + def expect_flow_mapping_value(self): + if self.canonical or self.column > self.best_width: + self.write_indent() + self.write_indicator(':', True) + self.states.append(self.expect_flow_mapping_key) + self.expect_node(mapping=True) + + # Block sequence handlers. + + def expect_block_sequence(self): + indentless = (self.mapping_context and not self.indention) + self.increase_indent(flow=False, indentless=indentless) + self.state = self.expect_first_block_sequence_item + + def expect_first_block_sequence_item(self): + return self.expect_block_sequence_item(first=True) + + def expect_block_sequence_item(self, first=False): + if not first and isinstance(self.event, SequenceEndEvent): + self.indent = self.indents.pop() + self.state = self.states.pop() + else: + self.write_indent() + self.write_indicator('-', True, indention=True) + self.states.append(self.expect_block_sequence_item) + self.expect_node(sequence=True) + + # Block mapping handlers. + + def expect_block_mapping(self): + self.increase_indent(flow=False) + self.state = self.expect_first_block_mapping_key + + def expect_first_block_mapping_key(self): + return self.expect_block_mapping_key(first=True) + + def expect_block_mapping_key(self, first=False): + if not first and isinstance(self.event, MappingEndEvent): + self.indent = self.indents.pop() + self.state = self.states.pop() + else: + self.write_indent() + if self.check_simple_key(): + self.states.append(self.expect_block_mapping_simple_value) + self.expect_node(mapping=True, simple_key=True) + else: + self.write_indicator('?', True, indention=True) + self.states.append(self.expect_block_mapping_value) + self.expect_node(mapping=True) + + def expect_block_mapping_simple_value(self): + self.write_indicator(':', False) + self.states.append(self.expect_block_mapping_key) + self.expect_node(mapping=True) + + def expect_block_mapping_value(self): + self.write_indent() + self.write_indicator(':', True, indention=True) + self.states.append(self.expect_block_mapping_key) + self.expect_node(mapping=True) + + # Checkers. + + def check_empty_sequence(self): + return (isinstance(self.event, SequenceStartEvent) and self.events + and isinstance(self.events[0], SequenceEndEvent)) + + def check_empty_mapping(self): + return (isinstance(self.event, MappingStartEvent) and self.events + and isinstance(self.events[0], MappingEndEvent)) + + def check_empty_document(self): + if not isinstance(self.event, DocumentStartEvent) or not self.events: + return False + event = self.events[0] + return (isinstance(event, ScalarEvent) and event.anchor is None + and event.tag is None and event.implicit and event.value == '') + + def check_simple_key(self): + length = 0 + if isinstance(self.event, NodeEvent) and self.event.anchor is not None: + if self.prepared_anchor is None: + self.prepared_anchor = self.prepare_anchor(self.event.anchor) + length += len(self.prepared_anchor) + if isinstance(self.event, (ScalarEvent, CollectionStartEvent)) \ + and self.event.tag is not None: + if self.prepared_tag is None: + self.prepared_tag = self.prepare_tag(self.event.tag) + length += len(self.prepared_tag) + if isinstance(self.event, ScalarEvent): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + length += len(self.analysis.scalar) + return (length < 128 and (isinstance(self.event, AliasEvent) + or (isinstance(self.event, ScalarEvent) + and not self.analysis.empty and not self.analysis.multiline) + or self.check_empty_sequence() or self.check_empty_mapping())) + + # Anchor, Tag, and Scalar processors. + + def process_anchor(self, indicator): + if self.event.anchor is None: + self.prepared_anchor = None + return + if self.prepared_anchor is None: + self.prepared_anchor = self.prepare_anchor(self.event.anchor) + if self.prepared_anchor: + self.write_indicator(indicator+self.prepared_anchor, True) + self.prepared_anchor = None + + def process_tag(self): + tag = self.event.tag + if isinstance(self.event, ScalarEvent): + if self.style is None: + self.style = self.choose_scalar_style() + if ((not self.canonical or tag is None) and + ((self.style == '' and self.event.implicit[0]) + or (self.style != '' and self.event.implicit[1]))): + self.prepared_tag = None + return + if self.event.implicit[0] and tag is None: + tag = '!' + self.prepared_tag = None + else: + if (not self.canonical or tag is None) and self.event.implicit: + self.prepared_tag = None + return + if tag is None: + raise EmitterError("tag is not specified") + if self.prepared_tag is None: + self.prepared_tag = self.prepare_tag(tag) + if self.prepared_tag: + self.write_indicator(self.prepared_tag, True) + self.prepared_tag = None + + def choose_scalar_style(self): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + if self.event.style == '"' or self.canonical: + return '"' + if not self.event.style and self.event.implicit[0]: + if (not (self.simple_key_context and + (self.analysis.empty or self.analysis.multiline)) + and (self.flow_level and self.analysis.allow_flow_plain + or (not self.flow_level and self.analysis.allow_block_plain))): + return '' + if self.event.style and self.event.style in '|>': + if (not self.flow_level and not self.simple_key_context + and self.analysis.allow_block): + return self.event.style + if not self.event.style or self.event.style == '\'': + if (self.analysis.allow_single_quoted and + not (self.simple_key_context and self.analysis.multiline)): + return '\'' + return '"' + + def process_scalar(self): + if self.analysis is None: + self.analysis = self.analyze_scalar(self.event.value) + if self.style is None: + self.style = self.choose_scalar_style() + split = (not self.simple_key_context) + #if self.analysis.multiline and split \ + # and (not self.style or self.style in '\'\"'): + # self.write_indent() + if self.style == '"': + self.write_double_quoted(self.analysis.scalar, split) + elif self.style == '\'': + self.write_single_quoted(self.analysis.scalar, split) + elif self.style == '>': + self.write_folded(self.analysis.scalar) + elif self.style == '|': + self.write_literal(self.analysis.scalar) + else: + self.write_plain(self.analysis.scalar, split) + self.analysis = None + self.style = None + + # Analyzers. + + def prepare_version(self, version): + major, minor = version + if major != 1: + raise EmitterError("unsupported YAML version: %d.%d" % (major, minor)) + return '%d.%d' % (major, minor) + + def prepare_tag_handle(self, handle): + if not handle: + raise EmitterError("tag handle must not be empty") + if handle[0] != '!' or handle[-1] != '!': + raise EmitterError("tag handle must start and end with '!': %r" % handle) + for ch in handle[1:-1]: + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): + raise EmitterError("invalid character %r in the tag handle: %r" + % (ch, handle)) + return handle + + def prepare_tag_prefix(self, prefix): + if not prefix: + raise EmitterError("tag prefix must not be empty") + chunks = [] + start = end = 0 + if prefix[0] == '!': + end = 1 + while end < len(prefix): + ch = prefix[end] + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?!:@&=+$,_.~*\'()[]': + end += 1 + else: + if start < end: + chunks.append(prefix[start:end]) + start = end = end+1 + data = ch.encode('utf-8') + for ch in data: + chunks.append('%%%02X' % ord(ch)) + if start < end: + chunks.append(prefix[start:end]) + return ''.join(chunks) + + def prepare_tag(self, tag): + if not tag: + raise EmitterError("tag must not be empty") + if tag == '!': + return tag + handle = None + suffix = tag + prefixes = sorted(self.tag_prefixes.keys()) + for prefix in prefixes: + if tag.startswith(prefix) \ + and (prefix == '!' or len(prefix) < len(tag)): + handle = self.tag_prefixes[prefix] + suffix = tag[len(prefix):] + chunks = [] + start = end = 0 + while end < len(suffix): + ch = suffix[end] + if '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.~*\'()[]' \ + or (ch == '!' and handle != '!'): + end += 1 + else: + if start < end: + chunks.append(suffix[start:end]) + start = end = end+1 + data = ch.encode('utf-8') + for ch in data: + chunks.append('%%%02X' % ch) + if start < end: + chunks.append(suffix[start:end]) + suffix_text = ''.join(chunks) + if handle: + return '%s%s' % (handle, suffix_text) + else: + return '!<%s>' % suffix_text + + def prepare_anchor(self, anchor): + if not anchor: + raise EmitterError("anchor must not be empty") + for ch in anchor: + if not ('0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_'): + raise EmitterError("invalid character %r in the anchor: %r" + % (ch, anchor)) + return anchor + + def analyze_scalar(self, scalar): + + # Empty scalar is a special case. + if not scalar: + return ScalarAnalysis(scalar=scalar, empty=True, multiline=False, + allow_flow_plain=False, allow_block_plain=True, + allow_single_quoted=True, allow_double_quoted=True, + allow_block=False) + + # Indicators and special characters. + block_indicators = False + flow_indicators = False + line_breaks = False + special_characters = False + + # Important whitespace combinations. + leading_space = False + leading_break = False + trailing_space = False + trailing_break = False + break_space = False + space_break = False + + # Check document indicators. + if scalar.startswith('---') or scalar.startswith('...'): + block_indicators = True + flow_indicators = True + + # First character or preceded by a whitespace. + preceded_by_whitespace = True + + # Last character or followed by a whitespace. + followed_by_whitespace = (len(scalar) == 1 or + scalar[1] in '\0 \t\r\n\x85\u2028\u2029') + + # The previous character is a space. + previous_space = False + + # The previous character is a break. + previous_break = False + + index = 0 + while index < len(scalar): + ch = scalar[index] + + # Check for indicators. + if index == 0: + # Leading indicators are special characters. + if ch in '#,[]{}&*!|>\'\"%@`': + flow_indicators = True + block_indicators = True + if ch in '?:': + flow_indicators = True + if followed_by_whitespace: + block_indicators = True + if ch == '-' and followed_by_whitespace: + flow_indicators = True + block_indicators = True + else: + # Some indicators cannot appear within a scalar as well. + if ch in ',?[]{}': + flow_indicators = True + if ch == ':': + flow_indicators = True + if followed_by_whitespace: + block_indicators = True + if ch == '#' and preceded_by_whitespace: + flow_indicators = True + block_indicators = True + + # Check for line breaks, special, and unicode characters. + if ch in '\n\x85\u2028\u2029': + line_breaks = True + if not (ch == '\n' or '\x20' <= ch <= '\x7E'): + if (ch == '\x85' or '\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD' + or '\U00010000' <= ch < '\U0010ffff') and ch != '\uFEFF': + unicode_characters = True + if not self.allow_unicode: + special_characters = True + else: + special_characters = True + + # Detect important whitespace combinations. + if ch == ' ': + if index == 0: + leading_space = True + if index == len(scalar)-1: + trailing_space = True + if previous_break: + break_space = True + previous_space = True + previous_break = False + elif ch in '\n\x85\u2028\u2029': + if index == 0: + leading_break = True + if index == len(scalar)-1: + trailing_break = True + if previous_space: + space_break = True + previous_space = False + previous_break = True + else: + previous_space = False + previous_break = False + + # Prepare for the next character. + index += 1 + preceded_by_whitespace = (ch in '\0 \t\r\n\x85\u2028\u2029') + followed_by_whitespace = (index+1 >= len(scalar) or + scalar[index+1] in '\0 \t\r\n\x85\u2028\u2029') + + # Let's decide what styles are allowed. + allow_flow_plain = True + allow_block_plain = True + allow_single_quoted = True + allow_double_quoted = True + allow_block = True + + # Leading and trailing whitespaces are bad for plain scalars. + if (leading_space or leading_break + or trailing_space or trailing_break): + allow_flow_plain = allow_block_plain = False + + # We do not permit trailing spaces for block scalars. + if trailing_space: + allow_block = False + + # Spaces at the beginning of a new line are only acceptable for block + # scalars. + if break_space: + allow_flow_plain = allow_block_plain = allow_single_quoted = False + + # Spaces followed by breaks, as well as special character are only + # allowed for double quoted scalars. + if space_break or special_characters: + allow_flow_plain = allow_block_plain = \ + allow_single_quoted = allow_block = False + + # Although the plain scalar writer supports breaks, we never emit + # multiline plain scalars. + if line_breaks: + allow_flow_plain = allow_block_plain = False + + # Flow indicators are forbidden for flow plain scalars. + if flow_indicators: + allow_flow_plain = False + + # Block indicators are forbidden for block plain scalars. + if block_indicators: + allow_block_plain = False + + return ScalarAnalysis(scalar=scalar, + empty=False, multiline=line_breaks, + allow_flow_plain=allow_flow_plain, + allow_block_plain=allow_block_plain, + allow_single_quoted=allow_single_quoted, + allow_double_quoted=allow_double_quoted, + allow_block=allow_block) + + # Writers. + + def flush_stream(self): + if hasattr(self.stream, 'flush'): + self.stream.flush() + + def write_stream_start(self): + # Write BOM if needed. + if self.encoding and self.encoding.startswith('utf-16'): + self.stream.write('\uFEFF'.encode(self.encoding)) + + def write_stream_end(self): + self.flush_stream() + + def write_indicator(self, indicator, need_whitespace, + whitespace=False, indention=False): + if self.whitespace or not need_whitespace: + data = indicator + else: + data = ' '+indicator + self.whitespace = whitespace + self.indention = self.indention and indention + self.column += len(data) + self.open_ended = False + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_indent(self): + indent = self.indent or 0 + if not self.indention or self.column > indent \ + or (self.column == indent and not self.whitespace): + self.write_line_break() + if self.column < indent: + self.whitespace = True + data = ' '*(indent-self.column) + self.column = indent + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_line_break(self, data=None): + if data is None: + data = self.best_line_break + self.whitespace = True + self.indention = True + self.line += 1 + self.column = 0 + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + + def write_version_directive(self, version_text): + data = '%%YAML %s' % version_text + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_line_break() + + def write_tag_directive(self, handle_text, prefix_text): + data = '%%TAG %s %s' % (handle_text, prefix_text) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_line_break() + + # Scalar streams. + + def write_single_quoted(self, text, split=True): + self.write_indicator('\'', True) + spaces = False + breaks = False + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if spaces: + if ch is None or ch != ' ': + if start+1 == end and self.column > self.best_width and split \ + and start != 0 and end != len(text): + self.write_indent() + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + elif breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': + self.write_line_break() + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + self.write_indent() + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029' or ch == '\'': + if start < end: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch == '\'': + data = '\'\'' + self.column += 2 + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + 1 + if ch is not None: + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 + self.write_indicator('\'', False) + + ESCAPE_REPLACEMENTS = { + '\0': '0', + '\x07': 'a', + '\x08': 'b', + '\x09': 't', + '\x0A': 'n', + '\x0B': 'v', + '\x0C': 'f', + '\x0D': 'r', + '\x1B': 'e', + '\"': '\"', + '\\': '\\', + '\x85': 'N', + '\xA0': '_', + '\u2028': 'L', + '\u2029': 'P', + } + + def write_double_quoted(self, text, split=True): + self.write_indicator('"', True) + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if ch is None or ch in '"\\\x85\u2028\u2029\uFEFF' \ + or not ('\x20' <= ch <= '\x7E' + or (self.allow_unicode + and ('\xA0' <= ch <= '\uD7FF' + or '\uE000' <= ch <= '\uFFFD'))): + if start < end: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch is not None: + if ch in self.ESCAPE_REPLACEMENTS: + data = '\\'+self.ESCAPE_REPLACEMENTS[ch] + elif ch <= '\xFF': + data = '\\x%02X' % ord(ch) + elif ch <= '\uFFFF': + data = '\\u%04X' % ord(ch) + else: + data = '\\U%08X' % ord(ch) + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end+1 + if 0 < end < len(text)-1 and (ch == ' ' or start >= end) \ + and self.column+(end-start) > self.best_width and split: + data = text[start:end]+'\\' + if start < end: + start = end + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.write_indent() + self.whitespace = False + self.indention = False + if text[start] == ' ': + data = '\\' + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + end += 1 + self.write_indicator('"', False) + + def determine_block_hints(self, text): + hints = '' + if text: + if text[0] in ' \n\x85\u2028\u2029': + hints += str(self.best_indent) + if text[-1] not in '\n\x85\u2028\u2029': + hints += '-' + elif len(text) == 1 or text[-2] in '\n\x85\u2028\u2029': + hints += '+' + return hints + + def write_folded(self, text): + hints = self.determine_block_hints(text) + self.write_indicator('>'+hints, True) + if hints[-1:] == '+': + self.open_ended = True + self.write_line_break() + leading_space = True + spaces = False + breaks = True + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + if not leading_space and ch is not None and ch != ' ' \ + and text[start] == '\n': + self.write_line_break() + leading_space = (ch == ' ') + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + if ch is not None: + self.write_indent() + start = end + elif spaces: + if ch != ' ': + if start+1 == end and self.column > self.best_width: + self.write_indent() + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029': + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + if ch is None: + self.write_line_break() + start = end + if ch is not None: + breaks = (ch in '\n\x85\u2028\u2029') + spaces = (ch == ' ') + end += 1 + + def write_literal(self, text): + hints = self.determine_block_hints(text) + self.write_indicator('|'+hints, True) + if hints[-1:] == '+': + self.open_ended = True + self.write_line_break() + breaks = True + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if breaks: + if ch is None or ch not in '\n\x85\u2028\u2029': + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + if ch is not None: + self.write_indent() + start = end + else: + if ch is None or ch in '\n\x85\u2028\u2029': + data = text[start:end] + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + if ch is None: + self.write_line_break() + start = end + if ch is not None: + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 + + def write_plain(self, text, split=True): + if self.root_context: + self.open_ended = True + if not text: + return + if not self.whitespace: + data = ' ' + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + self.whitespace = False + self.indention = False + spaces = False + breaks = False + start = end = 0 + while end <= len(text): + ch = None + if end < len(text): + ch = text[end] + if spaces: + if ch != ' ': + if start+1 == end and self.column > self.best_width and split: + self.write_indent() + self.whitespace = False + self.indention = False + else: + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + elif breaks: + if ch not in '\n\x85\u2028\u2029': + if text[start] == '\n': + self.write_line_break() + for br in text[start:end]: + if br == '\n': + self.write_line_break() + else: + self.write_line_break(br) + self.write_indent() + self.whitespace = False + self.indention = False + start = end + else: + if ch is None or ch in ' \n\x85\u2028\u2029': + data = text[start:end] + self.column += len(data) + if self.encoding: + data = data.encode(self.encoding) + self.stream.write(data) + start = end + if ch is not None: + spaces = (ch == ' ') + breaks = (ch in '\n\x85\u2028\u2029') + end += 1 diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/error.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/error.py new file mode 100644 index 00000000..b796b4dc --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/error.py @@ -0,0 +1,75 @@ + +__all__ = ['Mark', 'YAMLError', 'MarkedYAMLError'] + +class Mark: + + def __init__(self, name, index, line, column, buffer, pointer): + self.name = name + self.index = index + self.line = line + self.column = column + self.buffer = buffer + self.pointer = pointer + + def get_snippet(self, indent=4, max_length=75): + if self.buffer is None: + return None + head = '' + start = self.pointer + while start > 0 and self.buffer[start-1] not in '\0\r\n\x85\u2028\u2029': + start -= 1 + if self.pointer-start > max_length/2-1: + head = ' ... ' + start += 5 + break + tail = '' + end = self.pointer + while end < len(self.buffer) and self.buffer[end] not in '\0\r\n\x85\u2028\u2029': + end += 1 + if end-self.pointer > max_length/2-1: + tail = ' ... ' + end -= 5 + break + snippet = self.buffer[start:end] + return ' '*indent + head + snippet + tail + '\n' \ + + ' '*(indent+self.pointer-start+len(head)) + '^' + + def __str__(self): + snippet = self.get_snippet() + where = " in \"%s\", line %d, column %d" \ + % (self.name, self.line+1, self.column+1) + if snippet is not None: + where += ":\n"+snippet + return where + +class YAMLError(Exception): + pass + +class MarkedYAMLError(YAMLError): + + def __init__(self, context=None, context_mark=None, + problem=None, problem_mark=None, note=None): + self.context = context + self.context_mark = context_mark + self.problem = problem + self.problem_mark = problem_mark + self.note = note + + def __str__(self): + lines = [] + if self.context is not None: + lines.append(self.context) + if self.context_mark is not None \ + and (self.problem is None or self.problem_mark is None + or self.context_mark.name != self.problem_mark.name + or self.context_mark.line != self.problem_mark.line + or self.context_mark.column != self.problem_mark.column): + lines.append(str(self.context_mark)) + if self.problem is not None: + lines.append(self.problem) + if self.problem_mark is not None: + lines.append(str(self.problem_mark)) + if self.note is not None: + lines.append(self.note) + return '\n'.join(lines) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/events.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/events.py new file mode 100644 index 00000000..f79ad389 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/events.py @@ -0,0 +1,86 @@ + +# Abstract classes. + +class Event(object): + def __init__(self, start_mark=None, end_mark=None): + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + attributes = [key for key in ['anchor', 'tag', 'implicit', 'value'] + if hasattr(self, key)] + arguments = ', '.join(['%s=%r' % (key, getattr(self, key)) + for key in attributes]) + return '%s(%s)' % (self.__class__.__name__, arguments) + +class NodeEvent(Event): + def __init__(self, anchor, start_mark=None, end_mark=None): + self.anchor = anchor + self.start_mark = start_mark + self.end_mark = end_mark + +class CollectionStartEvent(NodeEvent): + def __init__(self, anchor, tag, implicit, start_mark=None, end_mark=None, + flow_style=None): + self.anchor = anchor + self.tag = tag + self.implicit = implicit + self.start_mark = start_mark + self.end_mark = end_mark + self.flow_style = flow_style + +class CollectionEndEvent(Event): + pass + +# Implementations. + +class StreamStartEvent(Event): + def __init__(self, start_mark=None, end_mark=None, encoding=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.encoding = encoding + +class StreamEndEvent(Event): + pass + +class DocumentStartEvent(Event): + def __init__(self, start_mark=None, end_mark=None, + explicit=None, version=None, tags=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.explicit = explicit + self.version = version + self.tags = tags + +class DocumentEndEvent(Event): + def __init__(self, start_mark=None, end_mark=None, + explicit=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.explicit = explicit + +class AliasEvent(NodeEvent): + pass + +class ScalarEvent(NodeEvent): + def __init__(self, anchor, tag, implicit, value, + start_mark=None, end_mark=None, style=None): + self.anchor = anchor + self.tag = tag + self.implicit = implicit + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + +class SequenceStartEvent(CollectionStartEvent): + pass + +class SequenceEndEvent(CollectionEndEvent): + pass + +class MappingStartEvent(CollectionStartEvent): + pass + +class MappingEndEvent(CollectionEndEvent): + pass + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/loader.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/loader.py new file mode 100644 index 00000000..e90c1122 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/loader.py @@ -0,0 +1,63 @@ + +__all__ = ['BaseLoader', 'FullLoader', 'SafeLoader', 'Loader', 'UnsafeLoader'] + +from .reader import * +from .scanner import * +from .parser import * +from .composer import * +from .constructor import * +from .resolver import * + +class BaseLoader(Reader, Scanner, Parser, Composer, BaseConstructor, BaseResolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + BaseConstructor.__init__(self) + BaseResolver.__init__(self) + +class FullLoader(Reader, Scanner, Parser, Composer, FullConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + FullConstructor.__init__(self) + Resolver.__init__(self) + +class SafeLoader(Reader, Scanner, Parser, Composer, SafeConstructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + SafeConstructor.__init__(self) + Resolver.__init__(self) + +class Loader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) + +# UnsafeLoader is the same as Loader (which is and was always unsafe on +# untrusted input). Use of either Loader or UnsafeLoader should be rare, since +# FullLoad should be able to load almost all YAML safely. Loader is left intact +# to ensure backwards compatibility. +class UnsafeLoader(Reader, Scanner, Parser, Composer, Constructor, Resolver): + + def __init__(self, stream): + Reader.__init__(self, stream) + Scanner.__init__(self) + Parser.__init__(self) + Composer.__init__(self) + Constructor.__init__(self) + Resolver.__init__(self) diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/nodes.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/nodes.py new file mode 100644 index 00000000..c4f070c4 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/nodes.py @@ -0,0 +1,49 @@ + +class Node(object): + def __init__(self, tag, value, start_mark, end_mark): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + value = self.value + #if isinstance(value, list): + # if len(value) == 0: + # value = '' + # elif len(value) == 1: + # value = '<1 item>' + # else: + # value = '<%d items>' % len(value) + #else: + # if len(value) > 75: + # value = repr(value[:70]+u' ... ') + # else: + # value = repr(value) + value = repr(value) + return '%s(tag=%r, value=%s)' % (self.__class__.__name__, self.tag, value) + +class ScalarNode(Node): + id = 'scalar' + def __init__(self, tag, value, + start_mark=None, end_mark=None, style=None): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + +class CollectionNode(Node): + def __init__(self, tag, value, + start_mark=None, end_mark=None, flow_style=None): + self.tag = tag + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + self.flow_style = flow_style + +class SequenceNode(CollectionNode): + id = 'sequence' + +class MappingNode(CollectionNode): + id = 'mapping' + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/parser.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/parser.py new file mode 100644 index 00000000..13a5995d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/parser.py @@ -0,0 +1,589 @@ + +# The following YAML grammar is LL(1) and is parsed by a recursive descent +# parser. +# +# stream ::= STREAM-START implicit_document? explicit_document* STREAM-END +# implicit_document ::= block_node DOCUMENT-END* +# explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* +# block_node_or_indentless_sequence ::= +# ALIAS +# | properties (block_content | indentless_block_sequence)? +# | block_content +# | indentless_block_sequence +# block_node ::= ALIAS +# | properties block_content? +# | block_content +# flow_node ::= ALIAS +# | properties flow_content? +# | flow_content +# properties ::= TAG ANCHOR? | ANCHOR TAG? +# block_content ::= block_collection | flow_collection | SCALAR +# flow_content ::= flow_collection | SCALAR +# block_collection ::= block_sequence | block_mapping +# flow_collection ::= flow_sequence | flow_mapping +# block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END +# indentless_sequence ::= (BLOCK-ENTRY block_node?)+ +# block_mapping ::= BLOCK-MAPPING_START +# ((KEY block_node_or_indentless_sequence?)? +# (VALUE block_node_or_indentless_sequence?)?)* +# BLOCK-END +# flow_sequence ::= FLOW-SEQUENCE-START +# (flow_sequence_entry FLOW-ENTRY)* +# flow_sequence_entry? +# FLOW-SEQUENCE-END +# flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +# flow_mapping ::= FLOW-MAPPING-START +# (flow_mapping_entry FLOW-ENTRY)* +# flow_mapping_entry? +# FLOW-MAPPING-END +# flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? +# +# FIRST sets: +# +# stream: { STREAM-START } +# explicit_document: { DIRECTIVE DOCUMENT-START } +# implicit_document: FIRST(block_node) +# block_node: { ALIAS TAG ANCHOR SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START } +# flow_node: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START } +# block_content: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR } +# flow_content: { FLOW-SEQUENCE-START FLOW-MAPPING-START SCALAR } +# block_collection: { BLOCK-SEQUENCE-START BLOCK-MAPPING-START } +# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START } +# block_sequence: { BLOCK-SEQUENCE-START } +# block_mapping: { BLOCK-MAPPING-START } +# block_node_or_indentless_sequence: { ALIAS ANCHOR TAG SCALAR BLOCK-SEQUENCE-START BLOCK-MAPPING-START FLOW-SEQUENCE-START FLOW-MAPPING-START BLOCK-ENTRY } +# indentless_sequence: { ENTRY } +# flow_collection: { FLOW-SEQUENCE-START FLOW-MAPPING-START } +# flow_sequence: { FLOW-SEQUENCE-START } +# flow_mapping: { FLOW-MAPPING-START } +# flow_sequence_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY } +# flow_mapping_entry: { ALIAS ANCHOR TAG SCALAR FLOW-SEQUENCE-START FLOW-MAPPING-START KEY } + +__all__ = ['Parser', 'ParserError'] + +from .error import MarkedYAMLError +from .tokens import * +from .events import * +from .scanner import * + +class ParserError(MarkedYAMLError): + pass + +class Parser: + # Since writing a recursive-descendant parser is a straightforward task, we + # do not give many comments here. + + DEFAULT_TAGS = { + '!': '!', + '!!': 'tag:yaml.org,2002:', + } + + def __init__(self): + self.current_event = None + self.yaml_version = None + self.tag_handles = {} + self.states = [] + self.marks = [] + self.state = self.parse_stream_start + + def dispose(self): + # Reset the state attributes (to clear self-references) + self.states = [] + self.state = None + + def check_event(self, *choices): + # Check the type of the next event. + if self.current_event is None: + if self.state: + self.current_event = self.state() + if self.current_event is not None: + if not choices: + return True + for choice in choices: + if isinstance(self.current_event, choice): + return True + return False + + def peek_event(self): + # Get the next event. + if self.current_event is None: + if self.state: + self.current_event = self.state() + return self.current_event + + def get_event(self): + # Get the next event and proceed further. + if self.current_event is None: + if self.state: + self.current_event = self.state() + value = self.current_event + self.current_event = None + return value + + # stream ::= STREAM-START implicit_document? explicit_document* STREAM-END + # implicit_document ::= block_node DOCUMENT-END* + # explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* + + def parse_stream_start(self): + + # Parse the stream start. + token = self.get_token() + event = StreamStartEvent(token.start_mark, token.end_mark, + encoding=token.encoding) + + # Prepare the next state. + self.state = self.parse_implicit_document_start + + return event + + def parse_implicit_document_start(self): + + # Parse an implicit document. + if not self.check_token(DirectiveToken, DocumentStartToken, + StreamEndToken): + self.tag_handles = self.DEFAULT_TAGS + token = self.peek_token() + start_mark = end_mark = token.start_mark + event = DocumentStartEvent(start_mark, end_mark, + explicit=False) + + # Prepare the next state. + self.states.append(self.parse_document_end) + self.state = self.parse_block_node + + return event + + else: + return self.parse_document_start() + + def parse_document_start(self): + + # Parse any extra document end indicators. + while self.check_token(DocumentEndToken): + self.get_token() + + # Parse an explicit document. + if not self.check_token(StreamEndToken): + token = self.peek_token() + start_mark = token.start_mark + version, tags = self.process_directives() + if not self.check_token(DocumentStartToken): + raise ParserError(None, None, + "expected '', but found %r" + % self.peek_token().id, + self.peek_token().start_mark) + token = self.get_token() + end_mark = token.end_mark + event = DocumentStartEvent(start_mark, end_mark, + explicit=True, version=version, tags=tags) + self.states.append(self.parse_document_end) + self.state = self.parse_document_content + else: + # Parse the end of the stream. + token = self.get_token() + event = StreamEndEvent(token.start_mark, token.end_mark) + assert not self.states + assert not self.marks + self.state = None + return event + + def parse_document_end(self): + + # Parse the document end. + token = self.peek_token() + start_mark = end_mark = token.start_mark + explicit = False + if self.check_token(DocumentEndToken): + token = self.get_token() + end_mark = token.end_mark + explicit = True + event = DocumentEndEvent(start_mark, end_mark, + explicit=explicit) + + # Prepare the next state. + self.state = self.parse_document_start + + return event + + def parse_document_content(self): + if self.check_token(DirectiveToken, + DocumentStartToken, DocumentEndToken, StreamEndToken): + event = self.process_empty_scalar(self.peek_token().start_mark) + self.state = self.states.pop() + return event + else: + return self.parse_block_node() + + def process_directives(self): + self.yaml_version = None + self.tag_handles = {} + while self.check_token(DirectiveToken): + token = self.get_token() + if token.name == 'YAML': + if self.yaml_version is not None: + raise ParserError(None, None, + "found duplicate YAML directive", token.start_mark) + major, minor = token.value + if major != 1: + raise ParserError(None, None, + "found incompatible YAML document (version 1.* is required)", + token.start_mark) + self.yaml_version = token.value + elif token.name == 'TAG': + handle, prefix = token.value + if handle in self.tag_handles: + raise ParserError(None, None, + "duplicate tag handle %r" % handle, + token.start_mark) + self.tag_handles[handle] = prefix + if self.tag_handles: + value = self.yaml_version, self.tag_handles.copy() + else: + value = self.yaml_version, None + for key in self.DEFAULT_TAGS: + if key not in self.tag_handles: + self.tag_handles[key] = self.DEFAULT_TAGS[key] + return value + + # block_node_or_indentless_sequence ::= ALIAS + # | properties (block_content | indentless_block_sequence)? + # | block_content + # | indentless_block_sequence + # block_node ::= ALIAS + # | properties block_content? + # | block_content + # flow_node ::= ALIAS + # | properties flow_content? + # | flow_content + # properties ::= TAG ANCHOR? | ANCHOR TAG? + # block_content ::= block_collection | flow_collection | SCALAR + # flow_content ::= flow_collection | SCALAR + # block_collection ::= block_sequence | block_mapping + # flow_collection ::= flow_sequence | flow_mapping + + def parse_block_node(self): + return self.parse_node(block=True) + + def parse_flow_node(self): + return self.parse_node() + + def parse_block_node_or_indentless_sequence(self): + return self.parse_node(block=True, indentless_sequence=True) + + def parse_node(self, block=False, indentless_sequence=False): + if self.check_token(AliasToken): + token = self.get_token() + event = AliasEvent(token.value, token.start_mark, token.end_mark) + self.state = self.states.pop() + else: + anchor = None + tag = None + start_mark = end_mark = tag_mark = None + if self.check_token(AnchorToken): + token = self.get_token() + start_mark = token.start_mark + end_mark = token.end_mark + anchor = token.value + if self.check_token(TagToken): + token = self.get_token() + tag_mark = token.start_mark + end_mark = token.end_mark + tag = token.value + elif self.check_token(TagToken): + token = self.get_token() + start_mark = tag_mark = token.start_mark + end_mark = token.end_mark + tag = token.value + if self.check_token(AnchorToken): + token = self.get_token() + end_mark = token.end_mark + anchor = token.value + if tag is not None: + handle, suffix = tag + if handle is not None: + if handle not in self.tag_handles: + raise ParserError("while parsing a node", start_mark, + "found undefined tag handle %r" % handle, + tag_mark) + tag = self.tag_handles[handle]+suffix + else: + tag = suffix + #if tag == '!': + # raise ParserError("while parsing a node", start_mark, + # "found non-specific tag '!'", tag_mark, + # "Please check 'http://pyyaml.org/wiki/YAMLNonSpecificTag' and share your opinion.") + if start_mark is None: + start_mark = end_mark = self.peek_token().start_mark + event = None + implicit = (tag is None or tag == '!') + if indentless_sequence and self.check_token(BlockEntryToken): + end_mark = self.peek_token().end_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark) + self.state = self.parse_indentless_sequence_entry + else: + if self.check_token(ScalarToken): + token = self.get_token() + end_mark = token.end_mark + if (token.plain and tag is None) or tag == '!': + implicit = (True, False) + elif tag is None: + implicit = (False, True) + else: + implicit = (False, False) + event = ScalarEvent(anchor, tag, implicit, token.value, + start_mark, end_mark, style=token.style) + self.state = self.states.pop() + elif self.check_token(FlowSequenceStartToken): + end_mark = self.peek_token().end_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=True) + self.state = self.parse_flow_sequence_first_entry + elif self.check_token(FlowMappingStartToken): + end_mark = self.peek_token().end_mark + event = MappingStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=True) + self.state = self.parse_flow_mapping_first_key + elif block and self.check_token(BlockSequenceStartToken): + end_mark = self.peek_token().start_mark + event = SequenceStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=False) + self.state = self.parse_block_sequence_first_entry + elif block and self.check_token(BlockMappingStartToken): + end_mark = self.peek_token().start_mark + event = MappingStartEvent(anchor, tag, implicit, + start_mark, end_mark, flow_style=False) + self.state = self.parse_block_mapping_first_key + elif anchor is not None or tag is not None: + # Empty scalars are allowed even if a tag or an anchor is + # specified. + event = ScalarEvent(anchor, tag, (implicit, False), '', + start_mark, end_mark) + self.state = self.states.pop() + else: + if block: + node = 'block' + else: + node = 'flow' + token = self.peek_token() + raise ParserError("while parsing a %s node" % node, start_mark, + "expected the node content, but found %r" % token.id, + token.start_mark) + return event + + # block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END + + def parse_block_sequence_first_entry(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_block_sequence_entry() + + def parse_block_sequence_entry(self): + if self.check_token(BlockEntryToken): + token = self.get_token() + if not self.check_token(BlockEntryToken, BlockEndToken): + self.states.append(self.parse_block_sequence_entry) + return self.parse_block_node() + else: + self.state = self.parse_block_sequence_entry + return self.process_empty_scalar(token.end_mark) + if not self.check_token(BlockEndToken): + token = self.peek_token() + raise ParserError("while parsing a block collection", self.marks[-1], + "expected , but found %r" % token.id, token.start_mark) + token = self.get_token() + event = SequenceEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + # indentless_sequence ::= (BLOCK-ENTRY block_node?)+ + + def parse_indentless_sequence_entry(self): + if self.check_token(BlockEntryToken): + token = self.get_token() + if not self.check_token(BlockEntryToken, + KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_indentless_sequence_entry) + return self.parse_block_node() + else: + self.state = self.parse_indentless_sequence_entry + return self.process_empty_scalar(token.end_mark) + token = self.peek_token() + event = SequenceEndEvent(token.start_mark, token.start_mark) + self.state = self.states.pop() + return event + + # block_mapping ::= BLOCK-MAPPING_START + # ((KEY block_node_or_indentless_sequence?)? + # (VALUE block_node_or_indentless_sequence?)?)* + # BLOCK-END + + def parse_block_mapping_first_key(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_block_mapping_key() + + def parse_block_mapping_key(self): + if self.check_token(KeyToken): + token = self.get_token() + if not self.check_token(KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_block_mapping_value) + return self.parse_block_node_or_indentless_sequence() + else: + self.state = self.parse_block_mapping_value + return self.process_empty_scalar(token.end_mark) + if not self.check_token(BlockEndToken): + token = self.peek_token() + raise ParserError("while parsing a block mapping", self.marks[-1], + "expected , but found %r" % token.id, token.start_mark) + token = self.get_token() + event = MappingEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_block_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(KeyToken, ValueToken, BlockEndToken): + self.states.append(self.parse_block_mapping_key) + return self.parse_block_node_or_indentless_sequence() + else: + self.state = self.parse_block_mapping_key + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_block_mapping_key + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + # flow_sequence ::= FLOW-SEQUENCE-START + # (flow_sequence_entry FLOW-ENTRY)* + # flow_sequence_entry? + # FLOW-SEQUENCE-END + # flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + # + # Note that while production rules for both flow_sequence_entry and + # flow_mapping_entry are equal, their interpretations are different. + # For `flow_sequence_entry`, the part `KEY flow_node? (VALUE flow_node?)?` + # generate an inline mapping (set syntax). + + def parse_flow_sequence_first_entry(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_flow_sequence_entry(first=True) + + def parse_flow_sequence_entry(self, first=False): + if not self.check_token(FlowSequenceEndToken): + if not first: + if self.check_token(FlowEntryToken): + self.get_token() + else: + token = self.peek_token() + raise ParserError("while parsing a flow sequence", self.marks[-1], + "expected ',' or ']', but got %r" % token.id, token.start_mark) + + if self.check_token(KeyToken): + token = self.peek_token() + event = MappingStartEvent(None, None, True, + token.start_mark, token.end_mark, + flow_style=True) + self.state = self.parse_flow_sequence_entry_mapping_key + return event + elif not self.check_token(FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry) + return self.parse_flow_node() + token = self.get_token() + event = SequenceEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_flow_sequence_entry_mapping_key(self): + token = self.get_token() + if not self.check_token(ValueToken, + FlowEntryToken, FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry_mapping_value) + return self.parse_flow_node() + else: + self.state = self.parse_flow_sequence_entry_mapping_value + return self.process_empty_scalar(token.end_mark) + + def parse_flow_sequence_entry_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(FlowEntryToken, FlowSequenceEndToken): + self.states.append(self.parse_flow_sequence_entry_mapping_end) + return self.parse_flow_node() + else: + self.state = self.parse_flow_sequence_entry_mapping_end + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_flow_sequence_entry_mapping_end + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + def parse_flow_sequence_entry_mapping_end(self): + self.state = self.parse_flow_sequence_entry + token = self.peek_token() + return MappingEndEvent(token.start_mark, token.start_mark) + + # flow_mapping ::= FLOW-MAPPING-START + # (flow_mapping_entry FLOW-ENTRY)* + # flow_mapping_entry? + # FLOW-MAPPING-END + # flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? + + def parse_flow_mapping_first_key(self): + token = self.get_token() + self.marks.append(token.start_mark) + return self.parse_flow_mapping_key(first=True) + + def parse_flow_mapping_key(self, first=False): + if not self.check_token(FlowMappingEndToken): + if not first: + if self.check_token(FlowEntryToken): + self.get_token() + else: + token = self.peek_token() + raise ParserError("while parsing a flow mapping", self.marks[-1], + "expected ',' or '}', but got %r" % token.id, token.start_mark) + if self.check_token(KeyToken): + token = self.get_token() + if not self.check_token(ValueToken, + FlowEntryToken, FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_value) + return self.parse_flow_node() + else: + self.state = self.parse_flow_mapping_value + return self.process_empty_scalar(token.end_mark) + elif not self.check_token(FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_empty_value) + return self.parse_flow_node() + token = self.get_token() + event = MappingEndEvent(token.start_mark, token.end_mark) + self.state = self.states.pop() + self.marks.pop() + return event + + def parse_flow_mapping_value(self): + if self.check_token(ValueToken): + token = self.get_token() + if not self.check_token(FlowEntryToken, FlowMappingEndToken): + self.states.append(self.parse_flow_mapping_key) + return self.parse_flow_node() + else: + self.state = self.parse_flow_mapping_key + return self.process_empty_scalar(token.end_mark) + else: + self.state = self.parse_flow_mapping_key + token = self.peek_token() + return self.process_empty_scalar(token.start_mark) + + def parse_flow_mapping_empty_value(self): + self.state = self.parse_flow_mapping_key + return self.process_empty_scalar(self.peek_token().start_mark) + + def process_empty_scalar(self, mark): + return ScalarEvent(None, None, (True, False), '', mark, mark) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/reader.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/reader.py new file mode 100644 index 00000000..774b0219 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/reader.py @@ -0,0 +1,185 @@ +# This module contains abstractions for the input stream. You don't have to +# looks further, there are no pretty code. +# +# We define two classes here. +# +# Mark(source, line, column) +# It's just a record and its only use is producing nice error messages. +# Parser does not use it for any other purposes. +# +# Reader(source, data) +# Reader determines the encoding of `data` and converts it to unicode. +# Reader provides the following methods and attributes: +# reader.peek(length=1) - return the next `length` characters +# reader.forward(length=1) - move the current position to `length` characters. +# reader.index - the number of the current character. +# reader.line, stream.column - the line and the column of the current character. + +__all__ = ['Reader', 'ReaderError'] + +from .error import YAMLError, Mark + +import codecs, re + +class ReaderError(YAMLError): + + def __init__(self, name, position, character, encoding, reason): + self.name = name + self.character = character + self.position = position + self.encoding = encoding + self.reason = reason + + def __str__(self): + if isinstance(self.character, bytes): + return "'%s' codec can't decode byte #x%02x: %s\n" \ + " in \"%s\", position %d" \ + % (self.encoding, ord(self.character), self.reason, + self.name, self.position) + else: + return "unacceptable character #x%04x: %s\n" \ + " in \"%s\", position %d" \ + % (self.character, self.reason, + self.name, self.position) + +class Reader(object): + # Reader: + # - determines the data encoding and converts it to a unicode string, + # - checks if characters are in allowed range, + # - adds '\0' to the end. + + # Reader accepts + # - a `bytes` object, + # - a `str` object, + # - a file-like object with its `read` method returning `str`, + # - a file-like object with its `read` method returning `unicode`. + + # Yeah, it's ugly and slow. + + def __init__(self, stream): + self.name = None + self.stream = None + self.stream_pointer = 0 + self.eof = True + self.buffer = '' + self.pointer = 0 + self.raw_buffer = None + self.raw_decode = None + self.encoding = None + self.index = 0 + self.line = 0 + self.column = 0 + if isinstance(stream, str): + self.name = "" + self.check_printable(stream) + self.buffer = stream+'\0' + elif isinstance(stream, bytes): + self.name = "" + self.raw_buffer = stream + self.determine_encoding() + else: + self.stream = stream + self.name = getattr(stream, 'name', "") + self.eof = False + self.raw_buffer = None + self.determine_encoding() + + def peek(self, index=0): + try: + return self.buffer[self.pointer+index] + except IndexError: + self.update(index+1) + return self.buffer[self.pointer+index] + + def prefix(self, length=1): + if self.pointer+length >= len(self.buffer): + self.update(length) + return self.buffer[self.pointer:self.pointer+length] + + def forward(self, length=1): + if self.pointer+length+1 >= len(self.buffer): + self.update(length+1) + while length: + ch = self.buffer[self.pointer] + self.pointer += 1 + self.index += 1 + if ch in '\n\x85\u2028\u2029' \ + or (ch == '\r' and self.buffer[self.pointer] != '\n'): + self.line += 1 + self.column = 0 + elif ch != '\uFEFF': + self.column += 1 + length -= 1 + + def get_mark(self): + if self.stream is None: + return Mark(self.name, self.index, self.line, self.column, + self.buffer, self.pointer) + else: + return Mark(self.name, self.index, self.line, self.column, + None, None) + + def determine_encoding(self): + while not self.eof and (self.raw_buffer is None or len(self.raw_buffer) < 2): + self.update_raw() + if isinstance(self.raw_buffer, bytes): + if self.raw_buffer.startswith(codecs.BOM_UTF16_LE): + self.raw_decode = codecs.utf_16_le_decode + self.encoding = 'utf-16-le' + elif self.raw_buffer.startswith(codecs.BOM_UTF16_BE): + self.raw_decode = codecs.utf_16_be_decode + self.encoding = 'utf-16-be' + else: + self.raw_decode = codecs.utf_8_decode + self.encoding = 'utf-8' + self.update(1) + + NON_PRINTABLE = re.compile('[^\x09\x0A\x0D\x20-\x7E\x85\xA0-\uD7FF\uE000-\uFFFD\U00010000-\U0010ffff]') + def check_printable(self, data): + match = self.NON_PRINTABLE.search(data) + if match: + character = match.group() + position = self.index+(len(self.buffer)-self.pointer)+match.start() + raise ReaderError(self.name, position, ord(character), + 'unicode', "special characters are not allowed") + + def update(self, length): + if self.raw_buffer is None: + return + self.buffer = self.buffer[self.pointer:] + self.pointer = 0 + while len(self.buffer) < length: + if not self.eof: + self.update_raw() + if self.raw_decode is not None: + try: + data, converted = self.raw_decode(self.raw_buffer, + 'strict', self.eof) + except UnicodeDecodeError as exc: + character = self.raw_buffer[exc.start] + if self.stream is not None: + position = self.stream_pointer-len(self.raw_buffer)+exc.start + else: + position = exc.start + raise ReaderError(self.name, position, character, + exc.encoding, exc.reason) + else: + data = self.raw_buffer + converted = len(data) + self.check_printable(data) + self.buffer += data + self.raw_buffer = self.raw_buffer[converted:] + if self.eof: + self.buffer += '\0' + self.raw_buffer = None + break + + def update_raw(self, size=4096): + data = self.stream.read(size) + if self.raw_buffer is None: + self.raw_buffer = data + else: + self.raw_buffer += data + self.stream_pointer += len(data) + if not data: + self.eof = True diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/representer.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/representer.py new file mode 100644 index 00000000..3b0b192e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/representer.py @@ -0,0 +1,389 @@ + +__all__ = ['BaseRepresenter', 'SafeRepresenter', 'Representer', + 'RepresenterError'] + +from .error import * +from .nodes import * + +import datetime, copyreg, types, base64, collections + +class RepresenterError(YAMLError): + pass + +class BaseRepresenter: + + yaml_representers = {} + yaml_multi_representers = {} + + def __init__(self, default_style=None, default_flow_style=False, sort_keys=True): + self.default_style = default_style + self.sort_keys = sort_keys + self.default_flow_style = default_flow_style + self.represented_objects = {} + self.object_keeper = [] + self.alias_key = None + + def represent(self, data): + node = self.represent_data(data) + self.serialize(node) + self.represented_objects = {} + self.object_keeper = [] + self.alias_key = None + + def represent_data(self, data): + if self.ignore_aliases(data): + self.alias_key = None + else: + self.alias_key = id(data) + if self.alias_key is not None: + if self.alias_key in self.represented_objects: + node = self.represented_objects[self.alias_key] + #if node is None: + # raise RepresenterError("recursive objects are not allowed: %r" % data) + return node + #self.represented_objects[alias_key] = None + self.object_keeper.append(data) + data_types = type(data).__mro__ + if data_types[0] in self.yaml_representers: + node = self.yaml_representers[data_types[0]](self, data) + else: + for data_type in data_types: + if data_type in self.yaml_multi_representers: + node = self.yaml_multi_representers[data_type](self, data) + break + else: + if None in self.yaml_multi_representers: + node = self.yaml_multi_representers[None](self, data) + elif None in self.yaml_representers: + node = self.yaml_representers[None](self, data) + else: + node = ScalarNode(None, str(data)) + #if alias_key is not None: + # self.represented_objects[alias_key] = node + return node + + @classmethod + def add_representer(cls, data_type, representer): + if not 'yaml_representers' in cls.__dict__: + cls.yaml_representers = cls.yaml_representers.copy() + cls.yaml_representers[data_type] = representer + + @classmethod + def add_multi_representer(cls, data_type, representer): + if not 'yaml_multi_representers' in cls.__dict__: + cls.yaml_multi_representers = cls.yaml_multi_representers.copy() + cls.yaml_multi_representers[data_type] = representer + + def represent_scalar(self, tag, value, style=None): + if style is None: + style = self.default_style + node = ScalarNode(tag, value, style=style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + return node + + def represent_sequence(self, tag, sequence, flow_style=None): + value = [] + node = SequenceNode(tag, value, flow_style=flow_style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + best_style = True + for item in sequence: + node_item = self.represent_data(item) + if not (isinstance(node_item, ScalarNode) and not node_item.style): + best_style = False + value.append(node_item) + if flow_style is None: + if self.default_flow_style is not None: + node.flow_style = self.default_flow_style + else: + node.flow_style = best_style + return node + + def represent_mapping(self, tag, mapping, flow_style=None): + value = [] + node = MappingNode(tag, value, flow_style=flow_style) + if self.alias_key is not None: + self.represented_objects[self.alias_key] = node + best_style = True + if hasattr(mapping, 'items'): + mapping = list(mapping.items()) + if self.sort_keys: + try: + mapping = sorted(mapping) + except TypeError: + pass + for item_key, item_value in mapping: + node_key = self.represent_data(item_key) + node_value = self.represent_data(item_value) + if not (isinstance(node_key, ScalarNode) and not node_key.style): + best_style = False + if not (isinstance(node_value, ScalarNode) and not node_value.style): + best_style = False + value.append((node_key, node_value)) + if flow_style is None: + if self.default_flow_style is not None: + node.flow_style = self.default_flow_style + else: + node.flow_style = best_style + return node + + def ignore_aliases(self, data): + return False + +class SafeRepresenter(BaseRepresenter): + + def ignore_aliases(self, data): + if data is None: + return True + if isinstance(data, tuple) and data == (): + return True + if isinstance(data, (str, bytes, bool, int, float)): + return True + + def represent_none(self, data): + return self.represent_scalar('tag:yaml.org,2002:null', 'null') + + def represent_str(self, data): + return self.represent_scalar('tag:yaml.org,2002:str', data) + + def represent_binary(self, data): + if hasattr(base64, 'encodebytes'): + data = base64.encodebytes(data).decode('ascii') + else: + data = base64.encodestring(data).decode('ascii') + return self.represent_scalar('tag:yaml.org,2002:binary', data, style='|') + + def represent_bool(self, data): + if data: + value = 'true' + else: + value = 'false' + return self.represent_scalar('tag:yaml.org,2002:bool', value) + + def represent_int(self, data): + return self.represent_scalar('tag:yaml.org,2002:int', str(data)) + + inf_value = 1e300 + while repr(inf_value) != repr(inf_value*inf_value): + inf_value *= inf_value + + def represent_float(self, data): + if data != data or (data == 0.0 and data == 1.0): + value = '.nan' + elif data == self.inf_value: + value = '.inf' + elif data == -self.inf_value: + value = '-.inf' + else: + value = repr(data).lower() + # Note that in some cases `repr(data)` represents a float number + # without the decimal parts. For instance: + # >>> repr(1e17) + # '1e17' + # Unfortunately, this is not a valid float representation according + # to the definition of the `!!float` tag. We fix this by adding + # '.0' before the 'e' symbol. + if '.' not in value and 'e' in value: + value = value.replace('e', '.0e', 1) + return self.represent_scalar('tag:yaml.org,2002:float', value) + + def represent_list(self, data): + #pairs = (len(data) > 0 and isinstance(data, list)) + #if pairs: + # for item in data: + # if not isinstance(item, tuple) or len(item) != 2: + # pairs = False + # break + #if not pairs: + return self.represent_sequence('tag:yaml.org,2002:seq', data) + #value = [] + #for item_key, item_value in data: + # value.append(self.represent_mapping(u'tag:yaml.org,2002:map', + # [(item_key, item_value)])) + #return SequenceNode(u'tag:yaml.org,2002:pairs', value) + + def represent_dict(self, data): + return self.represent_mapping('tag:yaml.org,2002:map', data) + + def represent_set(self, data): + value = {} + for key in data: + value[key] = None + return self.represent_mapping('tag:yaml.org,2002:set', value) + + def represent_date(self, data): + value = data.isoformat() + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) + + def represent_datetime(self, data): + value = data.isoformat(' ') + return self.represent_scalar('tag:yaml.org,2002:timestamp', value) + + def represent_yaml_object(self, tag, data, cls, flow_style=None): + if hasattr(data, '__getstate__'): + state = data.__getstate__() + else: + state = data.__dict__.copy() + return self.represent_mapping(tag, state, flow_style=flow_style) + + def represent_undefined(self, data): + raise RepresenterError("cannot represent an object", data) + +SafeRepresenter.add_representer(type(None), + SafeRepresenter.represent_none) + +SafeRepresenter.add_representer(str, + SafeRepresenter.represent_str) + +SafeRepresenter.add_representer(bytes, + SafeRepresenter.represent_binary) + +SafeRepresenter.add_representer(bool, + SafeRepresenter.represent_bool) + +SafeRepresenter.add_representer(int, + SafeRepresenter.represent_int) + +SafeRepresenter.add_representer(float, + SafeRepresenter.represent_float) + +SafeRepresenter.add_representer(list, + SafeRepresenter.represent_list) + +SafeRepresenter.add_representer(tuple, + SafeRepresenter.represent_list) + +SafeRepresenter.add_representer(dict, + SafeRepresenter.represent_dict) + +SafeRepresenter.add_representer(set, + SafeRepresenter.represent_set) + +SafeRepresenter.add_representer(datetime.date, + SafeRepresenter.represent_date) + +SafeRepresenter.add_representer(datetime.datetime, + SafeRepresenter.represent_datetime) + +SafeRepresenter.add_representer(None, + SafeRepresenter.represent_undefined) + +class Representer(SafeRepresenter): + + def represent_complex(self, data): + if data.imag == 0.0: + data = '%r' % data.real + elif data.real == 0.0: + data = '%rj' % data.imag + elif data.imag > 0: + data = '%r+%rj' % (data.real, data.imag) + else: + data = '%r%rj' % (data.real, data.imag) + return self.represent_scalar('tag:yaml.org,2002:python/complex', data) + + def represent_tuple(self, data): + return self.represent_sequence('tag:yaml.org,2002:python/tuple', data) + + def represent_name(self, data): + name = '%s.%s' % (data.__module__, data.__name__) + return self.represent_scalar('tag:yaml.org,2002:python/name:'+name, '') + + def represent_module(self, data): + return self.represent_scalar( + 'tag:yaml.org,2002:python/module:'+data.__name__, '') + + def represent_object(self, data): + # We use __reduce__ API to save the data. data.__reduce__ returns + # a tuple of length 2-5: + # (function, args, state, listitems, dictitems) + + # For reconstructing, we calls function(*args), then set its state, + # listitems, and dictitems if they are not None. + + # A special case is when function.__name__ == '__newobj__'. In this + # case we create the object with args[0].__new__(*args). + + # Another special case is when __reduce__ returns a string - we don't + # support it. + + # We produce a !!python/object, !!python/object/new or + # !!python/object/apply node. + + cls = type(data) + if cls in copyreg.dispatch_table: + reduce = copyreg.dispatch_table[cls](data) + elif hasattr(data, '__reduce_ex__'): + reduce = data.__reduce_ex__(2) + elif hasattr(data, '__reduce__'): + reduce = data.__reduce__() + else: + raise RepresenterError("cannot represent an object", data) + reduce = (list(reduce)+[None]*5)[:5] + function, args, state, listitems, dictitems = reduce + args = list(args) + if state is None: + state = {} + if listitems is not None: + listitems = list(listitems) + if dictitems is not None: + dictitems = dict(dictitems) + if function.__name__ == '__newobj__': + function = args[0] + args = args[1:] + tag = 'tag:yaml.org,2002:python/object/new:' + newobj = True + else: + tag = 'tag:yaml.org,2002:python/object/apply:' + newobj = False + function_name = '%s.%s' % (function.__module__, function.__name__) + if not args and not listitems and not dictitems \ + and isinstance(state, dict) and newobj: + return self.represent_mapping( + 'tag:yaml.org,2002:python/object:'+function_name, state) + if not listitems and not dictitems \ + and isinstance(state, dict) and not state: + return self.represent_sequence(tag+function_name, args) + value = {} + if args: + value['args'] = args + if state or not isinstance(state, dict): + value['state'] = state + if listitems: + value['listitems'] = listitems + if dictitems: + value['dictitems'] = dictitems + return self.represent_mapping(tag+function_name, value) + + def represent_ordered_dict(self, data): + # Provide uniform representation across different Python versions. + data_type = type(data) + tag = 'tag:yaml.org,2002:python/object/apply:%s.%s' \ + % (data_type.__module__, data_type.__name__) + items = [[key, value] for key, value in data.items()] + return self.represent_sequence(tag, [items]) + +Representer.add_representer(complex, + Representer.represent_complex) + +Representer.add_representer(tuple, + Representer.represent_tuple) + +Representer.add_representer(type, + Representer.represent_name) + +Representer.add_representer(collections.OrderedDict, + Representer.represent_ordered_dict) + +Representer.add_representer(types.FunctionType, + Representer.represent_name) + +Representer.add_representer(types.BuiltinFunctionType, + Representer.represent_name) + +Representer.add_representer(types.ModuleType, + Representer.represent_module) + +Representer.add_multi_representer(object, + Representer.represent_object) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/resolver.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/resolver.py new file mode 100644 index 00000000..013896d2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/resolver.py @@ -0,0 +1,227 @@ + +__all__ = ['BaseResolver', 'Resolver'] + +from .error import * +from .nodes import * + +import re + +class ResolverError(YAMLError): + pass + +class BaseResolver: + + DEFAULT_SCALAR_TAG = 'tag:yaml.org,2002:str' + DEFAULT_SEQUENCE_TAG = 'tag:yaml.org,2002:seq' + DEFAULT_MAPPING_TAG = 'tag:yaml.org,2002:map' + + yaml_implicit_resolvers = {} + yaml_path_resolvers = {} + + def __init__(self): + self.resolver_exact_paths = [] + self.resolver_prefix_paths = [] + + @classmethod + def add_implicit_resolver(cls, tag, regexp, first): + if not 'yaml_implicit_resolvers' in cls.__dict__: + implicit_resolvers = {} + for key in cls.yaml_implicit_resolvers: + implicit_resolvers[key] = cls.yaml_implicit_resolvers[key][:] + cls.yaml_implicit_resolvers = implicit_resolvers + if first is None: + first = [None] + for ch in first: + cls.yaml_implicit_resolvers.setdefault(ch, []).append((tag, regexp)) + + @classmethod + def add_path_resolver(cls, tag, path, kind=None): + # Note: `add_path_resolver` is experimental. The API could be changed. + # `new_path` is a pattern that is matched against the path from the + # root to the node that is being considered. `node_path` elements are + # tuples `(node_check, index_check)`. `node_check` is a node class: + # `ScalarNode`, `SequenceNode`, `MappingNode` or `None`. `None` + # matches any kind of a node. `index_check` could be `None`, a boolean + # value, a string value, or a number. `None` and `False` match against + # any _value_ of sequence and mapping nodes. `True` matches against + # any _key_ of a mapping node. A string `index_check` matches against + # a mapping value that corresponds to a scalar key which content is + # equal to the `index_check` value. An integer `index_check` matches + # against a sequence value with the index equal to `index_check`. + if not 'yaml_path_resolvers' in cls.__dict__: + cls.yaml_path_resolvers = cls.yaml_path_resolvers.copy() + new_path = [] + for element in path: + if isinstance(element, (list, tuple)): + if len(element) == 2: + node_check, index_check = element + elif len(element) == 1: + node_check = element[0] + index_check = True + else: + raise ResolverError("Invalid path element: %s" % element) + else: + node_check = None + index_check = element + if node_check is str: + node_check = ScalarNode + elif node_check is list: + node_check = SequenceNode + elif node_check is dict: + node_check = MappingNode + elif node_check not in [ScalarNode, SequenceNode, MappingNode] \ + and not isinstance(node_check, str) \ + and node_check is not None: + raise ResolverError("Invalid node checker: %s" % node_check) + if not isinstance(index_check, (str, int)) \ + and index_check is not None: + raise ResolverError("Invalid index checker: %s" % index_check) + new_path.append((node_check, index_check)) + if kind is str: + kind = ScalarNode + elif kind is list: + kind = SequenceNode + elif kind is dict: + kind = MappingNode + elif kind not in [ScalarNode, SequenceNode, MappingNode] \ + and kind is not None: + raise ResolverError("Invalid node kind: %s" % kind) + cls.yaml_path_resolvers[tuple(new_path), kind] = tag + + def descend_resolver(self, current_node, current_index): + if not self.yaml_path_resolvers: + return + exact_paths = {} + prefix_paths = [] + if current_node: + depth = len(self.resolver_prefix_paths) + for path, kind in self.resolver_prefix_paths[-1]: + if self.check_resolver_prefix(depth, path, kind, + current_node, current_index): + if len(path) > depth: + prefix_paths.append((path, kind)) + else: + exact_paths[kind] = self.yaml_path_resolvers[path, kind] + else: + for path, kind in self.yaml_path_resolvers: + if not path: + exact_paths[kind] = self.yaml_path_resolvers[path, kind] + else: + prefix_paths.append((path, kind)) + self.resolver_exact_paths.append(exact_paths) + self.resolver_prefix_paths.append(prefix_paths) + + def ascend_resolver(self): + if not self.yaml_path_resolvers: + return + self.resolver_exact_paths.pop() + self.resolver_prefix_paths.pop() + + def check_resolver_prefix(self, depth, path, kind, + current_node, current_index): + node_check, index_check = path[depth-1] + if isinstance(node_check, str): + if current_node.tag != node_check: + return + elif node_check is not None: + if not isinstance(current_node, node_check): + return + if index_check is True and current_index is not None: + return + if (index_check is False or index_check is None) \ + and current_index is None: + return + if isinstance(index_check, str): + if not (isinstance(current_index, ScalarNode) + and index_check == current_index.value): + return + elif isinstance(index_check, int) and not isinstance(index_check, bool): + if index_check != current_index: + return + return True + + def resolve(self, kind, value, implicit): + if kind is ScalarNode and implicit[0]: + if value == '': + resolvers = self.yaml_implicit_resolvers.get('', []) + else: + resolvers = self.yaml_implicit_resolvers.get(value[0], []) + wildcard_resolvers = self.yaml_implicit_resolvers.get(None, []) + for tag, regexp in resolvers + wildcard_resolvers: + if regexp.match(value): + return tag + implicit = implicit[1] + if self.yaml_path_resolvers: + exact_paths = self.resolver_exact_paths[-1] + if kind in exact_paths: + return exact_paths[kind] + if None in exact_paths: + return exact_paths[None] + if kind is ScalarNode: + return self.DEFAULT_SCALAR_TAG + elif kind is SequenceNode: + return self.DEFAULT_SEQUENCE_TAG + elif kind is MappingNode: + return self.DEFAULT_MAPPING_TAG + +class Resolver(BaseResolver): + pass + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:bool', + re.compile(r'''^(?:yes|Yes|YES|no|No|NO + |true|True|TRUE|false|False|FALSE + |on|On|ON|off|Off|OFF)$''', re.X), + list('yYnNtTfFoO')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:float', + re.compile(r'''^(?:[-+]?(?:[0-9][0-9_]*)\.[0-9_]*(?:[eE][-+][0-9]+)? + |\.[0-9_]+(?:[eE][-+][0-9]+)? + |[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]* + |[-+]?\.(?:inf|Inf|INF) + |\.(?:nan|NaN|NAN))$''', re.X), + list('-+0123456789.')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:int', + re.compile(r'''^(?:[-+]?0b[0-1_]+ + |[-+]?0[0-7_]+ + |[-+]?(?:0|[1-9][0-9_]*) + |[-+]?0x[0-9a-fA-F_]+ + |[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)$''', re.X), + list('-+0123456789')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:merge', + re.compile(r'^(?:<<)$'), + ['<']) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:null', + re.compile(r'''^(?: ~ + |null|Null|NULL + | )$''', re.X), + ['~', 'n', 'N', '']) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:timestamp', + re.compile(r'''^(?:[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] + |[0-9][0-9][0-9][0-9] -[0-9][0-9]? -[0-9][0-9]? + (?:[Tt]|[ \t]+)[0-9][0-9]? + :[0-9][0-9] :[0-9][0-9] (?:\.[0-9]*)? + (?:[ \t]*(?:Z|[-+][0-9][0-9]?(?::[0-9][0-9])?))?)$''', re.X), + list('0123456789')) + +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:value', + re.compile(r'^(?:=)$'), + ['=']) + +# The following resolver is only for documentation purposes. It cannot work +# because plain scalars cannot start with '!', '&', or '*'. +Resolver.add_implicit_resolver( + 'tag:yaml.org,2002:yaml', + re.compile(r'^(?:!|&|\*)$'), + list('!&*')) + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/scanner.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/scanner.py new file mode 100644 index 00000000..7437ede1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/scanner.py @@ -0,0 +1,1435 @@ + +# Scanner produces tokens of the following types: +# STREAM-START +# STREAM-END +# DIRECTIVE(name, value) +# DOCUMENT-START +# DOCUMENT-END +# BLOCK-SEQUENCE-START +# BLOCK-MAPPING-START +# BLOCK-END +# FLOW-SEQUENCE-START +# FLOW-MAPPING-START +# FLOW-SEQUENCE-END +# FLOW-MAPPING-END +# BLOCK-ENTRY +# FLOW-ENTRY +# KEY +# VALUE +# ALIAS(value) +# ANCHOR(value) +# TAG(value) +# SCALAR(value, plain, style) +# +# Read comments in the Scanner code for more details. +# + +__all__ = ['Scanner', 'ScannerError'] + +from .error import MarkedYAMLError +from .tokens import * + +class ScannerError(MarkedYAMLError): + pass + +class SimpleKey: + # See below simple keys treatment. + + def __init__(self, token_number, required, index, line, column, mark): + self.token_number = token_number + self.required = required + self.index = index + self.line = line + self.column = column + self.mark = mark + +class Scanner: + + def __init__(self): + """Initialize the scanner.""" + # It is assumed that Scanner and Reader will have a common descendant. + # Reader do the dirty work of checking for BOM and converting the + # input data to Unicode. It also adds NUL to the end. + # + # Reader supports the following methods + # self.peek(i=0) # peek the next i-th character + # self.prefix(l=1) # peek the next l characters + # self.forward(l=1) # read the next l characters and move the pointer. + + # Had we reached the end of the stream? + self.done = False + + # The number of unclosed '{' and '['. `flow_level == 0` means block + # context. + self.flow_level = 0 + + # List of processed tokens that are not yet emitted. + self.tokens = [] + + # Add the STREAM-START token. + self.fetch_stream_start() + + # Number of tokens that were emitted through the `get_token` method. + self.tokens_taken = 0 + + # The current indentation level. + self.indent = -1 + + # Past indentation levels. + self.indents = [] + + # Variables related to simple keys treatment. + + # A simple key is a key that is not denoted by the '?' indicator. + # Example of simple keys: + # --- + # block simple key: value + # ? not a simple key: + # : { flow simple key: value } + # We emit the KEY token before all keys, so when we find a potential + # simple key, we try to locate the corresponding ':' indicator. + # Simple keys should be limited to a single line and 1024 characters. + + # Can a simple key start at the current position? A simple key may + # start: + # - at the beginning of the line, not counting indentation spaces + # (in block context), + # - after '{', '[', ',' (in the flow context), + # - after '?', ':', '-' (in the block context). + # In the block context, this flag also signifies if a block collection + # may start at the current position. + self.allow_simple_key = True + + # Keep track of possible simple keys. This is a dictionary. The key + # is `flow_level`; there can be no more that one possible simple key + # for each level. The value is a SimpleKey record: + # (token_number, required, index, line, column, mark) + # A simple key may start with ALIAS, ANCHOR, TAG, SCALAR(flow), + # '[', or '{' tokens. + self.possible_simple_keys = {} + + # Public methods. + + def check_token(self, *choices): + # Check if the next token is one of the given types. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + if not choices: + return True + for choice in choices: + if isinstance(self.tokens[0], choice): + return True + return False + + def peek_token(self): + # Return the next token, but do not delete if from the queue. + # Return None if no more tokens. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + return self.tokens[0] + else: + return None + + def get_token(self): + # Return the next token. + while self.need_more_tokens(): + self.fetch_more_tokens() + if self.tokens: + self.tokens_taken += 1 + return self.tokens.pop(0) + + # Private methods. + + def need_more_tokens(self): + if self.done: + return False + if not self.tokens: + return True + # The current token may be a potential simple key, so we + # need to look further. + self.stale_possible_simple_keys() + if self.next_possible_simple_key() == self.tokens_taken: + return True + + def fetch_more_tokens(self): + + # Eat whitespaces and comments until we reach the next token. + self.scan_to_next_token() + + # Remove obsolete possible simple keys. + self.stale_possible_simple_keys() + + # Compare the current indentation and column. It may add some tokens + # and decrease the current indentation level. + self.unwind_indent(self.column) + + # Peek the next character. + ch = self.peek() + + # Is it the end of stream? + if ch == '\0': + return self.fetch_stream_end() + + # Is it a directive? + if ch == '%' and self.check_directive(): + return self.fetch_directive() + + # Is it the document start? + if ch == '-' and self.check_document_start(): + return self.fetch_document_start() + + # Is it the document end? + if ch == '.' and self.check_document_end(): + return self.fetch_document_end() + + # TODO: support for BOM within a stream. + #if ch == '\uFEFF': + # return self.fetch_bom() <-- issue BOMToken + + # Note: the order of the following checks is NOT significant. + + # Is it the flow sequence start indicator? + if ch == '[': + return self.fetch_flow_sequence_start() + + # Is it the flow mapping start indicator? + if ch == '{': + return self.fetch_flow_mapping_start() + + # Is it the flow sequence end indicator? + if ch == ']': + return self.fetch_flow_sequence_end() + + # Is it the flow mapping end indicator? + if ch == '}': + return self.fetch_flow_mapping_end() + + # Is it the flow entry indicator? + if ch == ',': + return self.fetch_flow_entry() + + # Is it the block entry indicator? + if ch == '-' and self.check_block_entry(): + return self.fetch_block_entry() + + # Is it the key indicator? + if ch == '?' and self.check_key(): + return self.fetch_key() + + # Is it the value indicator? + if ch == ':' and self.check_value(): + return self.fetch_value() + + # Is it an alias? + if ch == '*': + return self.fetch_alias() + + # Is it an anchor? + if ch == '&': + return self.fetch_anchor() + + # Is it a tag? + if ch == '!': + return self.fetch_tag() + + # Is it a literal scalar? + if ch == '|' and not self.flow_level: + return self.fetch_literal() + + # Is it a folded scalar? + if ch == '>' and not self.flow_level: + return self.fetch_folded() + + # Is it a single quoted scalar? + if ch == '\'': + return self.fetch_single() + + # Is it a double quoted scalar? + if ch == '\"': + return self.fetch_double() + + # It must be a plain scalar then. + if self.check_plain(): + return self.fetch_plain() + + # No? It's an error. Let's produce a nice error message. + raise ScannerError("while scanning for the next token", None, + "found character %r that cannot start any token" % ch, + self.get_mark()) + + # Simple keys treatment. + + def next_possible_simple_key(self): + # Return the number of the nearest possible simple key. Actually we + # don't need to loop through the whole dictionary. We may replace it + # with the following code: + # if not self.possible_simple_keys: + # return None + # return self.possible_simple_keys[ + # min(self.possible_simple_keys.keys())].token_number + min_token_number = None + for level in self.possible_simple_keys: + key = self.possible_simple_keys[level] + if min_token_number is None or key.token_number < min_token_number: + min_token_number = key.token_number + return min_token_number + + def stale_possible_simple_keys(self): + # Remove entries that are no longer possible simple keys. According to + # the YAML specification, simple keys + # - should be limited to a single line, + # - should be no longer than 1024 characters. + # Disabling this procedure will allow simple keys of any length and + # height (may cause problems if indentation is broken though). + for level in list(self.possible_simple_keys): + key = self.possible_simple_keys[level] + if key.line != self.line \ + or self.index-key.index > 1024: + if key.required: + raise ScannerError("while scanning a simple key", key.mark, + "could not find expected ':'", self.get_mark()) + del self.possible_simple_keys[level] + + def save_possible_simple_key(self): + # The next token may start a simple key. We check if it's possible + # and save its position. This function is called for + # ALIAS, ANCHOR, TAG, SCALAR(flow), '[', and '{'. + + # Check if a simple key is required at the current position. + required = not self.flow_level and self.indent == self.column + + # The next token might be a simple key. Let's save it's number and + # position. + if self.allow_simple_key: + self.remove_possible_simple_key() + token_number = self.tokens_taken+len(self.tokens) + key = SimpleKey(token_number, required, + self.index, self.line, self.column, self.get_mark()) + self.possible_simple_keys[self.flow_level] = key + + def remove_possible_simple_key(self): + # Remove the saved possible key position at the current flow level. + if self.flow_level in self.possible_simple_keys: + key = self.possible_simple_keys[self.flow_level] + + if key.required: + raise ScannerError("while scanning a simple key", key.mark, + "could not find expected ':'", self.get_mark()) + + del self.possible_simple_keys[self.flow_level] + + # Indentation functions. + + def unwind_indent(self, column): + + ## In flow context, tokens should respect indentation. + ## Actually the condition should be `self.indent >= column` according to + ## the spec. But this condition will prohibit intuitively correct + ## constructions such as + ## key : { + ## } + #if self.flow_level and self.indent > column: + # raise ScannerError(None, None, + # "invalid indentation or unclosed '[' or '{'", + # self.get_mark()) + + # In the flow context, indentation is ignored. We make the scanner less + # restrictive then specification requires. + if self.flow_level: + return + + # In block context, we may need to issue the BLOCK-END tokens. + while self.indent > column: + mark = self.get_mark() + self.indent = self.indents.pop() + self.tokens.append(BlockEndToken(mark, mark)) + + def add_indent(self, column): + # Check if we need to increase indentation. + if self.indent < column: + self.indents.append(self.indent) + self.indent = column + return True + return False + + # Fetchers. + + def fetch_stream_start(self): + # We always add STREAM-START as the first token and STREAM-END as the + # last token. + + # Read the token. + mark = self.get_mark() + + # Add STREAM-START. + self.tokens.append(StreamStartToken(mark, mark, + encoding=self.encoding)) + + + def fetch_stream_end(self): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. + self.remove_possible_simple_key() + self.allow_simple_key = False + self.possible_simple_keys = {} + + # Read the token. + mark = self.get_mark() + + # Add STREAM-END. + self.tokens.append(StreamEndToken(mark, mark)) + + # The steam is finished. + self.done = True + + def fetch_directive(self): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. + self.remove_possible_simple_key() + self.allow_simple_key = False + + # Scan and add DIRECTIVE. + self.tokens.append(self.scan_directive()) + + def fetch_document_start(self): + self.fetch_document_indicator(DocumentStartToken) + + def fetch_document_end(self): + self.fetch_document_indicator(DocumentEndToken) + + def fetch_document_indicator(self, TokenClass): + + # Set the current indentation to -1. + self.unwind_indent(-1) + + # Reset simple keys. Note that there could not be a block collection + # after '---'. + self.remove_possible_simple_key() + self.allow_simple_key = False + + # Add DOCUMENT-START or DOCUMENT-END. + start_mark = self.get_mark() + self.forward(3) + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_sequence_start(self): + self.fetch_flow_collection_start(FlowSequenceStartToken) + + def fetch_flow_mapping_start(self): + self.fetch_flow_collection_start(FlowMappingStartToken) + + def fetch_flow_collection_start(self, TokenClass): + + # '[' and '{' may start a simple key. + self.save_possible_simple_key() + + # Increase the flow level. + self.flow_level += 1 + + # Simple keys are allowed after '[' and '{'. + self.allow_simple_key = True + + # Add FLOW-SEQUENCE-START or FLOW-MAPPING-START. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_sequence_end(self): + self.fetch_flow_collection_end(FlowSequenceEndToken) + + def fetch_flow_mapping_end(self): + self.fetch_flow_collection_end(FlowMappingEndToken) + + def fetch_flow_collection_end(self, TokenClass): + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Decrease the flow level. + self.flow_level -= 1 + + # No simple keys after ']' or '}'. + self.allow_simple_key = False + + # Add FLOW-SEQUENCE-END or FLOW-MAPPING-END. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(TokenClass(start_mark, end_mark)) + + def fetch_flow_entry(self): + + # Simple keys are allowed after ','. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add FLOW-ENTRY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(FlowEntryToken(start_mark, end_mark)) + + def fetch_block_entry(self): + + # Block context needs additional checks. + if not self.flow_level: + + # Are we allowed to start a new entry? + if not self.allow_simple_key: + raise ScannerError(None, None, + "sequence entries are not allowed here", + self.get_mark()) + + # We may need to add BLOCK-SEQUENCE-START. + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockSequenceStartToken(mark, mark)) + + # It's an error for the block entry to occur in the flow context, + # but we let the parser detect this. + else: + pass + + # Simple keys are allowed after '-'. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add BLOCK-ENTRY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(BlockEntryToken(start_mark, end_mark)) + + def fetch_key(self): + + # Block context needs additional checks. + if not self.flow_level: + + # Are we allowed to start a key (not necessary a simple)? + if not self.allow_simple_key: + raise ScannerError(None, None, + "mapping keys are not allowed here", + self.get_mark()) + + # We may need to add BLOCK-MAPPING-START. + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockMappingStartToken(mark, mark)) + + # Simple keys are allowed after '?' in the block context. + self.allow_simple_key = not self.flow_level + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add KEY. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(KeyToken(start_mark, end_mark)) + + def fetch_value(self): + + # Do we determine a simple key? + if self.flow_level in self.possible_simple_keys: + + # Add KEY. + key = self.possible_simple_keys[self.flow_level] + del self.possible_simple_keys[self.flow_level] + self.tokens.insert(key.token_number-self.tokens_taken, + KeyToken(key.mark, key.mark)) + + # If this key starts a new block mapping, we need to add + # BLOCK-MAPPING-START. + if not self.flow_level: + if self.add_indent(key.column): + self.tokens.insert(key.token_number-self.tokens_taken, + BlockMappingStartToken(key.mark, key.mark)) + + # There cannot be two simple keys one after another. + self.allow_simple_key = False + + # It must be a part of a complex key. + else: + + # Block context needs additional checks. + # (Do we really need them? They will be caught by the parser + # anyway.) + if not self.flow_level: + + # We are allowed to start a complex value if and only if + # we can start a simple key. + if not self.allow_simple_key: + raise ScannerError(None, None, + "mapping values are not allowed here", + self.get_mark()) + + # If this value starts a new block mapping, we need to add + # BLOCK-MAPPING-START. It will be detected as an error later by + # the parser. + if not self.flow_level: + if self.add_indent(self.column): + mark = self.get_mark() + self.tokens.append(BlockMappingStartToken(mark, mark)) + + # Simple keys are allowed after ':' in the block context. + self.allow_simple_key = not self.flow_level + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Add VALUE. + start_mark = self.get_mark() + self.forward() + end_mark = self.get_mark() + self.tokens.append(ValueToken(start_mark, end_mark)) + + def fetch_alias(self): + + # ALIAS could be a simple key. + self.save_possible_simple_key() + + # No simple keys after ALIAS. + self.allow_simple_key = False + + # Scan and add ALIAS. + self.tokens.append(self.scan_anchor(AliasToken)) + + def fetch_anchor(self): + + # ANCHOR could start a simple key. + self.save_possible_simple_key() + + # No simple keys after ANCHOR. + self.allow_simple_key = False + + # Scan and add ANCHOR. + self.tokens.append(self.scan_anchor(AnchorToken)) + + def fetch_tag(self): + + # TAG could start a simple key. + self.save_possible_simple_key() + + # No simple keys after TAG. + self.allow_simple_key = False + + # Scan and add TAG. + self.tokens.append(self.scan_tag()) + + def fetch_literal(self): + self.fetch_block_scalar(style='|') + + def fetch_folded(self): + self.fetch_block_scalar(style='>') + + def fetch_block_scalar(self, style): + + # A simple key may follow a block scalar. + self.allow_simple_key = True + + # Reset possible simple key on the current level. + self.remove_possible_simple_key() + + # Scan and add SCALAR. + self.tokens.append(self.scan_block_scalar(style)) + + def fetch_single(self): + self.fetch_flow_scalar(style='\'') + + def fetch_double(self): + self.fetch_flow_scalar(style='"') + + def fetch_flow_scalar(self, style): + + # A flow scalar could be a simple key. + self.save_possible_simple_key() + + # No simple keys after flow scalars. + self.allow_simple_key = False + + # Scan and add SCALAR. + self.tokens.append(self.scan_flow_scalar(style)) + + def fetch_plain(self): + + # A plain scalar could be a simple key. + self.save_possible_simple_key() + + # No simple keys after plain scalars. But note that `scan_plain` will + # change this flag if the scan is finished at the beginning of the + # line. + self.allow_simple_key = False + + # Scan and add SCALAR. May change `allow_simple_key`. + self.tokens.append(self.scan_plain()) + + # Checkers. + + def check_directive(self): + + # DIRECTIVE: ^ '%' ... + # The '%' indicator is already checked. + if self.column == 0: + return True + + def check_document_start(self): + + # DOCUMENT-START: ^ '---' (' '|'\n') + if self.column == 0: + if self.prefix(3) == '---' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return True + + def check_document_end(self): + + # DOCUMENT-END: ^ '...' (' '|'\n') + if self.column == 0: + if self.prefix(3) == '...' \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return True + + def check_block_entry(self): + + # BLOCK-ENTRY: '-' (' '|'\n') + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_key(self): + + # KEY(flow context): '?' + if self.flow_level: + return True + + # KEY(block context): '?' (' '|'\n') + else: + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_value(self): + + # VALUE(flow context): ':' + if self.flow_level: + return True + + # VALUE(block context): ':' (' '|'\n') + else: + return self.peek(1) in '\0 \t\r\n\x85\u2028\u2029' + + def check_plain(self): + + # A plain scalar may start with any non-space character except: + # '-', '?', ':', ',', '[', ']', '{', '}', + # '#', '&', '*', '!', '|', '>', '\'', '\"', + # '%', '@', '`'. + # + # It may also start with + # '-', '?', ':' + # if it is followed by a non-space character. + # + # Note that we limit the last rule to the block context (except the + # '-' character) because we want the flow context to be space + # independent. + ch = self.peek() + return ch not in '\0 \t\r\n\x85\u2028\u2029-?:,[]{}#&*!|>\'\"%@`' \ + or (self.peek(1) not in '\0 \t\r\n\x85\u2028\u2029' + and (ch == '-' or (not self.flow_level and ch in '?:'))) + + # Scanners. + + def scan_to_next_token(self): + # We ignore spaces, line breaks and comments. + # If we find a line break in the block context, we set the flag + # `allow_simple_key` on. + # The byte order mark is stripped if it's the first character in the + # stream. We do not yet support BOM inside the stream as the + # specification requires. Any such mark will be considered as a part + # of the document. + # + # TODO: We need to make tab handling rules more sane. A good rule is + # Tabs cannot precede tokens + # BLOCK-SEQUENCE-START, BLOCK-MAPPING-START, BLOCK-END, + # KEY(block), VALUE(block), BLOCK-ENTRY + # So the checking code is + # if : + # self.allow_simple_keys = False + # We also need to add the check for `allow_simple_keys == True` to + # `unwind_indent` before issuing BLOCK-END. + # Scanners for block, flow, and plain scalars need to be modified. + + if self.index == 0 and self.peek() == '\uFEFF': + self.forward() + found = False + while not found: + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + if self.scan_line_break(): + if not self.flow_level: + self.allow_simple_key = True + else: + found = True + + def scan_directive(self): + # See the specification for details. + start_mark = self.get_mark() + self.forward() + name = self.scan_directive_name(start_mark) + value = None + if name == 'YAML': + value = self.scan_yaml_directive_value(start_mark) + end_mark = self.get_mark() + elif name == 'TAG': + value = self.scan_tag_directive_value(start_mark) + end_mark = self.get_mark() + else: + end_mark = self.get_mark() + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + self.scan_directive_ignored_line(start_mark) + return DirectiveToken(name, value, start_mark, end_mark) + + def scan_directive_name(self, start_mark): + # See the specification for details. + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if not length: + raise ScannerError("while scanning a directive", start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + value = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + return value + + def scan_yaml_directive_value(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + major = self.scan_yaml_directive_number(start_mark) + if self.peek() != '.': + raise ScannerError("while scanning a directive", start_mark, + "expected a digit or '.', but found %r" % self.peek(), + self.get_mark()) + self.forward() + minor = self.scan_yaml_directive_number(start_mark) + if self.peek() not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected a digit or ' ', but found %r" % self.peek(), + self.get_mark()) + return (major, minor) + + def scan_yaml_directive_number(self, start_mark): + # See the specification for details. + ch = self.peek() + if not ('0' <= ch <= '9'): + raise ScannerError("while scanning a directive", start_mark, + "expected a digit, but found %r" % ch, self.get_mark()) + length = 0 + while '0' <= self.peek(length) <= '9': + length += 1 + value = int(self.prefix(length)) + self.forward(length) + return value + + def scan_tag_directive_value(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + handle = self.scan_tag_directive_handle(start_mark) + while self.peek() == ' ': + self.forward() + prefix = self.scan_tag_directive_prefix(start_mark) + return (handle, prefix) + + def scan_tag_directive_handle(self, start_mark): + # See the specification for details. + value = self.scan_tag_handle('directive', start_mark) + ch = self.peek() + if ch != ' ': + raise ScannerError("while scanning a directive", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + return value + + def scan_tag_directive_prefix(self, start_mark): + # See the specification for details. + value = self.scan_tag_uri('directive', start_mark) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + return value + + def scan_directive_ignored_line(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + ch = self.peek() + if ch not in '\0\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a directive", start_mark, + "expected a comment or a line break, but found %r" + % ch, self.get_mark()) + self.scan_line_break() + + def scan_anchor(self, TokenClass): + # The specification does not restrict characters for anchors and + # aliases. This may lead to problems, for instance, the document: + # [ *alias, value ] + # can be interpreted in two ways, as + # [ "value" ] + # and + # [ *alias , "value" ] + # Therefore we restrict aliases to numbers and ASCII letters. + start_mark = self.get_mark() + indicator = self.peek() + if indicator == '*': + name = 'alias' + else: + name = 'anchor' + self.forward() + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if not length: + raise ScannerError("while scanning an %s" % name, start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + value = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch not in '\0 \t\r\n\x85\u2028\u2029?:,]}%@`': + raise ScannerError("while scanning an %s" % name, start_mark, + "expected alphabetic or numeric character, but found %r" + % ch, self.get_mark()) + end_mark = self.get_mark() + return TokenClass(value, start_mark, end_mark) + + def scan_tag(self): + # See the specification for details. + start_mark = self.get_mark() + ch = self.peek(1) + if ch == '<': + handle = None + self.forward(2) + suffix = self.scan_tag_uri('tag', start_mark) + if self.peek() != '>': + raise ScannerError("while parsing a tag", start_mark, + "expected '>', but found %r" % self.peek(), + self.get_mark()) + self.forward() + elif ch in '\0 \t\r\n\x85\u2028\u2029': + handle = None + suffix = '!' + self.forward() + else: + length = 1 + use_handle = False + while ch not in '\0 \r\n\x85\u2028\u2029': + if ch == '!': + use_handle = True + break + length += 1 + ch = self.peek(length) + handle = '!' + if use_handle: + handle = self.scan_tag_handle('tag', start_mark) + else: + handle = '!' + self.forward() + suffix = self.scan_tag_uri('tag', start_mark) + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a tag", start_mark, + "expected ' ', but found %r" % ch, self.get_mark()) + value = (handle, suffix) + end_mark = self.get_mark() + return TagToken(value, start_mark, end_mark) + + def scan_block_scalar(self, style): + # See the specification for details. + + if style == '>': + folded = True + else: + folded = False + + chunks = [] + start_mark = self.get_mark() + + # Scan the header. + self.forward() + chomping, increment = self.scan_block_scalar_indicators(start_mark) + self.scan_block_scalar_ignored_line(start_mark) + + # Determine the indentation level and go to the first non-empty line. + min_indent = self.indent+1 + if min_indent < 1: + min_indent = 1 + if increment is None: + breaks, max_indent, end_mark = self.scan_block_scalar_indentation() + indent = max(min_indent, max_indent) + else: + indent = min_indent+increment-1 + breaks, end_mark = self.scan_block_scalar_breaks(indent) + line_break = '' + + # Scan the inner part of the block scalar. + while self.column == indent and self.peek() != '\0': + chunks.extend(breaks) + leading_non_space = self.peek() not in ' \t' + length = 0 + while self.peek(length) not in '\0\r\n\x85\u2028\u2029': + length += 1 + chunks.append(self.prefix(length)) + self.forward(length) + line_break = self.scan_line_break() + breaks, end_mark = self.scan_block_scalar_breaks(indent) + if self.column == indent and self.peek() != '\0': + + # Unfortunately, folding rules are ambiguous. + # + # This is the folding according to the specification: + + if folded and line_break == '\n' \ + and leading_non_space and self.peek() not in ' \t': + if not breaks: + chunks.append(' ') + else: + chunks.append(line_break) + + # This is Clark Evans's interpretation (also in the spec + # examples): + # + #if folded and line_break == '\n': + # if not breaks: + # if self.peek() not in ' \t': + # chunks.append(' ') + # else: + # chunks.append(line_break) + #else: + # chunks.append(line_break) + else: + break + + # Chomp the tail. + if chomping is not False: + chunks.append(line_break) + if chomping is True: + chunks.extend(breaks) + + # We are done. + return ScalarToken(''.join(chunks), False, start_mark, end_mark, + style) + + def scan_block_scalar_indicators(self, start_mark): + # See the specification for details. + chomping = None + increment = None + ch = self.peek() + if ch in '+-': + if ch == '+': + chomping = True + else: + chomping = False + self.forward() + ch = self.peek() + if ch in '0123456789': + increment = int(ch) + if increment == 0: + raise ScannerError("while scanning a block scalar", start_mark, + "expected indentation indicator in the range 1-9, but found 0", + self.get_mark()) + self.forward() + elif ch in '0123456789': + increment = int(ch) + if increment == 0: + raise ScannerError("while scanning a block scalar", start_mark, + "expected indentation indicator in the range 1-9, but found 0", + self.get_mark()) + self.forward() + ch = self.peek() + if ch in '+-': + if ch == '+': + chomping = True + else: + chomping = False + self.forward() + ch = self.peek() + if ch not in '\0 \r\n\x85\u2028\u2029': + raise ScannerError("while scanning a block scalar", start_mark, + "expected chomping or indentation indicators, but found %r" + % ch, self.get_mark()) + return chomping, increment + + def scan_block_scalar_ignored_line(self, start_mark): + # See the specification for details. + while self.peek() == ' ': + self.forward() + if self.peek() == '#': + while self.peek() not in '\0\r\n\x85\u2028\u2029': + self.forward() + ch = self.peek() + if ch not in '\0\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a block scalar", start_mark, + "expected a comment or a line break, but found %r" % ch, + self.get_mark()) + self.scan_line_break() + + def scan_block_scalar_indentation(self): + # See the specification for details. + chunks = [] + max_indent = 0 + end_mark = self.get_mark() + while self.peek() in ' \r\n\x85\u2028\u2029': + if self.peek() != ' ': + chunks.append(self.scan_line_break()) + end_mark = self.get_mark() + else: + self.forward() + if self.column > max_indent: + max_indent = self.column + return chunks, max_indent, end_mark + + def scan_block_scalar_breaks(self, indent): + # See the specification for details. + chunks = [] + end_mark = self.get_mark() + while self.column < indent and self.peek() == ' ': + self.forward() + while self.peek() in '\r\n\x85\u2028\u2029': + chunks.append(self.scan_line_break()) + end_mark = self.get_mark() + while self.column < indent and self.peek() == ' ': + self.forward() + return chunks, end_mark + + def scan_flow_scalar(self, style): + # See the specification for details. + # Note that we loose indentation rules for quoted scalars. Quoted + # scalars don't need to adhere indentation because " and ' clearly + # mark the beginning and the end of them. Therefore we are less + # restrictive then the specification requires. We only need to check + # that document separators are not included in scalars. + if style == '"': + double = True + else: + double = False + chunks = [] + start_mark = self.get_mark() + quote = self.peek() + self.forward() + chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark)) + while self.peek() != quote: + chunks.extend(self.scan_flow_scalar_spaces(double, start_mark)) + chunks.extend(self.scan_flow_scalar_non_spaces(double, start_mark)) + self.forward() + end_mark = self.get_mark() + return ScalarToken(''.join(chunks), False, start_mark, end_mark, + style) + + ESCAPE_REPLACEMENTS = { + '0': '\0', + 'a': '\x07', + 'b': '\x08', + 't': '\x09', + '\t': '\x09', + 'n': '\x0A', + 'v': '\x0B', + 'f': '\x0C', + 'r': '\x0D', + 'e': '\x1B', + ' ': '\x20', + '\"': '\"', + '\\': '\\', + '/': '/', + 'N': '\x85', + '_': '\xA0', + 'L': '\u2028', + 'P': '\u2029', + } + + ESCAPE_CODES = { + 'x': 2, + 'u': 4, + 'U': 8, + } + + def scan_flow_scalar_non_spaces(self, double, start_mark): + # See the specification for details. + chunks = [] + while True: + length = 0 + while self.peek(length) not in '\'\"\\\0 \t\r\n\x85\u2028\u2029': + length += 1 + if length: + chunks.append(self.prefix(length)) + self.forward(length) + ch = self.peek() + if not double and ch == '\'' and self.peek(1) == '\'': + chunks.append('\'') + self.forward(2) + elif (double and ch == '\'') or (not double and ch in '\"\\'): + chunks.append(ch) + self.forward() + elif double and ch == '\\': + self.forward() + ch = self.peek() + if ch in self.ESCAPE_REPLACEMENTS: + chunks.append(self.ESCAPE_REPLACEMENTS[ch]) + self.forward() + elif ch in self.ESCAPE_CODES: + length = self.ESCAPE_CODES[ch] + self.forward() + for k in range(length): + if self.peek(k) not in '0123456789ABCDEFabcdef': + raise ScannerError("while scanning a double-quoted scalar", start_mark, + "expected escape sequence of %d hexdecimal numbers, but found %r" % + (length, self.peek(k)), self.get_mark()) + code = int(self.prefix(length), 16) + chunks.append(chr(code)) + self.forward(length) + elif ch in '\r\n\x85\u2028\u2029': + self.scan_line_break() + chunks.extend(self.scan_flow_scalar_breaks(double, start_mark)) + else: + raise ScannerError("while scanning a double-quoted scalar", start_mark, + "found unknown escape character %r" % ch, self.get_mark()) + else: + return chunks + + def scan_flow_scalar_spaces(self, double, start_mark): + # See the specification for details. + chunks = [] + length = 0 + while self.peek(length) in ' \t': + length += 1 + whitespaces = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch == '\0': + raise ScannerError("while scanning a quoted scalar", start_mark, + "found unexpected end of stream", self.get_mark()) + elif ch in '\r\n\x85\u2028\u2029': + line_break = self.scan_line_break() + breaks = self.scan_flow_scalar_breaks(double, start_mark) + if line_break != '\n': + chunks.append(line_break) + elif not breaks: + chunks.append(' ') + chunks.extend(breaks) + else: + chunks.append(whitespaces) + return chunks + + def scan_flow_scalar_breaks(self, double, start_mark): + # See the specification for details. + chunks = [] + while True: + # Instead of checking indentation, we check for document + # separators. + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + raise ScannerError("while scanning a quoted scalar", start_mark, + "found unexpected document separator", self.get_mark()) + while self.peek() in ' \t': + self.forward() + if self.peek() in '\r\n\x85\u2028\u2029': + chunks.append(self.scan_line_break()) + else: + return chunks + + def scan_plain(self): + # See the specification for details. + # We add an additional restriction for the flow context: + # plain scalars in the flow context cannot contain ',' or '?'. + # We also keep track of the `allow_simple_key` flag here. + # Indentation rules are loosed for the flow context. + chunks = [] + start_mark = self.get_mark() + end_mark = start_mark + indent = self.indent+1 + # We allow zero indentation for scalars, but then we need to check for + # document separators at the beginning of the line. + #if indent == 0: + # indent = 1 + spaces = [] + while True: + length = 0 + if self.peek() == '#': + break + while True: + ch = self.peek(length) + if ch in '\0 \t\r\n\x85\u2028\u2029' \ + or (ch == ':' and + self.peek(length+1) in '\0 \t\r\n\x85\u2028\u2029' + + (u',[]{}' if self.flow_level else u''))\ + or (self.flow_level and ch in ',?[]{}'): + break + length += 1 + if length == 0: + break + self.allow_simple_key = False + chunks.extend(spaces) + chunks.append(self.prefix(length)) + self.forward(length) + end_mark = self.get_mark() + spaces = self.scan_plain_spaces(indent, start_mark) + if not spaces or self.peek() == '#' \ + or (not self.flow_level and self.column < indent): + break + return ScalarToken(''.join(chunks), True, start_mark, end_mark) + + def scan_plain_spaces(self, indent, start_mark): + # See the specification for details. + # The specification is really confusing about tabs in plain scalars. + # We just forbid them completely. Do not use tabs in YAML! + chunks = [] + length = 0 + while self.peek(length) in ' ': + length += 1 + whitespaces = self.prefix(length) + self.forward(length) + ch = self.peek() + if ch in '\r\n\x85\u2028\u2029': + line_break = self.scan_line_break() + self.allow_simple_key = True + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return + breaks = [] + while self.peek() in ' \r\n\x85\u2028\u2029': + if self.peek() == ' ': + self.forward() + else: + breaks.append(self.scan_line_break()) + prefix = self.prefix(3) + if (prefix == '---' or prefix == '...') \ + and self.peek(3) in '\0 \t\r\n\x85\u2028\u2029': + return + if line_break != '\n': + chunks.append(line_break) + elif not breaks: + chunks.append(' ') + chunks.extend(breaks) + elif whitespaces: + chunks.append(whitespaces) + return chunks + + def scan_tag_handle(self, name, start_mark): + # See the specification for details. + # For some strange reasons, the specification does not allow '_' in + # tag handles. I have allowed it anyway. + ch = self.peek() + if ch != '!': + raise ScannerError("while scanning a %s" % name, start_mark, + "expected '!', but found %r" % ch, self.get_mark()) + length = 1 + ch = self.peek(length) + if ch != ' ': + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-_': + length += 1 + ch = self.peek(length) + if ch != '!': + self.forward(length) + raise ScannerError("while scanning a %s" % name, start_mark, + "expected '!', but found %r" % ch, self.get_mark()) + length += 1 + value = self.prefix(length) + self.forward(length) + return value + + def scan_tag_uri(self, name, start_mark): + # See the specification for details. + # Note: we do not check if URI is well-formed. + chunks = [] + length = 0 + ch = self.peek(length) + while '0' <= ch <= '9' or 'A' <= ch <= 'Z' or 'a' <= ch <= 'z' \ + or ch in '-;/?:@&=+$,_.!~*\'()[]%': + if ch == '%': + chunks.append(self.prefix(length)) + self.forward(length) + length = 0 + chunks.append(self.scan_uri_escapes(name, start_mark)) + else: + length += 1 + ch = self.peek(length) + if length: + chunks.append(self.prefix(length)) + self.forward(length) + length = 0 + if not chunks: + raise ScannerError("while parsing a %s" % name, start_mark, + "expected URI, but found %r" % ch, self.get_mark()) + return ''.join(chunks) + + def scan_uri_escapes(self, name, start_mark): + # See the specification for details. + codes = [] + mark = self.get_mark() + while self.peek() == '%': + self.forward() + for k in range(2): + if self.peek(k) not in '0123456789ABCDEFabcdef': + raise ScannerError("while scanning a %s" % name, start_mark, + "expected URI escape sequence of 2 hexdecimal numbers, but found %r" + % self.peek(k), self.get_mark()) + codes.append(int(self.prefix(2), 16)) + self.forward(2) + try: + value = bytes(codes).decode('utf-8') + except UnicodeDecodeError as exc: + raise ScannerError("while scanning a %s" % name, start_mark, str(exc), mark) + return value + + def scan_line_break(self): + # Transforms: + # '\r\n' : '\n' + # '\r' : '\n' + # '\n' : '\n' + # '\x85' : '\n' + # '\u2028' : '\u2028' + # '\u2029 : '\u2029' + # default : '' + ch = self.peek() + if ch in '\r\n\x85': + if self.prefix(2) == '\r\n': + self.forward(2) + else: + self.forward() + return '\n' + elif ch in '\u2028\u2029': + self.forward() + return ch + return '' diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/serializer.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/serializer.py new file mode 100644 index 00000000..fe911e67 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/serializer.py @@ -0,0 +1,111 @@ + +__all__ = ['Serializer', 'SerializerError'] + +from .error import YAMLError +from .events import * +from .nodes import * + +class SerializerError(YAMLError): + pass + +class Serializer: + + ANCHOR_TEMPLATE = 'id%03d' + + def __init__(self, encoding=None, + explicit_start=None, explicit_end=None, version=None, tags=None): + self.use_encoding = encoding + self.use_explicit_start = explicit_start + self.use_explicit_end = explicit_end + self.use_version = version + self.use_tags = tags + self.serialized_nodes = {} + self.anchors = {} + self.last_anchor_id = 0 + self.closed = None + + def open(self): + if self.closed is None: + self.emit(StreamStartEvent(encoding=self.use_encoding)) + self.closed = False + elif self.closed: + raise SerializerError("serializer is closed") + else: + raise SerializerError("serializer is already opened") + + def close(self): + if self.closed is None: + raise SerializerError("serializer is not opened") + elif not self.closed: + self.emit(StreamEndEvent()) + self.closed = True + + #def __del__(self): + # self.close() + + def serialize(self, node): + if self.closed is None: + raise SerializerError("serializer is not opened") + elif self.closed: + raise SerializerError("serializer is closed") + self.emit(DocumentStartEvent(explicit=self.use_explicit_start, + version=self.use_version, tags=self.use_tags)) + self.anchor_node(node) + self.serialize_node(node, None, None) + self.emit(DocumentEndEvent(explicit=self.use_explicit_end)) + self.serialized_nodes = {} + self.anchors = {} + self.last_anchor_id = 0 + + def anchor_node(self, node): + if node in self.anchors: + if self.anchors[node] is None: + self.anchors[node] = self.generate_anchor(node) + else: + self.anchors[node] = None + if isinstance(node, SequenceNode): + for item in node.value: + self.anchor_node(item) + elif isinstance(node, MappingNode): + for key, value in node.value: + self.anchor_node(key) + self.anchor_node(value) + + def generate_anchor(self, node): + self.last_anchor_id += 1 + return self.ANCHOR_TEMPLATE % self.last_anchor_id + + def serialize_node(self, node, parent, index): + alias = self.anchors[node] + if node in self.serialized_nodes: + self.emit(AliasEvent(alias)) + else: + self.serialized_nodes[node] = True + self.descend_resolver(parent, index) + if isinstance(node, ScalarNode): + detected_tag = self.resolve(ScalarNode, node.value, (True, False)) + default_tag = self.resolve(ScalarNode, node.value, (False, True)) + implicit = (node.tag == detected_tag), (node.tag == default_tag) + self.emit(ScalarEvent(alias, node.tag, implicit, node.value, + style=node.style)) + elif isinstance(node, SequenceNode): + implicit = (node.tag + == self.resolve(SequenceNode, node.value, True)) + self.emit(SequenceStartEvent(alias, node.tag, implicit, + flow_style=node.flow_style)) + index = 0 + for item in node.value: + self.serialize_node(item, node, index) + index += 1 + self.emit(SequenceEndEvent()) + elif isinstance(node, MappingNode): + implicit = (node.tag + == self.resolve(MappingNode, node.value, True)) + self.emit(MappingStartEvent(alias, node.tag, implicit, + flow_style=node.flow_style)) + for key, value in node.value: + self.serialize_node(key, node, None) + self.serialize_node(value, node, key) + self.emit(MappingEndEvent()) + self.ascend_resolver() + diff --git a/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/tokens.py b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/tokens.py new file mode 100644 index 00000000..4d0b48a3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/prometheus-operator/venv/yaml/tokens.py @@ -0,0 +1,104 @@ + +class Token(object): + def __init__(self, start_mark, end_mark): + self.start_mark = start_mark + self.end_mark = end_mark + def __repr__(self): + attributes = [key for key in self.__dict__ + if not key.endswith('_mark')] + attributes.sort() + arguments = ', '.join(['%s=%r' % (key, getattr(self, key)) + for key in attributes]) + return '%s(%s)' % (self.__class__.__name__, arguments) + +#class BOMToken(Token): +# id = '' + +class DirectiveToken(Token): + id = '' + def __init__(self, name, value, start_mark, end_mark): + self.name = name + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class DocumentStartToken(Token): + id = '' + +class DocumentEndToken(Token): + id = '' + +class StreamStartToken(Token): + id = '' + def __init__(self, start_mark=None, end_mark=None, + encoding=None): + self.start_mark = start_mark + self.end_mark = end_mark + self.encoding = encoding + +class StreamEndToken(Token): + id = '' + +class BlockSequenceStartToken(Token): + id = '' + +class BlockMappingStartToken(Token): + id = '' + +class BlockEndToken(Token): + id = '' + +class FlowSequenceStartToken(Token): + id = '[' + +class FlowMappingStartToken(Token): + id = '{' + +class FlowSequenceEndToken(Token): + id = ']' + +class FlowMappingEndToken(Token): + id = '}' + +class KeyToken(Token): + id = '?' + +class ValueToken(Token): + id = ':' + +class BlockEntryToken(Token): + id = '-' + +class FlowEntryToken(Token): + id = ',' + +class AliasToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class AnchorToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class TagToken(Token): + id = '' + def __init__(self, value, start_mark, end_mark): + self.value = value + self.start_mark = start_mark + self.end_mark = end_mark + +class ScalarToken(Token): + id = '' + def __init__(self, value, plain, start_mark, end_mark, style=None): + self.value = value + self.plain = plain + self.start_mark = start_mark + self.end_mark = end_mark + self.style = style + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/README.md b/hackfest_squid_metrics_cnf/charms/squid-operator/README.md new file mode 100644 index 00000000..1b226214 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/README.md @@ -0,0 +1,47 @@ +# squid-k8s Charm + +## Overview + +This is a Kuberentes Charm to deploy [Squid Cache](http://www.squid-cache.org/). + +Sugested Actions for this charm: +* Set allowed URLs + Possible way to run action: `juju run-action squid/0 addurl url=google.com` +* Stop/Start/Restart the squid service - done + Run like this: `juju run-action squid/0 restart` +* Set ftp, http, https proxies + +## Quickstart + +If you don't have microk8s and juju installed executing the following commands: +``` +sudo snap install juju --classic +sudo snap install microk8s --classic +juju bootstrap microk8s +juju add-model squid +``` + +Afterwards clone the repository and deploy the charm +``` +git clone https://github.com/DomFleischmann/charm-squid-k8s.git +cd charm-squid-k8s +git submodule update --init +juju deploy . +``` +Check if the charm is deployed correctly with `juju status` + +To test the `addurl` action open another terminal and type the following command: +`export https_proxy=http://:3128` + +Where squid-ip is the Squid App Address shown in `juju status` + +Now when executing `curl https://www.google.com` squid will block access to the url + +Execute the `addurl` action: +`juju run-action squid/0 addurl url=google.com` + +Now when executing `curl https://www.google.com` it will give you the google output. + +## Contact + - Author: Dominik Fleischmann + - Bug Tracker: [here](https://github.com/DomFleischmann/charm-squid-k8s) diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/actions.yaml b/hackfest_squid_metrics_cnf/charms/squid-operator/actions.yaml new file mode 100644 index 00000000..3e57d8e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/actions.yaml @@ -0,0 +1,14 @@ +addurl: + description: "Add allowed URL to squid config" + params: + url: + description: "URL that will be allowed" + type: string + default: "" +deleteurl: + description: "Delete allowed URL squid config" + params: + url: + description: "URL that will stop to be allowed" + type: string + default: "" diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/config.yaml b/hackfest_squid_metrics_cnf/charms/squid-operator/config.yaml new file mode 100644 index 00000000..450525ee --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/config.yaml @@ -0,0 +1,5 @@ +options: + port: + type: int + description: "Port" + default: 3128 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/dispatch b/hackfest_squid_metrics_cnf/charms/squid-operator/dispatch new file mode 100755 index 00000000..fe31c056 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/dispatch @@ -0,0 +1,3 @@ +#!/bin/sh + +JUJU_DISPATCH_PATH="${JUJU_DISPATCH_PATH:-$0}" PYTHONPATH=lib:venv ./src/charm.py diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/install b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/install new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/install @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/start b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/start new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/start @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/upgrade-charm b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/upgrade-charm new file mode 120000 index 00000000..8b970447 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/hooks/upgrade-charm @@ -0,0 +1 @@ +../dispatch \ No newline at end of file diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/metadata.yaml b/hackfest_squid_metrics_cnf/charms/squid-operator/metadata.yaml new file mode 100644 index 00000000..a70555ab --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/metadata.yaml @@ -0,0 +1,22 @@ +name: squid +summary: Describe your charm here +maintainers: + - Dominik Fleischmann +description: | + A nice long description of what the product does and any + high level information about how the charm provides the product, + on which platform, etc. +tags: + - misc +series: + - kubernetes +deployment: + type: stateful + service: loadbalancer +storage: + spool: + type: filesystem + location: /var/spool/squid +provides: + prometheus-target: + interface: http diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/requirements.txt b/hackfest_squid_metrics_cnf/charms/squid-operator/requirements.txt new file mode 100644 index 00000000..4da6f5fe --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/requirements.txt @@ -0,0 +1,3 @@ +ops +jinja2 +git+https://github.com/juju-solutions/resource-oci-image/@c5778285d332edf3d9a538f9d0c06154b7ec1b0b#egg=oci-image diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/squid.charm b/hackfest_squid_metrics_cnf/charms/squid-operator/squid.charm new file mode 100644 index 0000000000000000000000000000000000000000..811b39fd546328428d142c7663112947e2a6044a GIT binary patch literal 1157519 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μ;kY#n@upeng++TaD`dZaf@SYBc|;mq8IIl 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%0A$5DdKoX|3K0izQ_0ccSP}*}unxo%lcA3Z9 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

hER?VQJ# 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

@PK_!OP5HAx00# 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%0D~j;U@;o>L?D4$fKRNN5MOd#e^B(aq-{Yo;6YjRm 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

79F%@qz!X&8oYbYQPTO(d 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

8re%fj}-cif> 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 +Z$9%a$jK(MUM7Y@e6p_%%F^d_r% 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 F{{xf$r5peN literal 0 HcmV?d00001 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/src/charm.py b/hackfest_squid_metrics_cnf/charms/squid-operator/src/charm.py new file mode 100755 index 00000000..58ae5df1 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/src/charm.py @@ -0,0 +1,122 @@ +#! /usr/bin/env python3 + +import logging +import subprocess + +from jinja2 import Template +from ops.charm import CharmBase +from ops.framework import StoredState +from ops.main import main +from ops.model import ActiveStatus, MaintenanceStatus + + +SQUID_CONF = "/etc/squid/squid.conf" + +logger = logging.getLogger(__name__) + + +def reload(): + subprocess.Popen("sleep 1 && kill -HUP `cat /var/run/squid.pid`", shell=True) + + +def apply_config(config): + with open(SQUID_CONF, "w") as f: + f.write(config) + reload() + + +def _generate_allowedurls_config(allowed_urls: set): + allowed_urls_text = "" + for url in allowed_urls: + allowed_urls_text += f"acl allowedurls dstdomain .{url}\n" + allowed_urls_text += "http_access allow allowedurls\n" + return allowed_urls_text + + +def _generate_config(**kwargs): + with open("template/squid.conf") as template: + return Template(template.read()).render(**kwargs) + + +def update_config(allowed_urls: set): + allowed_urls_config = _generate_allowedurls_config(allowed_urls) + squid_config = _generate_config(allowed_urls=allowed_urls_config) + if squid_config: + apply_config(squid_config) + + +class SquidK8SCharm(CharmBase): + """Class reprisenting this Operator charm.""" + + _stored = StoredState() + + def __init__(self, *args): + """Initialize charm and configure states and events to observe.""" + super().__init__(*args) + self._stored.set_default(allowedurls=set()) + + self.framework.observe(self.on.start, self.configure_pod) + self.framework.observe(self.on.config_changed, self.configure_pod) + self.framework.observe(self.on.addurl_action, self.on_addurl_action) + self.framework.observe(self.on.deleteurl_action, self.on_deleteurl_action) + + self.framework.observe(self.on["prometheus-target"].relation_joined, self._publish_prometheus_target_info) + + def _publish_prometheus_target_info(self, event): + event.relation.data[self.unit]["host"] = self.app.name + event.relation.data[self.unit]["port"] = str(9100) + + def on_addurl_action(self, event): + url = event.params["url"] + self._stored.allowedurls.add(url) + update_config(self._stored.allowedurls) + + def on_deleteurl_action(self, event): + """Handle the deleteurl action.""" + url = event.params["url"] + if url in self._stored.allowedurls: + self._stored.allowedurls.remove(url) + update_config(self._stored.allowedurls) + + def configure_pod(self, event): + if not self.unit.is_leader(): + self.unit.status = ActiveStatus() + return + + self.unit.status = MaintenanceStatus("Applying pod spec") + + pod_spec = { + "version": 3, + "containers": [ + { + "name": self.framework.model.app.name, + "image": "domfleischmann/squid-python", + "ports": [ + { + "name": "squid", + "containerPort": self.config["port"], + "protocol": "TCP", + } + ], + }, + { + "name": "exporter", + "image": "prom/node-exporter", + "ports": [ + { + "containerPort": 9100, + "name": "exporter-http", + "protocol": "TCP", + } + ], + } + ], + } + + self.model.pod.set_spec(pod_spec) + self.unit.status = ActiveStatus() + self.app.status = ActiveStatus() + + +if __name__ == "__main__": + main(SquidK8SCharm) diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/template/squid.conf b/hackfest_squid_metrics_cnf/charms/squid-operator/template/squid.conf new file mode 100644 index 00000000..9dc7e8b6 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/template/squid.conf @@ -0,0 +1,26 @@ +acl SSL_ports port 443 +acl Safe_ports port 80 # http +acl Safe_ports port 21 # ftp +acl Safe_ports port 443 # https +acl Safe_ports port 70 # gopher +acl Safe_ports port 210 # wais +acl Safe_ports port 1025-65535 # unregistered ports +acl Safe_ports port 280 # http-mgmt +acl Safe_ports port 488 # gss-http +acl Safe_ports port 591 # filemaker +acl Safe_ports port 777 # multiling http +acl CONNECT method CONNECT +http_access deny !Safe_ports +http_access deny CONNECT !SSL_ports +http_access allow localhost manager +http_access deny manager +http_access allow localhost +{{ allowed_urls }} +http_access deny all +http_port 3128 +coredump_dir /var/spool/squid +refresh_pattern ^ftp: 1440 20% 10080 +refresh_pattern ^gopher: 1440 0% 1440 +refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 +refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 +refresh_pattern . 0 20% 4320 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/tox.ini b/hackfest_squid_metrics_cnf/charms/squid-operator/tox.ini new file mode 100644 index 00000000..a2476324 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/tox.ini @@ -0,0 +1,46 @@ +[tox] +skipsdist = True +envlist = unit, functional +skip_missing_interpreters = True + +[testenv] +basepython = python3 +setenv = + PYTHONPATH = {toxinidir}/lib/:{toxinidir} +passenv = HOME + +[testenv:unit] +commands = + coverage run -m unittest discover -s {toxinidir}/tests/unit -v + coverage report \ + --omit tests/*,mod/*,.tox/* + coverage html \ + --omit tests/*,mod/*,.tox/* +deps = -r{toxinidir}/tests/unit/requirements.txt + +[testenv:functional] +changedir = {toxinidir}/tests/functional +commands = functest-run-suite {posargs} +deps = -r{toxinidir}/tests/functional/requirements.txt + +[testenv:lint] +commands = flake8 +deps = + flake8 + flake8-docstrings + flake8-import-order + pep8-naming + flake8-colors + +[flake8] +exclude = + .git, + __pycache__, + .tox, + mod, +max-line-length = 120 +max-complexity = 10 +import-order-style = google + +[isort] +force_to_top=setuppath diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/LICENSE.rst b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/LICENSE.rst new file mode 100644 index 00000000..c37cae49 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/LICENSE.rst @@ -0,0 +1,28 @@ +Copyright 2007 Pallets + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/METADATA new file mode 100644 index 00000000..1af8df0f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/METADATA @@ -0,0 +1,106 @@ +Metadata-Version: 2.1 +Name: Jinja2 +Version: 2.11.3 +Summary: A very fast and expressive template engine. +Home-page: https://palletsprojects.com/p/jinja/ +Author: Armin Ronacher +Author-email: armin.ronacher@active-4.com +Maintainer: Pallets +Maintainer-email: contact@palletsprojects.com +License: BSD-3-Clause +Project-URL: Documentation, https://jinja.palletsprojects.com/ +Project-URL: Code, https://github.com/pallets/jinja +Project-URL: Issue tracker, https://github.com/pallets/jinja/issues +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup :: HTML +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* +Description-Content-Type: text/x-rst +Requires-Dist: MarkupSafe (>=0.23) +Provides-Extra: i18n +Requires-Dist: Babel (>=0.8) ; extra == 'i18n' + +Jinja +===== + +Jinja is a fast, expressive, extensible templating engine. Special +placeholders in the template allow writing code similar to Python +syntax. Then the template is passed data to render the final document. + +It includes: + +- Template inheritance and inclusion. +- Define and import macros within templates. +- HTML templates can use autoescaping to prevent XSS from untrusted + user input. +- A sandboxed environment can safely render untrusted templates. +- AsyncIO support for generating templates and calling async + functions. +- I18N support with Babel. +- Templates are compiled to optimized Python code just-in-time and + cached, or can be compiled ahead-of-time. +- Exceptions point to the correct line in templates to make debugging + easier. +- Extensible filters, tests, functions, and even syntax. + +Jinja's philosophy is that while application logic belongs in Python if +possible, it shouldn't make the template designer's job difficult by +restricting functionality too much. + + +Installing +---------- + +Install and update using `pip`_: + +.. code-block:: text + + $ pip install -U Jinja2 + +.. _pip: https://pip.pypa.io/en/stable/quickstart/ + + +In A Nutshell +------------- + +.. code-block:: jinja + + {% extends "base.html" %} + {% block title %}Members{% endblock %} + {% block content %} +

+ {% endblock %} + + +Links +----- + +- Website: https://palletsprojects.com/p/jinja/ +- Documentation: https://jinja.palletsprojects.com/ +- Releases: https://pypi.org/project/Jinja2/ +- Code: https://github.com/pallets/jinja +- Issue tracker: https://github.com/pallets/jinja/issues +- Test status: https://dev.azure.com/pallets/jinja/_build +- Official chat: https://discord.gg/t6rrQZH + + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/RECORD new file mode 100644 index 00000000..da926963 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/RECORD @@ -0,0 +1,61 @@ +Jinja2-2.11.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Jinja2-2.11.3.dist-info/LICENSE.rst,sha256=O0nc7kEF6ze6wQ-vG-JgQI_oXSUrjp3y4JefweCUQ3s,1475 +Jinja2-2.11.3.dist-info/METADATA,sha256=PscpJ1C3RSp8xcjV3fAuTz13rKbGxmzJXnMQFH-WKhs,3535 +Jinja2-2.11.3.dist-info/RECORD,, +Jinja2-2.11.3.dist-info/WHEEL,sha256=Z-nyYpwrcSqxfdux5Mbn_DQ525iP7J2DG3JgGvOYyTQ,110 +Jinja2-2.11.3.dist-info/entry_points.txt,sha256=Qy_DkVo6Xj_zzOtmErrATe8lHZhOqdjpt3e4JJAGyi8,61 +Jinja2-2.11.3.dist-info/top_level.txt,sha256=PkeVWtLb3-CqjWi1fO29OCbj55EhX_chhKrCdrVe_zs,7 +jinja2/__init__.py,sha256=LZUXmxJc2GIchfSAeMWsxCWiQYO-w1-736f2Q3I8ms8,1549 +jinja2/__pycache__/__init__.cpython-38.pyc,, +jinja2/__pycache__/_compat.cpython-38.pyc,, +jinja2/__pycache__/_identifier.cpython-38.pyc,, +jinja2/__pycache__/asyncfilters.cpython-38.pyc,, +jinja2/__pycache__/asyncsupport.cpython-38.pyc,, +jinja2/__pycache__/bccache.cpython-38.pyc,, +jinja2/__pycache__/compiler.cpython-38.pyc,, +jinja2/__pycache__/constants.cpython-38.pyc,, +jinja2/__pycache__/debug.cpython-38.pyc,, +jinja2/__pycache__/defaults.cpython-38.pyc,, +jinja2/__pycache__/environment.cpython-38.pyc,, +jinja2/__pycache__/exceptions.cpython-38.pyc,, +jinja2/__pycache__/ext.cpython-38.pyc,, +jinja2/__pycache__/filters.cpython-38.pyc,, +jinja2/__pycache__/idtracking.cpython-38.pyc,, +jinja2/__pycache__/lexer.cpython-38.pyc,, +jinja2/__pycache__/loaders.cpython-38.pyc,, +jinja2/__pycache__/meta.cpython-38.pyc,, +jinja2/__pycache__/nativetypes.cpython-38.pyc,, +jinja2/__pycache__/nodes.cpython-38.pyc,, +jinja2/__pycache__/optimizer.cpython-38.pyc,, +jinja2/__pycache__/parser.cpython-38.pyc,, +jinja2/__pycache__/runtime.cpython-38.pyc,, +jinja2/__pycache__/sandbox.cpython-38.pyc,, +jinja2/__pycache__/tests.cpython-38.pyc,, +jinja2/__pycache__/utils.cpython-38.pyc,, +jinja2/__pycache__/visitor.cpython-38.pyc,, +jinja2/_compat.py,sha256=B6Se8HjnXVpzz9-vfHejn-DV2NjaVK-Iewupc5kKlu8,3191 +jinja2/_identifier.py,sha256=EdgGJKi7O1yvr4yFlvqPNEqV6M1qHyQr8Gt8GmVTKVM,1775 +jinja2/asyncfilters.py,sha256=XJtYXTxFvcJ5xwk6SaDL4S0oNnT0wPYvXBCSzc482fI,4250 +jinja2/asyncsupport.py,sha256=ZBFsDLuq3Gtji3Ia87lcyuDbqaHZJRdtShZcqwpFnSQ,7209 +jinja2/bccache.py,sha256=3Pmp4jo65M9FQuIxdxoDBbEDFwe4acDMQf77nEJfrHA,12139 +jinja2/compiler.py,sha256=Ta9W1Lit542wItAHXlDcg0sEOsFDMirCdlFPHAurg4o,66284 +jinja2/constants.py,sha256=RR1sTzNzUmKco6aZicw4JpQpJGCuPuqm1h1YmCNUEFY,1458 +jinja2/debug.py,sha256=neR7GIGGjZH3_ILJGVUYy3eLQCCaWJMXOb7o0kGInWc,8529 +jinja2/defaults.py,sha256=85B6YUUCyWPSdrSeVhcqFVuu_bHUAQXeey--FIwSeVQ,1126 +jinja2/environment.py,sha256=XDSLKc4SqNLMOwTSq3TbWEyA5WyXfuLuVD0wAVjEFwM,50629 +jinja2/exceptions.py,sha256=VjNLawcmf2ODffqVMCQK1cRmvFaUfQWF4u8ouP3QPcE,5425 +jinja2/ext.py,sha256=AtwL5O5enT_L3HR9-oBvhGyUTdGoyaqG_ICtnR_EVd4,26441 +jinja2/filters.py,sha256=9ORilsZrUoydSI9upz8_qGy7gozDWLYoFmlIBFSVRnQ,41439 +jinja2/idtracking.py,sha256=J3O4VHsrbf3wzwiBc7Cro26kHb6_5kbULeIOzocchIU,9211 +jinja2/lexer.py,sha256=nUFLRKhhKmmEWkLI65nQePgcQs7qsRdjVYZETMt_v0g,30331 +jinja2/loaders.py,sha256=C-fST_dmFjgWkp0ZuCkrgICAoOsoSIF28wfAFink0oU,17666 +jinja2/meta.py,sha256=QjyYhfNRD3QCXjBJpiPl9KgkEkGXJbAkCUq4-Ur10EQ,4131 +jinja2/nativetypes.py,sha256=Ul__gtVw4xH-0qvUvnCNHedQeNDwmEuyLJztzzSPeRg,2753 +jinja2/nodes.py,sha256=Mk1oJPVgIjnQw9WOqILvcu3rLepcFZ0ahxQm2mbwDwc,31095 +jinja2/optimizer.py,sha256=gQLlMYzvQhluhzmAIFA1tXS0cwgWYOjprN-gTRcHVsc,1457 +jinja2/parser.py,sha256=fcfdqePNTNyvosIvczbytVA332qpsURvYnCGcjDHSkA,35660 +jinja2/runtime.py,sha256=0y-BRyIEZ9ltByL2Id6GpHe1oDRQAwNeQvI0SKobNMw,30618 +jinja2/sandbox.py,sha256=knayyUvXsZ-F0mk15mO2-ehK9gsw04UhB8td-iUOtLc,17127 +jinja2/tests.py,sha256=iO_Y-9Vo60zrVe1lMpSl5sKHqAxe2leZHC08OoZ8K24,4799 +jinja2/utils.py,sha256=Wy4yC3IByqUWwnKln6SdaixdzgK74P6F5nf-gQZrYnU,22436 +jinja2/visitor.py,sha256=DUHupl0a4PGp7nxRtZFttUzAi1ccxzqc2hzetPYUz8U,3240 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/WHEEL new file mode 100644 index 00000000..01b8fc7d --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/entry_points.txt b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/entry_points.txt new file mode 100644 index 00000000..3619483f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/entry_points.txt @@ -0,0 +1,3 @@ +[babel.extractors] +jinja2 = jinja2.ext:babel_extract [i18n] + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/top_level.txt new file mode 100644 index 00000000..7f7afbf3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/Jinja2-2.11.3.dist-info/top_level.txt @@ -0,0 +1 @@ +jinja2 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/LICENSE.rst b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/LICENSE.rst new file mode 100644 index 00000000..9d227a0c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/LICENSE.rst @@ -0,0 +1,28 @@ +Copyright 2010 Pallets + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/METADATA new file mode 100644 index 00000000..e4a7b90f --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/METADATA @@ -0,0 +1,94 @@ +Metadata-Version: 2.1 +Name: MarkupSafe +Version: 1.1.1 +Summary: Safely add untrusted strings to HTML/XML markup. +Home-page: https://palletsprojects.com/p/markupsafe/ +Author: Armin Ronacher +Author-email: armin.ronacher@active-4.com +Maintainer: The Pallets Team +Maintainer-email: contact@palletsprojects.com +License: BSD-3-Clause +Project-URL: Documentation, https://markupsafe.palletsprojects.com/ +Project-URL: Code, https://github.com/pallets/markupsafe +Project-URL: Issue tracker, https://github.com/pallets/markupsafe/issues +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 3 +Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup :: HTML +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.* +Description-Content-Type: text/x-rst + +MarkupSafe +========== + +MarkupSafe implements a text object that escapes characters so it is +safe to use in HTML and XML. Characters that have special meanings are +replaced so that they display as the actual characters. This mitigates +injection attacks, meaning untrusted user input can safely be displayed +on a page. + + +Installing +---------- + +Install and update using `pip`_: + +.. code-block:: text + + pip install -U MarkupSafe + +.. _pip: https://pip.pypa.io/en/stable/quickstart/ + + +Examples +-------- + +.. code-block:: pycon + + >>> from markupsafe import Markup, escape + >>> # escape replaces special characters and wraps in Markup + >>> escape('') + Markup(u'<script>alert(document.cookie);</script>') + >>> # wrap in Markup to mark text "safe" and prevent escaping + >>> Markup('Hello') + Markup('hello') + >>> escape(Markup('Hello')) + Markup('hello') + >>> # Markup is a text subclass (str on Python 3, unicode on Python 2) + >>> # methods and operators escape their arguments + >>> template = Markup("Hello %s") + >>> template % '"World"' + Markup('Hello "World"') + + +Donate +------ + +The Pallets organization develops and supports MarkupSafe and other +libraries that use it. In order to grow the community of contributors +and users, and allow the maintainers to devote more time to the +projects, `please donate today`_. + +.. _please donate today: https://palletsprojects.com/donate + + +Links +----- + +* Website: https://palletsprojects.com/p/markupsafe/ +* Documentation: https://markupsafe.palletsprojects.com/ +* Releases: https://pypi.org/project/MarkupSafe/ +* Code: https://github.com/pallets/markupsafe +* Issue tracker: https://github.com/pallets/markupsafe/issues +* Test status: https://dev.azure.com/pallets/markupsafe/_build +* Official chat: https://discord.gg/t6rrQZH + + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/RECORD new file mode 100644 index 00000000..6d958240 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/RECORD @@ -0,0 +1,16 @@ +MarkupSafe-1.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +MarkupSafe-1.1.1.dist-info/LICENSE.rst,sha256=SJqOEQhQntmKN7uYPhHg9-HTHwvY-Zp5yESOf_N9B-o,1475 +MarkupSafe-1.1.1.dist-info/METADATA,sha256=-XXnVvCxQP2QbHutIQq_7Pk9OATy-x0NC7gN_3_SCRE,3167 +MarkupSafe-1.1.1.dist-info/RECORD,, +MarkupSafe-1.1.1.dist-info/WHEEL,sha256=RIeRBYNNiNK3sXfnenIjXDrR2Tzyz05xCMpKF2hJ1iA,111 +MarkupSafe-1.1.1.dist-info/top_level.txt,sha256=qy0Plje5IJuvsCBjejJyhDCjEAdcDLK_2agVcex8Z6U,11 +markupsafe/__init__.py,sha256=oTblO5f9KFM-pvnq9bB0HgElnqkJyqHnFN1Nx2NIvnY,10126 +markupsafe/__pycache__/__init__.cpython-38.pyc,, +markupsafe/__pycache__/_compat.cpython-38.pyc,, +markupsafe/__pycache__/_constants.cpython-38.pyc,, +markupsafe/__pycache__/_native.cpython-38.pyc,, +markupsafe/_compat.py,sha256=uEW1ybxEjfxIiuTbRRaJpHsPFf4yQUMMKaPgYEC5XbU,558 +markupsafe/_constants.py,sha256=zo2ajfScG-l1Sb_52EP3MlDCqO7Y1BVHUXXKRsVDRNk,4690 +markupsafe/_native.py,sha256=d-8S_zzYt2y512xYcuSxq0NeG2DUUvG80wVdTn-4KI8,1873 +markupsafe/_speedups.c,sha256=k0fzEIK3CP6MmMqeY0ob43TP90mVN0DTyn7BAl3RqSg,9884 +markupsafe/_speedups.cpython-38-x86_64-linux-gnu.so,sha256=t037yzhfsUaStpvo6eqDVYeK-dHfWmgB4cVL9nkY2-k,48016 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/WHEEL new file mode 100644 index 00000000..b1fcc33c --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: false +Tag: cp38-cp38-manylinux2010_x86_64 + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/top_level.txt new file mode 100644 index 00000000..75bf7292 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/MarkupSafe-1.1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +markupsafe diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/LICENSE b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/LICENSE new file mode 100644 index 00000000..2f1b8e15 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2017-2021 Ingy döt Net +Copyright (c) 2006-2016 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/METADATA b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/METADATA new file mode 100644 index 00000000..565f05b7 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/METADATA @@ -0,0 +1,46 @@ +Metadata-Version: 2.1 +Name: PyYAML +Version: 5.4.1 +Summary: YAML parser and emitter for Python +Home-page: https://pyyaml.org/ +Author: Kirill Simonov +Author-email: xi@resolvent.net +License: MIT +Download-URL: https://pypi.org/project/PyYAML/ +Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues +Project-URL: CI, https://github.com/yaml/pyyaml/actions +Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation +Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core +Project-URL: Source Code, https://github.com/yaml/pyyaml +Platform: Any +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* + +YAML is a data serialization format designed for human readability +and interaction with scripting languages. PyYAML is a YAML parser +and emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistence. + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/RECORD b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/RECORD new file mode 100644 index 00000000..68ca4da2 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/RECORD @@ -0,0 +1,43 @@ +PyYAML-5.4.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyYAML-5.4.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 +PyYAML-5.4.1.dist-info/METADATA,sha256=XnrM5LY-uS85ica26gKUK0dGG-xmPjmGfDTSLpIHQFk,2087 +PyYAML-5.4.1.dist-info/RECORD,, +PyYAML-5.4.1.dist-info/WHEEL,sha256=Dh4w5P6PPWbqyqoE6MHlzbFQwZXlM-voWJDf2WUsS2g,108 +PyYAML-5.4.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 +_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 +_yaml/__pycache__/__init__.cpython-38.pyc,, +yaml/__init__.py,sha256=gfp2CbRVhzknghkiiJD2l6Z0pI-mv_iZHPSJ4aj0-nY,13170 +yaml/__pycache__/__init__.cpython-38.pyc,sha256=n0YyVkjiOLmcjlR2NXE5TIZf7Z2clZ6sqQ5KlyuTWSI,11845 +yaml/__pycache__/composer.cpython-38.pyc,sha256=OVPzAKAvC2-Tiv4HUwUUG9JHCzG17nvsRQcFTCtY9xs,3563 +yaml/__pycache__/constructor.cpython-38.pyc,sha256=EXPDY7Prtv3F6QbXiJc5F4BvJQyCCGRu83WF4u6X7Vo,20822 +yaml/__pycache__/cyaml.cpython-38.pyc,sha256=wI01UFU-WhUcdnnczL5QpKu0ZNQTttSzXbleIvIfcvM,3411 +yaml/__pycache__/dumper.cpython-38.pyc,sha256=9wIctrlMpF4ksMWuCc5QAyZSenGiRVyrtU-1pAfj54U,1823 +yaml/__pycache__/emitter.cpython-38.pyc,sha256=kd_QGJd0GjpfgQPN9DlG_7HwKfJnJ24JxtdiUOxM9iE,25353 +yaml/__pycache__/error.cpython-38.pyc,sha256=j6mkXgDmzV0y0lo6FeUrvZL2vHN6Vkc52k0_R0oOn6g,2300 +yaml/__pycache__/events.cpython-38.pyc,sha256=NFsoAO36pPL_uxoCO-xRxKndQ3vx47mkStOYjfoQVZ8,3974 +yaml/__pycache__/loader.cpython-38.pyc,sha256=lEMB2brjPrfMjXXTJpCEx6-ct4eI6LYovD4hW5ZuGsw,2164 +yaml/__pycache__/nodes.cpython-38.pyc,sha256=Kkxh_oL04gQg-YFWwnfjpIoYspsXO4GEqKTr3NbxOD8,1725 +yaml/__pycache__/parser.cpython-38.pyc,sha256=0R9Qx0cBMUoOLzMOWeXCyXsC4S4KJ7oPHdmTVPQ4FbQ,11924 +yaml/__pycache__/reader.cpython-38.pyc,sha256=ZpOMJ6rZDc8EWffI4vZR_Fhcu3WmhgT_GAkDrKkEtPo,4537 +yaml/__pycache__/representer.cpython-38.pyc,sha256=tR9wWffCThWXwQe47uYFdHg2bCkqNjBcwmG7RSHmWS4,10069 +yaml/__pycache__/resolver.cpython-38.pyc,sha256=zsLBuCKn8KAJPVGo5J_xZSytifJktdTtkUNnltOt__I,5498 +yaml/__pycache__/scanner.cpython-38.pyc,sha256=N8ubxRd6bZBjoRna6CU8wK1Imb_7TWOsudzPh9JDDkQ,25269 +yaml/__pycache__/serializer.cpython-38.pyc,sha256=9JDH7ONP5zFlep0f2yNWRoOSZr5Y28jL012O1EIbuug,3320 +yaml/__pycache__/tokens.cpython-38.pyc,sha256=haBW6UBDhVFog2xIe63OkrAP_9JRFyNKCROFPRJiyu0,4935 +yaml/_yaml.cpython-38-x86_64-linux-gnu.so,sha256=fxjEXaSdzion1SMwhu9Ikx-JOVNtcl6KvW_pyGBt-cU,2342916 +yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 +yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 +yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 +yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 +yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 +yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 +yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 +yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 +yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 +yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 +yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 +yaml/representer.py,sha256=82UM3ZxUQKqsKAF4ltWOxCS6jGPIFtXpGs7mvqyv4Xs,14184 +yaml/resolver.py,sha256=Z1W8AOMA6Proy4gIO2OhUO4IPS_bFNAl0Ca3rwChpPg,8999 +yaml/scanner.py,sha256=KeQIKGNlSyPE8QDwionHxy9CgbqE5teJEz05FR9-nAg,51277 +yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 +yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/WHEEL b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/WHEEL new file mode 100644 index 00000000..69d594f0 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.36.2) +Root-Is-Purelib: false +Tag: cp38-cp38-manylinux1_x86_64 + diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt new file mode 100644 index 00000000..e6475e91 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/PyYAML-5.4.1.dist-info/top_level.txt @@ -0,0 +1,2 @@ +_yaml +yaml diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/_yaml/__init__.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/_yaml/__init__.py new file mode 100644 index 00000000..7baa8c4b --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/_yaml/__init__.py @@ -0,0 +1,33 @@ +# This is a stub package designed to roughly emulate the _yaml +# extension module, which previously existed as a standalone module +# and has been moved into the `yaml` package namespace. +# It does not perfectly mimic its old counterpart, but should get +# close enough for anyone who's relying on it even when they shouldn't. +import yaml + +# in some circumstances, the yaml module we imoprted may be from a different version, so we need +# to tread carefully when poking at it here (it may not have the attributes we expect) +if not getattr(yaml, '__with_libyaml__', False): + from sys import version_info + + exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError + raise exc("No module named '_yaml'") +else: + from yaml._yaml import * + import warnings + warnings.warn( + 'The _yaml extension module is now located at yaml._yaml' + ' and its location is subject to change. To use the' + ' LibYAML-based parser and emitter, import from `yaml`:' + ' `from yaml import CLoader as Loader, CDumper as Dumper`.', + DeprecationWarning + ) + del warnings + # Don't `del yaml` here because yaml is actually an existing + # namespace member of _yaml. + +__name__ = '_yaml' +# If the module is top-level (i.e. not a part of any specific package) +# then the attribute should be set to ''. +# https://docs.python.org/3.8/library/types.html +__package__ = '' diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/__init__.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/__init__.py new file mode 100644 index 00000000..f17866f6 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/__init__.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +"""Jinja is a template engine written in pure Python. It provides a +non-XML syntax that supports inline expressions and an optional +sandboxed environment. +""" +from markupsafe import escape +from markupsafe import Markup + +from .bccache import BytecodeCache +from .bccache import FileSystemBytecodeCache +from .bccache import MemcachedBytecodeCache +from .environment import Environment +from .environment import Template +from .exceptions import TemplateAssertionError +from .exceptions import TemplateError +from .exceptions import TemplateNotFound +from .exceptions import TemplateRuntimeError +from .exceptions import TemplatesNotFound +from .exceptions import TemplateSyntaxError +from .exceptions import UndefinedError +from .filters import contextfilter +from .filters import environmentfilter +from .filters import evalcontextfilter +from .loaders import BaseLoader +from .loaders import ChoiceLoader +from .loaders import DictLoader +from .loaders import FileSystemLoader +from .loaders import FunctionLoader +from .loaders import ModuleLoader +from .loaders import PackageLoader +from .loaders import PrefixLoader +from .runtime import ChainableUndefined +from .runtime import DebugUndefined +from .runtime import make_logging_undefined +from .runtime import StrictUndefined +from .runtime import Undefined +from .utils import clear_caches +from .utils import contextfunction +from .utils import environmentfunction +from .utils import evalcontextfunction +from .utils import is_undefined +from .utils import select_autoescape + +__version__ = "2.11.3" diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_compat.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_compat.py new file mode 100644 index 00000000..1f044954 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_compat.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +# flake8: noqa +import marshal +import sys + +PY2 = sys.version_info[0] == 2 +PYPY = hasattr(sys, "pypy_translation_info") +_identity = lambda x: x + +if not PY2: + unichr = chr + range_type = range + text_type = str + string_types = (str,) + integer_types = (int,) + + iterkeys = lambda d: iter(d.keys()) + itervalues = lambda d: iter(d.values()) + iteritems = lambda d: iter(d.items()) + + import pickle + from io import BytesIO, StringIO + + NativeStringIO = StringIO + + def reraise(tp, value, tb=None): + if value.__traceback__ is not tb: + raise value.with_traceback(tb) + raise value + + ifilter = filter + imap = map + izip = zip + intern = sys.intern + + implements_iterator = _identity + implements_to_string = _identity + encode_filename = _identity + + marshal_dump = marshal.dump + marshal_load = marshal.load + +else: + unichr = unichr + text_type = unicode + range_type = xrange + string_types = (str, unicode) + integer_types = (int, long) + + iterkeys = lambda d: d.iterkeys() + itervalues = lambda d: d.itervalues() + iteritems = lambda d: d.iteritems() + + import cPickle as pickle + from cStringIO import StringIO as BytesIO, StringIO + + NativeStringIO = BytesIO + + exec("def reraise(tp, value, tb=None):\n raise tp, value, tb") + + from itertools import imap, izip, ifilter + + intern = intern + + def implements_iterator(cls): + cls.next = cls.__next__ + del cls.__next__ + return cls + + def implements_to_string(cls): + cls.__unicode__ = cls.__str__ + cls.__str__ = lambda x: x.__unicode__().encode("utf-8") + return cls + + def encode_filename(filename): + if isinstance(filename, unicode): + return filename.encode("utf-8") + return filename + + def marshal_dump(code, f): + if isinstance(f, file): + marshal.dump(code, f) + else: + f.write(marshal.dumps(code)) + + def marshal_load(f): + if isinstance(f, file): + return marshal.load(f) + return marshal.loads(f.read()) + + +def with_metaclass(meta, *bases): + """Create a base class with a metaclass.""" + # This requires a bit of explanation: the basic idea is to make a + # dummy metaclass for one level of class instantiation that replaces + # itself with the actual metaclass. + class metaclass(type): + def __new__(cls, name, this_bases, d): + return meta(name, bases, d) + + return type.__new__(metaclass, "temporary_class", (), {}) + + +try: + from urllib.parse import quote_from_bytes as url_quote +except ImportError: + from urllib import quote as url_quote + + +try: + from collections import abc +except ImportError: + import collections as abc + + +try: + from os import fspath +except ImportError: + try: + from pathlib import PurePath + except ImportError: + PurePath = None + + def fspath(path): + if hasattr(path, "__fspath__"): + return path.__fspath__() + + # Python 3.5 doesn't have __fspath__ yet, use str. + if PurePath is not None and isinstance(path, PurePath): + return str(path) + + return path diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_identifier.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_identifier.py new file mode 100644 index 00000000..224d5449 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/_identifier.py @@ -0,0 +1,6 @@ +import re + +# generated by scripts/generate_identifier_pattern.py +pattern = re.compile( + r"[\w·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٟۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣঁ-ঃ়া-ৄেৈো-্ৗৢৣਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑੰੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣஂா-ூெ-ைொ-்ௗఀ-ఃా-ౄె-ైొ-్ౕౖౢౣಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣංඃ්ා-ුූෘ-ෟෲෳัิ-ฺ็-๎ັິ-ູົຼ່-ໍ༹༘༙༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏႚ-ႝ፝-፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝᠋-᠍ᢅᢆᢩᤠ-ᤫᤰ-᤻ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼᪰-᪽ᬀ-ᬄ᬴-᭄᭫-᭳ᮀ-ᮂᮡ-ᮭ᯦-᯳ᰤ-᰷᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰℘℮⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣠-꣱ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀ꧥꨩ-ꨶꩃꩌꩍꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭ﬞ︀-️︠-︯︳︴﹍-﹏_𐇽𐋠𐍶-𐍺𐨁-𐨃𐨅𐨆𐨌-𐨏𐨸-𐨿𐨺𐫦𐫥𑀀-𑀂𑀸-𑁆𑁿-𑂂𑂰-𑂺𑄀-𑄂𑄧-𑅳𑄴𑆀-𑆂𑆳-𑇊𑇀-𑇌𑈬-𑈷𑈾𑋟-𑋪𑌀-𑌃𑌼𑌾-𑍄𑍇𑍈𑍋-𑍍𑍗𑍢𑍣𑍦-𑍬𑍰-𑍴𑐵-𑑆𑒰-𑓃𑖯-𑖵𑖸-𑗀𑗜𑗝𑘰-𑙀𑚫-𑚷𑜝-𑜫𑰯-𑰶𑰸-𑰿𑲒-𑲧𑲩-𑲶𖫰-𖫴𖬰-𖬶𖽑-𖽾𖾏-𖾒𛲝𛲞𝅥-𝅩𝅭-𝅲𝅻-𝆂𝆅-𝆋𝆪-𝆭𝉂-𝉄𝨀-𝨶𝨻-𝩬𝩵𝪄𝪛-𝪟𝪡-𝪯𞀀-𞀆𞀈-𞀘𞀛-𞀡𞀣𞀤𞀦-𞣐𞀪-𞣖𞥄-𞥊󠄀-󠇯]+" # noqa: B950 +) diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncfilters.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncfilters.py new file mode 100644 index 00000000..3d98dbcc --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncfilters.py @@ -0,0 +1,158 @@ +from functools import wraps + +from . import filters +from .asyncsupport import auto_aiter +from .asyncsupport import auto_await + + +async def auto_to_seq(value): + seq = [] + if hasattr(value, "__aiter__"): + async for item in value: + seq.append(item) + else: + for item in value: + seq.append(item) + return seq + + +async def async_select_or_reject(args, kwargs, modfunc, lookup_attr): + seq, func = filters.prepare_select_or_reject(args, kwargs, modfunc, lookup_attr) + if seq: + async for item in auto_aiter(seq): + if func(item): + yield item + + +def dualfilter(normal_filter, async_filter): + wrap_evalctx = False + if getattr(normal_filter, "environmentfilter", False) is True: + + def is_async(args): + return args[0].is_async + + wrap_evalctx = False + else: + has_evalctxfilter = getattr(normal_filter, "evalcontextfilter", False) is True + has_ctxfilter = getattr(normal_filter, "contextfilter", False) is True + wrap_evalctx = not has_evalctxfilter and not has_ctxfilter + + def is_async(args): + return args[0].environment.is_async + + @wraps(normal_filter) + def wrapper(*args, **kwargs): + b = is_async(args) + if wrap_evalctx: + args = args[1:] + if b: + return async_filter(*args, **kwargs) + return normal_filter(*args, **kwargs) + + if wrap_evalctx: + wrapper.evalcontextfilter = True + + wrapper.asyncfiltervariant = True + + return wrapper + + +def asyncfiltervariant(original): + def decorator(f): + return dualfilter(original, f) + + return decorator + + +@asyncfiltervariant(filters.do_first) +async def do_first(environment, seq): + try: + return await auto_aiter(seq).__anext__() + except StopAsyncIteration: + return environment.undefined("No first item, sequence was empty.") + + +@asyncfiltervariant(filters.do_groupby) +async def do_groupby(environment, value, attribute): + expr = filters.make_attrgetter(environment, attribute) + return [ + filters._GroupTuple(key, await auto_to_seq(values)) + for key, values in filters.groupby( + sorted(await auto_to_seq(value), key=expr), expr + ) + ] + + +@asyncfiltervariant(filters.do_join) +async def do_join(eval_ctx, value, d=u"", attribute=None): + return filters.do_join(eval_ctx, await auto_to_seq(value), d, attribute) + + +@asyncfiltervariant(filters.do_list) +async def do_list(value): + return await auto_to_seq(value) + + +@asyncfiltervariant(filters.do_reject) +async def do_reject(*args, **kwargs): + return async_select_or_reject(args, kwargs, lambda x: not x, False) + + +@asyncfiltervariant(filters.do_rejectattr) +async def do_rejectattr(*args, **kwargs): + return async_select_or_reject(args, kwargs, lambda x: not x, True) + + +@asyncfiltervariant(filters.do_select) +async def do_select(*args, **kwargs): + return async_select_or_reject(args, kwargs, lambda x: x, False) + + +@asyncfiltervariant(filters.do_selectattr) +async def do_selectattr(*args, **kwargs): + return async_select_or_reject(args, kwargs, lambda x: x, True) + + +@asyncfiltervariant(filters.do_map) +async def do_map(*args, **kwargs): + seq, func = filters.prepare_map(args, kwargs) + if seq: + async for item in auto_aiter(seq): + yield await auto_await(func(item)) + + +@asyncfiltervariant(filters.do_sum) +async def do_sum(environment, iterable, attribute=None, start=0): + rv = start + if attribute is not None: + func = filters.make_attrgetter(environment, attribute) + else: + + def func(x): + return x + + async for item in auto_aiter(iterable): + rv += func(item) + return rv + + +@asyncfiltervariant(filters.do_slice) +async def do_slice(value, slices, fill_with=None): + return filters.do_slice(await auto_to_seq(value), slices, fill_with) + + +ASYNC_FILTERS = { + "first": do_first, + "groupby": do_groupby, + "join": do_join, + "list": do_list, + # we intentionally do not support do_last because that would be + # ridiculous + "reject": do_reject, + "rejectattr": do_rejectattr, + "map": do_map, + "select": do_select, + "selectattr": do_selectattr, + "sum": do_sum, + "slice": do_slice, +} diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncsupport.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncsupport.py new file mode 100644 index 00000000..78ba3739 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/asyncsupport.py @@ -0,0 +1,264 @@ +# -*- coding: utf-8 -*- +"""The code for async support. Importing this patches Jinja on supported +Python versions. +""" +import asyncio +import inspect +from functools import update_wrapper + +from markupsafe import Markup + +from .environment import TemplateModule +from .runtime import LoopContext +from .utils import concat +from .utils import internalcode +from .utils import missing + + +async def concat_async(async_gen): + rv = [] + + async def collect(): + async for event in async_gen: + rv.append(event) + + await collect() + return concat(rv) + + +async def generate_async(self, *args, **kwargs): + vars = dict(*args, **kwargs) + try: + async for event in self.root_render_func(self.new_context(vars)): + yield event + except Exception: + yield self.environment.handle_exception() + + +def wrap_generate_func(original_generate): + def _convert_generator(self, loop, args, kwargs): + async_gen = self.generate_async(*args, **kwargs) + try: + while 1: + yield loop.run_until_complete(async_gen.__anext__()) + except StopAsyncIteration: + pass + + def generate(self, *args, **kwargs): + if not self.environment.is_async: + return original_generate(self, *args, **kwargs) + return _convert_generator(self, asyncio.get_event_loop(), args, kwargs) + + return update_wrapper(generate, original_generate) + + +async def render_async(self, *args, **kwargs): + if not self.environment.is_async: + raise RuntimeError("The environment was not created with async mode enabled.") + + vars = dict(*args, **kwargs) + ctx = self.new_context(vars) + + try: + return await concat_async(self.root_render_func(ctx)) + except Exception: + return self.environment.handle_exception() + + +def wrap_render_func(original_render): + def render(self, *args, **kwargs): + if not self.environment.is_async: + return original_render(self, *args, **kwargs) + loop = asyncio.get_event_loop() + return loop.run_until_complete(self.render_async(*args, **kwargs)) + + return update_wrapper(render, original_render) + + +def wrap_block_reference_call(original_call): + @internalcode + async def async_call(self): + rv = await concat_async(self._stack[self._depth](self._context)) + if self._context.eval_ctx.autoescape: + rv = Markup(rv) + return rv + + @internalcode + def __call__(self): + if not self._context.environment.is_async: + return original_call(self) + return async_call(self) + + return update_wrapper(__call__, original_call) + + +def wrap_macro_invoke(original_invoke): + @internalcode + async def async_invoke(self, arguments, autoescape): + rv = await self._func(*arguments) + if autoescape: + rv = Markup(rv) + return rv + + @internalcode + def _invoke(self, arguments, autoescape): + if not self._environment.is_async: + return original_invoke(self, arguments, autoescape) + return async_invoke(self, arguments, autoescape) + + return update_wrapper(_invoke, original_invoke) + + +@internalcode +async def get_default_module_async(self): + if self._module is not None: + return self._module + self._module = rv = await self.make_module_async() + return rv + + +def wrap_default_module(original_default_module): + @internalcode + def _get_default_module(self): + if self.environment.is_async: + raise RuntimeError("Template module attribute is unavailable in async mode") + return original_default_module(self) + + return _get_default_module + + +async def make_module_async(self, vars=None, shared=False, locals=None): + context = self.new_context(vars, shared, locals) + body_stream = [] + async for item in self.root_render_func(context): + body_stream.append(item) + return TemplateModule(self, context, body_stream) + + +def patch_template(): + from . import Template + + Template.generate = wrap_generate_func(Template.generate) + Template.generate_async = update_wrapper(generate_async, Template.generate_async) + Template.render_async = update_wrapper(render_async, Template.render_async) + Template.render = wrap_render_func(Template.render) + Template._get_default_module = wrap_default_module(Template._get_default_module) + Template._get_default_module_async = get_default_module_async + Template.make_module_async = update_wrapper( + make_module_async, Template.make_module_async + ) + + +def patch_runtime(): + from .runtime import BlockReference, Macro + + BlockReference.__call__ = wrap_block_reference_call(BlockReference.__call__) + Macro._invoke = wrap_macro_invoke(Macro._invoke) + + +def patch_filters(): + from .filters import FILTERS + from .asyncfilters import ASYNC_FILTERS + + FILTERS.update(ASYNC_FILTERS) + + +def patch_all(): + patch_template() + patch_runtime() + patch_filters() + + +async def auto_await(value): + if inspect.isawaitable(value): + return await value + return value + + +async def auto_aiter(iterable): + if hasattr(iterable, "__aiter__"): + async for item in iterable: + yield item + return + for item in iterable: + yield item + + +class AsyncLoopContext(LoopContext): + _to_iterator = staticmethod(auto_aiter) + + @property + async def length(self): + if self._length is not None: + return self._length + + try: + self._length = len(self._iterable) + except TypeError: + iterable = [x async for x in self._iterator] + self._iterator = self._to_iterator(iterable) + self._length = len(iterable) + self.index + (self._after is not missing) + + return self._length + + @property + async def revindex0(self): + return await self.length - self.index + + @property + async def revindex(self): + return await self.length - self.index0 + + async def _peek_next(self): + if self._after is not missing: + return self._after + + try: + self._after = await self._iterator.__anext__() + except StopAsyncIteration: + self._after = missing + + return self._after + + @property + async def last(self): + return await self._peek_next() is missing + + @property + async def nextitem(self): + rv = await self._peek_next() + + if rv is missing: + return self._undefined("there is no next item") + + return rv + + def __aiter__(self): + return self + + async def __anext__(self): + if self._after is not missing: + rv = self._after + self._after = missing + else: + rv = await self._iterator.__anext__() + + self.index0 += 1 + self._before = self._current + self._current = rv + return rv, self + + +async def make_async_loop_context(iterable, undefined, recurse=None, depth0=0): + import warnings + + warnings.warn( + "This template must be recompiled with at least Jinja 2.11, or" + " it will fail in 3.0.", + DeprecationWarning, + stacklevel=2, + ) + return AsyncLoopContext(iterable, undefined, recurse, depth0) + + +patch_all() diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/bccache.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/bccache.py new file mode 100644 index 00000000..9c066103 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/bccache.py @@ -0,0 +1,350 @@ +# -*- coding: utf-8 -*- +"""The optional bytecode cache system. This is useful if you have very +complex template situations and the compilation of all those templates +slows down your application too much. + +Situations where this is useful are often forking web applications that +are initialized on the first request. +""" +import errno +import fnmatch +import os +import stat +import sys +import tempfile +from hashlib import sha1 +from os import listdir +from os import path + +from ._compat import BytesIO +from ._compat import marshal_dump +from ._compat import marshal_load +from ._compat import pickle +from ._compat import text_type +from .utils import open_if_exists + +bc_version = 4 +# Magic bytes to identify Jinja bytecode cache files. Contains the +# Python major and minor version to avoid loading incompatible bytecode +# if a project upgrades its Python version. +bc_magic = ( + b"j2" + + pickle.dumps(bc_version, 2) + + pickle.dumps((sys.version_info[0] << 24) | sys.version_info[1], 2) +) + + +class Bucket(object): + """Buckets are used to store the bytecode for one template. It's created + and initialized by the bytecode cache and passed to the loading functions. + + The buckets get an internal checksum from the cache assigned and use this + to automatically reject outdated cache material. Individual bytecode + cache subclasses don't have to care about cache invalidation. + """ + + def __init__(self, environment, key, checksum): + self.environment = environment + self.key = key + self.checksum = checksum + self.reset() + + def reset(self): + """Resets the bucket (unloads the bytecode).""" + self.code = None + + def load_bytecode(self, f): + """Loads bytecode from a file or file like object.""" + # make sure the magic header is correct + magic = f.read(len(bc_magic)) + if magic != bc_magic: + self.reset() + return + # the source code of the file changed, we need to reload + checksum = pickle.load(f) + if self.checksum != checksum: + self.reset() + return + # if marshal_load fails then we need to reload + try: + self.code = marshal_load(f) + except (EOFError, ValueError, TypeError): + self.reset() + return + + def write_bytecode(self, f): + """Dump the bytecode into the file or file like object passed.""" + if self.code is None: + raise TypeError("can't write empty bucket") + f.write(bc_magic) + pickle.dump(self.checksum, f, 2) + marshal_dump(self.code, f) + + def bytecode_from_string(self, string): + """Load bytecode from a string.""" + self.load_bytecode(BytesIO(string)) + + def bytecode_to_string(self): + """Return the bytecode as string.""" + out = BytesIO() + self.write_bytecode(out) + return out.getvalue() + + +class BytecodeCache(object): + """To implement your own bytecode cache you have to subclass this class + and override :meth:`load_bytecode` and :meth:`dump_bytecode`. Both of + these methods are passed a :class:`~jinja2.bccache.Bucket`. + + A very basic bytecode cache that saves the bytecode on the file system:: + + from os import path + + class MyCache(BytecodeCache): + + def __init__(self, directory): + self.directory = directory + + def load_bytecode(self, bucket): + filename = path.join(self.directory, bucket.key) + if path.exists(filename): + with open(filename, 'rb') as f: + bucket.load_bytecode(f) + + def dump_bytecode(self, bucket): + filename = path.join(self.directory, bucket.key) + with open(filename, 'wb') as f: + bucket.write_bytecode(f) + + A more advanced version of a filesystem based bytecode cache is part of + Jinja. + """ + + def load_bytecode(self, bucket): + """Subclasses have to override this method to load bytecode into a + bucket. If they are not able to find code in the cache for the + bucket, it must not do anything. + """ + raise NotImplementedError() + + def dump_bytecode(self, bucket): + """Subclasses have to override this method to write the bytecode + from a bucket back to the cache. If it unable to do so it must not + fail silently but raise an exception. + """ + raise NotImplementedError() + + def clear(self): + """Clears the cache. This method is not used by Jinja but should be + implemented to allow applications to clear the bytecode cache used + by a particular environment. + """ + + def get_cache_key(self, name, filename=None): + """Returns the unique hash key for this template name.""" + hash = sha1(name.encode("utf-8")) + if filename is not None: + filename = "|" + filename + if isinstance(filename, text_type): + filename = filename.encode("utf-8") + hash.update(filename) + return hash.hexdigest() + + def get_source_checksum(self, source): + """Returns a checksum for the source.""" + return sha1(source.encode("utf-8")).hexdigest() + + def get_bucket(self, environment, name, filename, source): + """Return a cache bucket for the given template. All arguments are + mandatory but filename may be `None`. + """ + key = self.get_cache_key(name, filename) + checksum = self.get_source_checksum(source) + bucket = Bucket(environment, key, checksum) + self.load_bytecode(bucket) + return bucket + + def set_bucket(self, bucket): + """Put the bucket into the cache.""" + self.dump_bytecode(bucket) + + +class FileSystemBytecodeCache(BytecodeCache): + """A bytecode cache that stores bytecode on the filesystem. It accepts + two arguments: The directory where the cache items are stored and a + pattern string that is used to build the filename. + + If no directory is specified a default cache directory is selected. On + Windows the user's temp directory is used, on UNIX systems a directory + is created for the user in the system temp directory. + + The pattern can be used to have multiple separate caches operate on the + same directory. The default pattern is ``'__jinja2_%s.cache'``. ``%s`` + is replaced with the cache key. + + >>> bcc = FileSystemBytecodeCache('/tmp/jinja_cache', '%s.cache') + + This bytecode cache supports clearing of the cache using the clear method. + """ + + def __init__(self, directory=None, pattern="__jinja2_%s.cache"): + if directory is None: + directory = self._get_default_cache_dir() + self.directory = directory + self.pattern = pattern + + def _get_default_cache_dir(self): + def _unsafe_dir(): + raise RuntimeError( + "Cannot determine safe temp directory. You " + "need to explicitly provide one." + ) + + tmpdir = tempfile.gettempdir() + + # On windows the temporary directory is used specific unless + # explicitly forced otherwise. We can just use that. + if os.name == "nt": + return tmpdir + if not hasattr(os, "getuid"): + _unsafe_dir() + + dirname = "_jinja2-cache-%d" % os.getuid() + actual_dir = os.path.join(tmpdir, dirname) + + try: + os.mkdir(actual_dir, stat.S_IRWXU) + except OSError as e: + if e.errno != errno.EEXIST: + raise + try: + os.chmod(actual_dir, stat.S_IRWXU) + actual_dir_stat = os.lstat(actual_dir) + if ( + actual_dir_stat.st_uid != os.getuid() + or not stat.S_ISDIR(actual_dir_stat.st_mode) + or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU + ): + _unsafe_dir() + except OSError as e: + if e.errno != errno.EEXIST: + raise + + actual_dir_stat = os.lstat(actual_dir) + if ( + actual_dir_stat.st_uid != os.getuid() + or not stat.S_ISDIR(actual_dir_stat.st_mode) + or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU + ): + _unsafe_dir() + + return actual_dir + + def _get_cache_filename(self, bucket): + return path.join(self.directory, self.pattern % bucket.key) + + def load_bytecode(self, bucket): + f = open_if_exists(self._get_cache_filename(bucket), "rb") + if f is not None: + try: + bucket.load_bytecode(f) + finally: + f.close() + + def dump_bytecode(self, bucket): + f = open(self._get_cache_filename(bucket), "wb") + try: + bucket.write_bytecode(f) + finally: + f.close() + + def clear(self): + # imported lazily here because google app-engine doesn't support + # write access on the file system and the function does not exist + # normally. + from os import remove + + files = fnmatch.filter(listdir(self.directory), self.pattern % "*") + for filename in files: + try: + remove(path.join(self.directory, filename)) + except OSError: + pass + + +class MemcachedBytecodeCache(BytecodeCache): + """This class implements a bytecode cache that uses a memcache cache for + storing the information. It does not enforce a specific memcache library + (tummy's memcache or cmemcache) but will accept any class that provides + the minimal interface required. + + Libraries compatible with this class: + + - `cachelib `_ + - `python-memcached `_ + + (Unfortunately the django cache interface is not compatible because it + does not support storing binary data, only unicode. You can however pass + the underlying cache client to the bytecode cache which is available + as `django.core.cache.cache._client`.) + + The minimal interface for the client passed to the constructor is this: + + .. class:: MinimalClientInterface + + .. method:: set(key, value[, timeout]) + + Stores the bytecode in the cache. `value` is a string and + `timeout` the timeout of the key. If timeout is not provided + a default timeout or no timeout should be assumed, if it's + provided it's an integer with the number of seconds the cache + item should exist. + + .. method:: get(key) + + Returns the value for the cache key. If the item does not + exist in the cache the return value must be `None`. + + The other arguments to the constructor are the prefix for all keys that + is added before the actual cache key and the timeout for the bytecode in + the cache system. We recommend a high (or no) timeout. + + This bytecode cache does not support clearing of used items in the cache. + The clear method is a no-operation function. + + .. versionadded:: 2.7 + Added support for ignoring memcache errors through the + `ignore_memcache_errors` parameter. + """ + + def __init__( + self, + client, + prefix="jinja2/bytecode/", + timeout=None, + ignore_memcache_errors=True, + ): + self.client = client + self.prefix = prefix + self.timeout = timeout + self.ignore_memcache_errors = ignore_memcache_errors + + def load_bytecode(self, bucket): + try: + code = self.client.get(self.prefix + bucket.key) + except Exception: + if not self.ignore_memcache_errors: + raise + code = None + if code is not None: + bucket.bytecode_from_string(code) + + def dump_bytecode(self, bucket): + args = (self.prefix + bucket.key, bucket.bytecode_to_string()) + if self.timeout is not None: + args += (self.timeout,) + try: + self.client.set(*args) + except Exception: + if not self.ignore_memcache_errors: + raise diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/compiler.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/compiler.py new file mode 100644 index 00000000..63297b42 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/compiler.py @@ -0,0 +1,1843 @@ +# -*- coding: utf-8 -*- +"""Compiles nodes from the parser into Python code.""" +from collections import namedtuple +from functools import update_wrapper +from itertools import chain +from keyword import iskeyword as is_python_keyword + +from markupsafe import escape +from markupsafe import Markup + +from . import nodes +from ._compat import imap +from ._compat import iteritems +from ._compat import izip +from ._compat import NativeStringIO +from ._compat import range_type +from ._compat import string_types +from ._compat import text_type +from .exceptions import TemplateAssertionError +from .idtracking import Symbols +from .idtracking import VAR_LOAD_ALIAS +from .idtracking import VAR_LOAD_PARAMETER +from .idtracking import VAR_LOAD_RESOLVE +from .idtracking import VAR_LOAD_UNDEFINED +from .nodes import EvalContext +from .optimizer import Optimizer +from .utils import concat +from .visitor import NodeVisitor + +operators = { + "eq": "==", + "ne": "!=", + "gt": ">", + "gteq": ">=", + "lt": "<", + "lteq": "<=", + "in": "in", + "notin": "not in", +} + +# what method to iterate over items do we want to use for dict iteration +# in generated code? on 2.x let's go with iteritems, on 3.x with items +if hasattr(dict, "iteritems"): + dict_item_iter = "iteritems" +else: + dict_item_iter = "items" + +code_features = ["division"] + +# does this python version support generator stops? (PEP 0479) +try: + exec("from __future__ import generator_stop") + code_features.append("generator_stop") +except SyntaxError: + pass + +# does this python version support yield from? +try: + exec("def f(): yield from x()") +except SyntaxError: + supports_yield_from = False +else: + supports_yield_from = True + + +def optimizeconst(f): + def new_func(self, node, frame, **kwargs): + # Only optimize if the frame is not volatile + if self.optimized and not frame.eval_ctx.volatile: + new_node = self.optimizer.visit(node, frame.eval_ctx) + if new_node != node: + return self.visit(new_node, frame) + return f(self, node, frame, **kwargs) + + return update_wrapper(new_func, f) + + +def generate( + node, environment, name, filename, stream=None, defer_init=False, optimized=True +): + """Generate the python source for a node tree.""" + if not isinstance(node, nodes.Template): + raise TypeError("Can't compile non template nodes") + generator = environment.code_generator_class( + environment, name, filename, stream, defer_init, optimized + ) + generator.visit(node) + if stream is None: + return generator.stream.getvalue() + + +def has_safe_repr(value): + """Does the node have a safe representation?""" + if value is None or value is NotImplemented or value is Ellipsis: + return True + if type(value) in (bool, int, float, complex, range_type, Markup) + string_types: + return True + if type(value) in (tuple, list, set, frozenset): + for item in value: + if not has_safe_repr(item): + return False + return True + elif type(value) is dict: + for key, value in iteritems(value): + if not has_safe_repr(key): + return False + if not has_safe_repr(value): + return False + return True + return False + + +def find_undeclared(nodes, names): + """Check if the names passed are accessed undeclared. The return value + is a set of all the undeclared names from the sequence of names found. + """ + visitor = UndeclaredNameVisitor(names) + try: + for node in nodes: + visitor.visit(node) + except VisitorExit: + pass + return visitor.undeclared + + +class MacroRef(object): + def __init__(self, node): + self.node = node + self.accesses_caller = False + self.accesses_kwargs = False + self.accesses_varargs = False + + +class Frame(object): + """Holds compile time information for us.""" + + def __init__(self, eval_ctx, parent=None, level=None): + self.eval_ctx = eval_ctx + self.symbols = Symbols(parent and parent.symbols or None, level=level) + + # a toplevel frame is the root + soft frames such as if conditions. + self.toplevel = False + + # the root frame is basically just the outermost frame, so no if + # conditions. This information is used to optimize inheritance + # situations. + self.rootlevel = False + + # in some dynamic inheritance situations the compiler needs to add + # write tests around output statements. + self.require_output_check = parent and parent.require_output_check + + # inside some tags we are using a buffer rather than yield statements. + # this for example affects {% filter %} or {% macro %}. If a frame + # is buffered this variable points to the name of the list used as + # buffer. + self.buffer = None + + # the name of the block we're in, otherwise None. + self.block = parent and parent.block or None + + # the parent of this frame + self.parent = parent + + if parent is not None: + self.buffer = parent.buffer + + def copy(self): + """Create a copy of the current one.""" + rv = object.__new__(self.__class__) + rv.__dict__.update(self.__dict__) + rv.symbols = self.symbols.copy() + return rv + + def inner(self, isolated=False): + """Return an inner frame.""" + if isolated: + return Frame(self.eval_ctx, level=self.symbols.level + 1) + return Frame(self.eval_ctx, self) + + def soft(self): + """Return a soft frame. A soft frame may not be modified as + standalone thing as it shares the resources with the frame it + was created of, but it's not a rootlevel frame any longer. + + This is only used to implement if-statements. + """ + rv = self.copy() + rv.rootlevel = False + return rv + + __copy__ = copy + + +class VisitorExit(RuntimeError): + """Exception used by the `UndeclaredNameVisitor` to signal a stop.""" + + +class DependencyFinderVisitor(NodeVisitor): + """A visitor that collects filter and test calls.""" + + def __init__(self): + self.filters = set() + self.tests = set() + + def visit_Filter(self, node): + self.generic_visit(node) + self.filters.add(node.name) + + def visit_Test(self, node): + self.generic_visit(node) + self.tests.add(node.name) + + def visit_Block(self, node): + """Stop visiting at blocks.""" + + +class UndeclaredNameVisitor(NodeVisitor): + """A visitor that checks if a name is accessed without being + declared. This is different from the frame visitor as it will + not stop at closure frames. + """ + + def __init__(self, names): + self.names = set(names) + self.undeclared = set() + + def visit_Name(self, node): + if node.ctx == "load" and node.name in self.names: + self.undeclared.add(node.name) + if self.undeclared == self.names: + raise VisitorExit() + else: + self.names.discard(node.name) + + def visit_Block(self, node): + """Stop visiting a blocks.""" + + +class CompilerExit(Exception): + """Raised if the compiler encountered a situation where it just + doesn't make sense to further process the code. Any block that + raises such an exception is not further processed. + """ + + +class CodeGenerator(NodeVisitor): + def __init__( + self, environment, name, filename, stream=None, defer_init=False, optimized=True + ): + if stream is None: + stream = NativeStringIO() + self.environment = environment + self.name = name + self.filename = filename + self.stream = stream + self.created_block_context = False + self.defer_init = defer_init + self.optimized = optimized + if optimized: + self.optimizer = Optimizer(environment) + + # aliases for imports + self.import_aliases = {} + + # a registry for all blocks. Because blocks are moved out + # into the global python scope they are registered here + self.blocks = {} + + # the number of extends statements so far + self.extends_so_far = 0 + + # some templates have a rootlevel extends. In this case we + # can safely assume that we're a child template and do some + # more optimizations. + self.has_known_extends = False + + # the current line number + self.code_lineno = 1 + + # registry of all filters and tests (global, not block local) + self.tests = {} + self.filters = {} + + # the debug information + self.debug_info = [] + self._write_debug_info = None + + # the number of new lines before the next write() + self._new_lines = 0 + + # the line number of the last written statement + self._last_line = 0 + + # true if nothing was written so far. + self._first_write = True + + # used by the `temporary_identifier` method to get new + # unique, temporary identifier + self._last_identifier = 0 + + # the current indentation + self._indentation = 0 + + # Tracks toplevel assignments + self._assign_stack = [] + + # Tracks parameter definition blocks + self._param_def_block = [] + + # Tracks the current context. + self._context_reference_stack = ["context"] + + # -- Various compilation helpers + + def fail(self, msg, lineno): + """Fail with a :exc:`TemplateAssertionError`.""" + raise TemplateAssertionError(msg, lineno, self.name, self.filename) + + def temporary_identifier(self): + """Get a new unique identifier.""" + self._last_identifier += 1 + return "t_%d" % self._last_identifier + + def buffer(self, frame): + """Enable buffering for the frame from that point onwards.""" + frame.buffer = self.temporary_identifier() + self.writeline("%s = []" % frame.buffer) + + def return_buffer_contents(self, frame, force_unescaped=False): + """Return the buffer contents of the frame.""" + if not force_unescaped: + if frame.eval_ctx.volatile: + self.writeline("if context.eval_ctx.autoescape:") + self.indent() + self.writeline("return Markup(concat(%s))" % frame.buffer) + self.outdent() + self.writeline("else:") + self.indent() + self.writeline("return concat(%s)" % frame.buffer) + self.outdent() + return + elif frame.eval_ctx.autoescape: + self.writeline("return Markup(concat(%s))" % frame.buffer) + return + self.writeline("return concat(%s)" % frame.buffer) + + def indent(self): + """Indent by one.""" + self._indentation += 1 + + def outdent(self, step=1): + """Outdent by step.""" + self._indentation -= step + + def start_write(self, frame, node=None): + """Yield or write into the frame buffer.""" + if frame.buffer is None: + self.writeline("yield ", node) + else: + self.writeline("%s.append(" % frame.buffer, node) + + def end_write(self, frame): + """End the writing process started by `start_write`.""" + if frame.buffer is not None: + self.write(")") + + def simple_write(self, s, frame, node=None): + """Simple shortcut for start_write + write + end_write.""" + self.start_write(frame, node) + self.write(s) + self.end_write(frame) + + def blockvisit(self, nodes, frame): + """Visit a list of nodes as block in a frame. If the current frame + is no buffer a dummy ``if 0: yield None`` is written automatically. + """ + try: + self.writeline("pass") + for node in nodes: + self.visit(node, frame) + except CompilerExit: + pass + + def write(self, x): + """Write a string into the output stream.""" + if self._new_lines: + if not self._first_write: + self.stream.write("\n" * self._new_lines) + self.code_lineno += self._new_lines + if self._write_debug_info is not None: + self.debug_info.append((self._write_debug_info, self.code_lineno)) + self._write_debug_info = None + self._first_write = False + self.stream.write(" " * self._indentation) + self._new_lines = 0 + self.stream.write(x) + + def writeline(self, x, node=None, extra=0): + """Combination of newline and write.""" + self.newline(node, extra) + self.write(x) + + def newline(self, node=None, extra=0): + """Add one or more newlines before the next write.""" + self._new_lines = max(self._new_lines, 1 + extra) + if node is not None and node.lineno != self._last_line: + self._write_debug_info = node.lineno + self._last_line = node.lineno + + def signature(self, node, frame, extra_kwargs=None): + """Writes a function call to the stream for the current node. + A leading comma is added automatically. The extra keyword + arguments may not include python keywords otherwise a syntax + error could occur. The extra keyword arguments should be given + as python dict. + """ + # if any of the given keyword arguments is a python keyword + # we have to make sure that no invalid call is created. + kwarg_workaround = False + for kwarg in chain((x.key for x in node.kwargs), extra_kwargs or ()): + if is_python_keyword(kwarg): + kwarg_workaround = True + break + + for arg in node.args: + self.write(", ") + self.visit(arg, frame) + + if not kwarg_workaround: + for kwarg in node.kwargs: + self.write(", ") + self.visit(kwarg, frame) + if extra_kwargs is not None: + for key, value in iteritems(extra_kwargs): + self.write(", %s=%s" % (key, value)) + if node.dyn_args: + self.write(", *") + self.visit(node.dyn_args, frame) + + if kwarg_workaround: + if node.dyn_kwargs is not None: + self.write(", **dict({") + else: + self.write(", **{") + for kwarg in node.kwargs: + self.write("%r: " % kwarg.key) + self.visit(kwarg.value, frame) + self.write(", ") + if extra_kwargs is not None: + for key, value in iteritems(extra_kwargs): + self.write("%r: %s, " % (key, value)) + if node.dyn_kwargs is not None: + self.write("}, **") + self.visit(node.dyn_kwargs, frame) + self.write(")") + else: + self.write("}") + + elif node.dyn_kwargs is not None: + self.write(", **") + self.visit(node.dyn_kwargs, frame) + + def pull_dependencies(self, nodes): + """Pull all the dependencies.""" + visitor = DependencyFinderVisitor() + for node in nodes: + visitor.visit(node) + for dependency in "filters", "tests": + mapping = getattr(self, dependency) + for name in getattr(visitor, dependency): + if name not in mapping: + mapping[name] = self.temporary_identifier() + self.writeline( + "%s = environment.%s[%r]" % (mapping[name], dependency, name) + ) + + def enter_frame(self, frame): + undefs = [] + for target, (action, param) in iteritems(frame.symbols.loads): + if action == VAR_LOAD_PARAMETER: + pass + elif action == VAR_LOAD_RESOLVE: + self.writeline("%s = %s(%r)" % (target, self.get_resolve_func(), param)) + elif action == VAR_LOAD_ALIAS: + self.writeline("%s = %s" % (target, param)) + elif action == VAR_LOAD_UNDEFINED: + undefs.append(target) + else: + raise NotImplementedError("unknown load instruction") + if undefs: + self.writeline("%s = missing" % " = ".join(undefs)) + + def leave_frame(self, frame, with_python_scope=False): + if not with_python_scope: + undefs = [] + for target, _ in iteritems(frame.symbols.loads): + undefs.append(target) + if undefs: + self.writeline("%s = missing" % " = ".join(undefs)) + + def func(self, name): + if self.environment.is_async: + return "async def %s" % name + return "def %s" % name + + def macro_body(self, node, frame): + """Dump the function def of a macro or call block.""" + frame = frame.inner() + frame.symbols.analyze_node(node) + macro_ref = MacroRef(node) + + explicit_caller = None + skip_special_params = set() + args = [] + for idx, arg in enumerate(node.args): + if arg.name == "caller": + explicit_caller = idx + if arg.name in ("kwargs", "varargs"): + skip_special_params.add(arg.name) + args.append(frame.symbols.ref(arg.name)) + + undeclared = find_undeclared(node.body, ("caller", "kwargs", "varargs")) + + if "caller" in undeclared: + # In older Jinja versions there was a bug that allowed caller + # to retain the special behavior even if it was mentioned in + # the argument list. However thankfully this was only really + # working if it was the last argument. So we are explicitly + # checking this now and error out if it is anywhere else in + # the argument list. + if explicit_caller is not None: + try: + node.defaults[explicit_caller - len(node.args)] + except IndexError: + self.fail( + "When defining macros or call blocks the " + 'special "caller" argument must be omitted ' + "or be given a default.", + node.lineno, + ) + else: + args.append(frame.symbols.declare_parameter("caller")) + macro_ref.accesses_caller = True + if "kwargs" in undeclared and "kwargs" not in skip_special_params: + args.append(frame.symbols.declare_parameter("kwargs")) + macro_ref.accesses_kwargs = True + if "varargs" in undeclared and "varargs" not in skip_special_params: + args.append(frame.symbols.declare_parameter("varargs")) + macro_ref.accesses_varargs = True + + # macros are delayed, they never require output checks + frame.require_output_check = False + frame.symbols.analyze_node(node) + self.writeline("%s(%s):" % (self.func("macro"), ", ".join(args)), node) + self.indent() + + self.buffer(frame) + self.enter_frame(frame) + + self.push_parameter_definitions(frame) + for idx, arg in enumerate(node.args): + ref = frame.symbols.ref(arg.name) + self.writeline("if %s is missing:" % ref) + self.indent() + try: + default = node.defaults[idx - len(node.args)] + except IndexError: + self.writeline( + "%s = undefined(%r, name=%r)" + % (ref, "parameter %r was not provided" % arg.name, arg.name) + ) + else: + self.writeline("%s = " % ref) + self.visit(default, frame) + self.mark_parameter_stored(ref) + self.outdent() + self.pop_parameter_definitions() + + self.blockvisit(node.body, frame) + self.return_buffer_contents(frame, force_unescaped=True) + self.leave_frame(frame, with_python_scope=True) + self.outdent() + + return frame, macro_ref + + def macro_def(self, macro_ref, frame): + """Dump the macro definition for the def created by macro_body.""" + arg_tuple = ", ".join(repr(x.name) for x in macro_ref.node.args) + name = getattr(macro_ref.node, "name", None) + if len(macro_ref.node.args) == 1: + arg_tuple += "," + self.write( + "Macro(environment, macro, %r, (%s), %r, %r, %r, " + "context.eval_ctx.autoescape)" + % ( + name, + arg_tuple, + macro_ref.accesses_kwargs, + macro_ref.accesses_varargs, + macro_ref.accesses_caller, + ) + ) + + def position(self, node): + """Return a human readable position for the node.""" + rv = "line %d" % node.lineno + if self.name is not None: + rv += " in " + repr(self.name) + return rv + + def dump_local_context(self, frame): + return "{%s}" % ", ".join( + "%r: %s" % (name, target) + for name, target in iteritems(frame.symbols.dump_stores()) + ) + + def write_commons(self): + """Writes a common preamble that is used by root and block functions. + Primarily this sets up common local helpers and enforces a generator + through a dead branch. + """ + self.writeline("resolve = context.resolve_or_missing") + self.writeline("undefined = environment.undefined") + # always use the standard Undefined class for the implicit else of + # conditional expressions + self.writeline("cond_expr_undefined = Undefined") + self.writeline("if 0: yield None") + + def push_parameter_definitions(self, frame): + """Pushes all parameter targets from the given frame into a local + stack that permits tracking of yet to be assigned parameters. In + particular this enables the optimization from `visit_Name` to skip + undefined expressions for parameters in macros as macros can reference + otherwise unbound parameters. + """ + self._param_def_block.append(frame.symbols.dump_param_targets()) + + def pop_parameter_definitions(self): + """Pops the current parameter definitions set.""" + self._param_def_block.pop() + + def mark_parameter_stored(self, target): + """Marks a parameter in the current parameter definitions as stored. + This will skip the enforced undefined checks. + """ + if self._param_def_block: + self._param_def_block[-1].discard(target) + + def push_context_reference(self, target): + self._context_reference_stack.append(target) + + def pop_context_reference(self): + self._context_reference_stack.pop() + + def get_context_ref(self): + return self._context_reference_stack[-1] + + def get_resolve_func(self): + target = self._context_reference_stack[-1] + if target == "context": + return "resolve" + return "%s.resolve" % target + + def derive_context(self, frame): + return "%s.derived(%s)" % ( + self.get_context_ref(), + self.dump_local_context(frame), + ) + + def parameter_is_undeclared(self, target): + """Checks if a given target is an undeclared parameter.""" + if not self._param_def_block: + return False + return target in self._param_def_block[-1] + + def push_assign_tracking(self): + """Pushes a new layer for assignment tracking.""" + self._assign_stack.append(set()) + + def pop_assign_tracking(self, frame): + """Pops the topmost level for assignment tracking and updates the + context variables if necessary. + """ + vars = self._assign_stack.pop() + if not frame.toplevel or not vars: + return + public_names = [x for x in vars if x[:1] != "_"] + if len(vars) == 1: + name = next(iter(vars)) + ref = frame.symbols.ref(name) + self.writeline("context.vars[%r] = %s" % (name, ref)) + else: + self.writeline("context.vars.update({") + for idx, name in enumerate(vars): + if idx: + self.write(", ") + ref = frame.symbols.ref(name) + self.write("%r: %s" % (name, ref)) + self.write("})") + if public_names: + if len(public_names) == 1: + self.writeline("context.exported_vars.add(%r)" % public_names[0]) + else: + self.writeline( + "context.exported_vars.update((%s))" + % ", ".join(imap(repr, public_names)) + ) + + # -- Statement Visitors + + def visit_Template(self, node, frame=None): + assert frame is None, "no root frame allowed" + eval_ctx = EvalContext(self.environment, self.name) + + from .runtime import exported + + self.writeline("from __future__ import %s" % ", ".join(code_features)) + self.writeline("from jinja2.runtime import " + ", ".join(exported)) + + if self.environment.is_async: + self.writeline( + "from jinja2.asyncsupport import auto_await, " + "auto_aiter, AsyncLoopContext" + ) + + # if we want a deferred initialization we cannot move the + # environment into a local name + envenv = not self.defer_init and ", environment=environment" or "" + + # do we have an extends tag at all? If not, we can save some + # overhead by just not processing any inheritance code. + have_extends = node.find(nodes.Extends) is not None + + # find all blocks + for block in node.find_all(nodes.Block): + if block.name in self.blocks: + self.fail("block %r defined twice" % block.name, block.lineno) + self.blocks[block.name] = block + + # find all imports and import them + for import_ in node.find_all(nodes.ImportedName): + if import_.importname not in self.import_aliases: + imp = import_.importname + self.import_aliases[imp] = alias = self.temporary_identifier() + if "." in imp: + module, obj = imp.rsplit(".", 1) + self.writeline("from %s import %s as %s" % (module, obj, alias)) + else: + self.writeline("import %s as %s" % (imp, alias)) + + # add the load name + self.writeline("name = %r" % self.name) + + # generate the root render function. + self.writeline( + "%s(context, missing=missing%s):" % (self.func("root"), envenv), extra=1 + ) + self.indent() + self.write_commons() + + # process the root + frame = Frame(eval_ctx) + if "self" in find_undeclared(node.body, ("self",)): + ref = frame.symbols.declare_parameter("self") + self.writeline("%s = TemplateReference(context)" % ref) + frame.symbols.analyze_node(node) + frame.toplevel = frame.rootlevel = True + frame.require_output_check = have_extends and not self.has_known_extends + if have_extends: + self.writeline("parent_template = None") + self.enter_frame(frame) + self.pull_dependencies(node.body) + self.blockvisit(node.body, frame) + self.leave_frame(frame, with_python_scope=True) + self.outdent() + + # make sure that the parent root is called. + if have_extends: + if not self.has_known_extends: + self.indent() + self.writeline("if parent_template is not None:") + self.indent() + if supports_yield_from and not self.environment.is_async: + self.writeline("yield from parent_template.root_render_func(context)") + else: + self.writeline( + "%sfor event in parent_template." + "root_render_func(context):" + % (self.environment.is_async and "async " or "") + ) + self.indent() + self.writeline("yield event") + self.outdent() + self.outdent(1 + (not self.has_known_extends)) + + # at this point we now have the blocks collected and can visit them too. + for name, block in iteritems(self.blocks): + self.writeline( + "%s(context, missing=missing%s):" + % (self.func("block_" + name), envenv), + block, + 1, + ) + self.indent() + self.write_commons() + # It's important that we do not make this frame a child of the + # toplevel template. This would cause a variety of + # interesting issues with identifier tracking. + block_frame = Frame(eval_ctx) + undeclared = find_undeclared(block.body, ("self", "super")) + if "self" in undeclared: + ref = block_frame.symbols.declare_parameter("self") + self.writeline("%s = TemplateReference(context)" % ref) + if "super" in undeclared: + ref = block_frame.symbols.declare_parameter("super") + self.writeline("%s = context.super(%r, block_%s)" % (ref, name, name)) + block_frame.symbols.analyze_node(block) + block_frame.block = name + self.enter_frame(block_frame) + self.pull_dependencies(block.body) + self.blockvisit(block.body, block_frame) + self.leave_frame(block_frame, with_python_scope=True) + self.outdent() + + self.writeline( + "blocks = {%s}" % ", ".join("%r: block_%s" % (x, x) for x in self.blocks), + extra=1, + ) + + # add a function that returns the debug info + self.writeline( + "debug_info = %r" % "&".join("%s=%s" % x for x in self.debug_info) + ) + + def visit_Block(self, node, frame): + """Call a block and register it for the template.""" + level = 0 + if frame.toplevel: + # if we know that we are a child template, there is no need to + # check if we are one + if self.has_known_extends: + return + if self.extends_so_far > 0: + self.writeline("if parent_template is None:") + self.indent() + level += 1 + + if node.scoped: + context = self.derive_context(frame) + else: + context = self.get_context_ref() + + if ( + supports_yield_from + and not self.environment.is_async + and frame.buffer is None + ): + self.writeline( + "yield from context.blocks[%r][0](%s)" % (node.name, context), node + ) + else: + loop = self.environment.is_async and "async for" or "for" + self.writeline( + "%s event in context.blocks[%r][0](%s):" % (loop, node.name, context), + node, + ) + self.indent() + self.simple_write("event", frame) + self.outdent() + + self.outdent(level) + + def visit_Extends(self, node, frame): + """Calls the extender.""" + if not frame.toplevel: + self.fail("cannot use extend from a non top-level scope", node.lineno) + + # if the number of extends statements in general is zero so + # far, we don't have to add a check if something extended + # the template before this one. + if self.extends_so_far > 0: + + # if we have a known extends we just add a template runtime + # error into the generated code. We could catch that at compile + # time too, but i welcome it not to confuse users by throwing the + # same error at different times just "because we can". + if not self.has_known_extends: + self.writeline("if parent_template is not None:") + self.indent() + self.writeline("raise TemplateRuntimeError(%r)" % "extended multiple times") + + # if we have a known extends already we don't need that code here + # as we know that the template execution will end here. + if self.has_known_extends: + raise CompilerExit() + else: + self.outdent() + + self.writeline("parent_template = environment.get_template(", node) + self.visit(node.template, frame) + self.write(", %r)" % self.name) + self.writeline( + "for name, parent_block in parent_template.blocks.%s():" % dict_item_iter + ) + self.indent() + self.writeline("context.blocks.setdefault(name, []).append(parent_block)") + self.outdent() + + # if this extends statement was in the root level we can take + # advantage of that information and simplify the generated code + # in the top level from this point onwards + if frame.rootlevel: + self.has_known_extends = True + + # and now we have one more + self.extends_so_far += 1 + + def visit_Include(self, node, frame): + """Handles includes.""" + if node.ignore_missing: + self.writeline("try:") + self.indent() + + func_name = "get_or_select_template" + if isinstance(node.template, nodes.Const): + if isinstance(node.template.value, string_types): + func_name = "get_template" + elif isinstance(node.template.value, (tuple, list)): + func_name = "select_template" + elif isinstance(node.template, (nodes.Tuple, nodes.List)): + func_name = "select_template" + + self.writeline("template = environment.%s(" % func_name, node) + self.visit(node.template, frame) + self.write(", %r)" % self.name) + if node.ignore_missing: + self.outdent() + self.writeline("except TemplateNotFound:") + self.indent() + self.writeline("pass") + self.outdent() + self.writeline("else:") + self.indent() + + skip_event_yield = False + if node.with_context: + loop = self.environment.is_async and "async for" or "for" + self.writeline( + "%s event in template.root_render_func(" + "template.new_context(context.get_all(), True, " + "%s)):" % (loop, self.dump_local_context(frame)) + ) + elif self.environment.is_async: + self.writeline( + "for event in (await " + "template._get_default_module_async())" + "._body_stream:" + ) + else: + if supports_yield_from: + self.writeline("yield from template._get_default_module()._body_stream") + skip_event_yield = True + else: + self.writeline( + "for event in template._get_default_module()._body_stream:" + ) + + if not skip_event_yield: + self.indent() + self.simple_write("event", frame) + self.outdent() + + if node.ignore_missing: + self.outdent() + + def visit_Import(self, node, frame): + """Visit regular imports.""" + self.writeline("%s = " % frame.symbols.ref(node.target), node) + if frame.toplevel: + self.write("context.vars[%r] = " % node.target) + if self.environment.is_async: + self.write("await ") + self.write("environment.get_template(") + self.visit(node.template, frame) + self.write(", %r)." % self.name) + if node.with_context: + self.write( + "make_module%s(context.get_all(), True, %s)" + % ( + self.environment.is_async and "_async" or "", + self.dump_local_context(frame), + ) + ) + elif self.environment.is_async: + self.write("_get_default_module_async()") + else: + self.write("_get_default_module()") + if frame.toplevel and not node.target.startswith("_"): + self.writeline("context.exported_vars.discard(%r)" % node.target) + + def visit_FromImport(self, node, frame): + """Visit named imports.""" + self.newline(node) + self.write( + "included_template = %senvironment.get_template(" + % (self.environment.is_async and "await " or "") + ) + self.visit(node.template, frame) + self.write(", %r)." % self.name) + if node.with_context: + self.write( + "make_module%s(context.get_all(), True, %s)" + % ( + self.environment.is_async and "_async" or "", + self.dump_local_context(frame), + ) + ) + elif self.environment.is_async: + self.write("_get_default_module_async()") + else: + self.write("_get_default_module()") + + var_names = [] + discarded_names = [] + for name in node.names: + if isinstance(name, tuple): + name, alias = name + else: + alias = name + self.writeline( + "%s = getattr(included_template, " + "%r, missing)" % (frame.symbols.ref(alias), name) + ) + self.writeline("if %s is missing:" % frame.symbols.ref(alias)) + self.indent() + self.writeline( + "%s = undefined(%r %% " + "included_template.__name__, " + "name=%r)" + % ( + frame.symbols.ref(alias), + "the template %%r (imported on %s) does " + "not export the requested name %s" + % (self.position(node), repr(name)), + name, + ) + ) + self.outdent() + if frame.toplevel: + var_names.append(alias) + if not alias.startswith("_"): + discarded_names.append(alias) + + if var_names: + if len(var_names) == 1: + name = var_names[0] + self.writeline( + "context.vars[%r] = %s" % (name, frame.symbols.ref(name)) + ) + else: + self.writeline( + "context.vars.update({%s})" + % ", ".join( + "%r: %s" % (name, frame.symbols.ref(name)) for name in var_names + ) + ) + if discarded_names: + if len(discarded_names) == 1: + self.writeline("context.exported_vars.discard(%r)" % discarded_names[0]) + else: + self.writeline( + "context.exported_vars.difference_" + "update((%s))" % ", ".join(imap(repr, discarded_names)) + ) + + def visit_For(self, node, frame): + loop_frame = frame.inner() + test_frame = frame.inner() + else_frame = frame.inner() + + # try to figure out if we have an extended loop. An extended loop + # is necessary if the loop is in recursive mode if the special loop + # variable is accessed in the body. + extended_loop = node.recursive or "loop" in find_undeclared( + node.iter_child_nodes(only=("body",)), ("loop",) + ) + + loop_ref = None + if extended_loop: + loop_ref = loop_frame.symbols.declare_parameter("loop") + + loop_frame.symbols.analyze_node(node, for_branch="body") + if node.else_: + else_frame.symbols.analyze_node(node, for_branch="else") + + if node.test: + loop_filter_func = self.temporary_identifier() + test_frame.symbols.analyze_node(node, for_branch="test") + self.writeline("%s(fiter):" % self.func(loop_filter_func), node.test) + self.indent() + self.enter_frame(test_frame) + self.writeline(self.environment.is_async and "async for " or "for ") + self.visit(node.target, loop_frame) + self.write(" in ") + self.write(self.environment.is_async and "auto_aiter(fiter)" or "fiter") + self.write(":") + self.indent() + self.writeline("if ", node.test) + self.visit(node.test, test_frame) + self.write(":") + self.indent() + self.writeline("yield ") + self.visit(node.target, loop_frame) + self.outdent(3) + self.leave_frame(test_frame, with_python_scope=True) + + # if we don't have an recursive loop we have to find the shadowed + # variables at that point. Because loops can be nested but the loop + # variable is a special one we have to enforce aliasing for it. + if node.recursive: + self.writeline( + "%s(reciter, loop_render_func, depth=0):" % self.func("loop"), node + ) + self.indent() + self.buffer(loop_frame) + + # Use the same buffer for the else frame + else_frame.buffer = loop_frame.buffer + + # make sure the loop variable is a special one and raise a template + # assertion error if a loop tries to write to loop + if extended_loop: + self.writeline("%s = missing" % loop_ref) + + for name in node.find_all(nodes.Name): + if name.ctx == "store" and name.name == "loop": + self.fail( + "Can't assign to special loop variable in for-loop target", + name.lineno, + ) + + if node.else_: + iteration_indicator = self.temporary_identifier() + self.writeline("%s = 1" % iteration_indicator) + + self.writeline(self.environment.is_async and "async for " or "for ", node) + self.visit(node.target, loop_frame) + if extended_loop: + if self.environment.is_async: + self.write(", %s in AsyncLoopContext(" % loop_ref) + else: + self.write(", %s in LoopContext(" % loop_ref) + else: + self.write(" in ") + + if node.test: + self.write("%s(" % loop_filter_func) + if node.recursive: + self.write("reciter") + else: + if self.environment.is_async and not extended_loop: + self.write("auto_aiter(") + self.visit(node.iter, frame) + if self.environment.is_async and not extended_loop: + self.write(")") + if node.test: + self.write(")") + + if node.recursive: + self.write(", undefined, loop_render_func, depth):") + else: + self.write(extended_loop and ", undefined):" or ":") + + self.indent() + self.enter_frame(loop_frame) + + self.blockvisit(node.body, loop_frame) + if node.else_: + self.writeline("%s = 0" % iteration_indicator) + self.outdent() + self.leave_frame( + loop_frame, with_python_scope=node.recursive and not node.else_ + ) + + if node.else_: + self.writeline("if %s:" % iteration_indicator) + self.indent() + self.enter_frame(else_frame) + self.blockvisit(node.else_, else_frame) + self.leave_frame(else_frame) + self.outdent() + + # if the node was recursive we have to return the buffer contents + # and start the iteration code + if node.recursive: + self.return_buffer_contents(loop_frame) + self.outdent() + self.start_write(frame, node) + if self.environment.is_async: + self.write("await ") + self.write("loop(") + if self.environment.is_async: + self.write("auto_aiter(") + self.visit(node.iter, frame) + if self.environment.is_async: + self.write(")") + self.write(", loop)") + self.end_write(frame) + + def visit_If(self, node, frame): + if_frame = frame.soft() + self.writeline("if ", node) + self.visit(node.test, if_frame) + self.write(":") + self.indent() + self.blockvisit(node.body, if_frame) + self.outdent() + for elif_ in node.elif_: + self.writeline("elif ", elif_) + self.visit(elif_.test, if_frame) + self.write(":") + self.indent() + self.blockvisit(elif_.body, if_frame) + self.outdent() + if node.else_: + self.writeline("else:") + self.indent() + self.blockvisit(node.else_, if_frame) + self.outdent() + + def visit_Macro(self, node, frame): + macro_frame, macro_ref = self.macro_body(node, frame) + self.newline() + if frame.toplevel: + if not node.name.startswith("_"): + self.write("context.exported_vars.add(%r)" % node.name) + self.writeline("context.vars[%r] = " % node.name) + self.write("%s = " % frame.symbols.ref(node.name)) + self.macro_def(macro_ref, macro_frame) + + def visit_CallBlock(self, node, frame): + call_frame, macro_ref = self.macro_body(node, frame) + self.writeline("caller = ") + self.macro_def(macro_ref, call_frame) + self.start_write(frame, node) + self.visit_Call(node.call, frame, forward_caller=True) + self.end_write(frame) + + def visit_FilterBlock(self, node, frame): + filter_frame = frame.inner() + filter_frame.symbols.analyze_node(node) + self.enter_frame(filter_frame) + self.buffer(filter_frame) + self.blockvisit(node.body, filter_frame) + self.start_write(frame, node) + self.visit_Filter(node.filter, filter_frame) + self.end_write(frame) + self.leave_frame(filter_frame) + + def visit_With(self, node, frame): + with_frame = frame.inner() + with_frame.symbols.analyze_node(node) + self.enter_frame(with_frame) + for target, expr in izip(node.targets, node.values): + self.newline() + self.visit(target, with_frame) + self.write(" = ") + self.visit(expr, frame) + self.blockvisit(node.body, with_frame) + self.leave_frame(with_frame) + + def visit_ExprStmt(self, node, frame): + self.newline(node) + self.visit(node.node, frame) + + _FinalizeInfo = namedtuple("_FinalizeInfo", ("const", "src")) + #: The default finalize function if the environment isn't configured + #: with one. Or if the environment has one, this is called on that + #: function's output for constants. + _default_finalize = text_type + _finalize = None + + def _make_finalize(self): + """Build the finalize function to be used on constants and at + runtime. Cached so it's only created once for all output nodes. + + Returns a ``namedtuple`` with the following attributes: + + ``const`` + A function to finalize constant data at compile time. + + ``src`` + Source code to output around nodes to be evaluated at + runtime. + """ + if self._finalize is not None: + return self._finalize + + finalize = default = self._default_finalize + src = None + + if self.environment.finalize: + src = "environment.finalize(" + env_finalize = self.environment.finalize + + def finalize(value): + return default(env_finalize(value)) + + if getattr(env_finalize, "contextfunction", False) is True: + src += "context, " + finalize = None # noqa: F811 + elif getattr(env_finalize, "evalcontextfunction", False) is True: + src += "context.eval_ctx, " + finalize = None + elif getattr(env_finalize, "environmentfunction", False) is True: + src += "environment, " + + def finalize(value): + return default(env_finalize(self.environment, value)) + + self._finalize = self._FinalizeInfo(finalize, src) + return self._finalize + + def _output_const_repr(self, group): + """Given a group of constant values converted from ``Output`` + child nodes, produce a string to write to the template module + source. + """ + return repr(concat(group)) + + def _output_child_to_const(self, node, frame, finalize): + """Try to optimize a child of an ``Output`` node by trying to + convert it to constant, finalized data at compile time. + + If :exc:`Impossible` is raised, the node is not constant and + will be evaluated at runtime. Any other exception will also be + evaluated at runtime for easier debugging. + """ + const = node.as_const(frame.eval_ctx) + + if frame.eval_ctx.autoescape: + const = escape(const) + + # Template data doesn't go through finalize. + if isinstance(node, nodes.TemplateData): + return text_type(const) + + return finalize.const(const) + + def _output_child_pre(self, node, frame, finalize): + """Output extra source code before visiting a child of an + ``Output`` node. + """ + if frame.eval_ctx.volatile: + self.write("(escape if context.eval_ctx.autoescape else to_string)(") + elif frame.eval_ctx.autoescape: + self.write("escape(") + else: + self.write("to_string(") + + if finalize.src is not None: + self.write(finalize.src) + + def _output_child_post(self, node, frame, finalize): + """Output extra source code after visiting a child of an + ``Output`` node. + """ + self.write(")") + + if finalize.src is not None: + self.write(")") + + def visit_Output(self, node, frame): + # If an extends is active, don't render outside a block. + if frame.require_output_check: + # A top-level extends is known to exist at compile time. + if self.has_known_extends: + return + + self.writeline("if parent_template is None:") + self.indent() + + finalize = self._make_finalize() + body = [] + + # Evaluate constants at compile time if possible. Each item in + # body will be either a list of static data or a node to be + # evaluated at runtime. + for child in node.nodes: + try: + if not ( + # If the finalize function requires runtime context, + # constants can't be evaluated at compile time. + finalize.const + # Unless it's basic template data that won't be + # finalized anyway. + or isinstance(child, nodes.TemplateData) + ): + raise nodes.Impossible() + + const = self._output_child_to_const(child, frame, finalize) + except (nodes.Impossible, Exception): + # The node was not constant and needs to be evaluated at + # runtime. Or another error was raised, which is easier + # to debug at runtime. + body.append(child) + continue + + if body and isinstance(body[-1], list): + body[-1].append(const) + else: + body.append([const]) + + if frame.buffer is not None: + if len(body) == 1: + self.writeline("%s.append(" % frame.buffer) + else: + self.writeline("%s.extend((" % frame.buffer) + + self.indent() + + for item in body: + if isinstance(item, list): + # A group of constant data to join and output. + val = self._output_const_repr(item) + + if frame.buffer is None: + self.writeline("yield " + val) + else: + self.writeline(val + ",") + else: + if frame.buffer is None: + self.writeline("yield ", item) + else: + self.newline(item) + + # A node to be evaluated at runtime. + self._output_child_pre(item, frame, finalize) + self.visit(item, frame) + self._output_child_post(item, frame, finalize) + + if frame.buffer is not None: + self.write(",") + + if frame.buffer is not None: + self.outdent() + self.writeline(")" if len(body) == 1 else "))") + + if frame.require_output_check: + self.outdent() + + def visit_Assign(self, node, frame): + self.push_assign_tracking() + self.newline(node) + self.visit(node.target, frame) + self.write(" = ") + self.visit(node.node, frame) + self.pop_assign_tracking(frame) + + def visit_AssignBlock(self, node, frame): + self.push_assign_tracking() + block_frame = frame.inner() + # This is a special case. Since a set block always captures we + # will disable output checks. This way one can use set blocks + # toplevel even in extended templates. + block_frame.require_output_check = False + block_frame.symbols.analyze_node(node) + self.enter_frame(block_frame) + self.buffer(block_frame) + self.blockvisit(node.body, block_frame) + self.newline(node) + self.visit(node.target, frame) + self.write(" = (Markup if context.eval_ctx.autoescape else identity)(") + if node.filter is not None: + self.visit_Filter(node.filter, block_frame) + else: + self.write("concat(%s)" % block_frame.buffer) + self.write(")") + self.pop_assign_tracking(frame) + self.leave_frame(block_frame) + + # -- Expression Visitors + + def visit_Name(self, node, frame): + if node.ctx == "store" and frame.toplevel: + if self._assign_stack: + self._assign_stack[-1].add(node.name) + ref = frame.symbols.ref(node.name) + + # If we are looking up a variable we might have to deal with the + # case where it's undefined. We can skip that case if the load + # instruction indicates a parameter which are always defined. + if node.ctx == "load": + load = frame.symbols.find_load(ref) + if not ( + load is not None + and load[0] == VAR_LOAD_PARAMETER + and not self.parameter_is_undeclared(ref) + ): + self.write( + "(undefined(name=%r) if %s is missing else %s)" + % (node.name, ref, ref) + ) + return + + self.write(ref) + + def visit_NSRef(self, node, frame): + # NSRefs can only be used to store values; since they use the normal + # `foo.bar` notation they will be parsed as a normal attribute access + # when used anywhere but in a `set` context + ref = frame.symbols.ref(node.name) + self.writeline("if not isinstance(%s, Namespace):" % ref) + self.indent() + self.writeline( + "raise TemplateRuntimeError(%r)" + % "cannot assign attribute on non-namespace object" + ) + self.outdent() + self.writeline("%s[%r]" % (ref, node.attr)) + + def visit_Const(self, node, frame): + val = node.as_const(frame.eval_ctx) + if isinstance(val, float): + self.write(str(val)) + else: + self.write(repr(val)) + + def visit_TemplateData(self, node, frame): + try: + self.write(repr(node.as_const(frame.eval_ctx))) + except nodes.Impossible: + self.write( + "(Markup if context.eval_ctx.autoescape else identity)(%r)" % node.data + ) + + def visit_Tuple(self, node, frame): + self.write("(") + idx = -1 + for idx, item in enumerate(node.items): + if idx: + self.write(", ") + self.visit(item, frame) + self.write(idx == 0 and ",)" or ")") + + def visit_List(self, node, frame): + self.write("[") + for idx, item in enumerate(node.items): + if idx: + self.write(", ") + self.visit(item, frame) + self.write("]") + + def visit_Dict(self, node, frame): + self.write("{") + for idx, item in enumerate(node.items): + if idx: + self.write(", ") + self.visit(item.key, frame) + self.write(": ") + self.visit(item.value, frame) + self.write("}") + + def binop(operator, interceptable=True): # noqa: B902 + @optimizeconst + def visitor(self, node, frame): + if ( + self.environment.sandboxed + and operator in self.environment.intercepted_binops + ): + self.write("environment.call_binop(context, %r, " % operator) + self.visit(node.left, frame) + self.write(", ") + self.visit(node.right, frame) + else: + self.write("(") + self.visit(node.left, frame) + self.write(" %s " % operator) + self.visit(node.right, frame) + self.write(")") + + return visitor + + def uaop(operator, interceptable=True): # noqa: B902 + @optimizeconst + def visitor(self, node, frame): + if ( + self.environment.sandboxed + and operator in self.environment.intercepted_unops + ): + self.write("environment.call_unop(context, %r, " % operator) + self.visit(node.node, frame) + else: + self.write("(" + operator) + self.visit(node.node, frame) + self.write(")") + + return visitor + + visit_Add = binop("+") + visit_Sub = binop("-") + visit_Mul = binop("*") + visit_Div = binop("/") + visit_FloorDiv = binop("//") + visit_Pow = binop("**") + visit_Mod = binop("%") + visit_And = binop("and", interceptable=False) + visit_Or = binop("or", interceptable=False) + visit_Pos = uaop("+") + visit_Neg = uaop("-") + visit_Not = uaop("not ", interceptable=False) + del binop, uaop + + @optimizeconst + def visit_Concat(self, node, frame): + if frame.eval_ctx.volatile: + func_name = "(context.eval_ctx.volatile and markup_join or unicode_join)" + elif frame.eval_ctx.autoescape: + func_name = "markup_join" + else: + func_name = "unicode_join" + self.write("%s((" % func_name) + for arg in node.nodes: + self.visit(arg, frame) + self.write(", ") + self.write("))") + + @optimizeconst + def visit_Compare(self, node, frame): + self.write("(") + self.visit(node.expr, frame) + for op in node.ops: + self.visit(op, frame) + self.write(")") + + def visit_Operand(self, node, frame): + self.write(" %s " % operators[node.op]) + self.visit(node.expr, frame) + + @optimizeconst + def visit_Getattr(self, node, frame): + if self.environment.is_async: + self.write("(await auto_await(") + + self.write("environment.getattr(") + self.visit(node.node, frame) + self.write(", %r)" % node.attr) + + if self.environment.is_async: + self.write("))") + + @optimizeconst + def visit_Getitem(self, node, frame): + # slices bypass the environment getitem method. + if isinstance(node.arg, nodes.Slice): + self.visit(node.node, frame) + self.write("[") + self.visit(node.arg, frame) + self.write("]") + else: + if self.environment.is_async: + self.write("(await auto_await(") + + self.write("environment.getitem(") + self.visit(node.node, frame) + self.write(", ") + self.visit(node.arg, frame) + self.write(")") + + if self.environment.is_async: + self.write("))") + + def visit_Slice(self, node, frame): + if node.start is not None: + self.visit(node.start, frame) + self.write(":") + if node.stop is not None: + self.visit(node.stop, frame) + if node.step is not None: + self.write(":") + self.visit(node.step, frame) + + @optimizeconst + def visit_Filter(self, node, frame): + if self.environment.is_async: + self.write("await auto_await(") + self.write(self.filters[node.name] + "(") + func = self.environment.filters.get(node.name) + if func is None: + self.fail("no filter named %r" % node.name, node.lineno) + if getattr(func, "contextfilter", False) is True: + self.write("context, ") + elif getattr(func, "evalcontextfilter", False) is True: + self.write("context.eval_ctx, ") + elif getattr(func, "environmentfilter", False) is True: + self.write("environment, ") + + # if the filter node is None we are inside a filter block + # and want to write to the current buffer + if node.node is not None: + self.visit(node.node, frame) + elif frame.eval_ctx.volatile: + self.write( + "(context.eval_ctx.autoescape and" + " Markup(concat(%s)) or concat(%s))" % (frame.buffer, frame.buffer) + ) + elif frame.eval_ctx.autoescape: + self.write("Markup(concat(%s))" % frame.buffer) + else: + self.write("concat(%s)" % frame.buffer) + self.signature(node, frame) + self.write(")") + if self.environment.is_async: + self.write(")") + + @optimizeconst + def visit_Test(self, node, frame): + self.write(self.tests[node.name] + "(") + if node.name not in self.environment.tests: + self.fail("no test named %r" % node.name, node.lineno) + self.visit(node.node, frame) + self.signature(node, frame) + self.write(")") + + @optimizeconst + def visit_CondExpr(self, node, frame): + def write_expr2(): + if node.expr2 is not None: + return self.visit(node.expr2, frame) + self.write( + "cond_expr_undefined(%r)" + % ( + "the inline if-" + "expression on %s evaluated to false and " + "no else section was defined." % self.position(node) + ) + ) + + self.write("(") + self.visit(node.expr1, frame) + self.write(" if ") + self.visit(node.test, frame) + self.write(" else ") + write_expr2() + self.write(")") + + @optimizeconst + def visit_Call(self, node, frame, forward_caller=False): + if self.environment.is_async: + self.write("await auto_await(") + if self.environment.sandboxed: + self.write("environment.call(context, ") + else: + self.write("context.call(") + self.visit(node.node, frame) + extra_kwargs = forward_caller and {"caller": "caller"} or None + self.signature(node, frame, extra_kwargs) + self.write(")") + if self.environment.is_async: + self.write(")") + + def visit_Keyword(self, node, frame): + self.write(node.key + "=") + self.visit(node.value, frame) + + # -- Unused nodes for extensions + + def visit_MarkSafe(self, node, frame): + self.write("Markup(") + self.visit(node.expr, frame) + self.write(")") + + def visit_MarkSafeIfAutoescape(self, node, frame): + self.write("(context.eval_ctx.autoescape and Markup or identity)(") + self.visit(node.expr, frame) + self.write(")") + + def visit_EnvironmentAttribute(self, node, frame): + self.write("environment." + node.name) + + def visit_ExtensionAttribute(self, node, frame): + self.write("environment.extensions[%r].%s" % (node.identifier, node.name)) + + def visit_ImportedName(self, node, frame): + self.write(self.import_aliases[node.importname]) + + def visit_InternalName(self, node, frame): + self.write(node.name) + + def visit_ContextReference(self, node, frame): + self.write("context") + + def visit_DerivedContextReference(self, node, frame): + self.write(self.derive_context(frame)) + + def visit_Continue(self, node, frame): + self.writeline("continue", node) + + def visit_Break(self, node, frame): + self.writeline("break", node) + + def visit_Scope(self, node, frame): + scope_frame = frame.inner() + scope_frame.symbols.analyze_node(node) + self.enter_frame(scope_frame) + self.blockvisit(node.body, scope_frame) + self.leave_frame(scope_frame) + + def visit_OverlayScope(self, node, frame): + ctx = self.temporary_identifier() + self.writeline("%s = %s" % (ctx, self.derive_context(frame))) + self.writeline("%s.vars = " % ctx) + self.visit(node.context, frame) + self.push_context_reference(ctx) + + scope_frame = frame.inner(isolated=True) + scope_frame.symbols.analyze_node(node) + self.enter_frame(scope_frame) + self.blockvisit(node.body, scope_frame) + self.leave_frame(scope_frame) + self.pop_context_reference() + + def visit_EvalContextModifier(self, node, frame): + for keyword in node.options: + self.writeline("context.eval_ctx.%s = " % keyword.key) + self.visit(keyword.value, frame) + try: + val = keyword.value.as_const(frame.eval_ctx) + except nodes.Impossible: + frame.eval_ctx.volatile = True + else: + setattr(frame.eval_ctx, keyword.key, val) + + def visit_ScopedEvalContextModifier(self, node, frame): + old_ctx_name = self.temporary_identifier() + saved_ctx = frame.eval_ctx.save() + self.writeline("%s = context.eval_ctx.save()" % old_ctx_name) + self.visit_EvalContextModifier(node, frame) + for child in node.body: + self.visit(child, frame) + frame.eval_ctx.revert(saved_ctx) + self.writeline("context.eval_ctx.revert(%s)" % old_ctx_name) diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/constants.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/constants.py new file mode 100644 index 00000000..bf7f2ca7 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/constants.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +#: list of lorem ipsum words used by the lipsum() helper function +LOREM_IPSUM_WORDS = u"""\ +a ac accumsan ad adipiscing aenean aliquam aliquet amet ante aptent arcu at +auctor augue bibendum blandit class commodo condimentum congue consectetuer +consequat conubia convallis cras cubilia cum curabitur curae cursus dapibus +diam dictum dictumst dignissim dis dolor donec dui duis egestas eget eleifend +elementum elit enim erat eros est et etiam eu euismod facilisi facilisis fames +faucibus felis fermentum feugiat fringilla fusce gravida habitant habitasse hac +hendrerit hymenaeos iaculis id imperdiet in inceptos integer interdum ipsum +justo lacinia lacus laoreet lectus leo libero ligula litora lobortis lorem +luctus maecenas magna magnis malesuada massa mattis mauris metus mi molestie +mollis montes morbi mus nam nascetur natoque nec neque netus nibh nisi nisl non +nonummy nostra nulla nullam nunc odio orci ornare parturient pede pellentesque +penatibus per pharetra phasellus placerat platea porta porttitor posuere +potenti praesent pretium primis proin pulvinar purus quam quis quisque rhoncus +ridiculus risus rutrum sagittis sapien scelerisque sed sem semper senectus sit +sociis sociosqu sodales sollicitudin suscipit suspendisse taciti tellus tempor +tempus tincidunt torquent tortor tristique turpis ullamcorper ultrices +ultricies urna ut varius vehicula vel velit venenatis vestibulum vitae vivamus +viverra volutpat vulputate""" diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/debug.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/debug.py new file mode 100644 index 00000000..5d8aec31 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/debug.py @@ -0,0 +1,268 @@ +import sys +from types import CodeType + +from . import TemplateSyntaxError +from ._compat import PYPY +from .utils import internal_code +from .utils import missing + + +def rewrite_traceback_stack(source=None): + """Rewrite the current exception to replace any tracebacks from + within compiled template code with tracebacks that look like they + came from the template source. + + This must be called within an ``except`` block. + + :param exc_info: A :meth:`sys.exc_info` tuple. If not provided, + the current ``exc_info`` is used. + :param source: For ``TemplateSyntaxError``, the original source if + known. + :return: A :meth:`sys.exc_info` tuple that can be re-raised. + """ + exc_type, exc_value, tb = sys.exc_info() + + if isinstance(exc_value, TemplateSyntaxError) and not exc_value.translated: + exc_value.translated = True + exc_value.source = source + + try: + # Remove the old traceback on Python 3, otherwise the frames + # from the compiler still show up. + exc_value.with_traceback(None) + except AttributeError: + pass + + # Outside of runtime, so the frame isn't executing template + # code, but it still needs to point at the template. + tb = fake_traceback( + exc_value, None, exc_value.filename or "", exc_value.lineno + ) + else: + # Skip the frame for the render function. + tb = tb.tb_next + + stack = [] + + # Build the stack of traceback object, replacing any in template + # code with the source file and line information. + while tb is not None: + # Skip frames decorated with @internalcode. These are internal + # calls that aren't useful in template debugging output. + if tb.tb_frame.f_code in internal_code: + tb = tb.tb_next + continue + + template = tb.tb_frame.f_globals.get("__jinja_template__") + + if template is not None: + lineno = template.get_corresponding_lineno(tb.tb_lineno) + fake_tb = fake_traceback(exc_value, tb, template.filename, lineno) + stack.append(fake_tb) + else: + stack.append(tb) + + tb = tb.tb_next + + tb_next = None + + # Assign tb_next in reverse to avoid circular references. + for tb in reversed(stack): + tb_next = tb_set_next(tb, tb_next) + + return exc_type, exc_value, tb_next + + +def fake_traceback(exc_value, tb, filename, lineno): + """Produce a new traceback object that looks like it came from the + template source instead of the compiled code. The filename, line + number, and location name will point to the template, and the local + variables will be the current template context. + + :param exc_value: The original exception to be re-raised to create + the new traceback. + :param tb: The original traceback to get the local variables and + code info from. + :param filename: The template filename. + :param lineno: The line number in the template source. + """ + if tb is not None: + # Replace the real locals with the context that would be + # available at that point in the template. + locals = get_template_locals(tb.tb_frame.f_locals) + locals.pop("__jinja_exception__", None) + else: + locals = {} + + globals = { + "__name__": filename, + "__file__": filename, + "__jinja_exception__": exc_value, + } + # Raise an exception at the correct line number. + code = compile("\n" * (lineno - 1) + "raise __jinja_exception__", filename, "exec") + + # Build a new code object that points to the template file and + # replaces the location with a block name. + try: + location = "template" + + if tb is not None: + function = tb.tb_frame.f_code.co_name + + if function == "root": + location = "top-level template code" + elif function.startswith("block_"): + location = 'block "%s"' % function[6:] + + # Collect arguments for the new code object. CodeType only + # accepts positional arguments, and arguments were inserted in + # new Python versions. + code_args = [] + + for attr in ( + "argcount", + "posonlyargcount", # Python 3.8 + "kwonlyargcount", # Python 3 + "nlocals", + "stacksize", + "flags", + "code", # codestring + "consts", # constants + "names", + "varnames", + ("filename", filename), + ("name", location), + "firstlineno", + "lnotab", + "freevars", + "cellvars", + ): + if isinstance(attr, tuple): + # Replace with given value. + code_args.append(attr[1]) + continue + + try: + # Copy original value if it exists. + code_args.append(getattr(code, "co_" + attr)) + except AttributeError: + # Some arguments were added later. + continue + + code = CodeType(*code_args) + except Exception: + # Some environments such as Google App Engine don't support + # modifying code objects. + pass + + # Execute the new code, which is guaranteed to raise, and return + # the new traceback without this frame. + try: + exec(code, globals, locals) + except BaseException: + return sys.exc_info()[2].tb_next + + +def get_template_locals(real_locals): + """Based on the runtime locals, get the context that would be + available at that point in the template. + """ + # Start with the current template context. + ctx = real_locals.get("context") + + if ctx: + data = ctx.get_all().copy() + else: + data = {} + + # Might be in a derived context that only sets local variables + # rather than pushing a context. Local variables follow the scheme + # l_depth_name. Find the highest-depth local that has a value for + # each name. + local_overrides = {} + + for name, value in real_locals.items(): + if not name.startswith("l_") or value is missing: + # Not a template variable, or no longer relevant. + continue + + try: + _, depth, name = name.split("_", 2) + depth = int(depth) + except ValueError: + continue + + cur_depth = local_overrides.get(name, (-1,))[0] + + if cur_depth < depth: + local_overrides[name] = (depth, value) + + # Modify the context with any derived context. + for name, (_, value) in local_overrides.items(): + if value is missing: + data.pop(name, None) + else: + data[name] = value + + return data + + +if sys.version_info >= (3, 7): + # tb_next is directly assignable as of Python 3.7 + def tb_set_next(tb, tb_next): + tb.tb_next = tb_next + return tb + + +elif PYPY: + # PyPy might have special support, and won't work with ctypes. + try: + import tputil + except ImportError: + # Without tproxy support, use the original traceback. + def tb_set_next(tb, tb_next): + return tb + + else: + # With tproxy support, create a proxy around the traceback that + # returns the new tb_next. + def tb_set_next(tb, tb_next): + def controller(op): + if op.opname == "__getattribute__" and op.args[0] == "tb_next": + return tb_next + + return op.delegate() + + return tputil.make_proxy(controller, obj=tb) + + +else: + # Use ctypes to assign tb_next at the C level since it's read-only + # from Python. + import ctypes + + class _CTraceback(ctypes.Structure): + _fields_ = [ + # Extra PyObject slots when compiled with Py_TRACE_REFS. + ("PyObject_HEAD", ctypes.c_byte * object().__sizeof__()), + # Only care about tb_next as an object, not a traceback. + ("tb_next", ctypes.py_object), + ] + + def tb_set_next(tb, tb_next): + c_tb = _CTraceback.from_address(id(tb)) + + # Clear out the old tb_next. + if tb.tb_next is not None: + c_tb_next = ctypes.py_object(tb.tb_next) + c_tb.tb_next = ctypes.py_object() + ctypes.pythonapi.Py_DecRef(c_tb_next) + + # Assign the new tb_next. + if tb_next is not None: + c_tb_next = ctypes.py_object(tb_next) + ctypes.pythonapi.Py_IncRef(c_tb_next) + c_tb.tb_next = c_tb_next + + return tb diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/defaults.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/defaults.py new file mode 100644 index 00000000..8e0e7d77 --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/defaults.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +from ._compat import range_type +from .filters import FILTERS as DEFAULT_FILTERS # noqa: F401 +from .tests import TESTS as DEFAULT_TESTS # noqa: F401 +from .utils import Cycler +from .utils import generate_lorem_ipsum +from .utils import Joiner +from .utils import Namespace + +# defaults for the parser / lexer +BLOCK_START_STRING = "{%" +BLOCK_END_STRING = "%}" +VARIABLE_START_STRING = "{{" +VARIABLE_END_STRING = "}}" +COMMENT_START_STRING = "{#" +COMMENT_END_STRING = "#}" +LINE_STATEMENT_PREFIX = None +LINE_COMMENT_PREFIX = None +TRIM_BLOCKS = False +LSTRIP_BLOCKS = False +NEWLINE_SEQUENCE = "\n" +KEEP_TRAILING_NEWLINE = False + +# default filters, tests and namespace + +DEFAULT_NAMESPACE = { + "range": range_type, + "dict": dict, + "lipsum": generate_lorem_ipsum, + "cycler": Cycler, + "joiner": Joiner, + "namespace": Namespace, +} + +# default policies +DEFAULT_POLICIES = { + "compiler.ascii_str": True, + "urlize.rel": "noopener", + "urlize.target": None, + "truncate.leeway": 5, + "json.dumps_function": None, + "json.dumps_kwargs": {"sort_keys": True}, + "ext.i18n.trimmed": False, +} diff --git a/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/environment.py b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/environment.py new file mode 100644 index 00000000..8430390e --- /dev/null +++ b/hackfest_squid_metrics_cnf/charms/squid-operator/venv/jinja2/environment.py @@ -0,0 +1,1362 @@ +# -*- coding: utf-8 -*- +"""Classes for managing templates and their runtime and compile time +options. +""" +import os +import sys +import weakref +from functools import partial +from functools import reduce + +from markupsafe import Markup + +from . import nodes +from ._compat import encode_filename +from ._compat import implements_iterator +from ._compat import implements_to_string +from ._compat import iteritems +from ._compat import PY2 +from ._compat import PYPY +from ._compat import reraise +from ._compat import string_types +from ._compat import text_type +from .compiler import CodeGenerator +from .compiler import generate +from .defaults import BLOCK_END_STRING +from .defaults import BLOCK_START_STRING +from .defaults import COMMENT_END_STRING +from .defaults import COMMENT_START_STRING +from .defaults import DEFAULT_FILTERS +from .defaults import DEFAULT_NAMESPACE +from .defaults import DEFAULT_POLICIES +from .defaults import DEFAULT_TESTS +from .defaults import KEEP_TRAILING_NEWLINE +from .defaults import LINE_COMMENT_PREFIX +from .defaults import LINE_STATEMENT_PREFIX +from .defaults import LSTRIP_BLOCKS +from .defaults import NEWLINE_SEQUENCE +from .defaults import TRIM_BLOCKS +from .defaults import VARIABLE_END_STRING +from .defaults import VARIABLE_START_STRING +from .exceptions import TemplateNotFound +from .exceptions import TemplateRuntimeError +from .exceptions import TemplatesNotFound +from .exceptions import TemplateSyntaxError +from .exceptions import UndefinedError +from .lexer import get_lexer +from .lexer import TokenStream +from .nodes import EvalContext +from .parser import Parser +from .runtime import Context +from .runtime import new_context +from .runtime import Undefined +from .utils import concat +from .utils import consume +from .utils import have_async_gen +from .utils import import_string +from .utils import internalcode +from .utils import LRUCache +from .utils import missing + +# for direct template usage we have up to ten living environments +_spontaneous_environments = LRUCache(10) + + +def get_spontaneous_environment(cls, *args): + """Return a new spontaneous environment. A spontaneous environment + is used for templates created directly rather than through an + existing environment. + + :param cls: Environment class to create. + :param args: Positional arguments passed to environment. + """ + key = (cls, args) + + try: + return _spontaneous_environments[key] + except KeyError: + _spontaneous_environments[key] = env = cls(*args) + env.shared = True + return env + + +def create_cache(size): + """Return the cache class for the given size.""" + if size == 0: + return None + if size < 0: + return {} + return LRUCache(size) + + +def copy_cache(cache): + """Create an empty copy of the given cache.""" + if cache is None: + return None + elif type(cache) is dict: + return {} + return LRUCache(cache.capacity) + + +def load_extensions(environment, extensions): + """Load the extensions from the list and bind it to the environment. + Returns a dict of instantiated environments. + """ + result = {} + for extension in extensions: + if isinstance(extension, string_types): + extension = import_string(extension) + result[extension.identifier] = extension(environment) + return result + + +def fail_for_missing_callable(string, name): + msg = string % name + if isinstance(name, Undefined): + try: + name._fail_with_undefined_error() + except Exception as e: + msg = "%s (%s; did you forget to quote the callable name?)" % (msg, e) + raise TemplateRuntimeError(msg) + + +def _environment_sanity_check(environment): + """Perform a sanity check on the environment.""" + assert issubclass( + environment.undefined, Undefined + ), "undefined must be a subclass of undefined because filters depend on it." + assert ( + environment.block_start_string + != environment.variable_start_string + != environment.comment_start_string + ), "block, variable and comment start strings must be different" + assert environment.newline_sequence in ( + "\r", + "\r\n", + "\n", + ), "newline_sequence set to unknown line ending string." + return environment + + +class Environment(object): + r"""The core component of Jinja is the `Environment`. It contains + important shared variables like configuration, filters, tests, + globals and others. Instances of this class may be modified if + they are not shared and if no template was loaded so far. + Modifications on environments after the first template was loaded + will lead to surprising effects and undefined behavior. + + Here are the possible initialization parameters: + + `block_start_string` + The string marking the beginning of a block. Defaults to ``'{%'``. + + `block_end_string` + The string marking the end of a block. Defaults to ``'%}'``. + + `variable_start_string` + The string marking the beginning of a print statement. + Defaults to ``'{{'``. + + `variable_end_string` + The string marking the end of a print statement. Defaults to + ``'}}'``. + + `comment_start_string` + The string marking the beginning of a comment. Defaults to ``'{#'``. + + `comment_end_string` + The string marking the end of a comment. Defaults to ``'#}'``. + + `line_statement_prefix` + If given and a string, this will be used as prefix for line based + statements. See also :ref:`line-statements`. + + `line_comment_prefix` + If given and a string, this will be used as prefix for line based + comments. See also :ref:`line-statements`. + + .. versionadded:: 2.2 + + `trim_blocks` + If this is set to ``True`` the first newline after a block is + removed (block, not variable tag!). Defaults to `False`. + + `lstrip_blocks` + If this is set to ``True`` leading spaces and tabs are stripped + from the start of a line to a block. Defaults to `False`. + + `newline_sequence` + The sequence that starts a newline. Must be one of ``'\r'``, + ``'\n'`` or ``'\r\n'``. The default is ``'\n'`` which is a + useful default for Linux and OS X systems as well as web + applications. + + `keep_trailing_newline` + Preserve the trailing newline when rendering templates. + The default is ``False``, which causes a single newline, + if present, to be stripped from the end of the template. + + .. versionadded:: 2.7 + + `extensions` + List of Jinja extensions to use. This can either be import paths + as strings or extension classes. For more information have a + look at :ref:`the extensions documentation `. + + `optimized` + should the optimizer be enabled? Default is ``True``. + + `undefined` + :class:`Undefined` or a subclass of it that is used to represent + undefined values in the template. + + `finalize` + A callable that can be used to process the result of a variable + expression before it is output. For example one can convert + ``None`` implicitly into an empty string here. + + `autoescape` + If set to ``True`` the XML/HTML autoescaping feature is enabled by + default. For more details about autoescaping see + :class:`~markupsafe.Markup`. As of Jinja 2.4 this can also + be a callable that is passed the template name and has to + return ``True`` or ``False`` depending on autoescape should be + enabled by default. + + .. versionchanged:: 2.4 + `autoescape` can now be a function + + `loader` + The template loader for this environment. + + `cache_size` + The size of the cache. Per default this is ``400`` which means + that if more than 400 templates are loaded the loader will clean + out the least recently used template. If the cache size is set to + ``0`` templates are recompiled all the time, if the cache size is + ``-1`` the cache will not be cleaned. + + .. versionchanged:: 2.8 + The cache size was increased to 400 from a low 50. + + `auto_reload` + Some loaders load templates from locations where the template + sources may change (ie: file system or database). If + ``auto_reload`` is set to ``True`` (default) every time a template is + requested the loader checks if the source changed and if yes, it + will reload the template. For higher performance it's possible to + disable that. + + `bytecode_cache` + If set to a bytecode cache object, this object will provide a + cache for the internal Jinja bytecode so that templates don't + have to be parsed if they were not changed. + + See :ref:`bytecode-cache` for more information. + + `enable_async` + If set to true this enables async template execution which allows + you to take advantage of newer Python features. This requires + Python 3.6 or later. + """ + + #: if this environment is sandboxed. Modifying this variable won't make + #: the environment sandboxed though. For a real sandboxed environment + #: have a look at jinja2.sandbox. This flag alone controls the code + #: generation by the compiler. + sandboxed = False + + #: True if the environment is just an overlay + overlayed = False + + #: the environment this environment is linked to if it is an overlay + linked_to = None + + #: shared environments have this set to `True`. A shared environment + #: must not be modified + shared = False + + #: the class that is used for code generation. See + #: :class:`~jinja2.compiler.CodeGenerator` for more information. + code_generator_class = CodeGenerator + + #: the context class thatis used for templates. See + #: :class:`~jinja2.runtime.Context` for more information. + context_class = Context + + def __init__( + self, + block_start_string=BLOCK_START_STRING, + block_end_string=BLOCK_END_STRING, + variable_start_string=VARIABLE_START_STRING, + variable_end_string=VARIABLE_END_STRING, + comment_start_string=COMMENT_START_STRING, + comment_end_string=COMMENT_END_STRING, + line_statement_prefix=LINE_STATEMENT_PREFIX, + line_comment_prefix=LINE_COMMENT_PREFIX, + trim_blocks=TRIM_BLOCKS, + lstrip_blocks=LSTRIP_BLOCKS, + newline_sequence=NEWLINE_SEQUENCE, + keep_trailing_newline=KEEP_TRAILING_NEWLINE, + extensions=(), + optimized=True, + undefined=Undefined, + finalize=None, + autoescape=False, + loader=None, + cache_size=400, + auto_reload=True, + bytecode_cache=None, + enable_async=False, + ): + # !!Important notice!! + # The constructor accepts quite a few arguments that should be + # passed by keyword rather than position. However it's important to + # not change the order of arguments because it's used at least + # internally in those cases: + # - spontaneous environments (i18n extension and Template) + # - unittests + # If parameter changes are required only add parameters at the end + # and don't change the arguments (or the defaults!) of the arguments + # existing already. + + # lexer / parser information + self.block_start_string = block_start_string + self.block_end_string = block_end_string + self.variable_start_string = variable_start_string + self.variable_end_string = variable_end_string + self.comment_start_string = comment_start_string + self.comment_end_string = comment_end_string + self.line_statement_prefix = line_statement_prefix + self.line_comment_prefix = line_comment_prefix + self.trim_blocks = trim_blocks + self.lstrip_blocks = lstrip_blocks + self.newline_sequence = newline_sequence + self.keep_trailing_newline = keep_trailing_newline + + # runtime information + self.undefined = undefined + self.optimized = optimized + self.finalize = finalize + self.autoescape = autoescape + + # defaults + self.filters = DEFAULT_FILTERS.copy() + self.tests = DEFAULT_TESTS.copy() + self.globals = DEFAULT_NAMESPACE.copy() + + # set the loader provided + self.loader = loader + self.cache = create_cache(cache_size) + self.bytecode_cache = bytecode_cache + self.auto_reload = auto_reload + + # configurable policies + self.policies = DEFAULT_POLICIES.copy() + + # load extensions + self.extensions = load_extensions(self, extensions) + + self.enable_async = enable_async + self.is_async = self.enable_async and have_async_gen + if self.is_async: + # runs patch_all() to enable async support + from . import asyncsupport # noqa: F401 + + _environment_sanity_check(self) + + def add_extension(self, extension): + """Adds an extension after the environment was created. + + .. versionadded:: 2.5 + """ + self.extensions.update(load_extensions(self, [extension])) + + def extend(self, **attributes): + """Add the items to the instance of the environment if they do not exist + yet. This is used by :ref:`extensions ` to register + callbacks and configuration values without breaking inheritance. + """ + for key, value in iteritems(attributes): + if not hasattr(self, key): + setattr(self, key, value) + + def overlay( + self, + block_start_string=missing, + block_end_string=missing, + variable_start_string=missing, + variable_end_string=missing, + comment_start_string=missing, + comment_end_string=missing, + line_statement_prefix=missing, + line_comment_prefix=missing, + trim_blocks=missing, + lstrip_blocks=missing, + extensions=missing, + optimized=missing, + undefined=missing, + finalize=missing, + autoescape=missing, + loader=missing, + cache_size=missing, + auto_reload=missing, + bytecode_cache=missing, + ): + """Create a new overlay environment that shares all the data with the + current environment except for cache and the overridden attributes. + Extensions cannot be removed for an overlayed environment. An overlayed + environment automatically gets all the extensions of the environment it + is linked to plus optional extra extensions. + + Creating overlays should happen after the initial environment was set + up completely. Not all attributes are truly linked, some are just + copied over so modifications on the original environment may not shine + through. + """ + args = dict(locals()) + del args["self"], args["cache_size"], args["extensions"] + + rv = object.__new__(self.__class__) + rv.__dict__.update(self.__dict__) + rv.overlayed = True + rv.linked_to = self + + for key, value in iteritems(args): + if value is not missing: + setattr(rv, key, value) + + if cache_size is not missing: + rv.cache = create_cache(cache_size) + else: + rv.cache = copy_cache(self.cache) + + rv.extensions = {} + for key, value in iteritems(self.extensions): + rv.extensions[key] = value.bind(rv) + if extensions is not missing: + rv.extensions.update(load_extensions(rv, extensions)) + + return _environment_sanity_check(rv) + + lexer = property(get_lexer, doc="The lexer for this environment.") + + def iter_extensions(self): + """Iterates over the extensions by priority.""" + return iter(sorted(self.extensions.values(), key=lambda x: x.priority)) + + def getitem(self, obj, argument): + """Get an item or attribute of an object but prefer the item.""" + try: + return obj[argument] + except (AttributeError, TypeError, LookupError): + if isinstance(argument, string_types): + try: + attr = str(argument) + except Exception: + pass + else: + try: + return getattr(obj, attr) + except AttributeError: + pass + return self.undefined(obj=obj, name=argument) + + def getattr(self, obj, attribute): + """Get an item or attribute of an object but prefer the attribute. + Unlike :meth:`getitem` the attribute *must* be a bytestring. + """ + try: + return getattr(obj, attribute) + except AttributeError: + pass + try: + return obj[attribute] + except (TypeError, LookupError, AttributeError): + return self.undefined(obj=obj, name=attribute) + + def call_filter( + self, name, value, args=None, kwargs=None, context=None, eval_ctx=None + ): + """Invokes a filter on a value the same way the compiler does it. + + Note that on Python 3 this might return a coroutine in case the + filter is running from an environment in async mode and the filter + supports async execution. It's your responsibility to await this + if needed. + + .. versionadded:: 2.7 + """ + func = self.filters.get(name) + if func is None: + fail_for_missing_callable("no filter named %r", name) + args = [value] + list(args or ()) + if getattr(func, "contextfilter", False) is True: + if context is None: + raise TemplateRuntimeError( + "Attempted to invoke context filter without context" + ) + args.insert(0, context) + elif getattr(func, "evalcontextfilter", False) is True: + if eval_ctx is None: + if context is not None: + eval_ctx = context.eval_ctx + else: + eval_ctx = EvalContext(self) + args.insert(0, eval_ctx) + elif getattr(func, "environmentfilter", False) is True: + args.insert(0, self) + return func(*args, **(kwargs or {})) + + def call_test(self, name, value, args=None, kwargs=None): + """Invokes a test on a value the same way the compiler does it. + + .. versionadded:: 2.7 + """ + func = self.tests.get(name) + if func is None: + fail_for_missing_callable("no test named %r", name) + return func(value, *(args or ()), **(kwargs or {})) + + @internalcode + def parse(self, source, name=None, filename=None): + """Parse the sourcecode and return the abstract syntax tree. This + tree of nodes is used by the compiler to convert the template into + executable source- or bytecode. This is useful for debugging or to + extract information from templates. + + If you are :ref:`developing Jinja extensions ` + this gives you a good overview of the node tree generated. + """ + try: + return self._parse(source, name, filename) + except TemplateSyntaxError: + self.handle_exception(source=source) + + def _parse(self, source, name, filename): + """Internal parsing function used by `parse` and `compile`.""" + return Parser(self, source, name, encode_filename(filename)).parse() + + def lex(self, source, name=None, filename=None): + """Lex the given sourcecode and return a generator that yields + tokens as tuples in the form ``(lineno, token_type, value)``. + This can be useful for :ref:`extension development ` + and debugging templates. + + This does not perform preprocessing. If you want the preprocessing + of the extensions to be applied you have to filter source through + the :meth:`preprocess` method. + """ + source = text_type(source) + try: + return self.lexer.tokeniter(source, name, filename) + except TemplateSyntaxError: + self.handle_exception(source=source) + + def preprocess(self, source, name=None, filename=None): + """Preprocesses the source with all extensions. This is automatically + called for all parsing and compiling methods but *not* for :meth:`lex` + because there you usually only want the actual source tokenized. + """ + return reduce( + lambda s, e: e.preprocess(s, name, filename), + self.iter_extensions(), + text_type(source), + ) + + def _tokenize(self, source, name, filename=None, state=None): + """Called by the parser to do the preprocessing and filtering + for all the extensions. Returns a :class:`~jinja2.lexer.TokenStream`. + """ + source = self.preprocess(source, name, filename) + stream = self.lexer.tokenize(source, name, filename, state) + for ext in self.iter_extensions(): + stream = ext.filter_stream(stream) + if not isinstance(stream, TokenStream): + stream = TokenStream(stream, name, filename) + return stream + + def _generate(self, source, name, filename, defer_init=False): + """Internal hook that can be overridden to hook a different generate + method in. + + .. versionadded:: 2.5 + """ + return generate( + source, + self, + name, + filename, + defer_init=defer_init, + optimized=self.optimized, + ) + + def _compile(self, source, filename): + """Internal hook that can be overridden to hook a different compile + method in. + + .. versionadded:: 2.5 + """ + return compile(source, filename, "exec") + + @internalcode + def compile(self, source, name=None, filename=None, raw=False, defer_init=False): + """Compile a node or template source code. The `name` parameter is + the load name of the template after it was joined using + :meth:`join_path` if necessary, not the filename on the file system. + the `filename` parameter is the estimated filename of the template on + the file system. If the template came from a database or memory this + can be omitted. + + The return value of this method is a python code object. If the `raw` + parameter is `True` the return value will be a string with python + code equivalent to the bytecode returned otherwise. This method is + mainly used internally. + + `defer_init` is use internally to aid the module code generator. This + causes the generated code to be able to import without the global + environment variable to be set. + + .. versionadded:: 2.4 + `defer_init` parameter added. + """ + source_hint = None + try: + if isinstance(source, string_types): + source_hint = source + source = self._parse(source, name, filename) + source = self._generate(source, name, filename, defer_init=defer_init) + if raw: + return source + if filename is None: + filename = "