ebbba-org / ansible-role-bigbluebutton

Ansible role for a bigbluebutton installation (following the documentation on https://docs.bigbluebutton.org/administration/install and https://github.com/bigbluebutton/bigbluebutton)
https://www.ebbba.org/
MIT License
124 stars 82 forks source link

[BUG] Role fails because apparmor and apparmor utils package is missing #341

Closed dimitrihof closed 1 year ago

dimitrihof commented 1 year ago

Describe the bug Role fails because apparmor and apparmor utils package is missing - I think it fails at the task with the libreoffice container Link from the original issue https://github.com/bigbluebutton/bbb-install/issues/600

To Reproduce Run Role and see it failing because of missing apparmor dependencies

Expected behavior All dependencies should be installed with the role.

Your variables for this role - be sure to remove any sensitive information

- hosts: bbb
  remote_user: root
  roles:
    - role: ansible-role-bigbluebutton
      bbb_hostname: "{{ fqdn }}"
      bbb_state: latest
      bbb_letsencrypt_enable: "true"
      bbb_letsencrypt_email: "..."
      bbb_default_welcome_message: ''
      bbb_default_welcome_message_footer: ""
      bbb_default_presentation: ${bigbluebutton.web.serverURL}/...
      bbb_coturn_secret: "{{ vault_turn_secret }}"
      bbb_turn_enable: true
      bbb_stun_servers:
       - server: "{{ vault_turnserver }}"
       - server: "{{ vault_turnserver }}:443"
      bbb_turn_servers:
        - server: "{{ vault_turnserver }}"
          port: 3478
          transport: udp
          secret: "{{ vault_turn_secret }}"
          tls: false
        - server: "{{ vault_turnserver }}"
          port: 443
          transport: tcp
          secret: "{{ vault_turn_secret }}"
          tls: false
        - server: "{{ vault_turnserver }}"
          port: 5349
          transport: tcp
          secret: "{{ vault_turn_secret }}"
          tls: true
      bbb_api_demos_enable: false
      bbb_app_log_level: "ERROR"
      bbb_meteor:
        public:
          app:
            skipCheck: false
            # Skips the echo test when connecting with microphone right after user
            # joins the room the first time. Subsequents joins  to microphone won't
            # have echo test skipped, for example if user leave and join mic again
            # or reloading page and joining mic again.
            # This setting won't have effect if skipCheck = true
            skipCheckOnJoin: true
            helpLink: 
            breakouts:
              breakoutRoomLimit: 50
              sendInvitationToIncludedModerators: false
                # fallbackLocale: if the locale the client is loaded in does not have a
                # translation a string, it will use the translation from the locale
                # specified in fallbackLocale. Note that fallbackLocale should be a
                # 100% translated locale for best user experience
            connectionTimeout: 60000
          kurento:
            signalCandidates: false
            videoMediaServer: mediasoup
            listenOnlyMediaServer: mediasoup
            forceRelayOnFirefox: true
            wsUrl: wss://{{ fqdn }}/bbb-webrtc-sfu
            screenshare:
              mediaServer: mediasoup
              bitrate: 1500
              mediaTimeouts:
                maxConnectionAttempts: 2
                # Base screen media timeout (send|recv)
                baseTimeout: 30000
                # Max timeout: used as the max camera subscribe reconnection timeout. Each
                # subscribe reattempt increases the reconnection timer up to this
                maxTimeout: 60000
                timeoutIncreaseFactor: 1.5
              constraints:
                video:
                  frameRate:
                    ideal: 20
                    max: 30
                  width:
                    max: 1980
                  height:
                    max: 1050
                audio: true
            # cameraProfiles is an array of:
            # - id: profile identifier
            #   name: human-readable profile name
            #   bitrate
            #   hidden: whether this profile will be hidden in the video preview dropdown
            #   constraints: a video media constraints dictionary (without the video key)
            cameraProfiles:
              # id: unique identifier of the profile
              # name: name of the profile visible to users
              # default: if this is the default profile which is pre-selected
              # bitrate: the average bitrate for used for a webcam stream
              # constraints:
              #   # Optional constraints put on the requested video a browser MAY honor
              #   # For a detailed list on possible values see:
              #   # https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints
              #   # Examples:
              #   width: requested width of the camera stream
              #   frameRate: requested framerate
              - id: low-u30
                name: low-u30
                bitrate: 30
                hidden: true
                constraints:
                  frameRate: 3
              - id: low-u25
                name: low-u25
                bitrate: 40
                hidden: true
                constraints:
                  frameRate: 3
              - id: low-u20
                name: low-u20
                bitrate: 50
                hidden: true
                constraints:
                  frameRate: 5
              - id: low-u15
                name: low-u15
                bitrate: 70
                hidden: true
                constraints:
                  frameRate: 8
              - id: low-u12
                name: low-u12
                bitrate: 90
                hidden: true
                constraints:
                  frameRate: 10
              - id: low-u8
                name: low-u8
                bitrate: 100
                hidden: true
                constraints:
                  frameRate: 10
              - id: low
                name: Low
                default: false
                bitrate: 100
              - id: medium
                name: Medium
                default: true
                bitrate: 200
              - id: high
                name: High
                default: false
                bitrate: 500
                constraints:
                  width: 1280
                  frameRate: 15
              - id: hd
                name: High definition
                default: false
                bitrate: 800
                constraints:
                  width: 1280
                  frameRate: 30
          note:
            enabled: true
            url: https://{{ fqdn }}/pad
      bbb_secret: "{{ vault_api_secret }}"
      bbb_webhooks_enable: true
      bbb_cron_history: "1"
      bbb_cron_unrecorded_days: "1"
      bbb_cron_published_days: "7"
      bbb_cron_log_history: 7
      bbb_freeswitch_socket_password: "{{ vault_freeswitch_socket_password }}"
      bbb_freeswitch_default_password: "{{ vault_freeswitch_default_password }}"
      bbb_ssh_port: 22
      bbb_learning_dashboard_enabled: false
      bbb_default_meeting_layout: "CUSTOM_LAYOUT"
dimitrihof commented 1 year ago

Could probably get fixed by adding

bbb_required_packages:
  - language-pack-en
  - software-properties-common
  - haveged
  - curl
  - python3-apt
  - python3-dev
  - python3-setuptools
  - python3-pip
  - python3-wheel
  - openjdk-11-jdk
  - python3-passlib
  - python-passlib
  - net-tools
  - apparmor
  - apparmor-utils

to https://github.com/ebbba-org/ansible-role-bigbluebutton/blob/bbb/2.5/vars/main.yml

BrutalBirdie commented 1 year ago

This issue never occurred to me. I will have to test it, but sure it would be better to simply include it to ensure it is installed. :+1: