Skip to content
This repository was archived by the owner on Sep 9, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions base/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ images:
newName: quay.io/sclorg/postgresql-15-c9s
newTag: latest
- name: ghcr.io/osac-project/fulfillment-service
newTag: sha-706c84a
newTag: sha-5be2b1b
- name: osac-aap
newName: ghcr.io/osac-project/osac-aap
newTag: sha-1e2c4d2
newTag: sha-a2b8504
- name: ghcr.io/osac-project/osac-operator
newTag: sha-bded096
newTag: sha-3171828
- name: envoy
newName: docker.io/envoyproxy/envoy
newTag: v1.33.0
Expand Down
2 changes: 1 addition & 1 deletion base/osac-aap
Submodule osac-aap updated 42 files
+7 −0 .github/workflows/bump-osac-installer.yaml
+104 −2 README.md
+138 −0 collections/ansible_collections/osac/config_as_code/roles/aap/vars/controller.yml
+6 −3 collections/ansible_collections/osac/templates/README.md
+4 −0 collections/ansible_collections/osac/templates/roles/bm_host_agent_deprovisioning/tasks/create.yaml
+29 −0 collections/ansible_collections/osac/templates/roles/bm_host_agent_deprovisioning/tasks/delete.yaml
+124 −0 collections/ansible_collections/osac/templates/roles/bm_host_agent_provisioning/tasks/create.yaml
+4 −0 collections/ansible_collections/osac/templates/roles/bm_host_agent_provisioning/tasks/delete.yaml
+31 −0 collections/ansible_collections/osac/templates/roles/bm_host_private_network/tasks/create.yaml
+38 −0 collections/ansible_collections/osac/templates/roles/bm_host_private_network/tasks/delete.yaml
+6 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/defaults/main.yaml
+14 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/meta/argument_specs.yaml
+7 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/tasks/create.yaml
+7 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/tasks/create_openstack.yaml
+7 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/tasks/delete.yaml
+7 −0 collections/ansible_collections/osac/templates/roles/bm_private_network/tasks/delete_openstack.yaml
+49 −0 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/defaults/main.yaml
+19 −1 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/meta/argument_specs.yaml
+18 −2 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/meta/osac.yaml
+65 −11 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/configure_permitted_host_devices.yaml
+11 −1 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/create.yaml
+67 −6 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/create_build_spec.yaml
+46 −3 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/create_secrets.yaml
+64 −14 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/create_validate.yaml
+19 −3 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/create_wait_annotate.yaml
+3 −0 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/delete.yaml
+38 −8 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/delete_resources.yaml
+15 −0 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tasks/infer_guest_os_family.yaml
+71 −0 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/templates/unattend.xml.j2
+15 −0 ...le_collections/osac/templates/roles/ocp_virt_vm/tests/fixtures/computeinstance-windows-with-image-test.yaml
+91 −0 collections/ansible_collections/osac/templates/roles/ocp_virt_vm/tests/test.yml
+17 −0 playbook_osac_create_bare_metal_pool.yml
+6 −1 playbook_osac_create_compute_instance.yml
+20 −0 playbook_osac_create_host_lease.yml
+17 −0 playbook_osac_delete_bare_metal_pool.yml
+20 −0 playbook_osac_delete_host_lease.yml
+21 −0 samples/windows_golden_image_payload.json
+10 −0 tests/golden-image-vars.yml
+16 −0 tests/golden-image-vars.yml.example
+20 −0 tests/integration/fixtures/computeinstance-windows-test.yaml
+27 −6 tests/integration/targets/compute_instance_with_gpu_create/tasks/baseline.yml
+129 −0 tests/test-windows-golden-image.yml
2 changes: 1 addition & 1 deletion base/osac-fulfillment-service
Submodule osac-fulfillment-service updated 23 files
+1 −1 .github/workflows/bump-osac-installer.yaml
+1,614 −0 internal/api/osac/private/v1/identity_provider_type.pb.go
+1,631 −0 internal/api/osac/private/v1/identity_provider_type_protoopaque.pb.go
+1,276 −0 internal/api/osac/private/v1/identity_providers_service.pb.go
+626 −0 internal/api/osac/private/v1/identity_providers_service.pb.gw.go
+382 −0 internal/api/osac/private/v1/identity_providers_service_grpc.pb.go
+1,280 −0 internal/api/osac/private/v1/identity_providers_service_protoopaque.pb.go
+1,436 −0 internal/api/osac/public/v1/identity_provider_type.pb.go
+1,457 −0 internal/api/osac/public/v1/identity_provider_type_protoopaque.pb.go
+1,498 −0 internal/api/osac/public/v1/identity_providers_service.pb.go
+697 −0 internal/api/osac/public/v1/identity_providers_service.pb.gw.go
+432 −0 internal/api/osac/public/v1/identity_providers_service_grpc.pb.go
+1,519 −0 internal/api/osac/public/v1/identity_providers_service_protoopaque.pb.go
+15 −0 internal/database/migrations/44_add_public_ip_attachments_unique_indexes.down.sql
+31 −0 internal/database/migrations/44_add_public_ip_attachments_unique_indexes.up.sql
+99 −0 internal/database/migrations/44_add_public_ip_attachments_unique_indexes_test.go
+305 −12 internal/servers/private_public_ip_attachments_server.go
+589 −28 internal/servers/private_public_ip_attachments_server_test.go
+104 −5 internal/servers/public_ip_attachments_server_test.go
+219 −0 proto/private/osac/private/v1/identity_provider_type.proto
+173 −0 proto/private/osac/private/v1/identity_providers_service.proto
+198 −0 proto/public/osac/public/v1/identity_provider_type.proto
+206 −0 proto/public/osac/public/v1/identity_providers_service.proto
2 changes: 1 addition & 1 deletion base/osac-operator
4 changes: 2 additions & 2 deletions overlays/caas-ci/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ secretGenerator:
options:
disableNameSuffixHash: true
literals:
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-1e2c4d2
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-a2b8504
- AAP_PROJECT_GIT_URI=https://github.com/osac-project/osac-aap
- AAP_PROJECT_GIT_BRANCH=1e2c4d28a74b89134b5fdd73190f96e85172260e
- AAP_PROJECT_GIT_BRANCH=a2b85047c817c432dd8928c7b7861cc3f4f528db

