Skip to content

v2.0.8 Added Support for dynamic EventsFolder directory from extension Handler Environment#39

Merged
klugorosado merged 3 commits intodev/frankpang/bootstrapVMWatchfrom
v2/dev/klugorosado/EventsFolderFix
Sep 22, 2023
Merged

v2.0.8 Added Support for dynamic EventsFolder directory from extension Handler Environment#39
klugorosado merged 3 commits intodev/frankpang/bootstrapVMWatchfrom
v2/dev/klugorosado/EventsFolderFix

Conversation

@klugorosado
Copy link
Collaborator

Changes

  1. Added Support for dynamic EventsFolder directory from extension Handler Environment
  2. Mostly removed azure-docker-extension library dependency.
  3. Bumped to v2.0.8
  4. Fixed Integration Tests.

…r-extension/pkg/vmextension"

- Added EventsFolder with other missing parameters.
- Updates HandlerEnviroment.json test file.
- Updated VMwatch Integration Tests.
@klugorosado klugorosado added the bug Something isn't working label Sep 20, 2023
@klugorosado klugorosado self-assigned this Sep 20, 2023
Copy link
Member

@zmyzheng zmyzheng left a comment

Choose a reason for hiding this comment

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

/lgtm

@klugorosado klugorosado merged commit f4147d5 into dev/frankpang/bootstrapVMWatch Sep 22, 2023
@klugorosado klugorosado deleted the v2/dev/klugorosado/EventsFolderFix branch October 28, 2023 04:13
frank-pang-msft added a commit that referenced this pull request Dec 1, 2023
* Bootstrapping has no integration test regressions

* Add cleanup of VMWatch process during shutdown signals and upon other commands, plus integration test template

* Added integration tests for VMWatch

* Linting

* Fix file vet issues

* attempt to fix handler command: install - creates the data dir

* nit integration tests

* Use handlerenvironment to dictate vmwatch signal folder and verbose log file paths

* Include missing changes in previous commit

* Remove unnecessary changes

* Try to fix docker installation error in go workflow

* Fix integration tests

* Update HandlerManifest with process names for guest agent to monitor cpu/memory usage

* Run linting

* Remove cpu/memory limits in HandlerManifest + update VMWatch binary directory to bin/VMWatch/ + implement VMWatch process retries + update integration tests

* Update test.Dockerfile

* Rename workflow

* Add formatting & linting

* Add logic to do retries on failed tests + don't fail fast

* Minor nits

* Update integration tests + code changes to resolve comments regarding execution of process

* Formatting + Linting + Vet

* Add logic for recover and defer for executing VMWatch. Proper close and read of channel. Also only  every 60 seconds

* fix integration tests

* Bump to v2.0.7

* revert unnecessary changes to schema.go

* Small fix to killVMWatch

* Fix logic for killing VMWatch

