Example #1
0
 def getConfigurationValue(self, name, scope="global"):
     listConfigurationsCmd = listConfigurations.listConfigurationsCmd()
     listConfigurationsCmd.name = name
     listConfigurationsCmd.scopename = scope
     if scope is "zone":
         listConfigurationsCmd.zoneid = self.zone.id
     return self.api_client.listConfigurations(listConfigurationsCmd)
Example #2
0
 def getConfigurationValue(self, name, scope="global"):
     listConfigurationsCmd = listConfigurations.listConfigurationsCmd()
     listConfigurationsCmd.name = name
     listConfigurationsCmd.scopename = scope
     if scope is "zone":
         listConfigurationsCmd.zoneid = self.zone.id
     return self.api_client.listConfigurations(listConfigurationsCmd)
Example #3
0
def list_configurations(apiclient, **kwargs):
    """List configuration with specified name"""

    cmd = listConfigurations.listConfigurationsCmd()
    [setattr(cmd, k, v) for k, v in kwargs.items()]
    if "account" in kwargs.keys() and "domainid" in kwargs.keys():
        cmd.listall = True
    return apiclient.listConfigurations(cmd)
Example #4
0
def list_configurations(api_client, **kwargs):
    """List configuration with specified name"""

    cmd = listConfigurations.listConfigurationsCmd()
    [setattr(cmd, k, v) for k, v in kwargs.items()]
    if 'account' in kwargs.keys() and 'domainid' in kwargs.keys():
        cmd.listall = True
    return api_client.listConfigurations(cmd)
Example #5
0
 def get_restrict_template_configuration(self, domain_id):
     """
     Function to get the global setting "restrict.public.access.to.templates" for domain
     """
     list_configurations_cmd = listConfigurations.listConfigurationsCmd()
     list_configurations_cmd.name = "restrict.public.template.access.to.domain"
     list_configurations_cmd.scopename = "domain"
     list_configurations_cmd.scopeid = domain_id
     response = self.apiclient.listConfigurations(list_configurations_cmd)
     return response[0].value
Example #6
0
def wait_for_cleanup(apiclient, configs=None):
    """Sleeps till the cleanup configs passed"""

    # Configs list consists of the list of global configs
    if not isinstance(configs, list):
        return
    for config in configs:
        cmd = listConfigurations.listConfigurationsCmd()
        cmd.name = config
        cmd.listall = True
        try:
            config_descs = apiclient.listConfigurations(cmd)
        except Exception as e:
            raise Exception("Failed to fetch configurations: %s" % e)

        if not isinstance(config_descs, list):
            raise Exception("List configs didn't returned a valid data")

        config_desc = config_descs[0]
        # Sleep for the config_desc.value time
        time.sleep(int(config_desc.value))
    return
Example #7
0
def wait_for_cleanup(apiclient, configs=None):
    """Sleeps till the cleanup configs passed"""

    # Configs list consists of the list of global configs
    if not isinstance(configs, list):
        return
    for config in configs:
        cmd = listConfigurations.listConfigurationsCmd()
        cmd.name = config
        cmd.listall = True
        try:
            config_descs = apiclient.listConfigurations(cmd)
        except Exception as e:
            raise Exception("Failed to fetch configurations: %s" % e)

        if not isinstance(config_descs, list):
            raise Exception("List configs didn't returned a valid data")

        config_desc = config_descs[0]
        # Sleep for the config_desc.value time
        time.sleep(int(config_desc.value))
    return
Example #8
0
    def setUpClass(cls):
        cls.debug("setUpClass nuageTestCase")

        # We want to fail quicker, if it's a failure
        socket.setdefaulttimeout(60)

        test_client = super(nuageTestCase, cls).getClsTestClient()
        cls.api_client = test_client.getApiClient()
        cls.db_client = test_client.getDbConnection()
        cls.test_data = test_client.getParsedTestDataConfig()

        # Get Zone, Domain and templates
        cls.zone = get_zone(cls.api_client)
        cls.domain = get_domain(cls.api_client)
        cls.template = get_template(cls.api_client, cls.zone.id,
                                    cls.test_data["ostype"])
        cls.test_data["virtual_machine"]["zoneid"] = cls.zone.id
        cls.test_data["virtual_machine"]["template"] = cls.template.id

        # Create service offering
        cls.service_offering = ServiceOffering.create(
            cls.api_client, cls.test_data["service_offering"])
        cls._cleanup = [cls.service_offering]

        # Get configured Nuage Vsp device details
        try:
            resp = listPhysicalNetworks.listPhysicalNetworksCmd()
            resp.zoneid = cls.zone.id
            physical_networks = cls.api_client.listPhysicalNetworks(resp)
            for pn in physical_networks:
                if pn.isolationmethods == 'VSP':
                    cls.vsp_physical_network = pn
                    break
            cls.nuage_vsp_device = Nuage.list(
                cls.api_client,
                physicalnetworkid=cls.vsp_physical_network.id)[0]
            pns = cls.config.zones[0].physical_networks
            providers = filter(
                lambda physical_network: 'VSP' in physical_network.
                isolationmethods, pns)[0].providers
            devices = filter(lambda provider: provider.name == 'NuageVsp',
                             providers)[0].devices
            cls.nuage_vsp_device.username = devices[0].username
            cls.nuage_vsp_device.password = devices[0].password
            listConfigurationsCmd = listConfigurations.listConfigurationsCmd()
            listConfigurationsCmd.name = "nuagevsp.cms.id"
            listConfigurationsCmd.scopename = "global"
            cs_config_dict = cls.api_client.listConfigurations(
                listConfigurationsCmd)
            cls.cms_id = str(cs_config_dict[0].value).split(":")[1]
        except Exception as e:
            cls.tearDownClass()
            raise unittest.SkipTest(
                "Warning: Couldn't get configured Nuage Vsp device details: %s"
                % e)

        # Check if the host hypervisor type is simulator
        resp = listHypervisors.listHypervisorsCmd()
        resp.zoneid = cls.zone.id
        cls.isSimulator = cls.api_client.listHypervisors(
            resp)[0].name == 'Simulator'

        # VSD is a Python SDK for Nuage Vsp
        try:
            vspk_module = "vspk." + cls.nuage_vsp_device.apiversion if int(cls.nuage_vsp_device.apiversion[1]) >= 4 \
                else "vspk.vsdk." + cls.nuage_vsp_device.apiversion
            vsdk = importlib.import_module(vspk_module)
            vspk_utils_module = "vspk.utils" if int(cls.nuage_vsp_device.apiversion[1]) >= 4 \
                else "vspk.vsdk." + cls.nuage_vsp_device.apiversion + ".utils"
            vsdk_utils = importlib.import_module(vspk_utils_module)
            set_log_level = getattr(vsdk_utils, "set_log_level")
            from cms_vspk_wrapper.cms_vspk_wrapper import Cms_vspk_wrapper
        except:
            raise unittest.SkipTest(
                "vspk (and/or) cms_vspk_wrapper import failure")

        # Configure VSD session
        cls._session = vsdk.NUVSDSession(
            username=cls.nuage_vsp_device.username,
            password=cls.nuage_vsp_device.password,
            enterprise="csp",
            api_url="https://%s:%d" %
            (cls.nuage_vsp_device.hostname, cls.nuage_vsp_device.port))
        cls._session.start()

        # Configure cms_vspk_wrapper session
        cls.log_handler = logging.getLogger("CSLog").handlers[0]
        vsd_info = cls.nuage_vsp_device.__dict__
        vsd_info["port"] = str(vsd_info["port"])
        cls.vsd = Cms_vspk_wrapper(vsd_info, cls.log_handler)

        set_log_level(logging.INFO)

        cls.debug("setUpClass nuageTestCase [DONE]")
Example #9
0
def list_configurations(apiclient, **kwargs):
    """List configuration with specified name"""

    cmd = listConfigurations.listConfigurationsCmd()
    [setattr(cmd, k, v) for k, v in kwargs.items()]
    return(apiclient.listConfigurations(cmd))
Example #10
0
def list_configurations(apiclient, **kwargs):
    """List configuration with specified name"""

    cmd = listConfigurations.listConfigurationsCmd()
    [setattr(cmd, k, v) for k, v in kwargs.items()]
    return (apiclient.listConfigurations(cmd))
Example #11
0
    def setUpClass(cls):
        cls.debug("setUpClass nuageTestCase")

        # We want to fail quicker, if it's a failure
        socket.setdefaulttimeout(60)

        test_client = super(nuageTestCase, cls).getClsTestClient()
        cls.api_client = test_client.getApiClient()
        cls.db_client = test_client.getDbConnection()
        cls.test_data = test_client.getParsedTestDataConfig()

        # Get Zone, Domain and templates
        cls.zone = get_zone(cls.api_client)
        cls.domain = get_domain(cls.api_client)
        cls.template = get_template(cls.api_client,
                                    cls.zone.id,
                                    cls.test_data["ostype"]
                                    )
        cls.test_data["virtual_machine"]["zoneid"] = cls.zone.id
        cls.test_data["virtual_machine"]["template"] = cls.template.id

        # Create service offering
        cls.service_offering = ServiceOffering.create(cls.api_client,
                                                      cls.test_data["service_offering"]
                                                      )
        cls._cleanup = [cls.service_offering]

        # Get configured Nuage Vsp device details
        try:
            resp = listPhysicalNetworks.listPhysicalNetworksCmd()
            resp.zoneid = cls.zone.id
            physical_networks = cls.api_client.listPhysicalNetworks(resp)
            for pn in physical_networks:
                if pn.isolationmethods == 'VSP':
                    cls.vsp_physical_network = pn
                    break
            cls.nuage_vsp_device = Nuage.list(cls.api_client,
                                              physicalnetworkid=cls.vsp_physical_network.id
                                              )[0]
            pns = cls.config.zones[0].physical_networks
            providers = filter(lambda physical_network: 'VSP' in physical_network.isolationmethods, pns)[0].providers
            devices = filter(lambda provider: provider.name == 'NuageVsp', providers)[0].devices
            cls.nuage_vsp_device.username = devices[0].username
            cls.nuage_vsp_device.password = devices[0].password
            listConfigurationsCmd = listConfigurations.listConfigurationsCmd()
            listConfigurationsCmd.name = "nuagevsp.cms.id"
            listConfigurationsCmd.scopename = "global"
            cs_config_dict = cls.api_client.listConfigurations(listConfigurationsCmd)
            cls.cms_id = str(cs_config_dict[0].value).split(":")[1]
        except Exception as e:
            cls.tearDownClass()
            raise unittest.SkipTest("Warning: Couldn't get configured Nuage Vsp device details: %s" % e)

        # Check if the host hypervisor type is simulator
        resp = listHypervisors.listHypervisorsCmd()
        resp.zoneid = cls.zone.id
        cls.isSimulator = cls.api_client.listHypervisors(resp)[0].name == 'Simulator'

        # VSD is a Python SDK for Nuage Vsp
        try:
            vspk_module = "vspk." + cls.nuage_vsp_device.apiversion if int(cls.nuage_vsp_device.apiversion[1]) >= 4 \
                else "vspk.vsdk." + cls.nuage_vsp_device.apiversion
            vsdk = importlib.import_module(vspk_module)
            vspk_utils_module = "vspk.utils" if int(cls.nuage_vsp_device.apiversion[1]) >= 4 \
                else "vspk.vsdk." + cls.nuage_vsp_device.apiversion + ".utils"
            vsdk_utils = importlib.import_module(vspk_utils_module)
            set_log_level = getattr(vsdk_utils, "set_log_level")
            from cms_vspk_wrapper.cms_vspk_wrapper import Cms_vspk_wrapper
        except:
            raise unittest.SkipTest("vspk (and/or) cms_vspk_wrapper import failure")

        # Configure VSD session
        cls._session = vsdk.NUVSDSession(username=cls.nuage_vsp_device.username,
                                         password=cls.nuage_vsp_device.password,
                                         enterprise="csp", api_url="https://%s:%d" %
                                                                   (cls.nuage_vsp_device.hostname,
                                                                    cls.nuage_vsp_device.port)
                                         )
        cls._session.start()

        # Configure cms_vspk_wrapper session
        cls.log_handler = logging.getLogger("CSLog").handlers[0]
        vsd_info = cls.nuage_vsp_device.__dict__
        vsd_info["port"] = str(vsd_info["port"])
        cls.vsd = Cms_vspk_wrapper(vsd_info, cls.log_handler)

        set_log_level(logging.INFO)

        cls.debug("setUpClass nuageTestCase [DONE]")