def METHOD_NAME(cls):
    cls.testClient = super(TestDeployVmWithUserDataMultiNic, cls).getClsTestClient()
    cls.api_client = cls.testClient.getApiClient()
    cls.test_data = cls.testClient.getParsedTestDataConfig()
    # Get Domain, Zone, Template
    cls.domain = get_domain(cls.api_client)
    cls.zone = get_zone(
        cls.api_client,
        cls.testClient.getZoneForTests())
    cls.template = get_template(
        cls.api_client,
        cls.zone.id,
        cls.test_data["ostype"]
    )
    if cls.zone.localstorageenabled:
        cls.storagetype = 'local'
        cls.test_data["service_offerings"][
            "tiny"]["storagetype"] = 'local'
    else:
        cls.storagetype = 'shared'
        cls.test_data["service_offerings"][
            "tiny"]["storagetype"] = 'shared'
    cls.service_offering = ServiceOffering.create(
        cls.api_client,
        cls.test_data["service_offerings"]["tiny"]
    )
    # Create Network offering without userdata
    cls.network_offering_nouserdata = NetworkOffering.create(
        cls.api_client,
        cls.test_data["network_offering"]
    )
    # Enable Network offering
    cls.network_offering_nouserdata.update(cls.api_client, state='Enabled')
    # Create Network Offering with all the serices
    cls.network_offering_all = NetworkOffering.create(
        cls.api_client,
        cls.test_data["isolated_network_offering"]
    )
    # Enable Network offering
    cls.network_offering_all.update(cls.api_client, state='Enabled')
    cls._cleanup = [
        cls.service_offering,
        cls.network_offering_nouserdata,
        cls.network_offering_all
    ]
    # Generate userdata of 2500 bytes. This is larger than the 2048 bytes limit.
    # CS however allows for upto 4K bytes in the code. So this must succeed.
    # Overall, the query length must not exceed 4K, for then the json decoder
    # will fail this operation at the marvin client side itcls.
    cls.userdata = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(2500))