* v2.0.8 Added Support for dynamic EventsFolder directory from extension Handler Environment (#39)

* - moved handlerenv.go and seqno.go from "github.com/Azure/azure-docker-extension/pkg/vmextension"
- Added EventsFolder with other missing parameters.

* -removed vmextension lib dependency from VMwatch and other Files.
- Updates HandlerEnviroment.json test file.
- Updated VMwatch Integration Tests.

* - Bump to v2.0.8

* initial devcontainer changes

changes:

1. add devcontainer condig
2. add vscode build config
3. add makefile target to set up the appropriate stuff in the container
4. update some line endings and add gitattributes so script run
5. fix what seems to be a bug in fake-waagent script as it doesn't work without this fix for me

* update binaries and config to latest

* Resource governance, heartbeat and dev container changes

The main feature change here is the addition of resource governance for linux via cgroups.

We discover the current cgroup and add a sub cgroup for our purposes (limiting cpu to 1% and memory to 40MB)

I also added support for detecting a stuck vmwatch using the heartbeat file and implemented the same logic for restarts from the windows version (3 restarts per 3 hours)

As part of the development of this, I added support for devcontainer execution so we can step through the code from a dev machine into either a WSL session or a linux vm with tools installed.

I added integration tests to check process exit, OOM and cpu throttling.  These changes required a few changes to the makefile and scripts.

I also updated the vmwatch binaries and added a script to download the latest ones as well

I updated the govendor files using the tool it told me to run I hope I did this right

* feedback

* feedback

* Run 'go mod edit -go=1.18 to be conistent with linux extensions repo

* Run linting/formatting

* Fix merge nits to merge conflicts

* Fix app health handler.log directory path

* Change to applicationhealth-extension

* Mistakenly added two VMWatch substatus items

* Adding filtering for tests which can only run on a real linux host (not WSL or docker)

continuing investigation...

* fix time from minutes to hours plus add makefile target to create zip file (for use in testing)

* feedback

* feedback

* add readme

* updated vmwatch version, config schema and commandline

* typo

* test fixes

* test fixes

* add helper script to upload binaries to storage

* change container name

* feedback

* feedback

* typo

---------

Co-authored-by: Frank Pang <frankpang@microsoft.com>
Co-authored-by: frank-pang-msft <92764154+frank-pang-msft@users.noreply.github.com>
Co-authored-by: klugorosado <142627157+klugorosado@users.noreply.github.com>
klugorosado added a commit that referenced this pull request Jun 4, 2024
* Bootstrapping has no integration test regressions

* Add cleanup of VMWatch process during shutdown signals and upon other commands, plus integration test template

* Added integration tests for VMWatch

* Linting

* Fix file vet issues

* attempt to fix handler command: install - creates the data dir

* nit integration tests

* Use handlerenvironment to dictate vmwatch signal folder and verbose log file paths

* Include missing changes in previous commit

* Remove unnecessary changes

* Try to fix docker installation error in go workflow

* Fix integration tests

* Update HandlerManifest with process names for guest agent to monitor cpu/memory usage

* Run linting

* Remove cpu/memory limits in HandlerManifest + update VMWatch binary directory to bin/VMWatch/ + implement VMWatch process retries + update integration tests

* Update test.Dockerfile

* Rename workflow

* Add formatting & linting

* Add logic to do retries on failed tests + don't fail fast

* Minor nits

* Update integration tests + code changes to resolve comments regarding execution of process

* Formatting + Linting + Vet

* Add logic for recover and defer for executing VMWatch. Proper close and read of channel. Also only  every 60 seconds

* fix integration tests

* Bump to v2.0.7

* revert unnecessary changes to schema.go

* Small fix to killVMWatch

* Fix logic for killing VMWatch

* v2.0.8 Added Support for dynamic EventsFolder directory from extension Handler Environment (#39)

* - moved handlerenv.go and seqno.go from "github.com/Azure/azure-docker-extension/pkg/vmextension"
- Added EventsFolder with other missing parameters.

* -removed vmextension lib dependency from VMwatch and other Files.
- Updates HandlerEnviroment.json test file.
- Updated VMwatch Integration Tests.

* - Bump to v2.0.8

* initial devcontainer changes

changes:

1. add devcontainer condig
2. add vscode build config
3. add makefile target to set up the appropriate stuff in the container
4. update some line endings and add gitattributes so script run
5. fix what seems to be a bug in fake-waagent script as it doesn't work without this fix for me

* update binaries and config to latest

* Resource governance, heartbeat and dev container changes

The main feature change here is the addition of resource governance for linux via cgroups.

We discover the current cgroup and add a sub cgroup for our purposes (limiting cpu to 1% and memory to 40MB)

I also added support for detecting a stuck vmwatch using the heartbeat file and implemented the same logic for restarts from the windows version (3 restarts per 3 hours)

As part of the development of this, I added support for devcontainer execution so we can step through the code from a dev machine into either a WSL session or a linux vm with tools installed.

I added integration tests to check process exit, OOM and cpu throttling.  These changes required a few changes to the makefile and scripts.

I also updated the vmwatch binaries and added a script to download the latest ones as well

I updated the govendor files using the tool it told me to run I hope I did this right

* feedback

* feedback

* Run 'go mod edit -go=1.18 to be conistent with linux extensions repo

* Run linting/formatting

* Fix merge nits to merge conflicts

* Fix app health handler.log directory path

* Change to applicationhealth-extension

* Mistakenly added two VMWatch substatus items

* Adding filtering for tests which can only run on a real linux host (not WSL or docker)

continuing investigation...

* fix time from minutes to hours plus add makefile target to create zip file (for use in testing)

* feedback

* feedback

* add readme

* updated vmwatch version, config schema and commandline

* typo

* test fixes

* test fixes

* add helper script to upload binaries to storage

* change container name

* feedback

* feedback

* typo

---------

Co-authored-by: Frank Pang <frankpang@microsoft.com>
Co-authored-by: frank-pang-msft <92764154+frank-pang-msft@users.noreply.github.com>
Co-authored-by: klugorosado <142627157+klugorosado@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants