def _restore_default_syncd(duthost, creds): """Replaces the running syncd with the default syncd that comes with the image. Args: duthost (SonicHost): The target device. creds (dict): Credentials used to access the docker registry. """ vendor_id = _get_sai_running_vendor_id(duthost) docker_syncd_name = "docker-{}-{}".format(SYNCD_CONATINER, vendor_id) duthost.stop_service("swss") duthost.delete_container(SYNCD_CONATINER) tag_image( duthost, "{}:latest".format(docker_syncd_name), docker_syncd_name, duthost.os_version ) # Remove the RPC image from the duthost docker_rpc_image = docker_syncd_name + "-rpc" registry = load_docker_registry_info(duthost, creds) duthost.command( "docker rmi {}/{}:{}".format(registry.host, docker_rpc_image, duthost.os_version), module_ignore_errors=True )
def _deploy_saiserver(duthost, creds): """Deploy a saiserver docker for SAI testing. This will stop the swss and syncd, then download a new Docker image to the duthost. Args: duthost (SonicHost): The target device. creds (dict): Credentials used to access the docker registry. """ vendor_id = _get_sai_running_vendor_id(duthost) docker_saiserver_name = "docker-saiserver-{}".format(vendor_id) docker_saiserver_image = docker_saiserver_name # Force image download to go through mgmt network duthost.command("config bgp shutdown all") # Set sysctl RCVBUF parameter for tests duthost.command("sysctl -w net.core.rmem_max=609430500") # Set sysctl SENDBUF parameter for tests duthost.command("sysctl -w net.core.wmem_max=609430500") logger.info("Loading docker image: {} ...".format(docker_saiserver_image)) registry = load_docker_registry_info(duthost, creds) download_image(duthost, registry, docker_saiserver_image, duthost.os_version) tag_image( duthost, "{}:latest".format(docker_saiserver_name), "{}/{}".format(registry.host, docker_saiserver_image), duthost.os_version )
def _deploy_syncd_rpc_as_syncd(duthost, creds): """Replaces the running syncd container with the RPC version of it. This will download a new Docker image to the duthost. service. Args: duthost (SonicHost): The target device. creds (dict): Credentials used to access the docker registry. """ vendor_id = _get_sai_running_vendor_id(duthost) docker_syncd_name = "docker-{}-{}".format(SYNCD_CONATINER, vendor_id) docker_rpc_image = docker_syncd_name + "-rpc" # Force image download to go through mgmt network duthost.command("config bgp shutdown all") duthost.stop_service("swss") duthost.delete_container(SYNCD_CONATINER) # Set sysctl RCVBUF parameter for tests duthost.command("sysctl -w net.core.rmem_max=609430500") # Set sysctl SENDBUF parameter for tests duthost.command("sysctl -w net.core.wmem_max=609430500") logger.info("Loading docker image: {} ...".format(docker_rpc_image)) registry = load_docker_registry_info(duthost, creds) download_image(duthost, registry, docker_rpc_image, duthost.os_version) logger.info("Swapping docker container from image: [{}] to [{}] ...".format(docker_rpc_image, docker_syncd_name)) tag_image( duthost, "{}:latest".format(docker_syncd_name), "{}/{}".format(registry.host, docker_rpc_image), duthost.os_version )