- name: cluster-fulfillment-ig
options:
Expand Down
4 changes: 2 additions & 2 deletions overlays/osac-integration/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ secretGenerator:
options:
disableNameSuffixHash: true
literals:
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-1e2c4d2
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-a2b8504
- AAP_PROJECT_GIT_URI="https://github.com/osac-project/osac-aap"
- AAP_PROJECT_GIT_BRANCH=1e2c4d28a74b89134b5fdd73190f96e85172260e
- AAP_PROJECT_GIT_BRANCH=a2b85047c817c432dd8928c7b7861cc3f4f528db

- name: cluster-fulfillment-ig
options:
Expand Down
4 changes: 2 additions & 2 deletions overlays/vmaas-ci/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ secretGenerator:
options:
disableNameSuffixHash: true
literals:
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-1e2c4d2
- AAP_EE_IMAGE=ghcr.io/osac-project/osac-aap:sha-a2b8504
- AAP_PROJECT_GIT_URI=https://github.com/osac-project/osac-aap
- AAP_PROJECT_GIT_BRANCH=1e2c4d28a74b89134b5fdd73190f96e85172260e
- AAP_PROJECT_GIT_BRANCH=a2b85047c817c432dd8928c7b7861cc3f4f528db

- name: cluster-fulfillment-ig
options:
Expand Down
10 changes: 7 additions & 3 deletions scripts/prepare-aap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,18 @@ AAP_URL="https://${AAP_ROUTE_HOST}"
AAP_ADMIN_PASSWORD=$(oc get secret osac-aap-admin-password -n ${INSTALLER_NAMESPACE} -o jsonpath='{.data.password}' | base64 -d)

# Create an API token using basic auth against the AAP gateway
AAP_TOKEN=$(curl -sk -X POST \
AAP_RESPONSE=$(curl -sk -X POST \
-u "admin:${AAP_ADMIN_PASSWORD}" \
-H "Content-Type: application/json" \
-d '{"description": "osac-operator", "scope": "write"}' \
"${AAP_URL}/api/gateway/v1/tokens/" | jq -r '.token')
"${AAP_URL}/api/gateway/v1/tokens/")
Comment on lines +22 to +26

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add explicit curl timeouts to prevent indefinite hangs

Line 22 performs a remote call without --connect-timeout/--max-time. If the gateway or network stalls, this script can block indefinitely and break refresh automation reliability.

Suggested patch
-AAP_RESPONSE=$(curl -sk -X POST \
+AAP_RESPONSE=$(curl -skS --connect-timeout 10 --max-time 60 -X POST \
     -u "admin:${AAP_ADMIN_PASSWORD}" \
     -H "Content-Type: application/json" \
     -d '{"description": "osac-operator", "scope": "write"}' \
     "${AAP_URL}/api/gateway/v1/tokens/")

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
AAP_RESPONSE=$(curl -sk -X POST \
-u "admin:${AAP_ADMIN_PASSWORD}" \
-H "Content-Type: application/json" \
-d '{"description": "osac-operator", "scope": "write"}' \
"${AAP_URL}/api/gateway/v1/tokens/" | jq -r '.token')
"${AAP_URL}/api/gateway/v1/tokens/")
AAP_RESPONSE=$(curl -skS --connect-timeout 10 --max-time 60 -X POST \
-u "admin:${AAP_ADMIN_PASSWORD}" \
-H "Content-Type: application/json" \
-d '{"description": "osac-operator", "scope": "write"}' \
"${AAP_URL}/api/gateway/v1/tokens/")
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/prepare-aap.sh` around lines 22 - 26, The curl call that sets
AAP_RESPONSE in prepare-aap.sh can hang indefinitely; update the curl invocation
(the command assigning AAP_RESPONSE) to include explicit timeouts (e.g.,
--connect-timeout 10 and --max-time 30 or values chosen by your policy) so
connection and total request time are bounded, and ensure these flags are added
alongside the existing -sk -X POST -u ... -H ... -d ...
"${AAP_URL}/api/gateway/v1/tokens/" invocation.

AAP_TOKEN=$(echo "${AAP_RESPONSE}" | jq -r '.token') || {
echo "ERROR: AAP gateway returned non-JSON response: ${AAP_RESPONSE}"
exit 1
}

if [[ -z "${AAP_TOKEN}" || "${AAP_TOKEN}" == "null" ]]; then
echo "Failed to create AAP API token"
echo "Failed to create AAP API token. Response: ${AAP_RESPONSE}"
exit 1
fi

Expand Down
2 changes: 1 addition & 1 deletion scripts/refresh-after-snapshot.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ done
if [[ -f prerequisites/keycloak/service/password-setup-job.yaml ]]; then
oc delete job keycloak-set-passwords -n "${KEYCLOAK_NS}" --ignore-not-found
oc apply -f prerequisites/keycloak/service/password-setup-job.yaml -n "${KEYCLOAK_NS}"
oc wait --for=condition=Complete job/keycloak-set-passwords -n "${KEYCLOAK_NS}" --timeout=120s
oc wait --for=condition=Complete job/keycloak-set-passwords -n "${KEYCLOAK_NS}" --timeout=300s
fi

echo "[2/8] Recreating fulfillment controller credentials..."
Expand Down
Loading