@classmethod
def recreate_server(cls, server_id, validatable=False, **kwargs):
    'Destroy an existing class level server and creates a new one\n\n        Some test classes use a test server that can be used by multiple\n        tests. This is done to optimise runtime and test load.\n        If something goes wrong with the test server, it can be rebuilt\n        using this helper.\n\n        This helper can also be used for the initial provisioning if no\n        server_id is specified.\n\n        :param server_id: UUID of the server to be rebuilt. If None is\n            specified, a new server is provisioned.\n        :param validatable: whether to the server needs to be\n            validatable. When True, validation resources are acquired via\n            the `get_class_validation_resources` helper.\n        :param kwargs: extra paramaters are passed through to the\n            `create_test_server` call.\n        :return: the UUID of the created server.\n        '
    if server_id:
        cls.delete_server(server_id)
    cls.password = data_utils.rand_password()
    server = cls.create_test_server(validatable, validation_resources=cls.get_class_validation_resources(cls.os_primary), wait_until='ACTIVE', adminPass=cls.password, **kwargs)
    return server['id']
Destroy an existing class level server and creates a new one

Some test classes use a test server that can be used by multiple
tests. This is done to optimise runtime and test load.
If something goes wrong with the test server, it can be rebuilt
using this helper.

This helper can also be used for the initial provisioning if no
server_id is specified.

:param server_id: UUID of the server to be rebuilt. If None is
    specified, a new server is provisioned.
:param validatable: whether to the server needs to be
    validatable. When True, validation resources are acquired via
    the `get_class_validation_resources` helper.
:param kwargs: extra paramaters are passed through to the
    `create_test_server` call.
:return: the UUID of the created server.
@classmethod
def recreate_server(cls, server_id, validatable=False, **kwargs):
    'Destroy an existing class level server and creates a new one\n\n        Some test classes use a test server that can be used by multiple\n        tests. This is done to optimise runtime and test load.\n        If something goes wrong with the test server, it can be rebuilt\n        using this helper.\n\n        This helper can also be used for the initial provisioning if no\n        server_id is specified.\n\n        :param server_id: UUID of the server to be rebuilt. If None is\n            specified, a new server is provisioned.\n        :param validatable: whether to the server needs to be\n            validatable. When True, validation resources are acquired via\n            the `get_class_validation_resources` helper.\n        :param kwargs: extra paramaters are passed through to the\n            `create_test_server` call.\n        :return: the UUID of the created server.\n        '
    if server_id:
        cls.delete_server(server_id)
    cls.password = data_utils.rand_password()
    server = cls.create_test_server(validatable, validation_resources=cls.get_class_validation_resources(cls.os_primary), wait_until='ACTIVE', adminPass=cls.password, **kwargs)
    return server['id']