Mirror service

Allows to host mirror for the current version of EVA ICS distribution and Python modules if venv is configured.

Updating mirror files on the source node

Note

The files must be updated every time the source node is updated to a new version/build.

Use either eva-shell:

eva mirror update

or EVA Cloud Manager CLI:

/opt/eva4/bin/eva-cloud-manager node mirror-update

Configuring mirror on target nodes

Use either eva-shell:

eva mirror set <URL>

or EVA Cloud Manager CLI:

/opt/eva4/bin/eva-cloud-manager node mirror-set <URL>

To change URLs back to the default, use:

eva mirror set default
# or
/opt/eva4/bin/eva-cloud-manager node mirror-set default

Note

If Python virtual environment is used, use eva-shell only for the mirror switching.

Setup

Use the template EVA_DIR/share/svc-tpl/svc-tpl-mirror.yml:

command: svc/eva-svc-mirror
bus:
  path: var/bus.ipc
config:
  listen: 0.0.0.0:7780
  mime_types: share/mime.yml
  mirror_path: mirror
  buf_size: 16384
user: nobody

Create the service using eva-shell:

eva svc create eva.svc.mirror /opt/eva4/share/svc-tpl/svc-tpl-mirror.yml

or using the bus CLI client:

cd /opt/eva4
cat DEPLOY.yml | ./bin/yml2mp | \
    ./sbin/bus ./var/bus.ipc rpc call eva.core svc.deploy -

(see eva.core::svc.deploy for more info)