From 6a5f13adecf7c073be55ac3d2e11883e148a04e2 Mon Sep 17 00:00:00 2001 From: Gaurav Aradhye Date: Thu, 18 Jul 2013 22:48:57 -0400 Subject: [PATCH] CLOUDSTACK-3452: Created security group for basic mode to allow SSH to vm Signed-off-by: Prasanna Santhanam --- tools/marvin/marvin/integration/lib/base.py | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/tools/marvin/marvin/integration/lib/base.py b/tools/marvin/marvin/integration/lib/base.py index 8b35127c117..13507bc8ac4 100755 --- a/tools/marvin/marvin/integration/lib/base.py +++ b/tools/marvin/marvin/integration/lib/base.py @@ -293,6 +293,41 @@ class VirtualMachine: if securitygroupids: cmd.securitygroupids = [str(sg_id) for sg_id in securitygroupids] + if mode.lower() == 'basic': + list_security_groups = SecurityGroup.list( + apiclient, + securitygroupname="basic_sec_grp" + ) + + if not isinstance(list_security_groups, list): + basic_mode_security_group = SecurityGroup.create( + apiclient, + {"name":"basic_sec_grp"} + ) + sec_grp_services = {"protocol": "TCP", + "startport": 22, + "endport":22, + "cidrlist": "0.0.0.0/0" + } + + #Authorize security group for above ingress rule + cmd_auth = authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd() + cmd_auth.domainid = cmd.domainid + cmd_auth.account = cmd.account + cmd_auth.securitygroupid = basic_mode_security_group.id + cmd_auth.protocol = sec_grp_services["protocol"] + cmd_auth.startport = sec_grp_services["startport"] + cmd_auth.endport = sec_grp_services["endport"] + cmd_auth.cidrlist = sec_grp_services["cidrlist"] + apiclient.authorizeSecurityGroupIngress(cmd_auth) + + else: + basic_mode_security_group = list_security_groups[0] + + if isinstance(cmd.securitygroupids, list): + cmd.securitygroupids.append(basic_mode_security_group.id) + else: + cmd.securitygroupids = [basic_mode_security_group.id] if "affinitygroupnames" in services: cmd.affinitygroupnames = services["affinitygroupnames"]