aboutsummaryrefslogtreecommitdiffstats
path: root/src/onaptests/steps/instantiate/msb_k8s.py
blob: 724549c3575f67ba97a4aa9406d1ae7e923fd2da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
"""MSB k8s instantiation module."""
from onapsdk.configuration import settings
from onapsdk.k8s import Instance

from onaptests.steps.base import BaseStep
from onaptests.steps.onboard.msb_k8s import CreateProfileStep


class CreateInstanceStep(BaseStep):
    """Create MSB k8s instance step."""

    def __init__(self, cleanup: bool = False) -> None:
        """Initialize step.

        Substeps:
            - CreateProfileStep.
        """
        super().__init__(cleanup=cleanup)
        self.add_step(CreateProfileStep(cleanup=cleanup))
        self.instance: Instance = None

    @property
    def description(self) -> str:
        """Step description."""
        return "Create K8S instance."

    @property
    def component(self) -> str:
        """Component name."""
        return "K8S plugin"

    @BaseStep.store_state
    def execute(self) -> None:
        """Create instance using MSB K8S plugin."""
        super().execute()
        self.instance = Instance.create(cloud_region_id=settings.CLOUD_REGION_ID,
                                        profile_name=settings.MSB_K8S_PROFILE_NAME,
                                        rb_name=settings.MSB_K8S_RB_NAME,
                                        rb_version=settings.MSB_K8S_RB_VERSION)

    @BaseStep.store_state(cleanup=True)
    def cleanup(self) -> None:
        """Delete instance."""
        if self.instance:
            self.instance.delete()
        return super().cleanup()