Feature-9904: Enhancing NG-UI to enable Juju operational view dashboard
[osm/LCM.git] / osm_lcm / tests / test_db_descriptors.py
index 68f597e..f62e80d 100644 (file)
@@ -170,6 +170,24 @@ db_nslcmops_text = """
     operationState: FAILED
     startTime: 1566823354.414689
     statusEnteredTime: 1566824534.5112448
+
+-   _admin:
+        created: 1600000000.0000000
+        modified: 1600000000.0000000
+        projects_read:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+        projects_write:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+        worker: 86434c2948e2
+    _id: a639fac7-e0bb-4225-ffff-c1f8efcc125e
+    detailed-status: None
+    lcmOperationType: terminate
+    nsInstanceId: f48163a6-c807-47bc-9682-f72caef5af85
+    operationParams: {}
+    operationState: PROCESSING
+    startTime: 1600000000.0000000
+    statusEnteredTime: 1600000000.0000000
+    
 -   _admin:
         created: 1575034637.044651
         modified: 1575034637.044651
@@ -208,6 +226,7 @@ db_nsrs_text = """
 -   _admin:
         created: 1566823354.3716335
         deployed:
+            K8s: []
             RO:
                 nsd_id: 876573b5-968d-40b9-b52b-91bf5c5844f7
                 nsr_id: c9fe9908-3180-430d-b633-fca2f68db008
@@ -219,6 +238,8 @@ db_nsrs_text = """
                     member-vnf-index: '2'
             VCA:
             -   application: alf-b-aa
+                ee_id: f48163a6-c807-47bc-9682-f72caef5af85.alf-b-aa
+                needed_terminate: True
                 detailed-status: Ready!
                 member-vnf-index: '1'
                 model: f48163a6-c807-47bc-9682-f72caef5af85
@@ -231,6 +252,8 @@ db_nsrs_text = """
                 vdu_name: null
                 vnfd_id: hackfest3charmed-vnf
             -   application: alf-c-ab
+                ee_id: f48163a6-c807-47bc-9682-f72caef5af85.alf-c-ab
+                needed_terminate: True
                 detailed-status: Ready!
                 member-vnf-index: '2'
                 model: f48163a6-c807-47bc-9682-f72caef5af85
@@ -260,6 +283,446 @@ db_nsrs_text = """
     create-time: 1566823354.36234
     datacenter: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     description: default description
+    vcaStatus:
+        8c707f16-2d9b-49d6-af5e-2ce9985b2adf:
+            applications:
+                app-vnf-1fb8538dfc39:
+                    can_upgrade_to: ''
+                    charm: 'local:xenial/simple-1'
+                    charm_profile: ''
+                    charm_version: ''
+                    endpoint_bindings: null
+                    err: null
+                    exposed: false
+                    int_: null
+                    life: ''
+                    meter_statuses: { }
+                    provider_id: null
+                    public_address: ''
+                    relations: { }
+                    series: xenial
+                    status:
+                        data: { }
+                        err: null
+                        info: Ready!
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:39:54.239185095Z'
+                        status: active
+                        unknown_fields: { }
+                        version: ''
+                    subordinate_to: [ ]
+                    units:
+                        app-vnf-1fb8538dfc39/0:
+                            address: null
+                            agent_status:
+                                data: { }
+                                err: null
+                                info: ''
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:52:18.077155028Z'
+                                status: idle
+                                unknown_fields: { }
+                                version: 2.8.1
+                            charm: ''
+                            leader: true
+                            machine: '0'
+                            opened_ports: null
+                            provider_id: null
+                            public_address: 10.151.40.53
+                            subordinates: { }
+                            unknown_fields: { }
+                            workload_status:
+                                data: { }
+                                err: null
+                                info: Ready!
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:39:54.239185095Z'
+                                status: active
+                                unknown_fields: { }
+                                version: ''
+                            workload_version: ''
+                    unknown_fields:
+                        charm-verion: ''
+                    workload_version: ''
+                    actions:
+                        generate-ssh-key: >-
+                            Generate a new SSH keypair for this unit. This will replace any
+                            existing previously generated keypair.
+                        get-ssh-public-key: Get the public SSH key for this unit.
+                        reboot: Reboot the VNF virtual machine.
+                        restart: Stop the service on the VNF.
+                        run: Run an arbitrary command
+                        start: Stop the service on the VNF.
+                        stop: Stop the service on the VNF.
+                        touch: Touch a file on the VNF.
+                        upgrade: Upgrade the software on the VNF.
+                        verify-ssh-credentials: >-
+                            Verify that this unit can authenticate with server specified by
+                            ssh-hostname and ssh-username.
+                    configs:
+                        boolean-option:
+                            default: false
+                            description: A short description of the configuration option
+                            source: default
+                            type: boolean
+                            value: false
+                        int-option:
+                            default: 9001
+                            description: A short description of the configuration option
+                            source: default
+                            type: int
+                            value: 9001
+                        ssh-hostname:
+                            default: ''
+                            description: The hostname or IP address of the machine to
+                            source: user
+                            type: string
+                            value: 192.168.61.90
+                        ssh-key-bits:
+                            default: 4096
+                            description: The number of bits to use for the SSH key.
+                            source: default
+                            type: int
+                            value: 4096
+                        ssh-key-type:
+                            default: rsa
+                            description: The type of encryption to use for the SSH key.
+                            source: default
+                            type: string
+                            value: rsa
+                        ssh-password:
+                            default: ''
+                            description: The password used to authenticate.
+                            source: user
+                            type: string
+                            value: osm4u
+                        ssh-private-key:
+                            default: ''
+                            description: DEPRECATED. The private ssh key to be used to authenticate.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-public-key:
+                            default: ''
+                            description: The public key of this unit.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-username:
+                            default: ''
+                            description: The username to login as.
+                            source: user
+                            type: string
+                            value: ubuntu
+                        string-option:
+                            default: Default Value
+                            description: A short description of the configuration option
+                            source: default
+                            type: string
+                            value: Default Value
+                app-vnf-943ab4274bb6:
+                    can_upgrade_to: ''
+                    charm: 'local:xenial/simple-0'
+                    charm_profile: ''
+                    charm_version: ''
+                    endpoint_bindings: null
+                    err: null
+                    exposed: false
+                    int_: null
+                    life: ''
+                    meter_statuses: { }
+                    provider_id: null
+                    public_address: ''
+                    relations: { }
+                    series: xenial
+                    status:
+                        data: { }
+                        err: null
+                        info: Ready!
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:39:15.165682713Z'
+                        status: active
+                        unknown_fields: { }
+                        version: ''
+                    subordinate_to: [ ]
+                    units:
+                        app-vnf-943ab4274bb6/0:
+                            address: null
+                            agent_status:
+                                data: { }
+                                err: null
+                                info: ''
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:46:06.473054303Z'
+                                status: idle
+                                unknown_fields: { }
+                                version: 2.8.1
+                            charm: ''
+                            leader: true
+                            machine: '1'
+                            opened_ports: null
+                            provider_id: null
+                            public_address: 10.151.40.117
+                            subordinates: { }
+                            unknown_fields: { }
+                            workload_status:
+                                data: { }
+                                err: null
+                                info: Ready!
+                                kind: ''
+                                life: ''
+                                since: '2021-02-17T08:39:15.165682713Z'
+                                status: active
+                                unknown_fields: { }
+                                version: ''
+                            workload_version: ''
+                    unknown_fields:
+                        charm-verion: ''
+                    workload_version: ''
+                    actions:
+                        generate-ssh-key: >-
+                            Generate a new SSH keypair for this unit. This will replace any
+                            existing previously generated keypair.
+                        get-ssh-public-key: Get the public SSH key for this unit.
+                        reboot: Reboot the VNF virtual machine.
+                        restart: Stop the service on the VNF.
+                        run: Run an arbitrary command
+                        start: Stop the service on the VNF.
+                        stop: Stop the service on the VNF.
+                        touch: Touch a file on the VNF.
+                        upgrade: Upgrade the software on the VNF.
+                        verify-ssh-credentials: >-
+                            Verify that this unit can authenticate with server specified by
+                            ssh-hostname and ssh-username.
+                    configs:
+                        boolean-option:
+                            default: false
+                            description: A short description of the configuration option
+                            source: default
+                            type: boolean
+                            value: false
+                        int-option:
+                            default: 9001
+                            description: A short description of the configuration option
+                            source: default
+                            type: int
+                            value: 9001
+                        ssh-hostname:
+                            default: ''
+                            description: The hostname or IP address of the machine to
+                            source: user
+                            type: string
+                            value: 192.168.61.72
+                        ssh-key-bits:
+                            default: 4096
+                            description: The number of bits to use for the SSH key.
+                            source: default
+                            type: int
+                            value: 4096
+                        ssh-key-type:
+                            default: rsa
+                            description: The type of encryption to use for the SSH key.
+                            source: default
+                            type: string
+                            value: rsa
+                        ssh-password:
+                            default: ''
+                            description: The password used to authenticate.
+                            source: user
+                            type: string
+                            value: osm4u
+                        ssh-private-key:
+                            default: ''
+                            description: DEPRECATED. The private ssh key to be used to authenticate.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-public-key:
+                            default: ''
+                            description: The public key of this unit.
+                            source: default
+                            type: string
+                            value: ''
+                        ssh-username:
+                            default: ''
+                            description: The username to login as.
+                            source: user
+                            type: string
+                            value: ubuntu
+                        string-option:
+                            default: Default Value
+                            description: A short description of the configuration option
+                            source: default
+                            type: string
+                            value: Default Value
+            branches: { }
+            controller_timestamp: '2021-02-17T09:17:38.006569064Z'
+            machines:
+                '0':
+                    agent_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:37:46.637167056Z'
+                        status: started
+                        unknown_fields: { }
+                        version: 2.8.1
+                    constraints: ''
+                    containers: { }
+                    display_name: ''
+                    dns_name: 10.151.40.53
+                    hardware: arch=amd64 cores=0 mem=0M
+                    has_vote: false
+                    id_: '0'
+                    instance_id: juju-0f027b-0
+                    instance_status:
+                        data: { }
+                        err: null
+                        info: Running
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:58.435458338Z'
+                        status: running
+                        unknown_fields: { }
+                        version: ''
+                    ip_addresses:
+                        - 10.151.40.53
+                    jobs:
+                        - JobHostUnits
+                    lxd_profiles: { }
+                    modification_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:34.663795891Z'
+                        status: idle
+                        unknown_fields: { }
+                        version: ''
+                    network_interfaces:
+                        eth0:
+                            dns_nameservers: null
+                            gateway: 10.151.40.1
+                            ip_addresses:
+                                - 10.151.40.53
+                            is_up: true
+                            mac_address: '00:16:3e:99:bf:c7'
+                            space: null
+                            unknown_fields: { }
+                    primary_controller_machine: null
+                    series: xenial
+                    unknown_fields: { }
+
+                    wants_vote: false
+                '1':
+                    agent_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:37:00.893313184Z'
+                        status: started
+                        unknown_fields: { }
+                        version: 2.8.1
+                    constraints: ''
+                    containers: { }
+                    display_name: ''
+                    dns_name: 10.151.40.117
+                    hardware: arch=amd64 cores=0 mem=0M
+                    has_vote: false
+                    id_: '1'
+                    instance_id: juju-0f027b-1
+                    instance_status:
+                        data: { }
+                        err: null
+                        info: Running
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:36:23.354547217Z'
+                        status: running
+                        unknown_fields: { }
+                        version: ''
+                    ip_addresses:
+                        - 10.151.40.117
+                    jobs:
+                        - JobHostUnits
+                    lxd_profiles: { }
+                    modification_status:
+                        data: { }
+                        err: null
+                        info: ''
+                        kind: ''
+                        life: ''
+                        since: '2021-02-17T08:35:34.768829507Z'
+                        status: idle
+                        unknown_fields: { }
+                        version: ''
+                    network_interfaces:
+                        eth0:
+                            dns_nameservers: null
+                            gateway: 10.151.40.1
+                            ip_addresses:
+                                - 10.151.40.117
+                            is_up: true
+                            mac_address: '00:16:3e:99:fe:1c'
+                            space: null
+                            unknown_fields: { }
+                    primary_controller_machine: null
+                    series: xenial
+                    unknown_fields: { }
+                    wants_vote: false
+            model:
+                available_version: ''
+                cloud_tag: cloud-localhost
+                migration: null
+                name: 7c707f16-2d9b-49d6-af5e-2ce9985b2adf
+                region: localhost
+                unknown_fields:
+                    meter-status:
+                        color: ''
+                        message: ''
+                    model-status:
+                        data: { }
+                        info: ''
+                        kind: ''
+
+                        life: ''
+                        since: '2021-02-17T08:35:31.856691457Z'
+                        status: available
+                        version: ''
+                    sla: unsupported
+                    type: iaas
+                version: 2.8.1
+            offers: { }
+            relations: [ ]
+            remote_applications: { }
+            unknown_fields: { }
+            executedActions:
+                -   id: '6'
+                    action: touch
+                    status: completed
+                    Code: '0'
+                    output: ''
+                -   id: '4'
+                    action: touch
+                    status: completed
+                    Code: '0'
+                    output: ''
+                -   id: '2'
+                    action: verify-ssh-credentials
+                    status: completed
+                    Code: '0'
+                    output: ALF-1-mgmtvm-1
+                    verified: 'True'
     detailed-status: 'ERROR executing proxy charm initial primitives for member_vnf_index=1
         vdu_id=None: charm error executing primitive verify-ssh-credentials for member_vnf_index=1
         vdu_id=None: ''timeout after 600 seconds'''
@@ -394,6 +857,7 @@ db_nsrs_text = """
     create-time: 1575034636.9990137
     datacenter: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
     description: default description
+    vcaStatus: {}
     detailed-status: done
     id: 0bcb701c-ee4d-41ab-8ee6-f4156f7f114d
     instantiate_params:
@@ -424,7 +888,7 @@ db_nsrs_text = """
     - 7ab0d10d-8ce2-4c68-aef6-cc5a437a9c62
 """
 
-db_ro_ns_text = """
+ro_ns_text = """
 datacenter_tenant_id: dc5c67fa-c7f2-11e9-b9c0-02420aff0004
 description: null
 name: ALF
@@ -677,6 +1141,36 @@ vnfs:
     vnfd_osm_id: f48163a6-c807-47bc-9682-f72caef5af85.1.2
 """
 
+ro_delete_action_text = """
+actions:
+-   created_at: 1580140763.1099188
+    description: DELETE
+    instance_id: c9fe9908-3180-430d-b633-fca2f68db008
+    modified_at: 1580140763.253148
+    number_done: 1
+    number_failed: 0
+    number_tasks: 1
+    tenant_id: 0ea38bd0-2729-47a9-ae07-c6ce76115eb2
+    uuid: delete
+    vim_wim_actions:
+    -   action: DELETE
+        created_at: 1580140763.1099188
+        datacenter_vim_id: dc5c67fa-c7f2-11e9-b9c0-02420aff0004
+        error_msg: null
+        extra: '{params: [9b6a2ac4-767e-4ec9-9497-8ba63084c77f, null]}'
+        instance_action_id: ACTION-1580140763.054037
+        item: instance_nets
+        item_id: 8cb06b72-c71d-4b58-b419-95025fa651d3
+        modified_at: 1580140763.1099188
+        related: 8cb06b72-c71d-4b58-b419-95025fa651d3
+        status: SUPERSEDED
+        task_index: 0
+        vim_id: null
+        wim_account_id: null
+        wim_internal_id: null
+        worker: null
+"""
+
 db_vim_accounts_text = """
 ---
 -   _admin:
