* Abstract node disposal strategy
* Cleanup + lint
* Handle possibile scalesets being in resize state
* Setting the size is still exposed via CLI, we don't want to break that functionality
* PR comments
* Release 5.1.0
* Update CHANGELOG.md
Co-authored-by: Joe Ranweiler <joe@lemma.co>
* Update CHANGELOG.md
Co-authored-by: Joe Ranweiler <joe@lemma.co>
* Update CHANGELOG.md
Co-authored-by: Joe Ranweiler <joe@lemma.co>
* Prevent deletion of the repro VM on failure for debugging.
Co-authored-by: Joe Ranweiler <joe@lemma.co>
Add a setup script-specific timeout of 59 minutes. This is just shorter than the service-side `NODE_EXPIRATION_TIME` which otherwise garbage collects nodes whose setup scripts are stuck or taking too long.
With this change, the high-level cause of the timeout is clear, instead of the closest error being something indirect, like "node reimaged during task execution".
- Add `onefuzz::memory::available_bytes()` to enable checking system-wide memory usage
- In managed task worker runs, heuristically check for imminent OOM conditions and try to exit early
* Initial progress to adding a auto scale resource
* auto scale API is ready
* When creating a scaleset, add an autoscale resource to it as well
* Auto scale is correctly linked with scaleset
* 🧹
* Lint
* Cleaned up
Refactoring check-pr.py to extract the logic of downloading the binaries
refactoring integration-tets.py to split the logic of setup, launch, check_result and cleanup
* draft attempt at adding scaling protection
* Service can now control scaling protection policy on VM instances
* Improve logging a bit
* draft attempt at adding scaling protection
* Service can now control scaling protection policy on VM instances
* Improve logging a bit
* Error message was missing info
* Linter
* Don't schedule work if we can't protect the node
* Last of the linter changes
* Update yanked block-buffer from 0.10.0 to 0.10.1
* update yanked crossbeam-utils from 0.8.5 to 0.8.7
* update yanked crossbeam-utils from 0.8.5 to 0.8.7
Co-authored-by: stas <statis@microsoft.com>
* Fixing VMSS Re-Image 7-Day Timer
* Updating use of TimeStamp to created_at
* Renaming.
* Updating field name.
* Removing test chagne.
* Updating query to work if init_at entry does not exist yet.
* Changing timer for testing.
* Adding field comment.
* Formatting models.py
* Fixing where save is called.
* Adidng logging.
* Removing logging. Ready for merge.
* Update src/pytypes/onefuzztypes/models.py
Co-authored-by: Joe Ranweiler <joe@lemma.co>
* Formatting.
* Updating datetime.
* Testing after datetime change.
* Removing test.
Co-authored-by: nharper285 <nharper285@gmail.com>
Co-authored-by: Joe Ranweiler <joe@lemma.co>
* Integrate cobertura format and output as file in coverage container
* cobertura output file is txt, not json
* Format
* xml file not txt
* Improved syntax
* function to convert source format to cobertura xml, column removed from source format and corresponding tests and uses, todo: fix cobertura test
* Fixed test for source to cobertura xml function
* Added SourceCoverage columns, associated tests and uses back in, ran rustfmt
* Improved result resolution in test, removed some commented out code
* Removed unrequired elements and attributes according to cobertura/reportgenerator schema
* Updated test, fixed missed error
* Improved XML to work best with ReportGenerator format
* Format change
* Order matter, don't format
* Undid order, included xml in toml
* Adding new instanceconfig value for tags.
* Removing bad import.
* Updating where tags are generated.
* Updating tag generation for scalesets.
* Updating tag generation in vm.
* Updating vm tag generation.
* Updating vm tag generation.
* Fixing extension.
* Fixing import.
* Fixing typing.
* Fixing get_vm calls.
* Fixing calls to get_vm.
* Fixing optional tag.