Scaleset names are now permitted to be any (valid) strings, instead of only GUIDs. When we generate a scaleset name it is now based upon the pool name; for example the pool `pool` might get a scaleset named `pool-3b24ba211cad4b078655914754485838`.
This should be backwards-compatible since GUIDs are [already serialized to table storage as strings](dddcfa4949/src/ApiService/ApiService/onefuzzlib/orm/EntityConverter.cs (L190-L191)), so this simply loosens the restrictions placed upon them.
Scaleset IDs now have a strong type in the same way as other IDs; this helps to avoid mixing them up with other strings. Because of this I found one bug in the scaleset search query logic due to Pool ID/VMSS ID confusion. As part of fixing this I've changed the scaleset search query to only return nodes from the table rather than querying Azure to find a list; this seems to be sufficient for the CLI.
* WIP: Adding a validation command to the agent
* introducing a ValidationConfig
* refactoring
* adding verification code
* remove unused test
* format
* update dependencies
* adding a command to get the loading logs
* add print logs for linux
* clippy fix
* clippy on windows
* renaming stuff
* bug fix
- Turn `ImageReference` into its own type so it is validated early on in request submission time, and we don't end up with malformed IDs, etc.
- Add in support for shared image galleries since that was easy enough to add while I'm doing this.
- Explicitly document which image sources are permitted and how to reference them with resource IDs.
This addresses/closes #1464 for the C# port. Also fixes#2927 which was recently reported.
* .
* It doesn't work yet but we're making progress
* Added graceful shutdown and tests
* Small fix
* Fix crate issues
* test fix
* Fix build
* make clippy happy
* The order changed
* Use timeout in kill
* Almost done shutting down ipc
* It should all work now
* Update deny.toml
* Fix warning
* Revert "Create 2 way IPC connection between agent and task (#2886)"
This reverts commit 091c870be6d9813cfceb60d61932f09c35f9bb67.
* Temporarily allow vulnerability since a new one just came out
* Temporarily allow vulnerability
* Update proxy.sh
* Update agent.sh
* Update deny.toml
* .
* It doesn't work yet but we're making progress
* Added graceful shutdown and tests
* Small fix
* Fix crate issues
* test fix
* Fix build
* make clippy happy
* The order changed
* Use timeout in kill
### Context
The original `libfuzzer dotnet` job template was a proof of concept that demonstrated how the `libfuzzer_fuzz` task could be used to express fuzzing via the (pre SharpFuzz 2.0) `libfuzzer-dotnet` tool. It (and its associated integration test) used a harness that linked an older version of SharpFuzz, and which is incompatible with LibFuzzerDotnetLoader (which requires SharpFuzz 2.0 or greater).
### Changes
- Rename `libfuzzer dotnet_dll` job template to `libfuzzer dotnet`, making it the _only_ `libfuzzer-dotnet` template
- Remove integration tests and docs for the old proof-of-concept job type
### Notice
This is a breaking change.
Closes#2874.
* Add docker file to the runtime tools
* fixes
* bug fixes
* more bug fixes and added doc
* don;t overwrite the RUST_LOG env var
* integration test for unmanaged nodes
* add unamanged parameters to launch()
* add ing object_id
* more bug fixes
* bug fixes
* chmod on the linux files in docker
* format
* cleanup merge
* added test_unmanaged command
* cleanup
* use a single image for the docker compose
remove images after the test
* docs and formatting
* format
* format
* format and bug fixes
* using windows server
* fix linux container
make the base image a paramter on windows
use the windows server base image on windows server
* format
* bug fix
* more fixes
* allow reboot
* more fixes
* added more logging around the service principal creation
* format
* more logging
* change restart policy
* fix multi tenant domain
* more fixes
* exit instead of reboot when running inside docker
* remove comment
* build fix
* try_exist instead of exist
* save the docker logs
* bug_fix
* adding timeout
* fix timeout logic
* adding a build profile
* make all agent depend on the first one
* remove profile
* another fix
* restart agent 1
* Update docs/unmnaged-nodes.md
Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
---------
Co-authored-by: Teo Voinea <58236992+tevoinea@users.noreply.github.com>
* Add docker file to the runtime tools
* fixes
* bug fixes
* more bug fixes and added doc
* don;t overwrite the RUST_LOG env var
* integration test for unmanaged nodes
* add unamanged parameters to launch()
* add ing object_id
* more bug fixes
* bug fixes
* chmod on the linux files in docker
* format
* revert changes in integration tests
* Apply suggestions from code review
Co-authored-by: Marc Greisen <mgreisen@microsoft.com>
* format and bug fix
* fix condition
---------
Co-authored-by: Marc Greisen <mgreisen@microsoft.com>
* enable running dot-net function on Windows to allow attaching remote debugger
* rename from 'use_windows' to 'host_dotnet_on_windows'
* instructions
* reformat deploy.py
Co-authored-by: stas <statis@microsoft.com>
* checkpoint
* some more progress
* more progress
* More progress
* Now it's time to test it
* It works locally 🎉
* Attempting clean build
* fmt
* temporarily stub out macos
* missed a few
* please be the last one
* .
* .
* .
* noop change to unstuck actions
* .
* .
* Fix setup script
* Some fixes
* It works except for a race condition -- use a directory watcher to fix it
* It works end to end!
* Execute the commands using tokio's structs and timeout mechanism
* It works.... for real this time
* Undo timer changes
* Cleanup
* 🧹
* Fix import
* .
* PR comments
* Fix clippy
* Clippy whyyy
* Only check dotnet path once
* fmt
* Fix a couple more comments
- Remove the ability to create or execute a `libfuzzer_coverage` task
- Preserve the enum variant in `onefuzztypes` to prevent errors when deserializing old data
- Remove doc references to `libfuzzer_coverage`