Merge branch 'master' into trent--pooler-priority

This commit is contained in:
Trent Schmidt 2026-07-24 13:26:34 -07:00 committed by GitHub
commit 56e78cec61
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 33 additions and 8 deletions

View File

@ -21,5 +21,12 @@ jobs:
run: make codegen
- name: Run unit tests
run: make test
- name: Pre-pull heavy images directly on Kind nodes
run: |
FOR_NODE=$(kind get nodes --name postgres-operator-e2e-tests 2>/dev/null || true)
for node in $FOR_NODE; do
echo "Pulling Spilo image on node $node..."
docker exec "$node" crictl pull ghcr.io/zalando/spilo-18:4.1-p2
done
- name: Run end-2-end tests
run: make e2e

View File

@ -22,9 +22,9 @@ jobs:
- name: Run unit tests
run: go test -race -covermode atomic -coverprofile=coverage.out ./...
- name: Convert coverage to lcov
uses: jandelgado/gcov2lcov-action@v1.1.1
uses: jandelgado/gcov2lcov-action@v1.2.0
- name: Coveralls
uses: coverallsapp/github-action@master
uses: coverallsapp/github-action@v2.3.4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path-to-lcov: coverage.lcov
file: coverage.lcov

View File

@ -24,6 +24,15 @@ esac
echo "Clustername: ${cluster_name}"
echo "Kubeconfig path: ${kubeconfig_path}"
# Helper function to pull images directly into kind nodes via crictl (bypasses host disk duplication)
function pull_on_kind_nodes() {
local img="$1"
echo "Pulling ${img} directly on kind nodes..."
for node in $(kind get nodes --name "${cluster_name}"); do
docker exec "$node" crictl pull "${img}"
done
}
function pull_images(){
operator_tag=$(git describe --tags --always --dirty)
components=("postgres-operator" "pooler")
@ -66,14 +75,14 @@ function start_kind(){
export KUBECONFIG="${kubeconfig_path}"
kind create cluster --name ${cluster_name} --config kind-cluster-postgres-operator-e2e-tests.yaml
echo "Pulling Spilo image for platform ${PLATFORM}"
docker pull --platform ${PLATFORM} "${spilo_image}"
kind load docker-image "${spilo_image}" --name ${cluster_name}
echo "Pulling Spilo image on kind nodes directly..."
pull_on_kind_nodes "${spilo_image}"
}
function load_operator_images() {
echo "Loading operator images"
export KUBECONFIG="${kubeconfig_path}"
# For locally built operator images, kind load is still fine since they're light
kind load docker-image "${operator_image}" --name ${cluster_name}
kind load docker-image "${pooler_image}" --name ${cluster_name}
}

View File

@ -155,23 +155,32 @@ func (r *EBSVolumeResizer) ResizeVolume(volumeID string, newSize int64) error {
// ModifyVolume Modify EBS volume
func (r *EBSVolumeResizer) ModifyVolume(volumeID string, newType *string, newSize *int64, iops *int64, throughput *int64) error {
/* first check if the volume is already of a requested size */
var sizeInt32 *int32
var iopsInt32 *int32
var throughputInt32 *int32
input := ec2.ModifyVolumeInput{
VolumeId: &volumeID,
}
if newSize != nil {
s := int32(*newSize)
sizeInt32 = &s
input.Size = sizeInt32
}
if iops != nil {
i := int32(*iops)
iopsInt32 = &i
input.Iops = iopsInt32
}
if throughput != nil {
t := int32(*throughput)
throughputInt32 = &t
input.Throughput = throughputInt32
}
input := ec2.ModifyVolumeInput{Size: sizeInt32, VolumeId: &volumeID, VolumeType: types.VolumeType(*newType), Iops: iopsInt32, Throughput: throughputInt32}
if newType != nil {
input.VolumeType = types.VolumeType(*newType)
}
output, err := r.connection.ModifyVolume(context.TODO(), &input)
if err != nil {
return fmt.Errorf("could not modify persistent volume: %v", err)