update from RIFT as of 696b75d2fe9fb046261b08c616f1bcf6c0b54a9b second try
Signed-off-by: Jeremy Mordkoff <Jeremy.Mordkoff@riftio.com>
diff --git a/rwcal/test/CMakeLists.txt b/rwcal/test/CMakeLists.txt
index 79e66c5..637d9ff 100644
--- a/rwcal/test/CMakeLists.txt
+++ b/rwcal/test/CMakeLists.txt
@@ -62,6 +62,6 @@
RIFT.ware-ready.py
openstack_resources.py
DESTINATION usr/bin
- COMPONENT ${PKG_LONG_NAME}
+ COMPONENT ${INSTALL_COMPONENT}
)
diff --git a/rwcal/test/aws_resources.py b/rwcal/test/aws_resources.py
index 875de56..7f00176 100644
--- a/rwcal/test/aws_resources.py
+++ b/rwcal/test/aws_resources.py
@@ -67,7 +67,7 @@
"""
Returns AWS cal account
"""
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.account_type = "aws"
account.aws.key = kwargs['key']
account.aws.secret = kwargs['secret']
@@ -158,7 +158,7 @@
Create Mission Control VM in AWS
"""
logger.info("Creating mission control VM")
- vdu = RwcalYang.VDUInitParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams()
vdu.name = MISSION_CONTROL_NAME
vdu.image_id = RIFT_IMAGE_AMI
vdu.flavor_id = 'c3.large'
@@ -173,7 +173,7 @@
inst=driver.get_instance(self._mc_id)
inst.wait_until_running()
- rc,rs =self._cal.get_vdu(self._acct,self._mc_id)
+ rc,rs =self._cal.get_vdu(self._acct,self._mc_id, "")
assert rc == RwStatus.SUCCESS
self._mc_public_ip = rs.public_ip
self._mc_private_ip = rs.management_ip
@@ -206,7 +206,7 @@
salt_master=self._mc_private_ip
node_id = str(uuid.uuid4())
- vdu = RwcalYang.VDUInitParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams()
vdu.name = LAUNCHPAD_NAME
vdu.image_id = RIFT_IMAGE_AMI
vdu.flavor_id = 'c3.xlarge'
@@ -223,7 +223,7 @@
inst=driver.get_instance(self._lp_id)
inst.wait_until_running()
- rc,rs =self._cal.get_vdu(self._acct,self._lp_id)
+ rc,rs =self._cal.get_vdu(self._acct,self._lp_id, "")
assert rc == RwStatus.SUCCESS
self._lp_public_ip = rs.public_ip
diff --git a/rwcal/test/cal_module_test/CMakeLists.txt b/rwcal/test/cal_module_test/CMakeLists.txt
index f637c28..f23e311 100644
--- a/rwcal/test/cal_module_test/CMakeLists.txt
+++ b/rwcal/test/cal_module_test/CMakeLists.txt
@@ -23,19 +23,22 @@
PROGRAMS
cal_module_test
DESTINATION usr/rift/systemtest/cal_module_test
- COMPONENT ${PKG_LONG_NAME})
+ COMPONENT ${INSTALL_COMPONENT}
+ )
install(
FILES
pytest/conftest.py
pytest/cal_module_test.py
DESTINATION usr/rift/systemtest/cal_module_test/pytest
- COMPONENT ${PKG_LONG_NAME})
+ COMPONENT ${INSTALL_COMPONENT}
+ )
install(
FILES
racfg/cal_module_test.racfg
DESTINATION
usr/rift/systemtest/cal_module_test
- COMPONENT ${PKG_LONG_NAME})
+ COMPONENT ${INSTALL_COMPONENT}
+ )
diff --git a/rwcal/test/cal_module_test/pytest/cal_module_test.py b/rwcal/test/cal_module_test/pytest/cal_module_test.py
index ca3568f..170e664 100644
--- a/rwcal/test/cal_module_test/pytest/cal_module_test.py
+++ b/rwcal/test/cal_module_test/pytest/cal_module_test.py
@@ -32,6 +32,8 @@
import pytest
+import rift.auto.mano
+
from gi import require_version
require_version('RwCal', '1.0')
@@ -45,6 +47,8 @@
logger = logging.getLogger('rwcal')
logging.basicConfig(level=logging.INFO)
+def short_id():
+ return uuid.uuid4().hex[:10]
class CloudConfig(object):
def __init__(self, cal, account):
@@ -142,7 +146,7 @@
Return:
CloudAccount details
"""
- account = RwcalYang.CloudAccount.from_dict({
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList.from_dict({
"account_type": "aws",
"aws": {
"key": option.aws_user,
@@ -160,8 +164,8 @@
Returns:
FlavorInfoItem
"""
- flavor = RwcalYang.FlavorInfoItem.from_dict({
- "name": str(uuid.uuid4()),
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"vm_flavor": {
"memory_mb": 1024,
"vcpu_count": 1,
@@ -177,15 +181,15 @@
Returns:
VDUInitParams
"""
- vdu = RwcalYang.VDUInitParams.from_dict({
- "name": str(uuid.uuid4()),
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"node_id": "123456789012345",
"image_id": self.image_id,
"flavor_id": "t2.micro"
})
c1 = vdu.connection_points.add()
- c1.name = str(uuid.uuid4())
+ c1.name = rift.auto.mano.resource_name(short_id())
c1.virtual_link_id = self.virtual_link_id
return vdu
@@ -199,8 +203,8 @@
Returns:
VirtualLinkReqParams
"""
- vlink = RwcalYang.VirtualLinkReqParams.from_dict({
- "name": str(uuid.uuid4()),
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"subnet": '172.31.64.0/20',
})
@@ -273,7 +277,7 @@
Return:
CloudAccount details
"""
- account = RwcalYang.CloudAccount.from_dict({
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList.from_dict({
'name': "cloudsim",
'account_type':'cloudsim_proxy'})
@@ -285,8 +289,8 @@
Returns:
ImageInfoItem
"""
- image = RwcalYang.ImageInfoItem.from_dict({
- "name": str(uuid.uuid4()),
+ image = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"location": os.path.join(os.getenv("RIFT_ROOT"), "images/rift-root-latest.qcow2"),
"disk_format": "qcow2",
"container_format": "bare",
@@ -300,8 +304,8 @@
Returns:
FlavorInfoItem
"""
- flavor = RwcalYang.FlavorInfoItem.from_dict({
- "name": str(uuid.uuid4()),
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"vm_flavor": {
"memory_mb": 16392,
"vcpu_count": 4,
@@ -316,15 +320,15 @@
Returns:
VDUInitParams
"""
- vdu = RwcalYang.VDUInitParams.from_dict({
- "name": str(uuid.uuid4()),
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"node_id": "123456789012345",
"image_id": self.image_id,
"flavor_id": self.flavor_id,
})
c1 = vdu.connection_points.add()
- c1.name = str(uuid.uuid4())
+ c1.name = rift.auto.mano.resource_name(short_id())
c1.virtual_link_id = self.virtual_link_id
return vdu
@@ -335,8 +339,8 @@
Returns:
VirtualLinkReqParams
"""
- vlink = RwcalYang.VirtualLinkReqParams.from_dict({
- "name": str(uuid.uuid4()),
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"subnet": '192.168.1.0/24',
})
@@ -382,7 +386,7 @@
Returns:
CloudAccount
"""
- acct = RwcalYang.CloudAccount.from_dict({
+ acct = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList.from_dict({
"account_type": "openstack",
"openstack": {
"key": option.os_user,
@@ -408,8 +412,8 @@
Returns:
ImageInfoItem
"""
- image = RwcalYang.ImageInfoItem.from_dict({
- "name": str(uuid.uuid4()),
+ image = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"location": os.path.join(os.getenv("RIFT_ROOT"), "images/rift-root-latest.qcow2"),
"disk_format": "qcow2",
"container_format": "bare",
@@ -423,8 +427,8 @@
Returns:
FlavorInfoItem
"""
- flavor = RwcalYang.FlavorInfoItem.from_dict({
- "name": str(uuid.uuid4()),
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"vm_flavor": {
"memory_mb": 16392,
"vcpu_count": 4,
@@ -441,9 +445,15 @@
node = flavor.guest_epa.numa_node_policy.node.add()
node.id = i
if i == 0:
- node.vcpu = [0, 1]
+ vcpu0 = node.vcpu.add()
+ vcpu0.id = 0
+ vcpu1 = node.vcpu.add()
+ vcpu1.id = 1
elif i == 1:
- node.vcpu = [2, 3]
+ vcpu2 = node.vcpu.add()
+ vcpu2.id = 2
+ vcpu3 = node.vcpu.add()
+ vcpu3.id = 3
node.memory_mb = 8196
dev = flavor.guest_epa.pcie_device.add()
@@ -458,15 +468,15 @@
Returns:
VDUInitParams
"""
- vdu = RwcalYang.VDUInitParams.from_dict({
- "name": str(uuid.uuid4()),
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"node_id": "123456789012345",
"image_id": self.image_id,
"flavor_id": self.flavor_id,
})
c1 = vdu.connection_points.add()
- c1.name = str(uuid.uuid4())
+ c1.name = rift.auto.mano.resource_name(short_id())
c1.virtual_link_id = self.virtual_link_id
return vdu
@@ -477,8 +487,8 @@
Returns:
VirtualLinkReqParams
"""
- vlink = RwcalYang.VirtualLinkReqParams.from_dict({
- "name": str(uuid.uuid4()),
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams.from_dict({
+ "name": rift.auto.mano.resource_name(short_id()),
"subnet": '192.168.1.0/24',
})
@@ -596,7 +606,7 @@
ids = []
for vdu in vdus.vdu_info_list:
- status, vdu_single = cal.get_vdu(account, vdu.vdu_id)
+ status, vdu_single = cal.get_vdu(account, vdu.vdu_id, "")
assert status == RwStatus.SUCCESS
assert vdu_single.vdu_id == vdu.vdu_id
ids.append(vdu.vdu_id)
@@ -607,7 +617,7 @@
account = cloud_config.account
cal = cloud_config.cal
- vdu_modify = RwcalYang.VDUModifyParams()
+ vdu_modify = RwcalYang.YangData_RwProject_Project_VduModifyParams()
vdu_modify.vdu_id = cloud_config.vdu_id
c1 = vdu_modify.connection_points_add.add()
c1.name = "c_modify1"
diff --git a/rwcal/test/cal_module_test/racfg/cal_module_test.racfg b/rwcal/test/cal_module_test/racfg/cal_module_test.racfg
index cd6d57a..a3ac4b1 100644
--- a/rwcal/test/cal_module_test/racfg/cal_module_test.racfg
+++ b/rwcal/test/cal_module_test/racfg/cal_module_test.racfg
@@ -4,8 +4,8 @@
"target_vm":"VM",
"test_description":"System test targeting module tests for CAL accounts",
"run_as_root": true,
- "status":"working",
- "keywords":["nightly","smoke","MANO","openstack"],
+ "status":"broken",
+ "keywords":["nightly","MANO","openstack"],
"timelimit": 2400,
"networks":[],
"vms":[
diff --git a/rwcal/test/cloudtool_cal.py b/rwcal/test/cloudtool_cal.py
index 92f4891..1bc9da8 100755
--- a/rwcal/test/cloudtool_cal.py
+++ b/rwcal/test/cloudtool_cal.py
@@ -167,7 +167,7 @@
for network in netlist.networkinfo_list:
print(network)
- vm = RwcalYang.VMInfoItem()
+ vm = RwcalYang.YangData_RwProject_Project_VimResources_VminfoList()
vm.vm_name = vm_name
vm.flavor_id = size.id
vm.image_id = image.id
@@ -176,7 +176,7 @@
nets = dict()
for network in netlist.networkinfo_list:
if network.network_name != "public":
- nwitem = RwcalYang.VMInfoItem_NetworkList()
+ nwitem = RwcalYang.YangData_RwProject_Project_VimResources_VminfoList_NetworkList()
nwitem.network_id = network.network_id
nets[network.network_name] = nwitem
@@ -422,7 +422,7 @@
print("creating image \"%s\" using %s ..." % \
(cmdargs.image_name, cmdargs.file_name))
- img = RwcalYang.ImageInfoItem()
+ img = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList()
img.name = cmdargs.image_name
img.location = cmdargs.file_name
img.disk_format = "qcow2"
@@ -452,7 +452,7 @@
print(flv)
elif cmdargs.which == 'create':
account.openstack.key = 'admin'
- flavor = RwcalYang.FlavorInfoItem()
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList()
flavor.name = cmdargs.flavor_name
flavor.vm_flavor.memory_mb = cmdargs.memory_size
flavor.vm_flavor.vcpu_count = cmdargs.vcpu_count
@@ -961,7 +961,7 @@
if cmdargs.provider_type == 'OPENSTACK':
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.account_type = "openstack"
account.openstack.key = cmdargs.user
account.openstack.secret = cmdargs.passwd
diff --git a/rwcal/test/ec2.py b/rwcal/test/ec2.py
index 59ad049..175017a 100644
--- a/rwcal/test/ec2.py
+++ b/rwcal/test/ec2.py
@@ -178,7 +178,7 @@
kwds = {'subnet_id': __default_subnet__}
else:
kwds = {'network_interfaces': net_ifs}
- print net_ifs
+ print(net_ifs)
new_reservation = self._conn.run_instances(
image_id=self._ami,
@@ -220,7 +220,7 @@
addr = "%s.%s.10%d.0/25" % (subnet_addrs_split[0], subnet_addrs_split[1], i)
try:
subnet = vpc_conn.create_subnet(vpc.id, addr)
- except boto.exception.EC2ResponseError, e:
+ except boto.exception.EC2ResponseError as e:
if 'InvalidSubnet.Conflict' == e.error_code:
subnet = vpc_conn.get_all_subnets(filters=[('vpcId', vpc.id), ('cidrBlock', addr)])[0]
else:
diff --git a/rwcal/test/openstack_resources.py b/rwcal/test/openstack_resources.py
index f7fb00d..b4bc5ad 100755
--- a/rwcal/test/openstack_resources.py
+++ b/rwcal/test/openstack_resources.py
@@ -107,7 +107,7 @@
"""
Returns cal account
"""
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.account_type = "openstack"
account.openstack.key = openstack_info['username']
account.openstack.secret = openstack_info['password']
@@ -222,7 +222,7 @@
Creates a VM. The VM name is derived from username
"""
- vm = RwcalYang.VDUInitParams()
+ vm = RwcalYang.YangData_RwProject_Project_VduInitParams()
vm.name = name
vm.flavor_id = self._flavor_id
vm.image_id = self._image_id
@@ -239,7 +239,7 @@
def create_network(self, name):
logger.info("Creating network with name: %s" %name)
- network = RwcalYang.NetworkInfoItem()
+ network = RwcalYang.YangData_RwProject_Project_VimResources_NetworkinfoList()
network.network_name = name
network.subnet = openstack_info['subnets'][openstack_info['subnet_index']]
@@ -265,7 +265,7 @@
def create_image(self, location):
- img = RwcalYang.ImageInfoItem()
+ img = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList()
img.name = basename(location)
img.location = location
img.disk_format = "qcow2"
@@ -299,7 +299,7 @@
"""
Create Flavor suitable for rift_ping_pong VNF
"""
- flavor = RwcalYang.FlavorInfoItem()
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList()
flavor.name = FLAVOR_NAME
flavor.vm_flavor.memory_mb = 16384 # 16GB
flavor.vm_flavor.vcpu_count = 4
diff --git a/rwcal/test/test_aws_image_get.py b/rwcal/test/test_aws_image_get.py
new file mode 100644
index 0000000..c9b3738
--- /dev/null
+++ b/rwcal/test/test_aws_image_get.py
@@ -0,0 +1,218 @@
+#!/usr/bin/python3
+
+#
+# Copyright 2016 RIFT.IO 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.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+import sys
+import rw_peas
+from gi import require_version
+require_version('RwCal', '1.0')
+
+from gi.repository import RwcalYang
+from gi.repository.RwTypes import RwStatus
+import argparse
+import logging
+import rwlogger
+
+persistent_resources = {
+ 'vms' : [],
+ 'networks' : [],
+}
+
+
+RIFT_IMAGE_AMI = 'ami-7070231a'
+
+logging.basicConfig(level=logging.ERROR)
+logger = logging.getLogger('rift.cal.awsresources')
+logger.setLevel(logging.INFO)
+
+def get_cal_plugin():
+ """
+ Load AWS cal plugin
+ """
+ plugin = rw_peas.PeasPlugin('rwcal_aws', 'RwCal-1.0')
+ engine, info, extension = plugin()
+ cal = plugin.get_interface("Cloud")
+ rwloggerctx = rwlogger.RwLog.Ctx.new("Cal-Log")
+ try:
+ rc = cal.init(rwloggerctx)
+ assert rc == RwStatus.SUCCESS
+ except Exception as e:
+ logger.error("ERROR:Cal plugin instantiation failed with exception %s", repr(e))
+ else:
+ logger.info("AWS Cal plugin successfully instantiated")
+ return cal
+
+def get_cal_account(**kwargs):
+ """
+ Returns AWS cal account
+ """
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
+ account.account_type = "aws"
+ account.aws.key = kwargs['key']
+ account.aws.secret = kwargs['secret']
+ account.aws.region = kwargs['region']
+ if 'ssh_key' in kwargs and kwargs['ssh_key'] is not None:
+ account.aws.ssh_key = kwargs['ssh_key']
+ account.aws.availability_zone = kwargs['availability_zone']
+ if 'vpcid' in kwargs and kwargs['vpcid'] is not None:
+ account.aws.vpcid = kwargs['vpcid']
+ if 'default_subnet_id' in kwargs and kwargs['default_subnet_id'] is not None:
+ account.aws.default_subnet_id = kwargs['default_subnet_id']
+ return account
+
+class AWSResources(object):
+ """
+ Class with methods to manage AWS resources
+ """
+ def __init__(self, **kwargs):
+ self._cal = get_cal_plugin()
+ self._acct = get_cal_account(**kwargs)
+
+ def get_image_list(self):
+ """
+ Get Image list
+ """
+ logger.info("Initiating Get image list")
+ rc, rsp = self._cal.get_image_list(self._acct)
+
+ print("Return resp: rsp ", rsp)
+
+ logger.info("Get image list complete")
+
+
+ def get_image(self, image_ami_id):
+ """
+ Get Image from AMI id
+ """
+ logger.info("Initiating Get image")
+ rc, rsp = self._cal.get_image(self._acct, image_ami_id)
+
+ print("Return code: rc ", rc)
+ print("Return resp: rsp ", rsp)
+
+ logger.info("Get image complete")
+
+
+
+def main():
+ """
+ Main routine
+
+ New AWS credentials were created as follows:
+ User: aws_riftio
+ Access Key ID: AKIAJQ4D3X5WO3P6JXKA
+ Secret Access key: 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
+ Pasword: RhN*q2ze*fpY
+
+ The following AWS cloud account config can be used on LP CLI:
+ cloud account AWS account-type aws aws key AKIAJQ4D3X5WO3P6JXKA secret 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 region us-east-1 vpcid vpc-cb1cd2af ssh-key rift-awskey availability-zone us-east-1c default-subnet-id subnet-73796d04 plugin-name rwcal_aws dynamic-flavor-support true`
+ """
+ parser = argparse.ArgumentParser(description='Script to manage AWS resources')
+
+ parser.add_argument('--aws-key',
+ action = 'store',
+ dest = 'aws_key',
+ type = str,
+ help='AWS key')
+
+ parser.add_argument('--aws-secret',
+ action = 'store',
+ dest = 'aws_secret',
+ type = str,
+ help='AWS secret')
+
+ parser.add_argument('--aws-region',
+ action = 'store',
+ dest = 'aws_region',
+ type = str,
+ help='AWS region')
+
+ parser.add_argument('--aws-az',
+ action = 'store',
+ dest = 'aws_az',
+ type = str,
+ help='AWS Availability zone')
+
+ parser.add_argument('--aws-sshkey',
+ action = 'store',
+ dest = 'aws_sshkey',
+ type = str,
+ help='AWS SSH Key to login to instance')
+
+ parser.add_argument('--aws-vpcid',
+ action = 'store',
+ dest = 'aws_vpcid',
+ type = str,
+ help='AWS VPC ID to use to indicate non default VPC')
+
+ parser.add_argument('--aws-default-subnet',
+ action = 'store',
+ dest = 'aws_default_subnet',
+ type = str,
+ help='AWS Default subnet id in VPC to be used for mgmt network')
+
+ argument = parser.parse_args()
+
+ '''
+ User: aws_riftio
+ Access Key ID: AKIAJQ4D3X5WO3P6JXKA
+ Secret Access key: 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
+ Pasword: RhN*q2ze*fpY
+
+ cloud account AWS account-type aws aws key AKIAJQ4D3X5WO3P6JXKA secret 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 region us-east-1 vpcid vpc-cb1cd2af ssh-key rift-awskey availability-zone us-east-1c default-subnet-id subnet-73796d04 plugin-name rwcal_aws dynamic-flavor-support true
+ '''
+
+ argument.aws_key = "AKIAJQ4D3X5WO3P6JXKA"
+ argument.aws_secret = "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"
+ argument.aws_region = "us-east-1"
+ argument.aws_az = "us-east-1c"
+ argument.aws_sshkey = "rift-awskey"
+ argument.aws_vpcid = "vpc-cb1cd2af"
+ argument.aws_default_subnet = "subnet-73796d04"
+
+ if (argument.aws_key is None or argument.aws_secret is None or argument.aws_region is None or
+ argument.aws_az is None):
+ logger.error("Missing mandatory params. AWS Key, Secret, Region, AZ and SSH key are mandatory params")
+ sys.exit(-1)
+
+
+ ### Start processing
+ logger.info("Instantiating cloud-abstraction-layer")
+ drv = AWSResources(key=argument.aws_key, secret=argument.aws_secret, region=argument.aws_region, availability_zone = argument.aws_az,
+ ssh_key = argument.aws_sshkey, vpcid = argument.aws_vpcid, default_subnet_id = argument.aws_default_subnet)
+ logger.info("Instantiating cloud-abstraction-layer.......[Done]")
+
+ logger.info("Testing image list APIs")
+ drv.get_image_list()
+ logger.info("Finished testing image list APIs")
+
+ logger.info("Testing get image APIs for rift ping image - Present in Owner account")
+ drv.get_image('ami-eb0a5f81')
+ logger.info("Finished testing get image APIs")
+
+ logger.info("Testing get image APIs for public vyos image")
+ drv.get_image('ami-9ea315f6')
+ logger.info("Finished testing get image APIs")
+
+ logger.info("Testing get image APIs for public PalotAlto FW image")
+ drv.get_image('ami-34ca984f')
+ logger.info("Finished testing get image APIs")
+
+
+if __name__ == '__main__':
+ main()
diff --git a/rwcal/test/test_container_cal.py b/rwcal/test/test_container_cal.py
index 3ec5ca1..fe3105c 100644
--- a/rwcal/test/test_container_cal.py
+++ b/rwcal/test/test_container_cal.py
@@ -66,7 +66,7 @@
# The account object is not currently used, but it is required by the CAL
# interface, so we create an empty object here to represent it.
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.account_type = "lxc"
# Make sure that any containers that were previously created have been
@@ -88,7 +88,7 @@
logger.info(args.rootfs)
# Create an image that can be used to create VMs
- image = RwcalYang.ImageInfoItem()
+ image = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList()
image.name = 'rift-master'
image.lxc.size = '2.5G'
image.lxc.template_path = template
@@ -99,7 +99,7 @@
# Create a VM
vms = []
for index in range(args.num_vms):
- vm = RwcalYang.VMInfoItem()
+ vm = RwcalYang.YangData_RwProject_Project_VimResources_VminfoList()
vm.vm_name = 'rift-s{}'.format(index + 1)
vm.image_id = image.id
@@ -108,14 +108,14 @@
vms.append(vm)
# Create the default and data networks
- network = RwcalYang.NetworkInfoItem(network_name='virbr0')
+ network = RwcalYang.YangData_RwProject_Project_VimResources_NetworkinfoList(network_name='virbr0')
cal.create_network(account, network)
os.system('/usr/sbin/brctl show')
# Create pairs of ports to connect the networks
for index, vm in enumerate(vms):
- port = RwcalYang.PortInfoItem()
+ port = RwcalYang.YangData_RwProject_Project_VimResources_PortinfoList()
port.port_name = "eth0"
port.network_id = network.network_id
port.vm_id = vm.vm_id
diff --git a/rwcal/test/test_openstack_install.py b/rwcal/test/test_openstack_install.py
index 0e4a61f..98a00f8 100644
--- a/rwcal/test/test_openstack_install.py
+++ b/rwcal/test/test_openstack_install.py
@@ -370,9 +370,9 @@
def _get_cal_account(self):
"""
- Creates an object for class RwcalYang.CloudAccount()
+ Creates an object for class RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
"""
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.account_type = "openstack"
account.openstack.key = "{}_user".format(self.test_prefix)
account.openstack.secret = "mypasswd"
diff --git a/rwcal/test/test_rwcal_openstack.py b/rwcal/test/test_rwcal_openstack.py
index 8278a5e..c2f54c2 100644
--- a/rwcal/test/test_rwcal_openstack.py
+++ b/rwcal/test/test_rwcal_openstack.py
@@ -43,9 +43,9 @@
# Important information about openstack installation. This needs to be manually verified
#
openstack_info = {
- 'username' : 'xxxx',
- 'password' : 'xxxxxx',
- 'auth_url' : 'http://10.66.4.19:5000/v2.0/',
+ 'username' : 'xxxxxx',
+ 'password' : 'xxxxx',
+ 'auth_url' : 'http://10.66.4.102:5000/v2.0/',
'project_name' : 'xxxxx',
'mgmt_network' : 'private',
'reserved_flavor' : 'm1.medium',
@@ -73,9 +73,9 @@
def get_cal_account():
"""
- Creates an object for class RwcalYang.CloudAccount()
+ Creates an object for class RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
"""
- account = RwcalYang.CloudAccount()
+ account = RwcalYang.YangData_RwProject_Project_CloudAccounts_CloudAccountList()
account.name = "Gruntxx"
account.account_type = "openstack"
account.openstack.key = openstack_info['username']
@@ -236,9 +236,9 @@
def _get_image_info_request(self):
"""
- Returns request object of type RwcalYang.ImageInfoItem()
+ Returns request object of type RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList()
"""
- img = RwcalYang.ImageInfoItem()
+ img = RwcalYang.YangData_RwProject_Project_VimResources_ImageinfoList()
img.name = "rift.cal.unittest.image"
img.location = '/net/sharedfiles/home1/common/vm/rift-root-latest.qcow2'
img.disk_format = "qcow2"
@@ -286,9 +286,9 @@
def _get_flavor_info_request(self):
"""
- Returns request object of type RwcalYang.FlavorInfoItem()
+ Returns request object of type RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList()
"""
- flavor = RwcalYang.FlavorInfoItem()
+ flavor = RwcalYang.YangData_RwProject_Project_VimResources_FlavorinfoList()
flavor.name = 'rift.cal.unittest.flavor'
flavor.vm_flavor.memory_mb = 16384 # 16GB
flavor.vm_flavor.vcpu_count = 4
@@ -363,7 +363,7 @@
"""
Returns request object of type RwcalYang.VMInfoItem
"""
- vm = RwcalYang.VMInfoItem()
+ vm = RwcalYang.YangData_RwProject_Project_VimResources_VminfoList()
vm.vm_name = 'rift.cal.unittest.vm'
vm.flavor_id = flavor_id
vm.image_id = image_id
@@ -695,9 +695,9 @@
def _get_network_info_request(self):
"""
- Returns request object of type RwcalYang.NetworkInfoItem
+ Returns request object of type RwcalYang.YangData_RwProject_Project_VimResources_NetworkinfoList
"""
- network = RwcalYang.NetworkInfoItem()
+ network = RwcalYang.YangData_RwProject_Project_VimResources_NetworkinfoList()
network.network_name = 'rift.cal.unittest.network'
network.subnet = '192.168.16.0/24'
if openstack_info['physical_network']:
@@ -762,9 +762,9 @@
def _get_port_info_request(self, network_id, vm_id):
"""
- Returns an object of type RwcalYang.PortInfoItem
+ Returns an object of type RwcalYang.YangData_RwProject_Project_VimResources_PortinfoList
"""
- port = RwcalYang.PortInfoItem()
+ port = RwcalYang.YangData_RwProject_Project_VimResources_PortinfoList()
port.port_name = 'rift.cal.unittest.port'
port.network_id = network_id
if vm_id != None:
@@ -887,10 +887,14 @@
"""
logger.info("Openstack-CAL-Test: Test Get VDU List APIs")
rc, rsp = self.cal.get_vdu_list(self._acct)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
logger.info("Openstack-CAL-Test: Received %d VDUs" %(len(rsp.vdu_info_list)))
for vdu in rsp.vdu_info_list:
- rc, vdu2 = self.cal.get_vdu(self._acct, vdu.vdu_id)
+ rc, vdu2 = self.cal.get_vdu(self._acct, vdu.vdu_id, "")
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
self.assertEqual(vdu2.vdu_id, vdu.vdu_id)
@@ -909,9 +913,9 @@
def _get_virtual_link_request_info(self):
"""
- Returns object of type RwcalYang.VirtualLinkReqParams
+ Returns object of type RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams
"""
- vlink = RwcalYang.VirtualLinkReqParams()
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams()
vlink.name = 'rift.cal.virtual_link'
vlink.subnet = '192.168.1.0/24'
if openstack_info['physical_network']:
@@ -925,9 +929,9 @@
def _get_vdu_request_info(self, virtual_link_id):
"""
- Returns object of type RwcalYang.VDUInitParams
+ Returns object of type RwcalYang.YangData_RwProject_Project_VduInitParams
"""
- vdu = RwcalYang.VDUInitParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams()
vdu.name = "cal.vdu"
vdu.node_id = OpenStackTest.NodeID
vdu.image_id = self._image.id
@@ -963,9 +967,9 @@
def _get_vdu_modify_request_info(self, vdu_id, virtual_link_id):
"""
- Returns object of type RwcalYang.VDUModifyParams
+ Returns object of type RwcalYang.YangData_RwProject_Project_VduModifyParams
"""
- vdu = RwcalYang.VDUModifyParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduModifyParams()
vdu.vdu_id = vdu_id
c1 = vdu.connection_points_add.add()
c1.name = "c_modify1"
@@ -975,9 +979,9 @@
def _get_rbsh_vdu_request_info(self, vlink_list):
"""
- Returns object of type RwcalYang.VDUInitParams
+ Returns object of type RwcalYang.YangData_RwProject_Project_VduInitParams
"""
- vdu = RwcalYang.VDUInitParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams()
vdu.name = "cal_rbsh_vdu"
vdu.vm_flavor.memory_mb = 2048
vdu.vm_flavor.vcpu_count = 1
@@ -1034,7 +1038,7 @@
logger.info("Openstack-CAL-Test: Test Create Virtual Link API")
vlink_list = []
for ctr in range(3):
- vlink = RwcalYang.VirtualLinkReqParams()
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams()
vlink.name = 'rift.cal.virtual_link' + str(ctr)
vlink.subnet = '11.0.{}.0/24'.format(str(1 + ctr))
@@ -1062,7 +1066,11 @@
test_vdu_id = rsp
## Check if VDU get is successful
- rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id)
+ rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id, "")
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
logger.debug("Get VDU response %s", rsp)
self.assertEqual(rsp.vdu_id, test_vdu_id)
@@ -1073,8 +1081,11 @@
vdu_state = 'inactive'
cp_state = 'inactive'
for i in range(15):
- rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id, "")
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
logger.info("Openstack-CAL-Test: Iter %d VDU with id : %s. Reached State : %s, mgmt ip %s" %(i, test_vdu_id, rsp.state, rsp.management_ip))
if (rsp.state == 'active') and ('management_ip' in rsp) and ('public_ip' in rsp):
vdu_state = 'active'
@@ -1094,7 +1105,7 @@
### Check vdu list as well
rc, rsp = self.cal.get_vdu_list(self._acct)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
found = False
logger.debug("Get VDU response %s", rsp)
for vdu in rsp.vdu_info_list:
@@ -1103,7 +1114,7 @@
self.assertEqual(found, True)
logger.info("Openstack-CAL-Test: Passed VDU list" )
- @unittest.skip("Skipping test_create_delete_virtual_link_and_vdu")
+ #@unittest.skip("Skipping test_create_delete_virtual_link_and_vdu")
def test_create_delete_virtual_link_and_vdu(self):
"""
Test to create VDU
@@ -1132,18 +1143,30 @@
vdu_id = rsp
## Check if VDU create is successful
- rc, rsp = self.cal.get_vdu(self._acct, rsp)
+ rc, rsp = self.cal.get_vdu(self._acct, rsp, "")
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
self.assertEqual(rsp.vdu_id, vdu_id)
### Wait until vdu_state is active
for i in range(50):
- rc, rs = self.cal.get_vdu(self._acct, vdu_id)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ rc, rs = self.cal.get_vdu(self._acct, vdu_id, "")
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
logger.info("Openstack-CAL-Test: VDU with id : %s. Reached State : %s" %(vdu_id, rs.state))
if rs.state == 'active':
break
- rc, rs = self.cal.get_vdu(self._acct, vdu_id)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ rc, rs = self.cal.get_vdu(self._acct, vdu_id, "")
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
self.assertEqual(rs.state, 'active')
logger.info("Openstack-CAL-Test: VDU with id : %s reached expected state : %s" %(vdu_id, rs.state))
logger.info("Openstack-CAL-Test: VDUInfo: %s" %(rs))
@@ -1174,7 +1197,7 @@
time.sleep(5)
### Verify that VDU and virtual link are successfully deleted
rc, rsp = self.cal.get_vdu_list(self._acct)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
for vdu in rsp.vdu_info_list:
self.assertNotEqual(vdu.vdu_id, vdu_id)
@@ -1188,9 +1211,9 @@
def _get_vol_vdu_request_info(self, vlink_list):
"""
- Returns object of type RwcalYang.VDUInitParams
+ Returns object of type RwcalYang.YangData_RwProject_Project_VduInitParams
"""
- vdu = RwcalYang.VDUInitParams()
+ vdu = RwcalYang.YangData_RwProject_Project_VduInitParams()
vdu.name = "cal_vdu"
vdu.vm_flavor.memory_mb = 512
vdu.vm_flavor.vcpu_count = 1
@@ -1230,7 +1253,7 @@
"""
logger.info("Openstack-CAL-Test: Test Create Virtual Link API")
vlink_list = []
- vlink = RwcalYang.VirtualLinkReqParams()
+ vlink = RwcalYang.YangData_RwProject_Project_VirtualLinkReqParams()
vlink.name = 'rift.cal.virtual_link'
vlink.subnet = '11.0.1.0/24'
@@ -1258,7 +1281,12 @@
test_vdu_id = rsp
## Check if VDU get is successful
- rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id)
+ rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id, "")
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+
logger.debug("Get VDU response %s", rsp)
self.assertEqual(rsp.vdu_id, test_vdu_id)
@@ -1269,8 +1297,11 @@
vdu_state = 'inactive'
cp_state = 'inactive'
for i in range(5):
- rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ rc, rsp = self.cal.get_vdu(self._acct, test_vdu_id, "")
+ # Make changes for the third argument (currently None for mgmt_network).
+ # This is the mgmt_network published in the vdur (vdu.mgmt_network).
+ # Pass accordingly as per the use case of the test.
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
logger.info("Openstack-CAL-Test: VDU with id : %s. Reached State : %s, mgmt ip %s" %(test_vdu_id, rsp.state, rsp.management_ip))
if (rsp.state == 'active') and ('management_ip' in rsp) and ('public_ip' in rsp):
vdu_state = 'active'
@@ -1294,7 +1325,7 @@
### Check vdu list as well
rc, rsp = self.cal.get_vdu_list(self._acct)
- self.assertEqual(rc, RwStatus.SUCCESS)
+ self.assertEqual(rc.status, RwStatus.SUCCESS)
found = False
logger.debug("Get VDU response %s", rsp)
for vdu in rsp.vdu_info_list: