barcus/bareos

WebUI: Restore tab doesn't show backups for offline client

Closed this issue · 1 comments

b2ag commented

Hi,

I noticed that when I remove a client from the Bareos configuration I'm no longer able to find it in the Restore section of the Web User Interface. I created a "stub" client config in the director which results in the client showing up in the web interface again but selecting it gives me a No backups of client xyz found error message. I managed to restore files using the web interface by going via Clients, select the offline client, select a job and click on the restore icon in the Actions column. This leads to the same error message but restore works none the less. 🤷

I'm still new to Bareos so I would like to know if this is expected behavior or if I struck a bug here.

I'm using the latest Docker images on a small Docker Swarm cluster.

Thanks and best regards,
Thomas

2022-11-15_23-28

2022-11-15_23-30

2022-11-15_23-30_1

docker-compose.yml

version: '3.8'

x-default-deploy:
  &x-default-deploy
  placement:
    constraints:
      - node.labels.enable.service.bareos == true
  mode: replicated
  replicas: 1

services:
  director:
    image: barcus/bareos-director:latest
    environment:
      #ALL_PROXY: "http://192.168.0.254:3128" # Needed for bootstrapping configs
      DB_INIT: "false"
      DB_UPDATE: "false"
      DB_HOST: "database"
      DB_PORT: "5432"
      DB_NAME: "bareos"
      DB_USER: "bareos"
      DB_PASSWORD: ${DB_PASSWORD} # defined in .env file
      DB_ADMIN_USER: ${DB_ADMIN_USER} # defined in .env file
      DB_ADMIN_PASSWORD: ${DB_ADMIN_PASSWORD} # defined in .env file
      BAREOS_FD_HOST: "filedaemon0"
      BAREOS_FD_PASSWORD: ${BAREOS_FD_PASSWORD} # defined in .env file
      BAREOS_SD_HOST: "storage"
      BAREOS_SD_PASSWORD: ${BAREOS_SD_PASSWORD} # defined in .env file
      BAREOS_WEBUI_PASSWORD: ${BAREOS_WEBUI_PASSWORD} # defined in .env file
      SMTP_HOST: "smtpd"
      SENDER_MAIL: "<redacted>"
      ADMIN_MAIL: "<redacted>"
      # Optional you can get backup notification via Slack or Telegram
      #WEBHOOK_NOTIFICATION: true # true or false if set to true email notification gets disabled
      #WEBHOOK_TYPE: slack # choose slack or telegram
      #WEBHOOK_URL:  # set the slack or telegram URL
      #WEBHOOK_CHAT_ID:  # for telegram only set the <chat_id>
      TZ: Europe/Berlin
    configs:
      - { source: 'client.fd-docker-hosts.conf', target: '/etc/bareos/bareos-dir.d/client/fd-docker-hosts.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'client.oldies.conf', target: '/etc/bareos/bareos-dir.d/client/oldies.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'director.bareos-dir.conf', target: '/etc/bareos/bareos-dir.d/director/bareos-dir.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'fileset.docker-volumes.conf', target: '/etc/bareos/bareos-dir.d/fileset/docker-volumes.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'fileset.mitarbeiterdaten1.conf', target: '/etc/bareos/bareos-dir.d/fileset/mitarbeiterdaten1.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'fileset.mitarbeiterdaten2.conf', target: '/etc/bareos/bareos-dir.d/fileset/mitarbeiterdaten2.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'job.backup-docker-volumes.conf', target: '/etc/bareos/bareos-dir.d/job/backup-docker-volumes.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'job.mitarbeiterdaten1.conf', target: '/etc/bareos/bareos-dir.d/job/backup-mitarbeiterdaten1.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'job.mitarbeiterdaten2.conf', target: '/etc/bareos/bareos-dir.d/job/backup-mitarbeiterdaten2.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'pool.Differential.conf', target: '/etc/bareos/bareos-dir.d/pool/Differential.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'messages.Daemon.conf', target: '/etc/bareos/bareos-dir.d/messages/Daemon.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'messages.Standard.conf', target: '/etc/bareos/bareos-dir.d/messages/Standard.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'pool.Full.conf', target: '/etc/bareos/bareos-dir.d/pool/Full.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'pool.Incremental.conf', target: '/etc/bareos/bareos-dir.d/pool/Incremental.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'schedule.WeeklyCycle.conf', target: '/etc/bareos/bareos-dir.d/schedule/WeeklyCycle.conf', uid: '101', gid: '101', mode: 0440 }
      - { source: 'schedule.WeeklyCycleAfterBackup.conf', target: '/etc/bareos/bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf', uid: '101', gid: '101', mode: 0440 }
    volumes:
      - director_config:/etc/bareos
      - director_data:/var/lib/bareos #required for MyCatalog backup
    deploy: *x-default-deploy
    
  database:
    image: postgres:12 # check which version /usr/lib/bareos/scripts/make_catalog_backup.pl uses
    environment:
      POSTGRES_USER: ${DB_ADMIN_USER} # defined in .env file
      POSTGRES_PASSWORD: ${DB_ADMIN_PASSWORD} # defined in .env file
      POSTGRES_INITDB_ARGS: "--encoding=SQL_ASCII"
      TZ: Europe/Berlin
    volumes:
      - database:/var/lib/postgresql/data
    deploy: *x-default-deploy

  api:
    image: barcus/bareos-api:21
    environment:
      BAREOS_DIR_HOST: "director"
      TZ: Europe/Berlin
    ports:
    - 4000:8000
    deploy: *x-default-deploy

  smtpd:
    image: namshi/smtp
    environment:
      #RELAY_NETWORKS: ":10.0.0.0/8:172.0.0.0/8:192.168.0.0/16"
      #RELAY_DOMAINS: "internal.ide.ezbb.de:keh-berlin.de"
      SMARTHOST_ADDRESS: "mail-internal.ide.ezbb.de"
      SMARTHOST_PORT: "1587"
      SMARTHOST_USER: "bareos"
      SMARTHOST_PASSWORD: ${SMTP_PASSWORD}
      SMARTHOST_ALIASES: "mail-internal.ide.ezbb.de"
      TZ: Europe/Berlin
    deploy: *x-default-deploy
 
  storage:
    image: barcus/bareos-storage:latest
    environment:
      BAREOS_SD_PASSWORD: ${BAREOS_SD_PASSWORD} # defined in .env file
      TZ: Europe/Berlin
    ports:
      - 4103:9103
    volumes:
      - storage_config:/etc/bareos
      - benigne-vg1-thin-bareos-storage:/var/lib/bareos/storage
    deploy: *x-default-deploy

  webui:
    image: barcus/bareos-webui:latest
    environment:
      BAREOS_DIR_HOST: "director"
      SERVER_STATS: "yes" #optional enable apache server statistics
      TZ: Europe/Berlin
    ports:
      - 4080:80
    volumes:
      - webui_config:/etc/bareos-webui
    deploy: *x-default-deploy

  filedaemon0:
    image: barcus/bareos-client:latest
    environment:
      BAREOS_FD_PASSWORD: ${BAREOS_FD_PASSWORD} # defined in .env file
      FORCE_ROOT: "true"
      TZ: Europe/Berlin
    volumes:
      - filedaemon0_config:/etc/bareos
      - director_data:/var/lib/bareos-director #required for MyCatalog backup
      - epmose08-doc:/nfs/epmose08/doc
      - epmose08-sys:/nfs/epmose08/sys
    deploy: *x-default-deploy

configs:
  client.fd-docker-hosts.conf:
    file: ./bareos-dir.d/client/fd-docker-hosts.conf
  client.oldies.conf:
    file: ./bareos-dir.d/client/oldies.conf
  director.bareos-dir.conf:
    file: ./bareos-dir.d/director/bareos-dir.conf
  fileset.docker-volumes.conf:
    file: ./bareos-dir.d/fileset/docker-volumes.conf
  fileset.mitarbeiterdaten1.conf:
    file: ./bareos-dir.d/fileset/mitarbeiterdaten1.conf
  fileset.mitarbeiterdaten2.conf:
    file: ./bareos-dir.d/fileset/mitarbeiterdaten2.conf
  job.backup-docker-volumes.conf:
    file: ./bareos-dir.d/job/backup-docker-volumes.conf
  job.mitarbeiterdaten1.conf:
    file: ./bareos-dir.d/job/backup-mitarbeiterdaten1.conf
  job.mitarbeiterdaten2.conf:
    file: ./bareos-dir.d/job/backup-mitarbeiterdaten2.conf
  messages.Daemon.conf:
    file: ./bareos-dir.d/messages/Daemon.conf
  messages.Standard.conf:
    file: ./bareos-dir.d/messages/Standard.conf
  pool.Differential.conf:
    file: ./bareos-dir.d/pool/Differential.conf
  pool.Full.conf:
    file: ./bareos-dir.d/pool/Full.conf
  pool.Incremental.conf:
    file: ./bareos-dir.d/pool/Incremental.conf
  schedule.WeeklyCycle.conf:
    file: ./bareos-dir.d/schedule/WeeklyCycle.conf
  schedule.WeeklyCycleAfterBackup.conf:
    file: ./bareos-dir.d/schedule/WeeklyCycleAfterBackup.conf

