Skip to content

External redis crash fix #571

@HarryAtMove

Description

@HarryAtMove

When specifying the redis_ip for the DockerContainerManager constructor, then connecting to Clipper an exception will be thrown similiar to the following.

    clipper_conn.start_clipper()
  File "/app/anaconda3/envs/ml-serve/lib/python3.6/site-packages/clipper_admin-develop-py3.6.egg/clipper_admin/clipper_admin.py", line 126, in start_clipper
    num_frontend_replicas)
  File "/app/anaconda3/envs/ml-serve/lib/python3.6/site-packages/clipper_admin-develop-py3.6.egg/clipper_admin/docker/docker_container_manager.py", line 246, in start_clipper
    self.connect()
  File "/app/anaconda3/envs/ml-serve/lib/python3.6/site-packages/clipper_admin-develop-py3.6.egg/clipper_admin/docker/docker_container_manager.py", line 265, in connect
    self.redis_port = all_labels[CLIPPER_DOCKER_PORT_LABELS['redis']]
KeyError: 'ai.clipper.redis.port'

The fix for this is to skip port look up and use the value of self.redis_port by replacing line 261 of clipper/clipper_admin/clipper_admin/docker/docker_container_manager.py with the following:

        if not self.external_redis:
            self.redis_port = all_labels[CLIPPER_DOCKER_PORT_LABELS['redis']]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions