Skip to content

*: refactor to have many modules, pull in Prow and Grafana Dashboard steps#190

Merged
stevekuznetsov merged 50 commits intoAzure:mainfrom
stevekuznetsov:skuznets/tools-as-modules
Feb 23, 2026
Merged

*: refactor to have many modules, pull in Prow and Grafana Dashboard steps#190
stevekuznetsov merged 50 commits intoAzure:mainfrom
stevekuznetsov:skuznets/tools-as-modules

Conversation

@stevekuznetsov
Copy link
Contributor

prow job executor for service validation

utility to kick off service validation PROW jobs. meant to be used within EV2 serviceValidation steps. but can also be used outside of EV2.

the respective PROW token has aquired following the guide on https://docs.ci.openshift.org/docs/how-tos/triggering-prowjobs-via-rest/ (oc -n aro-hcp-prow-ci extract secret/api-token-secret --to=- --keys=token)


use mapflag for annotations, labels and env vars

Signed-off-by: Gerd Oberlechner <goberlec@redhat.com>


*: format

Signed-off-by: Gerd Oberlechner <goberlec@redhat.com>


Adding prow url log to successful runs


Fixing syntax error


Merge pull request #3152 from Azure/rawo/AddingProwUrlToSuccessfulRuns

Logging prow ui url even for successful runs

test/cmd: unify logger with rest of tooling, remove shell

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


Init grafanactl

Init utility to manage azure managed grafana


Update tooling/grafanactl/cmd/clean/cmd.go

Co-authored-by: Mariusz Mazur <mmazur@redhat.com>

Update tooling/grafanactl/cmd/clean/cmd.go

Co-authored-by: Mariusz Mazur <mmazur@redhat.com>

Fix name of Azure Monitor workspace client


Review remarks


Add retry client to Grafana Client

Using default retry policy for now


Rebase and update


Remove not needed code


Clean up

Remove not needed fields in structs.
Remove azure.go, since it provides no value.
Move getting credentials into complete, cause it does not belong to validation


Fix format


bug: fix nil pointer panic on prow monitor timeout

The panic occurred because when GetJobStatus fails (due to context deadline exceeded), the job variable
remains nil. When the monitoring timeout triggers, the code tried to access job.Status.URL without checking if
job was nil first, causing the panic. The fix adds a nil check before accessing the job's fields.

Signed-off-by: Rael Garcia <rael@redhat.com>


cfg: update prow executor timeouts

Tests currently are running slightly over the 2 hours mark, so the monitor
timesout before the test is completed.

Signed-off-by: Rael Garcia <rael@redhat.com>


Merge pull request #3959 from Azure/bug/nil-pointer-on-prow-timeout

bug: fix nil pointer panic on prow monitor timeout

Add identity pool management CLI

Introduce a CLI command for managing the pooled managed identities used
by e2e tests. The command applies ARM deployment stacks to create and
manage resource groups containing the managed identities required for
HCP cluster creation.

Key changes:

  • Add 'identity-pool apply' subcommand with environment validation and
    subscription ID hash verification as a safety check
  • Extract logger creation into shared test/pkg/logger package, removing
    duplicate createLogger functions across multiple commands
  • Add cross-platform file locking support (test/pkg/filelock) to enable
    Windows compatibility for the identity pool state management

The identity pool configuration includes per-environment settings for
dev, int, stg, and prod, with pool sizes calculated based on role
assignment quotas.


Bumping ARO-Tools 20260206


Merge pull request #4034 from Azure/rawo/bumpingAROTools20260206

Bumping ARO-Tools 20260206

chore: set Go 1.25.0 in go.mod files and install in component images

Several component images use go fips azurelinux images. The latest
tag for Go fips azurelinux images is 1.25-fips-azurelinux3.0 which
has Go 1.25.0 so we update to that one and we set the go.mod files
with Go 1.25.0. In the devcontainer image and in the dev-infrastructure
CI image we install Go 1.25.7 but that should not cause a noticeable
difference because the go statement in go.mod ensures that the
compilation is compatible with Go 1.25.0.


Bumping ARO-Tools to 30605e5


Merge pull request #4063 from Azure/rawo/bumpingAroTools20260210

Bumping ARO-Tools to 30605e5