@@ -701,15 +1195,44 @@ db_vim_accounts_text = """
         projects_write:
         - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
     _id: ea958ba5-4e58-4405-bf42-6e3be15d4c3a
-    description: Openstack site 2, based on Mirantis, also called DSS9000-1, with
-        tenant tid
-    name: ost2-mrt-tid
+    description: some description here
+    name: vim1
     schema_version: '1.1'
     vim_password: 5g0yGX86qIhprX86YTMcpg==
     vim_tenant_name: osm
     vim_type: openstack
     vim_url: http://10.95.87.162:5000/v2.0
     vim_user: osm
+-   _admin:
+        created: 1566818150.3024442
+        current_operation: 0
+        deployed:
+            RO: 9ac17c0d-4265-4333-843b-c3cbd1f93f88
+            RO-account: 011895dc-ab34-4c9f-b06f-401a8ffb073b
+        detailed-status: Done
+        modified: 1566818150.3024442
+        operationalState: ENABLED
+        operations:
+        -   detailed-status: Done
+            lcmOperationType: create
+            operationParams: null
+            operationState: COMPLETED
+            startTime: 1566818150.3025382
+            statusEnteredTime: 1566818150.3025382
+            worker: 86434c2948e2
+        projects_read:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+        projects_write:
+        - 25b5aebf-3da1-49ed-99de-1d2b4a86d6e4
+    _id: 05357241-1a01-416f-9e02-af20f65f51cd
+    description: No description
+    name: vim2
+    schema_version: '1.1'
+    vim_password: 5g0yGX86qIhprX86YTMcpg==
+    vim_tenant_name: osm
+    vim_type: dumy
+    vim_url: http://10.95.88.162:5000/v2.0
+    vim_user: osm
 """
 
 db_k8sclusters_text = """
@@ -1212,3 +1735,17 @@ db_nslcmops_scale_text = """
     operationState: COMPLETED
     detailed-status: done
 """
+
+test_ids = {
+    # contains the ids of ns and operations of every test
+    "TEST-A": {
+        "ns": "f48163a6-c807-47bc-9682-f72caef5af85",
+        "instantiate": "a639fac7-e0bb-4225-8ecb-c1f8efcc125e",
+        "terminate": "a639fac7-e0bb-4225-ffff-c1f8efcc125e",
+    },
+    "TEST-KDU": {
+        "ns": "0bcb701c-ee4d-41ab-8ee6-f4156f7f114d",
+        "instantiate": "cf3aa178-7640-4174-b921-2330e6f2aad6",
+        "terminate": None,
+    }
+}