There are concurrent issues on Azure deployment script count.
If too many deployments in progress in subscription level,
the old scripts may not able to deleted on time.
Deploy storage account outside of template to workaround it.
Some gallery images need to accept term, then it can be deployed.
And when deploying, they need plan information. Implement progress
like LISAv2 to query and accept terms, if it's necessary. As
azure-mgmt-marketplaceordering isn't compatible with latest
azure-identity, so add cred_wrapper to workaround it.
1. Add azure-mgmt-marketplaceordering package to support terms.
2. Query plan for gallery image deployment.
3. add cred_wrapper for azure-identity compatibility.
4. Add plan in arm_template.
Biggest change is the move to Black 20.8b1. W503 is now disabled by
default, and since we control the versions of the tools we use, we can
safely update our configuration.
1. support azure deployment and add arm template.
2. remove envs, use constants to pass variables like path.
3. add clone to copy from runbook to actual environment.
4. refine runner to delete env on failure.
5. refine schema to support listable validator, and rich configs.
6. other minor improvements.
1. use dataclasses as base schema, dataclasses_json for serialization,
and marshmallow for validation.
2. remove yaml format schema, add python schema.
3. use strong type to replace dict based code.
4. add platform schema and node schema for platform extension.
5. add _initialize for platform
6. init azure platform code.
7. other small improvements.
1. add testselector to deal with criteria and apply settings
2. improve logging to support ut.
3. remove TestSuiteData class, as it doesn't need.
4. add ut in github action.
5. other minor improvements.
I ran `poetry init` using the cross-platform Python packaging,
dependency management, and virtual environment management tool Poetry:
https://python-poetry.org/
The chosen version follows Semantic Versioning: https://semver.org/,
with the Python specific pre-release versioning suffix ‘.dev1’:
https://packaging.python.org/guides/distributing-packages-using-setuptools/#choosing-a-versioning-scheme
Since this is “LISAv3” it seemed appropriate to set our version to
‘3.0.0.dev1’, “the first development release of LISAv3.”
I pinned Python to version 3.8, as we will always use a Poetry provided
Python and not depend on a system’s packaged Python version. This will
avoid many headaches. I added Chi’s existing dependencies from
‘requirements.txt’, and then added my suggested development
dependencies:
- black, the opinionated code formatter
- flake8 (and integrations), the semantic analyzer
- isort, the import sorter
- mypy, the static type checker
- python-language-server (and integrations), the de facto LSP server
- rope, to provide completions and renaming to pyls
While Microsoft is developing their own LSP servers, they do not
integrate with the existing ecosystem of tools, and their latest tool,
Pyright, simply does not support ‘pyproject.toml’. Since pyls is used
far more widely, and supports every editor, we will use this.
Finally, I updated the readme with instructions on how to use this
toolchain, and deleted the outdated bootstrap files.