volumes:
  director_config:
  director_data:
  database:
  storage_config:
  storage_data:
  webui_config:
  filedaemon0_config:
  filedaemons-docker-volumes_config:
  epmose08-doc: {driver_opts: {type: "nfs", o: "addr=192.168.0.108,rw", device: ":/DOC"}}
  epmose08-sys: {driver_opts: {type: "nfs", o: "addr=192.168.0.108,rw", device: ":/SYS"}}
  benigne-vg1-thin-bareos-storage: {driver_opts: {type: "nfs", o: "addr=192.168.0.115,nfsvers=4,rw", device: ":/lvm/benigne-vg1/thin/bareos-storage"}} 

docker-compose-file-fd-docker.yml

# File autogenerated. Do not edit!
version: "3.8"

services:

  fd-docker-ep-docker-vm-1:
    image: barcus/bareos-client:latest
    environment:
      BAREOS_FD_PASSWORD: ${BAROES_FDS_DOCKER_PASSWORD} # defined in .env file
      FORCE_ROOT: "true"
      TZ: Europe/Berlin
    volumes:
      - filedaemons-docker-volumes_config:/etc/bareos
      - /var/lib/docker/volumes:/docker-volumes:rw
    deploy:
      placement:
        constraints:
          - node.hostname == ep-docker-vm-1
      mode: replicated
      replicas: 1

  fd-docker-ep-docker-vm-2:
    image: barcus/bareos-client:latest
    environment:
      BAREOS_FD_PASSWORD: ${BAROES_FDS_DOCKER_PASSWORD} # defined in .env file
      FORCE_ROOT: "true"
      TZ: Europe/Berlin
    volumes:
      - filedaemons-docker-volumes_config:/etc/bareos
      - /var/lib/docker/volumes:/docker-volumes:rw
    deploy:
      placement:
        constraints:
          - node.hostname == ep-docker-vm-2
      mode: replicated
      replicas: 1

  fd-docker-ep-docker-vm-3:
    image: barcus/bareos-client:latest
    environment:
      BAREOS_FD_PASSWORD: ${BAROES_FDS_DOCKER_PASSWORD} # defined in .env file
      FORCE_ROOT: "true"
      TZ: Europe/Berlin
    volumes:
      - filedaemons-docker-volumes_config:/etc/bareos
      - /var/lib/docker/volumes:/docker-volumes:rw
    deploy:
      placement:
        constraints:
          - node.hostname == ep-docker-vm-3
      mode: replicated
      replicas: 1

  fd-docker-ep-rickly:
    image: barcus/bareos-client:latest
    environment:
      BAREOS_FD_PASSWORD: ${BAROES_FDS_DOCKER_PASSWORD} # defined in .env file
      FORCE_ROOT: "true"
      TZ: Europe/Berlin
    volumes:
      - filedaemons-docker-volumes_config:/etc/bareos
      - /var/lib/docker/volumes:/docker-volumes:rw
    deploy:
      placement:
        constraints:
          - node.hostname == ep-rickly
      mode: replicated
      replicas: 1
b2ag commented

I just noticed the bareos bugtracker is on https://bugs.bareos.org . Sorry for the inconvenience.