package npu_operator
import (
"time"
. "gitcode.com/openFuyao/e2e-auto-test/e2e/npu-operator/utils"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
func InstallationPhase() {
var _ = Describe("Install NPU Operator", Ordered, Label("npu_operator_installation", "npu"), func() {
var needUninstallation bool
BeforeEach(func() {
needUninstallation = false
})
AfterEach(func() {
if needUninstallation {
GinkgoWriter.Println()
VerifyNPUOperatorUninstallation(clientset, ctx)
}
})
Context("查找所有NPU Operator相关的Pod", Label("npu_operator_pods"), func() {
It("162-npu-operator 无驱动部署-ubuntu22.04 arm 910B 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend910B",
EnvName: "ubuntu",
VersionID: "22.04",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("165-npu-operator 无驱动部署-openEuler22.03 arm 310P 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("166-npu-operator 无驱动部署-openEuler22.03 X86 310P 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "amd",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("167-npu-operator 无驱动部署-openEuler22.03 arm 910B 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("416-npu-operator 有驱动部署-ubuntu22.04 arm 910B 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend910B",
EnvName: "ubuntu",
VersionID: "22.04",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("418-npu-operator 有驱动部署-openEuler22.03 arm 910B 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("419-npu-operator 有驱动部署-openEuler22.03 arm 310P 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("420-npu-operator 有驱动部署-openEuler22.03 X86 310P 单节点", func() {
verifyEnvironment := VerifyEnvironment{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "amd",
}
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{&verifyEnvironment},
}
needUninstallation = VerifyComponentsAfterInstallationSingleNode(&verifyInstallationInfo)
})
It("156-多节点无驱动部署-openEuler22.03-arm 910B + X86 310P", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "amd64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("159-多节点无驱动部署-openEuler22.03 310P-arm + X86", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "amd64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("160-多节点无驱动部署-ubuntu22.04 arm 910B", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "ubuntu",
VersionID: "22.04",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("161-多节点无驱动部署-openEuler22.03 arm-910B + 310P", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("163-多节点无驱动部署-openEuler22.03 arm 910B", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("164-多节点无驱动部署-openEuler22.03 arm 310P", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("test-多节点无驱动部署-openEuler22.03 X86 310P", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "amd64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("414-多节点有驱动部署-openEuler22.03 arm 310P", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend310P",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("415-多节点有驱动部署-ubuntu22.04 arm 910B", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "ubuntu",
VersionID: "22.04",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("417-多节点有驱动部署-openEuler22.03 arm 910B", func() {
verifyInstallationInfo := VerifyInstallationInfo{
Clientset: clientset,
Ctx: ctx,
NodesNPUSituation: nodesNPUSituation,
VerifyEnvironments: []*VerifyEnvironment{
{
NpuType: "Ascend910B",
EnvName: "openeuler",
VersionID: "22.03",
SystemType: "arm64",
},
},
}
needUninstallation = VerifyComponentsAfterInstallationMultipleNodes(&verifyInstallationInfo)
})
It("643-查询对应NPUClusterPolicy状态", func() {
GinkgoWriter.Println("Verifying NPU Cluster Policy status ···")
needUninstallation = true
var err error
helmReleaseName, helmNamespace, err := ExecuteHelmInstallFromURL()
Expect(err).NotTo(HaveOccurred(), "should successfully execute helm install")
VerifyHelmReleaseStatus(helmReleaseName, helmNamespace)
Eventually(func() bool {
var allRunning bool
allRunning, err = JudgePodsAllRunning(clientset, ctx)
if err != nil {
GinkgoWriter.Printf("Error verifying pods: %v\n", err)
return false
}
VerifyNPUClusterPolicyStatus(dynamicClient, ctx, allRunning)
return allRunning
}, 10*time.Minute, 10*time.Second).Should(BeTrue(),
"All NPU Operator pods should be running in 10 minutes")
GinkgoWriter.Println("NPUClusterPolicy 状态验证成功")
})
It("151-各组件验证", func() {
nodes, err := clientset.CoreV1().Nodes().List(ctx, metav1.ListOptions{})
Expect(err).NotTo(HaveOccurred(), "'kubectl get nodes' 执行失败")
Expect(nodes.Items).NotTo(BeEmpty(), "在集群中没有找到任何节点")
needUninstallation = EnsureNPUOperatorInstallation(clientset, ctx, nodesNPUSituation)
VerifyNPUOperatorComponents(clientset, ctx, nodesNPUSituation, nodes)
})
})
It("153-npu-operator 插件安装", func() {
needUninstallation = EnsureNPUOperatorInstallation(clientset, ctx, nodesNPUSituation)
})
})
}