Skip to content

Commit e39040e

Browse files
danishedblitaocdlwadlejitendramnencia
authored
refactor: moving Azurite setup code to utils. (cloudnative-pg#419)
Moving Azurite setup code to utils. Signed-off-by: Danish Khan <danish.khan@enterprisedb.com> Signed-off-by: Tao Li <tao.li@enterprisedb.com> Signed-off-by: Jitendra Wadle <jitendra.wadle@enterprisedb.com> Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com> Co-authored-by: Tao Li <tao.li@enterprisedb.com> Co-authored-by: Jitendra Wadle <jitendra.wadle@enterprisedb.com> Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
1 parent 8a3554a commit e39040e

File tree

7 files changed

+310
-188
lines changed

7 files changed

+310
-188
lines changed

tests/e2e/asserts_test.go

+6-77
Original file line numberDiff line numberDiff line change
@@ -1185,28 +1185,6 @@ func CreateAndAssertClientCertificatesSecrets(
11851185
Expect(err).ToNot(HaveOccurred())
11861186
}
11871187

1188-
func CreateAndAssertCertificateSecretsOnAzurite(
1189-
namespace,
1190-
clusterName,
1191-
azuriteCaSecName,
1192-
azuriteTLSSecName string,
1193-
) {
1194-
By("creating ca and tls certificate secrets", func() {
1195-
// create CA certificates
1196-
_, caPair, err := testsUtils.CreateSecretCA(namespace, clusterName, azuriteCaSecName, true, env)
1197-
Expect(err).ToNot(HaveOccurred())
1198-
1199-
// sign and create secret using CA certificate and key
1200-
serverPair, err := caPair.CreateAndSignPair("azurite", certs.CertTypeServer,
1201-
[]string{"azurite.internal.mydomain.net, azurite.default.svc, azurite.default,"},
1202-
)
1203-
Expect(err).ToNot(HaveOccurred())
1204-
serverSecret := serverPair.GenerateCertificateSecret(namespace, azuriteTLSSecName)
1205-
err = env.Client.Create(env.Ctx, serverSecret)
1206-
Expect(err).ToNot(HaveOccurred())
1207-
})
1208-
}
1209-
12101188
func AssertSSLVerifyFullDBConnectionFromAppPod(namespace string, clusterName string, appPod corev1.Pod) {
12111189
By("creating an app Pod and connecting to DB, using Certificate authentication", func() {
12121190
// Connecting to DB, using Certificate authentication
@@ -1326,14 +1304,6 @@ func AssertClusterAsyncReplica(namespace, sourceClusterFile, restoreClusterFile,
13261304
})
13271305
}
13281306

1329-
func AssertStorageCredentialsAreCreatedOnAzurite(namespace string) {
1330-
// This is required by Azurite deployment
1331-
secretFile := fixturesDir + "/backup/azurite/azurite-secret.yaml"
1332-
_, _, err := testsUtils.Run(fmt.Sprintf("kubectl apply -n %v -f %v",
1333-
namespace, secretFile))
1334-
Expect(err).ToNot(HaveOccurred())
1335-
}
1336-
13371307
func AssertClusterRestoreWithApplicationDB(namespace, restoreClusterFile, tableName string) {
13381308
restoredClusterName, err := env.GetResourceNameFromYAML(restoreClusterFile)
13391309
Expect(err).ToNot(HaveOccurred())
@@ -1735,18 +1705,21 @@ func prepareClusterForPITROnAzureBlob(namespace, clusterName, backupSampleFile,
17351705

17361706
func prepareClusterOnAzurite(namespace, clusterName, clusterSampleFile string) {
17371707
By("creating the Azurite storage credentials", func() {
1738-
AssertStorageCredentialsAreCreatedOnAzurite(namespace)
1708+
err := testsUtils.CreateStorageCredentialsOnAzurite(namespace, env)
1709+
Expect(err).ToNot(HaveOccurred())
17391710
})
17401711

17411712
By("setting up Azurite to hold the backups", func() {
17421713
// Deploying azurite for blob storage
1743-
installAzurite(namespace)
1714+
err := testsUtils.InstallAzurite(namespace, env)
1715+
Expect(err).ToNot(HaveOccurred())
17441716
})
17451717

17461718
By("setting up az-cli", func() {
17471719
// This is required as we have a service of Azurite running locally.
17481720
// In order to connect, we need az cli inside the namespace
1749-
installAzCli(namespace)
1721+
err := testsUtils.InstallAzCli(namespace, env)
1722+
Expect(err).ToNot(HaveOccurred())
17501723
})
17511724

17521725
// Creating cluster
@@ -1812,50 +1785,6 @@ func prepareClusterForPITROnAzurite(namespace, clusterName, backupSampleFile str
18121785
AssertArchiveWalOnAzurite(namespace, clusterName)
18131786
}
18141787

1815-
func installAzurite(namespace string) {
1816-
// Create an Azurite for blob storage
1817-
azuriteDeploymentFile := fixturesDir +
1818-
"/backup/azurite/azurite-deployment.yaml"
1819-
1820-
_, _, err := testsUtils.Run(fmt.Sprintf("kubectl apply -n %v -f %v",
1821-
namespace, azuriteDeploymentFile))
1822-
Expect(err).ToNot(HaveOccurred())
1823-
1824-
// Wait for the Azurite pod to be ready
1825-
deploymentNamespacedName := types.NamespacedName{
1826-
Namespace: namespace,
1827-
Name: "azurite",
1828-
}
1829-
Eventually(func() (int32, error) {
1830-
deployment := &appsv1.Deployment{}
1831-
err = env.Client.Get(env.Ctx, deploymentNamespacedName, deployment)
1832-
return deployment.Status.ReadyReplicas, err
1833-
}, 300).Should(BeEquivalentTo(1))
1834-
1835-
// Create an Azurite service
1836-
serviceFile := fixturesDir + "/backup/azurite/azurite-service.yaml"
1837-
_, _, err = testsUtils.Run(fmt.Sprintf("kubectl apply -n %v -f %v",
1838-
namespace, serviceFile))
1839-
Expect(err).ToNot(HaveOccurred())
1840-
}
1841-
1842-
func installAzCli(namespace string) {
1843-
clientFile := fixturesDir + "/backup/azurite/az-cli.yaml"
1844-
_, _, err := testsUtils.Run(fmt.Sprintf(
1845-
"kubectl apply -n %v -f %v",
1846-
namespace, clientFile))
1847-
Expect(err).ToNot(HaveOccurred())
1848-
azCliNamespacedName := types.NamespacedName{
1849-
Namespace: namespace,
1850-
Name: "az-cli",
1851-
}
1852-
Eventually(func() (bool, error) {
1853-
az := &corev1.Pod{}
1854-
err = env.Client.Get(env.Ctx, azCliNamespacedName, az)
1855-
return utils.IsPodReady(*az), err
1856-
}, 180).Should(BeTrue())
1857-
}
1858-
18591788
func createAndAssertPgBouncerPoolerIsSetUp(namespace, poolerYamlFilePath string, expectedInstanceCount int) {
18601789
CreateResourceFromFile(namespace, poolerYamlFilePath)
18611790
Eventually(func() (int32, error) {

tests/e2e/backup_restore_test.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,11 @@ var _ = Describe("Backup and restore", Label(tests.LabelBackupRestore), func() {
513513
err = env.CreateNamespace(namespace)
514514
Expect(err).ToNot(HaveOccurred())
515515
// Create and assert ca and tls certificate secrets on Azurite
516-
CreateAndAssertCertificateSecretsOnAzurite(namespace, clusterName, azuriteCaSecName, azuriteTLSSecName)
516+
By("creating ca and tls certificate secrets", func() {
517+
err := testUtils.CreateCertificateSecretsOnAzurite(namespace, clusterName,
518+
azuriteCaSecName, azuriteTLSSecName, env)
519+
Expect(err).ToNot(HaveOccurred())
520+
})
517521
// Setup Azurite and az cli along with Postgresql cluster
518522
prepareClusterBackupOnAzurite(namespace, clusterName, azuriteBlobSampleFile, backupFile, tableName)
519523
})
@@ -953,7 +957,11 @@ var _ = Describe("Clusters Recovery From Barman Object Store", Label(tests.Label
953957
err = env.CreateNamespace(namespace)
954958
Expect(err).ToNot(HaveOccurred())
955959
// Create and assert ca and tls certificate secrets on Azurite
956-
CreateAndAssertCertificateSecretsOnAzurite(namespace, clusterName, azuriteCaSecName, azuriteTLSSecName)
960+
By("creating ca and tls certificate secrets", func() {
961+
err := testUtils.CreateCertificateSecretsOnAzurite(namespace, clusterName,
962+
azuriteCaSecName, azuriteTLSSecName, env)
963+
Expect(err).ToNot(HaveOccurred())
964+
})
957965
// Setup Azurite and az cli along with PostgreSQL cluster
958966
prepareClusterBackupOnAzurite(namespace, clusterName, azuriteBlobSampleFile, backupFileAzurite, tableName)
959967
})

tests/e2e/fixtures/backup/azurite/az-cli.yaml

-35
This file was deleted.

tests/e2e/fixtures/backup/azurite/azurite-deployment.yaml

-50
This file was deleted.

tests/e2e/fixtures/backup/azurite/azurite-secret.yaml

-8
This file was deleted.

tests/e2e/fixtures/backup/azurite/azurite-service.yaml

-16
This file was deleted.

0 commit comments

Comments
 (0)