aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/controller-usecases
diff options
context:
space:
mode:
authorJim Hahn <jrh3@att.com>2020-10-26 16:19:28 -0400
committerJim Hahn <jrh3@att.com>2020-10-27 15:09:10 -0400
commitc6caf8ae01b02b9d277ba09ea9afece48b56024c (patch)
treed08fb716e9338ea9464b7a06d10328c00d8d6c6c /controlloop/common/controller-usecases
parent4aae44816514c9adafa357e811772c3621ef9126 (diff)
Bump drools-apps master to 1.8.0 SNAPSHOT
Bumping minor version now that guilin branch has been created. Also repointed to snapshot versions for dependencies. Issue-ID: POLICY-2875 Change-Id: Ieb3f8d6ff141d3035141ab8672d3259074f432be Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'controlloop/common/controller-usecases')
-rw-r--r--controlloop/common/controller-usecases/pom.xml2
1 files changed, 1 insertions, 1 deletions
diff --git a/controlloop/common/controller-usecases/pom.xml b/controlloop/common/controller-usecases/pom.xml
index bd6a76ebb..82d39d53a 100644
--- a/controlloop/common/controller-usecases/pom.xml
+++ b/controlloop/common/controller-usecases/pom.xml
@@ -25,7 +25,7 @@
<parent>
<groupId>org.onap.policy.drools-applications.controlloop.common</groupId>
<artifactId>drools-applications-common</artifactId>
- <version>1.7.5-SNAPSHOT</version>
+ <version>1.8.0-SNAPSHOT</version>
</parent>
<artifactId>controller-usecases</artifactId>
/* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# Copyright (c) 2017 VMware, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

import logging

from vio.pub.msapi.extsys import get_vim_by_id
from vio.pub.vim.drivers.vimsdk import neutron_v2_0
from vio.pub.vim.vimapi.network.OperateNetwork import BaseNet, translate


logger = logging.getLogger(__name__)


class OperatePort(BaseNet):
    keys_mapping = {"tenantId": "project_id",
                    "networkId": "network_id",
                    "vnicType": "binding:vnic_type",
                    "securityGroups": "security_groups",
                    "macAddress": "mac_address"
                    }

    def ___init__(self, params):
        super(OperatePort, self).__init__(params)

    def _convert(self, port):
        result = {}
        result['status'] = 'ok'
        result['id'] = port.id
        result['networkId'] = port.network_id
        result['name'] = port.name
        result['vnicType'] = port.binding_vnic_type
        result['macAddress'] = port.mac_address
        if port.fixed_ips:
            subnet_id = port.fixed_ips[0]['subnet_id']
        else:
            subnet_id = port.subnet_id
        result['subnetId'] = subnet_id
        result['securityGroups'] = port.security_group_ids
        return result

    def create_port(self, vimid, tenantid, body):
        vim_info = self.get_vim_info(vimid)
        network = self.auth(vim_info, tenantid)
        body = translate(self.keys_mapping, body)
        if "ip" in body:
            body['fixed_ips'] = [{'subnet_id': body.pop('subnetId'),
                                  "ip_address": body.pop('ip')}]
        else:
            body['fixed_ips'] = [{'subnet_id': body.pop('subnetId')}]
        port = network.port_create(**body)
        vim_dict = {"vimName": vim_info['name'], "vimId": vim_info['vimId']}
        resp = self._convert(port)
        resp.update(vim_dict)
        return resp

    def list_port(self, vimid, tenantid, portid, ignore_missing=False):
        vim_info = self.get_vim_info(vimid)
        network = self.auth(vim_info, tenantid)
        port = network.port_find(portid, ignore_missing=ignore_missing)
        if port is None:
            return port
        vim_dict = {"vimName": vim_info['name'], "vimId": vim_info['vimId']}
        resp = self._convert(port)
        resp.update(vim_dict)
        return resp

    def delete_port(self, vimid, tenantid, portid):
        vim_info = self.get_vim_info(vimid)
        network = self.auth(vim_info, tenantid)
        return network.port_delete(portid)

    def list_ports(self, vimid, tenantid, **query):
        vim_info = self.get_vim_info(vimid)
        network = self.auth(vim_info, tenantid)
        query.update({"project_id": tenantid})
        resp = network.ports_get(**query)
        vim_dict = {"vimName": vim_info['name'], "vimId": vim_info['vimId']}
        ports = {'ports': []}
        if resp:
            for port in resp:
                ports['ports'].append(self._convert(port))
        ports.update(vim_dict)
        return ports