Sync grafana dashboards from git


Store grafana data in seperate struct


Use buildStep


Bundle dashboards


*: move current content into a /pipelines module, add workspace

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move test util into separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move Helm tool to a separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move yamlwrap to separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move secret-sync to separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move config to a separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move feature registration to separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


*: move release tool to separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


config: copy in test data as necessary

Really shouldn't be using random relative paths to other places for
test data, but c'est la vie ...

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


Merge remote-tracking branch 'prow-job-executor/main' into skuznets/tools-as-modules


tools: move prow-job-executor in as separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


Merge remote-tracking branch 'prow-job-executor/main' into skuznets/tools-as-modules


*: import grafanactl as separate module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


pipelines: expose Prow and Grafana Dashboards steps

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>


geoberle and others added 30 commits September 17, 2025 09:00
utility to kick off service validation PROW jobs. meant to be used within EV2 serviceValidation steps. but can also be used outside of EV2.

the respective PROW token has aquired following the guide on https://docs.ci.openshift.org/docs/how-tos/triggering-prowjobs-via-rest/ (`oc -n aro-hcp-prow-ci extract secret/api-token-secret --to=- --keys=token`)
Signed-off-by: Gerd Oberlechner <goberlec@redhat.com>
Signed-off-by: Gerd Oberlechner <goberlec@redhat.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Init utility to manage azure managed grafana
Co-authored-by: Mariusz Mazur <mmazur@redhat.com>
Co-authored-by: Mariusz Mazur <mmazur@redhat.com>
Using default retry policy for now
Remove not needed fields in structs.
Remove azure.go, since it provides no value.
Move getting credentials into complete, cause it does not belong to validation
The panic occurred because when GetJobStatus fails (due to context deadline exceeded), the job variable
remains nil. When the monitoring timeout triggers, the code tried to access job.Status.URL without checking if
job was nil first, causing the panic. The fix adds a nil check before accessing the job's fields.

Signed-off-by: Rael Garcia <rael@redhat.com>
Tests currently are running slightly over the 2 hours mark, so the monitor
timesout before the test is completed.

Signed-off-by: Rael Garcia <rael@redhat.com>
bug: fix nil pointer panic on prow monitor timeout
Introduce a CLI command for managing the pooled managed identities used
by e2e tests. The command applies ARM deployment stacks to create and
manage resource groups containing the managed identities required for
HCP cluster creation.

Key changes:
- Add 'identity-pool apply' subcommand with environment validation and
  subscription ID hash verification as a safety check
- Extract logger creation into shared test/pkg/logger package, removing
  duplicate createLogger functions across multiple commands
- Add cross-platform file locking support (test/pkg/filelock) to enable
  Windows compatibility for the identity pool state management

The identity pool configuration includes per-environment settings for
dev, int, stg, and prod, with pool sizes calculated based on role
assignment quotas.
Several component images use go fips azurelinux images. The latest
tag for Go fips azurelinux images is 1.25-fips-azurelinux3.0 which
has Go 1.25.0 so we update to that one and we set the go.mod files
with Go 1.25.0. In the devcontainer image and in the dev-infrastructure
CI image we install Go 1.25.7 but that should not cause a noticeable
difference because the go statement in go.mod ensures that the
compilation is compatible with Go 1.25.0.
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Really shouldn't be using random relative paths to other places for
test data, but c'est la vie ...

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
@stevekuznetsov stevekuznetsov force-pushed the skuznets/tools-as-modules branch from 07a6cd1 to 17bbe8d Compare February 22, 2026 15:51
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why remove the pkg folder?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@janboll at this point since the only stuff in pipelines/ module is in pkg/, the additional directory doesn't add any value - we can just have pipelines/types etc

We can be shorter now since we're only within one module

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
@stevekuznetsov stevekuznetsov force-pushed the skuznets/tools-as-modules branch from d948528 to 284d433 Compare February 23, 2026 14:34
This doesn't need to be a standalone option.

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
We can figure out the dashboard directories from the observability
config.

Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
Signed-off-by: Steve Kuznetsov <stekuznetsov@microsoft.com>
@stevekuznetsov stevekuznetsov merged commit 08d39fe into Azure:main Feb 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants