Skip to content

feat: copy charts to pvc #3284

feat: copy charts to pvc

feat: copy charts to pvc #3284

GitHub Actions / e2e test report failed Oct 23, 2024 in 0s

6 tests run, 3 passed, 0 skipped, 3 failed.

Annotations

Check failure on line 1 in caren-e2e

See this annotation in the file changed.

@github-actions github-actions / e2e test report

caren-e2e.[SynchronizedBeforeSuite]

Timed out after 180.001s.
Deployment caren-system/helm-repository failed to get status.Available = True condition
Deployment:
{
  "metadata": {
    "name": "helm-repository",
    "namespace": "caren-system",
    "uid": "f61d59b0-5268-4906-acca-9d459a6f59f4",
    "resourceVersion": "1233",
    "generation": 1,
    "creationTimestamp": "2024-10-23T21:49:51Z",
    "labels": {
      "app": "helm-repository",
      "cluster.x-k8s.io/provider": "runtime-extension-caren",
      "clusterctl.cluster.x-k8s.io": ""
    },
    "annotations": {
      "deployment.kubernetes.io/revision": "1"
    },
    "managedFields": [
      {
        "manager": "clusterctl",
        "operation": "Update",
        "apiVersion": "apps/v1",
        "time": "2024-10-23T21:49:51Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:labels": {
              ".": {},
              "f:app": {},
              "f:cluster.x-k8s.io/provider": {},
              "f:clusterctl.cluster.x-k8s.io": {}
            }
          },
          "f:spec": {
            "f:progressDeadlineSeconds": {},
            "f:replicas": {},
            "f:revisionHistoryLimit": {},
            "f:selector": {},
            "f:strategy": {
              "f:type": {}
            },
            "f:template": {
              "f:metadata": {
                "f:labels": {
                  ".": {},
                  "f:app": {}
                }
              },
              "f:spec": {
                "f:containers": {
                  "k:{\"name\":\"helm-repository\"}": {
                    ".": {},
                    "f:args": {},
                    "f:command": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:livenessProbe": {
                      ".": {},
                      "f:failureThreshold": {},
                      "f:periodSeconds": {},
                      "f:successThreshold": {},
                      "f:tcpSocket": {
                        ".": {},
                        "f:port": {}
                      },
                      "f:timeoutSeconds": {}
                    },
                    "f:name": {},
                    "f:ports": {
                      ".": {},
                      "k:{\"containerPort\":5000,\"protocol\":\"TCP\"}": {
                        ".": {},
                        "f:containerPort": {},
                        "f:name": {},
                        "f:protocol": {}
                      }
                    },
                    "f:readinessProbe": {
                      ".": {},
                      "f:failureThreshold": {},
                      "f:periodSeconds": {},
                      "f:successThreshold": {},
                      "f:tcpSocket": {
                        ".": {},
                        "f:port": {}
                      },
                      "f:timeoutSeconds": {}
                    },
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {},
                    "f:volumeMounts": {
                      ".": {},
                      "k:{\"mountPath\":\"/certs\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {},
                        "f:readOnly": {}
                      },
                      "k:{\"mountPath\":\"/helm-charts\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {},
                        "f:readOnly": {}
                      }
                    }
                  }
                },
                "f:dnsPolicy": {},
                "f:initContainers": {
                  ".": {},
                  "k:{\"name\":\"copy-charts\"}": {
                    ".": {},
                    "f:command": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:name": {},
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {},
                    "f:volumeMounts": {
                      ".": {},
                      "k:{\"mountPath\":\"/helm-charts\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {}
                      }
                    }
                  }
                },
                "f:priorityClassName": {},
                "f:restartPolicy": {},
                "f:schedulerName": {},
                "f:securityContext": {
                  ".": {},
                  "f:runAsUser": {}
                },
                "f:terminationGracePeriodSeconds": {},
                "f:volumes": {
                  ".": {},
                  "k:{\"name\":\"certs-vol\"}": {
                    ".": {},
                    "f:name": {},
                    "f:secret": {
                      ".": {},
                      "f:defaultMode": {},
                      "f:secretName": {}
                    }
                  },
                  "k:{\"name\":\"charts-volume\"}": {
                    ".": {},
                    "f:name": {},
                    "f:persistentVolumeClaim": {
                      ".": {},
                      "f:claimName": {}
                    }
                  }
                }
              }
            }
          }
        }
      },
      {
        "manager": "kube-controller-manager",
        "operation": "Update",
        "apiVersion": "apps/v1",
        "time": "2024-10-23T21:49:51Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:annotations": {
              ".": {},
              "f:deployment.kubernetes.io/revision": {}
            }
          },
          "f:status": {
            "f:conditions": {
              ".": {},
              "k:{\"type\":\"Available\"}": {
                ".": {},
                "f:lastTransitionTime": {},
                "f:lastUpdateTime": {},
                "f:message": {},
                "f:reason": {},
                "f:status": {},
                "f:type": {}
              },
              "k:{\"type\":\"Progressing\"}": {
                ".": {},
                "f:lastTransitionTime": {},
                "f:lastUpdateTime": {},
                "f:message": {},
                "f:reason": {},
                "f:status": {},
                "f:type": {}
              }
            },
            "f:observedGeneration": {},
            "f:replicas": {},
            "f:unavailableReplicas": {},
            "f:updatedReplicas": {}
          }
        },
        "subresource": "status"
      }
    ]
  },
  "spec": {
    "replicas": 1,
    "selector": {
      "matchLabels": {
        "app": "helm-repository"
      }
    },
    "template": {
      "metadata": {
        "creationTimestamp": null,
        "labels": {
          "app": "helm-repository"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "certs-vol",
            "secret": {
              "secretName": "helm-repository-tls",
              "defaultMode": 420
            }
          },
          {
            "name": "charts-volume",
            "persistentVolumeClaim": {
              "claimName": "helm-charts-pvc"
            }
          }
        ],
        "initContainers": [
          {
            "name": "copy-charts",
            "image": "ghcr.io/nutanix-cloud-native/caren-helm-reg:v0.19.0-dev",
            "command": [
              "/bin/sh",
              "-c",
              "cp /charts/*.tar /helm-charts"
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "charts-volume",
                "mountPath": "/helm-charts"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "containers": [
          {
            "name": "helm-repository",
            "image": "ghcr.io/nutanix-cloud-native/caren-helm-reg:v0.19.0-dev",
            "command": [
              "/usr/bin/mindthegap"
            ],
            "args": [
              "serve",
              "bundle",
              "--bundle=/helm-charts/helm-charts-*.tar",
              "--listen-port=5000",
              "--listen-address=0.0.0.0",
              "--tls-private-key-file=/certs/tls.key",
              "--tls-cert-file=/certs/tls.crt"
            ],
            "ports": [
              {
                "name": "serve",
                "containerPort": 5000,
                "protocol": "TCP"
              }
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "certs-vol",
                "readOnly": true,
                "mountPath": "/certs"
              },
              {
                "name": "charts-volume",
                "readOnly": true,
                "mountPath": "/helm-charts"
              }
            ],
            "livenessProbe": {
              "tcpSocket": {
                "port": "serve"
              },
              "timeoutSeconds": 1,
              "periodSeconds": 10,
              "successThreshold": 1,
              "failureThreshold": 3
            },
            "readinessProbe": {
              "tcpSocket": {
                "port": "serve"
              },
              "timeoutSeconds": 1,
              "periodSeconds": 1,
              "successThreshold": 1,
              "failureThreshold": 3
            },
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "securityContext": {
          "runAsUser": 65532
        },
        "schedulerName": "default-scheduler",
        "priorityClassName": "system-cluster-critical"
      }
    },
    "strategy": {
      "type": "Recreate"
    },
    "revisionHistoryLimit": 10,
    "progressDeadlineSeconds": 600
  },
  "status": {
    "observedGeneration": 1,
    "replicas": 1,
    "updatedReplicas": 1,
    "unavailableReplicas": 1,
    "conditions": [
      {
        "type": "Available",
        "status": "False",
        "lastUpdateTime": "2024-10-23T21:49:51Z",
        "lastTransitionTime": "2024-10-23T21:49:51Z",
        "reason": "MinimumReplicasUnavailable",
        "message": "Deployment does not have minimum availability."
      },
      {
        "type": "Progressing",
        "status": "True",
        "lastUpdateTime": "2024-10-23T21:49:51Z",
        "lastTransitionTime": "2024-10-23T21:49:51Z",
        "reason": "ReplicaSetUpdated",
        "message": "ReplicaSet \"helm-repository-85cb4645bd\" is progressing."
      }
    ]
  }
}

Expected
    <bool>: false
to be true
Raw output
[FAILED] Timed out after 180.001s.
Deployment caren-system/helm-repository failed to get status.Available = True condition
Deployment:
{
  "metadata": {
    "name": "helm-repository",
    "namespace": "caren-system",
    "uid": "f61d59b0-5268-4906-acca-9d459a6f59f4",
    "resourceVersion": "1233",
    "generation": 1,
    "creationTimestamp": "2024-10-23T21:49:51Z",
    "labels": {
      "app": "helm-repository",
      "cluster.x-k8s.io/provider": "runtime-extension-caren",
      "clusterctl.cluster.x-k8s.io": ""
    },
    "annotations": {
      "deployment.kubernetes.io/revision": "1"
    },
    "managedFields": [
      {
        "manager": "clusterctl",
        "operation": "Update",
        "apiVersion": "apps/v1",
        "time": "2024-10-23T21:49:51Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:labels": {
              ".": {},
              "f:app": {},
              "f:cluster.x-k8s.io/provider": {},
              "f:clusterctl.cluster.x-k8s.io": {}
            }
          },
          "f:spec": {
            "f:progressDeadlineSeconds": {},
            "f:replicas": {},
            "f:revisionHistoryLimit": {},
            "f:selector": {},
            "f:strategy": {
              "f:type": {}
            },
            "f:template": {
              "f:metadata": {
                "f:labels": {
                  ".": {},
                  "f:app": {}
                }
              },
              "f:spec": {
                "f:containers": {
                  "k:{\"name\":\"helm-repository\"}": {
                    ".": {},
                    "f:args": {},
                    "f:command": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:livenessProbe": {
                      ".": {},
                      "f:failureThreshold": {},
                      "f:periodSeconds": {},
                      "f:successThreshold": {},
                      "f:tcpSocket": {
                        ".": {},
                        "f:port": {}
                      },
                      "f:timeoutSeconds": {}
                    },
                    "f:name": {},
                    "f:ports": {
                      ".": {},
                      "k:{\"containerPort\":5000,\"protocol\":\"TCP\"}": {
                        ".": {},
                        "f:containerPort": {},
                        "f:name": {},
                        "f:protocol": {}
                      }
                    },
                    "f:readinessProbe": {
                      ".": {},
                      "f:failureThreshold": {},
                      "f:periodSeconds": {},
                      "f:successThreshold": {},
                      "f:tcpSocket": {
                        ".": {},
                        "f:port": {}
                      },
                      "f:timeoutSeconds": {}
                    },
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {},
                    "f:volumeMounts": {
                      ".": {},
                      "k:{\"mountPath\":\"/certs\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {},
                        "f:readOnly": {}
                      },
                      "k:{\"mountPath\":\"/helm-charts\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {},
                        "f:readOnly": {}
                      }
                    }
                  }
                },
                "f:dnsPolicy": {},
                "f:initContainers": {
                  ".": {},
                  "k:{\"name\":\"copy-charts\"}": {
                    ".": {},
                    "f:command": {},
                    "f:image": {},
                    "f:imagePullPolicy": {},
                    "f:name": {},
                    "f:resources": {},
                    "f:terminationMessagePath": {},
                    "f:terminationMessagePolicy": {},
                    "f:volumeMounts": {
                      ".": {},
                      "k:{\"mountPath\":\"/helm-charts\"}": {
                        ".": {},
                        "f:mountPath": {},
                        "f:name": {}
                      }
                    }
                  }
                },
                "f:priorityClassName": {},
                "f:restartPolicy": {},
                "f:schedulerName": {},
                "f:securityContext": {
                  ".": {},
                  "f:runAsUser": {}
                },
                "f:terminationGracePeriodSeconds": {},
                "f:volumes": {
                  ".": {},
                  "k:{\"name\":\"certs-vol\"}": {
                    ".": {},
                    "f:name": {},
                    "f:secret": {
                      ".": {},
                      "f:defaultMode": {},
                      "f:secretName": {}
                    }
                  },
                  "k:{\"name\":\"charts-volume\"}": {
                    ".": {},
                    "f:name": {},
                    "f:persistentVolumeClaim": {
                      ".": {},
                      "f:claimName": {}
                    }
                  }
                }
              }
            }
          }
        }
      },
      {
        "manager": "kube-controller-manager",
        "operation": "Update",
        "apiVersion": "apps/v1",
        "time": "2024-10-23T21:49:51Z",
        "fieldsType": "FieldsV1",
        "fieldsV1": {
          "f:metadata": {
            "f:annotations": {
              ".": {},
              "f:deployment.kubernetes.io/revision": {}
            }
          },
          "f:status": {
            "f:conditions": {
              ".": {},
              "k:{\"type\":\"Available\"}": {
                ".": {},
                "f:lastTransitionTime": {},
                "f:lastUpdateTime": {},
                "f:message": {},
                "f:reason": {},
                "f:status": {},
                "f:type": {}
              },
              "k:{\"type\":\"Progressing\"}": {
                ".": {},
                "f:lastTransitionTime": {},
                "f:lastUpdateTime": {},
                "f:message": {},
                "f:reason": {},
                "f:status": {},
                "f:type": {}
              }
            },
            "f:observedGeneration": {},
            "f:replicas": {},
            "f:unavailableReplicas": {},
            "f:updatedReplicas": {}
          }
        },
        "subresource": "status"
      }
    ]
  },
  "spec": {
    "replicas": 1,
    "selector": {
      "matchLabels": {
        "app": "helm-repository"
      }
    },
    "template": {
      "metadata": {
        "creationTimestamp": null,
        "labels": {
          "app": "helm-repository"
        }
      },
      "spec": {
        "volumes": [
          {
            "name": "certs-vol",
            "secret": {
              "secretName": "helm-repository-tls",
              "defaultMode": 420
            }
          },
          {
            "name": "charts-volume",
            "persistentVolumeClaim": {
              "claimName": "helm-charts-pvc"
            }
          }
        ],
        "initContainers": [
          {
            "name": "copy-charts",
            "image": "ghcr.io/nutanix-cloud-native/caren-helm-reg:v0.19.0-dev",
            "command": [
              "/bin/sh",
              "-c",
              "cp /charts/*.tar /helm-charts"
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "charts-volume",
                "mountPath": "/helm-charts"
              }
            ],
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "containers": [
          {
            "name": "helm-repository",
            "image": "ghcr.io/nutanix-cloud-native/caren-helm-reg:v0.19.0-dev",
            "command": [
              "/usr/bin/mindthegap"
            ],
            "args": [
              "serve",
              "bundle",
              "--bundle=/helm-charts/helm-charts-*.tar",
              "--listen-port=5000",
              "--listen-address=0.0.0.0",
              "--tls-private-key-file=/certs/tls.key",
              "--tls-cert-file=/certs/tls.crt"
            ],
            "ports": [
              {
                "name": "serve",
                "containerPort": 5000,
                "protocol": "TCP"
              }
            ],
            "resources": {},
            "volumeMounts": [
              {
                "name": "certs-vol",
                "readOnly": true,
                "mountPath": "/certs"
              },
              {
                "name": "charts-volume",
                "readOnly": true,
                "mountPath": "/helm-charts"
              }
            ],
            "livenessProbe": {
              "tcpSocket": {
                "port": "serve"
              },
              "timeoutSeconds": 1,
              "periodSeconds": 10,
              "successThreshold": 1,
              "failureThreshold": 3
            },
            "readinessProbe": {
              "tcpSocket": {
                "port": "serve"
              },
              "timeoutSeconds": 1,
              "periodSeconds": 1,
              "successThreshold": 1,
              "failureThreshold": 3
            },
            "terminationMessagePath": "/dev/termination-log",
            "terminationMessagePolicy": "File",
            "imagePullPolicy": "IfNotPresent"
          }
        ],
        "restartPolicy": "Always",
        "terminationGracePeriodSeconds": 30,
        "dnsPolicy": "ClusterFirst",
        "securityContext": {
          "runAsUser": 65532
        },
        "schedulerName": "default-scheduler",
        "priorityClassName": "system-cluster-critical"
      }
    },
    "strategy": {
      "type": "Recreate"
    },
    "revisionHistoryLimit": 10,
    "progressDeadlineSeconds": 600
  },
  "status": {
    "observedGeneration": 1,
    "replicas": 1,
    "updatedReplicas": 1,
    "unavailableReplicas": 1,
    "conditions": [
      {
        "type": "Available",
        "status": "False",
        "lastUpdateTime": "2024-10-23T21:49:51Z",
        "lastTransitionTime": "2024-10-23T21:49:51Z",
        "reason": "MinimumReplicasUnavailable",
        "message": "Deployment does not have minimum availability."
      },
      {
        "type": "Progressing",
        "status": "True",
        "lastUpdateTime": "2024-10-23T21:49:51Z",
        "lastTransitionTime": "2024-10-23T21:49:51Z",
        "reason": "ReplicaSetUpdated",
        "message": "ReplicaSet \"helm-repository-85cb4645bd\" is progressing."
      }
    ]
  }
}

Expected
    <bool>: false
to be true
In [SynchronizedBeforeSuite] at: /home/runner/go/pkg/mod/sigs.k8s.io/cluster-api/[email protected]/framework/deployment_helpers.go:87 @ 10/23/24 21:53:23.422

Check failure on line 1 in caren-e2e

See this annotation in the file changed.

@github-actions github-actions / e2e test report

caren-e2e.[SynchronizedBeforeSuite]

�[1m�[38;5;9mSynchronizedBeforeSuite failed on Ginkgo parallel process #1�[0m
  The first SynchronizedBeforeSuite function running on Ginkgo parallel process
  #1 failed.  This suite will now abort.
Raw output
[FAILED] �[1m�[38;5;9mSynchronizedBeforeSuite failed on Ginkgo parallel process #1�[0m
  The first SynchronizedBeforeSuite function running on Ginkgo parallel process
  #1 failed.  This suite will now abort.

In [SynchronizedBeforeSuite] at: /home/runner/work/cluster-api-runtime-extensions-nutanix/cluster-api-runtime-extensions-nutanix/test/e2e/e2e_suite_test.go:86 @ 10/23/24 21:53:23.45

Check failure on line 1 in caren-e2e

See this annotation in the file changed.

@github-actions github-actions / e2e test report

caren-e2e.[SynchronizedBeforeSuite]

�[1m�[38;5;9mSynchronizedBeforeSuite failed on Ginkgo parallel process #1�[0m
  The first SynchronizedBeforeSuite function running on Ginkgo parallel process
  #1 failed.  This suite will now abort.
Raw output
[FAILED] �[1m�[38;5;9mSynchronizedBeforeSuite failed on Ginkgo parallel process #1�[0m
  The first SynchronizedBeforeSuite function running on Ginkgo parallel process
  #1 failed.  This suite will now abort.

In [SynchronizedBeforeSuite] at: /home/runner/work/cluster-api-runtime-extensions-nutanix/cluster-api-runtime-extensions-nutanix/test/e2e/e2e_suite_test.go:86 @ 10/23/24 21:53:23.45