MDS stuck in creating state, no apparent error messages

Bug Report
What happened:
After deploying, I tried to mount cephfs using ceph-fuse, but it complained about not having a MDS.  The MDS appears to be stuck in the 'creating' state.  After wiping everything and deploying again, it appears that the MDS can't complete its creating task.
The status reports that there is reduced availability, but I suspect that this is due to the issue with the MDS:
cluster:
id:     43847e46-e422-478f-8c92-ba68e9b30b8b
health: HEALTH_WARN
mon ubuntu is low on available space
Reduced data availability: 65 pgs inactive
Degraded data redundancy: 65 pgs undersized
services:
mon: 1 daemons, quorum ubuntu (age 40m)
mgr: ubuntu(active, since 40m)
mds: cephfs:1 {0=ubuntu=up:creating}
osd: 9 osds: 9 up (since 39m), 9 in (since 39m)
data:
pools:   3 pools, 65 pgs
objects: 0 objects, 0 B
usage:   9.5 GiB used, 98 GiB / 108 GiB avail
pgs:     100.000% pgs not active
65 undersized+peered
The health detail reports similarly:
HEALTH_WARN mon ubuntu is low on available space; Reduced data availability: 65 pgs inactive; Degraded data redundancy: 65 pgs undersized
[WRN] MON_DISK_LOW: mon ubuntu is low on available space
mon.ubuntu has 23% avail
[WRN] PG_AVAILABILITY: Reduced data availability: 65 pgs inactive
pg 1.0 is stuck inactive for 42m, current state undersized+peered, last acting [8]
pg 2.0 is stuck inactive for 41m, current state undersized+peered, last acting [3]
pg 2.1 is stuck inactive for 41m, current state undersized+peered, last acting [7]
pg 2.2 is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 2.3 is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 2.4 is stuck inactive for 41m, current state undersized+peered, last acting [1]
pg 2.5 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.6 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.7 is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 2.8 is stuck inactive for 41m, current state undersized+peered, last acting [0]
pg 2.9 is stuck inactive for 41m, current state undersized+peered, last acting [4]
pg 2.a is stuck inactive for 41m, current state undersized+peered, last acting [1]
pg 2.b is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.c is stuck inactive for 41m, current state undersized+peered, last acting [2]
pg 2.d is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 2.e is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.f is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.10 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.11 is stuck inactive for 41m, current state undersized+peered, last acting [0]
pg 2.12 is stuck inactive for 41m, current state undersized+peered, last acting [3]
pg 2.13 is stuck inactive for 41m, current state undersized+peered, last acting [0]
pg 2.14 is stuck inactive for 41m, current state undersized+peered, last acting [2]
pg 2.15 is stuck inactive for 41m, current state undersized+peered, last acting [1]
pg 2.16 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 2.17 is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 2.18 is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 3.0 is stuck inactive for 41m, current state undersized+peered, last acting [1]
pg 3.1 is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 3.2 is stuck inactive for 41m, current state undersized+peered, last acting [3]
pg 3.3 is stuck inactive for 41m, current state undersized+peered, last acting [4]
pg 3.4 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 3.5 is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 3.6 is stuck inactive for 41m, current state undersized+peered, last acting [0]
pg 3.7 is stuck inactive for 41m, current state undersized+peered, last acting [4]
pg 3.8 is stuck inactive for 41m, current state undersized+peered, last acting [4]
pg 3.9 is stuck inactive for 41m, current state undersized+peered, last acting [4]
pg 3.a is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 3.b is stuck inactive for 41m, current state undersized+peered, last acting [7]
pg 3.c is stuck inactive for 41m, current state undersized+peered, last acting [5]
pg 3.d is stuck inactive for 41m, current state undersized+peered, last acting [7]
pg 3.e is stuck inactive for 41m, current state undersized+peered, last acting [7]
pg 3.f is stuck inactive for 41m, current state undersized+peered, last acting [7]
pg 3.10 is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 3.11 is stuck inactive for 41m, current state undersized+peered, last acting [3]
pg 3.12 is stuck inactive for 41m, current state undersized+peered, last acting [6]
pg 3.13 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 3.14 is stuck inactive for 41m, current state undersized+peered, last acting [3]
pg 3.15 is stuck inactive for 41m, current state undersized+peered, last acting [8]
pg 3.16 is stuck inactive for 41m, current state undersized+peered, last acting [2]
pg 3.17 is stuck inactive for 41m, current state undersized+peered, last acting [0]
pg 3.19 is stuck inactive for 41m, current state undersized+peered, last acting [8]
[WRN] PG_DEGRADED: Degraded data redundancy: 65 pgs undersized
pg 1.0 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.0 is stuck undersized for 41m, current state undersized+peered, last acting [3]
pg 2.1 is stuck undersized for 41m, current state undersized+peered, last acting [7]
pg 2.2 is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 2.3 is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 2.4 is stuck undersized for 41m, current state undersized+peered, last acting [1]
pg 2.5 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.6 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.7 is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 2.8 is stuck undersized for 41m, current state undersized+peered, last acting [0]
pg 2.9 is stuck undersized for 41m, current state undersized+peered, last acting [4]
pg 2.a is stuck undersized for 41m, current state undersized+peered, last acting [1]
pg 2.b is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.c is stuck undersized for 41m, current state undersized+peered, last acting [2]
pg 2.d is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 2.e is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.f is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.10 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.11 is stuck undersized for 41m, current state undersized+peered, last acting [0]
pg 2.12 is stuck undersized for 41m, current state undersized+peered, last acting [3]
pg 2.13 is stuck undersized for 41m, current state undersized+peered, last acting [0]
pg 2.14 is stuck undersized for 41m, current state undersized+peered, last acting [2]
pg 2.15 is stuck undersized for 41m, current state undersized+peered, last acting [1]
pg 2.16 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 2.17 is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 2.18 is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 3.0 is stuck undersized for 41m, current state undersized+peered, last acting [1]
pg 3.1 is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 3.2 is stuck undersized for 41m, current state undersized+peered, last acting [3]
pg 3.3 is stuck undersized for 41m, current state undersized+peered, last acting [4]
pg 3.4 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 3.5 is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 3.6 is stuck undersized for 41m, current state undersized+peered, last acting [0]
pg 3.7 is stuck undersized for 41m, current state undersized+peered, last acting [4]
pg 3.8 is stuck undersized for 41m, current state undersized+peered, last acting [4]
pg 3.9 is stuck undersized for 41m, current state undersized+peered, last acting [4]
pg 3.a is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 3.b is stuck undersized for 41m, current state undersized+peered, last acting [7]
pg 3.c is stuck undersized for 41m, current state undersized+peered, last acting [5]
pg 3.d is stuck undersized for 41m, current state undersized+peered, last acting [7]
pg 3.e is stuck undersized for 41m, current state undersized+peered, last acting [7]
pg 3.f is stuck undersized for 41m, current state undersized+peered, last acting [7]
pg 3.10 is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 3.11 is stuck undersized for 41m, current state undersized+peered, last acting [3]
pg 3.12 is stuck undersized for 41m, current state undersized+peered, last acting [6]
pg 3.13 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 3.14 is stuck undersized for 41m, current state undersized+peered, last acting [3]
pg 3.15 is stuck undersized for 41m, current state undersized+peered, last acting [8]
pg 3.16 is stuck undersized for 41m, current state undersized+peered, last acting [2]
pg 3.17 is stuck undersized for 41m, current state undersized+peered, last acting [0]
pg 3.19 is stuck undersized for 41m, current state undersized+peered, last acting [8]
What you expected to happen:
I expect the MDSs to complete, or issue some warning as to why they cannot make forward progress
How to reproduce it (minimal and precise):

all.yml:
mon_group_name: mons
osd_group_name: osds
mds_group_name: mdss
mgr_group_name: mgrs
monitoring_group_name: monitoring
ceph_origin: repository
ceph_stable_release: octopus
generate_fsid: true
ceph_conf_key_directory: /etc/ceph
ceph_keyring_permissions: '0600'
cephx: true
monitor_interface: ens192
journal_size: 512
public_network: <IP_ADDRESS>/16
dashboard_enabled: False
osds.yml:
copy_admin_key: true
devices:

/dev/sdb
/dev/sdc
/dev/sdd

mdss.yml:
copy_admin_key: true
mons.yml:
mon_group_name: mons
clients.yml:
copy_admin_key: true
inventory:
[clients]
Client_0 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
[mdss]
MDS_0 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
MDS_1 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
MDS_2 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
[monitoring]
Mon_0 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
Mon_1 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
Mon_2 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
[mons]
Mon_0 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
Mon_1 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
Mon_2 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
[osds]
OSD_0 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
OSD_1 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
OSD_2 ansible_host=<IP_ADDRESS> ansible_python_interpreter=/usr/bin/python3
ansible.log
Environment:

OS (e.g. from /etc/os-release): Ubuntu 18.04.5 LTS
Kernel (e.g. uname -a): Linux ubuntu 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Ansible version (e.g. ansible-playbook --version): ansible-playbook 2.9.0
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/blue/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/blue/.local/lib/python3.6/site-packages/ansible
executable location = /home/blue/.local/bin/ansible-playbook
python version = 3.6.9 (default, Jul 17 2020, 12:50:27) [GCC 8.4.0]
ceph-ansible version (e.g. git head or tag or stable branch): master, 54ba38e3
Ceph version (e.g. ceph -v): ceph version 15.2.5 octopus stable

ceph-ansible version (e.g. git head or tag or stable branch): master, 54ba38e
Ceph version (e.g. ceph -v): ceph version 15.2.5 octopus stable

First, use the right ceph-ansible version for deploying Ceph Octopus.
You should use the stable-5.0 branch.
https://docs.ceph.com/projects/ceph-ansible/en/latest/#releases

ceph-ansible version (e.g. git head or tag or stable branch): master, 54ba38e
Ceph version (e.g. ceph -v): ceph version 15.2.5 octopus stable

First, use the right ceph-ansible version for deploying Ceph Octopus.
You should use the stable-5.0 branch.
https://docs.ceph.com/projects/ceph-ansible/en/latest/#releases

Ok, thanks for pointing that out, I have switched to stable-5.0.  I had incorrectly assumed that master was a production branch.
ceph-fuse is still failing with this error message:
failed: [localhost -> <IP_ADDRESS>] (item=Client_0) => {"ansible_loop_var": "item", "changed": true, "cmd": ["ceph-fuse", "-n", "client.admin", "/mnt/cephfs"], "delta": "0:00:00.039929", "end": "2020-10-15 09:27:12.188565", "item": "Client_0", "msg": "non-zero return code", "rc": 1, "start": "2020-10-15 09:27:12.148636", "stderr": "2020-10-15T09:27:12.167-0700 7fc0f704c700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]\n2020-10-15T09:27:12.167-0700 7fc0f684b700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]\n2020-10-15T09:27:12.175-0700 7fc1045270c0 -1 init, newargv = 0x55de61212990 newargc=9\nceph-fuse[8902]: starting ceph client\n2020-10-15T09:27:12.175-0700 7fc0f5048700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]\n2020-10-15T09:27:12.175-0700 7fc0f5849700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]\nceph-fuse[8902]: probably no MDS server is up?\nceph-fuse[8902]: ceph mount failed with (65536) Unknown error 65536", "stderr_lines": ["2020-10-15T09:27:12.167-0700 7fc0f704c700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]", "2020-10-15T09:27:12.167-0700 7fc0f684b700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]", "2020-10-15T09:27:12.175-0700 7fc1045270c0 -1 init, newargv = 0x55de61212990 newargc=9", "ceph-fuse[8902]: starting ceph client", "2020-10-15T09:27:12.175-0700 7fc0f5048700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]", "2020-10-15T09:27:12.175-0700 7fc0f5849700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]", "ceph-fuse[8902]: probably no MDS server is up?", "ceph-fuse[8902]: ceph mount failed with (65536) Unknown error 65536"], "stdout": "", "stdout_lines": []}

And status:
  cluster:
    id:     90601767-3acf-4930-9f48-d2b23ad2e5bd
    health: HEALTH_WARN
            Reduced data availability: 65 pgs inactive
            Degraded data redundancy: 65 pgs undersized

  services:
    mon: 1 daemons, quorum ubuntu (age 6m)
    mgr: ubuntu(active, since 6m)
    mds: cephfs:1 {0=ubuntu=up:creating}
    osd: 9 osds: 9 up (since 5m), 9 in (since 5m)

  data:
    pools:   3 pools, 65 pgs
    objects: 0 objects, 0 B
    usage:   9.0 GiB used, 99 GiB / 108 GiB avail
    pgs:     100.000% pgs not active
             65 undersized+peered

And health:
HEALTH_WARN Reduced data availability: 65 pgs inactive; Degraded data redundancy: 65 pgs undersized
[WRN] PG_AVAILABILITY: Reduced data availability: 65 pgs inactive
    pg 1.0 is stuck inactive for 7m, current state undersized+peered, last acting [8]
    pg 2.0 is stuck inactive for 6m, current state undersized+peered, last acting [3]
    pg 2.1 is stuck inactive for 6m, current state undersized+peered, last acting [7]
    pg 2.2 is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 2.3 is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 2.4 is stuck inactive for 6m, current state undersized+peered, last acting [1]
    pg 2.5 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.6 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.7 is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 2.8 is stuck inactive for 6m, current state undersized+peered, last acting [0]
    pg 2.9 is stuck inactive for 6m, current state undersized+peered, last acting [4]
    pg 2.a is stuck inactive for 6m, current state undersized+peered, last acting [1]
    pg 2.b is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.c is stuck inactive for 6m, current state undersized+peered, last acting [2]
    pg 2.d is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 2.e is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.f is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.10 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.11 is stuck inactive for 6m, current state undersized+peered, last acting [0]
    pg 2.12 is stuck inactive for 6m, current state undersized+peered, last acting [3]
    pg 2.13 is stuck inactive for 6m, current state undersized+peered, last acting [0]
    pg 2.14 is stuck inactive for 6m, current state undersized+peered, last acting [2]
    pg 2.15 is stuck inactive for 6m, current state undersized+peered, last acting [1]
    pg 2.16 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 2.17 is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 2.18 is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 3.0 is stuck inactive for 6m, current state undersized+peered, last acting [1]
    pg 3.1 is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 3.2 is stuck inactive for 6m, current state undersized+peered, last acting [3]
    pg 3.3 is stuck inactive for 6m, current state undersized+peered, last acting [4]
    pg 3.4 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 3.5 is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 3.6 is stuck inactive for 6m, current state undersized+peered, last acting [0]
    pg 3.7 is stuck inactive for 6m, current state undersized+peered, last acting [4]
    pg 3.8 is stuck inactive for 6m, current state undersized+peered, last acting [4]
    pg 3.9 is stuck inactive for 6m, current state undersized+peered, last acting [4]
    pg 3.a is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 3.b is stuck inactive for 6m, current state undersized+peered, last acting [7]
    pg 3.c is stuck inactive for 6m, current state undersized+peered, last acting [5]
    pg 3.d is stuck inactive for 6m, current state undersized+peered, last acting [7]
    pg 3.e is stuck inactive for 6m, current state undersized+peered, last acting [7]
    pg 3.f is stuck inactive for 6m, current state undersized+peered, last acting [7]
    pg 3.10 is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 3.11 is stuck inactive for 6m, current state undersized+peered, last acting [3]
    pg 3.12 is stuck inactive for 6m, current state undersized+peered, last acting [6]
    pg 3.13 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 3.14 is stuck inactive for 6m, current state undersized+peered, last acting [3]
    pg 3.15 is stuck inactive for 6m, current state undersized+peered, last acting [8]
    pg 3.16 is stuck inactive for 6m, current state undersized+peered, last acting [2]
    pg 3.17 is stuck inactive for 6m, current state undersized+peered, last acting [0]
    pg 3.19 is stuck inactive for 6m, current state undersized+peered, last acting [8]
[WRN] PG_DEGRADED: Degraded data redundancy: 65 pgs undersized
    pg 1.0 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.0 is stuck undersized for 6m, current state undersized+peered, last acting [3]
    pg 2.1 is stuck undersized for 6m, current state undersized+peered, last acting [7]
    pg 2.2 is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 2.3 is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 2.4 is stuck undersized for 6m, current state undersized+peered, last acting [1]
    pg 2.5 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.6 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.7 is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 2.8 is stuck undersized for 6m, current state undersized+peered, last acting [0]
    pg 2.9 is stuck undersized for 6m, current state undersized+peered, last acting [4]
    pg 2.a is stuck undersized for 6m, current state undersized+peered, last acting [1]
    pg 2.b is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.c is stuck undersized for 6m, current state undersized+peered, last acting [2]
    pg 2.d is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 2.e is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.f is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.10 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.11 is stuck undersized for 6m, current state undersized+peered, last acting [0]
    pg 2.12 is stuck undersized for 6m, current state undersized+peered, last acting [3]
    pg 2.13 is stuck undersized for 6m, current state undersized+peered, last acting [0]
    pg 2.14 is stuck undersized for 6m, current state undersized+peered, last acting [2]
    pg 2.15 is stuck undersized for 6m, current state undersized+peered, last acting [1]
    pg 2.16 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 2.17 is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 2.18 is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 3.0 is stuck undersized for 6m, current state undersized+peered, last acting [1]
    pg 3.1 is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 3.2 is stuck undersized for 6m, current state undersized+peered, last acting [3]
    pg 3.3 is stuck undersized for 6m, current state undersized+peered, last acting [4]
    pg 3.4 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 3.5 is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 3.6 is stuck undersized for 6m, current state undersized+peered, last acting [0]
    pg 3.7 is stuck undersized for 6m, current state undersized+peered, last acting [4]
    pg 3.8 is stuck undersized for 6m, current state undersized+peered, last acting [4]
    pg 3.9 is stuck undersized for 6m, current state undersized+peered, last acting [4]
    pg 3.a is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 3.b is stuck undersized for 6m, current state undersized+peered, last acting [7]
    pg 3.c is stuck undersized for 6m, current state undersized+peered, last acting [5]
    pg 3.d is stuck undersized for 6m, current state undersized+peered, last acting [7]
    pg 3.e is stuck undersized for 6m, current state undersized+peered, last acting [7]
    pg 3.f is stuck undersized for 6m, current state undersized+peered, last acting [7]
    pg 3.10 is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 3.11 is stuck undersized for 6m, current state undersized+peered, last acting [3]
    pg 3.12 is stuck undersized for 6m, current state undersized+peered, last acting [6]
    pg 3.13 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 3.14 is stuck undersized for 6m, current state undersized+peered, last acting [3]
    pg 3.15 is stuck undersized for 6m, current state undersized+peered, last acting [8]
    pg 3.16 is stuck undersized for 6m, current state undersized+peered, last acting [2]
    pg 3.17 is stuck undersized for 6m, current state undersized+peered, last acting [0]
    pg 3.19 is stuck undersized for 6m, current state undersized+peered, last acting [8]

There appear to be intermittent complaints when running ceph commands, but it is not clear what entity is generating these messages or how to address them:
2020-10-15T09:32:32.671-0700 7f32c39e3700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]

ceph-fuse is still failing with this error message:

I think you should resolv the pgs undersized and inactive issue first otherwise the cephfs won't be available.
I don't see any specific pg, size or crush in your configuration so this should work out of the box.
Could you run ceph osd dump command ?
It could be useful to use [1] to fix the pg issue.
[1] https://docs.ceph.com/en/latest/rados/troubleshooting/troubleshooting-pg/

The output of ceph osd dump is below.  The blacklist IPs belong to my MDS nodes.
2020-10-15T10:57:06.726-0700 7fdbc205f700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
epoch 3124
fsid 90601767-3acf-4930-9f48-d2b23ad2e5bd
created 2020-10-15T09:22:12.834308-0700
modified 2020-10-15T10:57:05.963780-0700
flags sortbitwise,recovery_deletes,purged_snapdirs,pglog_hardlimit
crush_version 8
full_ratio 0.95
backfillfull_ratio 0.9
nearfull_ratio 0.85
require_min_compat_client jewel
min_compat_client jewel
require_osd_release octopus
pool 1 'device_health_metrics' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 1 pgp_num 1 autoscale_mode on last_change 157 flags hashpspool stripe_width 0 pg_num_min 1 application mgr_devicehealth
pool 2 'cephfs_data' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 155 flags hashpspool stripe_width 0 application cephfs
pool 3 'cephfs_metadata' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 156 flags hashpspool stripe_width 0 pg_autoscale_bias 4 pg_num_min 16 recovery_priority 5 application cephfs
max_osd 9
osd.0 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6800/9790,v1:<IP_ADDRESS>:6801/9790] [v2:<IP_ADDRESS>:6802/9790,v1:<IP_ADDRESS>:6803/9790] exists,up 6bd1057b-3c5c-46cb-886f-097c971bf8c6
osd.1 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6800/9774,v1:<IP_ADDRESS>:6801/9774] [v2:<IP_ADDRESS>:6802/9774,v1:<IP_ADDRESS>:6803/9774] exists,up d16c3212-bb60-4033-a447-831ea3e16bcd
osd.2 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6800/9792,v1:<IP_ADDRESS>:6801/9792] [v2:<IP_ADDRESS>:6802/9792,v1:<IP_ADDRESS>:6803/9792] exists,up 9b716944-4e48-46b3-8a69-60e380d6c461
osd.3 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6808/10191,v1:<IP_ADDRESS>:6809/10191] [v2:<IP_ADDRESS>:6810/10191,v1:<IP_ADDRESS>:6811/10191] exists,up aa7bb578-4728-4763-9f7a-caa78b794852
osd.4 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6808/10193,v1:<IP_ADDRESS>:6809/10193] [v2:<IP_ADDRESS>:6810/10193,v1:<IP_ADDRESS>:6811/10193] exists,up f2da6def-e9d2-4ec2-a78b-8c8670947f67
osd.5 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6808/10180,v1:<IP_ADDRESS>:6809/10180] [v2:<IP_ADDRESS>:6810/10180,v1:<IP_ADDRESS>:6811/10180] exists,up 1802b3f5-09a4-4a30-be70-095a9e72e01a
osd.6 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6816/10588,v1:<IP_ADDRESS>:6817/10588] [v2:<IP_ADDRESS>:6818/10588,v1:<IP_ADDRESS>:6819/10588] exists,up 2773efe9-a849-4977-8a07-6b9dbd0d1df7
osd.7 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6816/10579,v1:<IP_ADDRESS>:6817/10579] [v2:<IP_ADDRESS>:6818/10579,v1:<IP_ADDRESS>:6819/10579] exists,up 9d24244a-f2da-4cf8-b257-18070d1a47b2
osd.8 up   in  weight 1 up_from 21 up_thru 26 down_at 0 last_clean_interval [0,0) [v2:<IP_ADDRESS>:6816/10592,v1:<IP_ADDRESS>:6817/10592] [v2:<IP_ADDRESS>:6818/10592,v1:<IP_ADDRESS>:6819/10592] exists,up 41ffee84-d356-46c0-84be-66b3d324958f
blacklist <IP_ADDRESS>:6801/512344957 expires 2020-10-16T10:57:05.963753-0700
blacklist <IP_ADDRESS>:6800/512344957 expires 2020-10-16T10:57:05.963753-0700
blacklist <IP_ADDRESS>:6801/4137508126 expires 2020-10-16T10:56:57.353358-0700
blacklist <IP_ADDRESS>:6801/450087433 expires 2020-10-16T10:56:52.314385-0700
blacklist <IP_ADDRESS>:6801/560605334 expires 2020-10-16T10:56:50.925376-0700
blacklist <IP_ADDRESS>:6801/2435333912 expires 2020-10-16T10:56:48.074572-0700
<repeated blacklist for the same IPs>

I guess you need to determine why the pg are inactive like:
ceph pg 1.0 query
And see if the output provides more useful information

I changed the number of replicas to 1, and the mds was able to complete.  Changing it back the default of 3, the MDS is stuck in the replay state, and the status is now reporting degraded redundancy:
  cluster:
    id:     90601767-3acf-4930-9f48-d2b23ad2e5bd
    health: HEALTH_WARN
            1 filesystem is degraded
            Reduced data availability: 65 pgs inactive
            Degraded data redundancy: 44/66 objects degraded (66.667%), 13 pgs degraded, 65 pgs undersized

  services:
    mon: 1 daemons, quorum ubuntu (age 2h)
    mgr: ubuntu(active, since 2h)
    mds: cephfs:1/1 {0=ubuntu=up:replay}
    osd: 9 osds: 9 up (since 2h), 9 in (since 2h)

  task status:
    scrub status:
        mds.ubuntu: idle

  data:
    pools:   3 pools, 65 pgs
    objects: 22 objects, 2.2 KiB
    usage:   11 GiB used, 97 GiB / 108 GiB avail
    pgs:     100.000% pgs not active
             44/66 objects degraded (66.667%)
             52 undersized+peered
             13 undersized+degraded+peered

My understanding and intention was that each device on an OSD node would be a leaf, and that by default each leaf would be its own PG.   Instead, I have 65 PGs across the 3 pools, and apparently there is not enough space to properly peer that many groups.  There appears to be sufficient space on each of the devices as reported by status and df:
--- RAW STORAGE ---
CLASS  SIZE     AVAIL   USED     RAW USED  %RAW USED
ssd    108 GiB  98 GiB  1.4 GiB    10 GiB       9.64
TOTAL  108 GiB  98 GiB  1.4 GiB    10 GiB       9.64

--- POOLS ---
POOL                   ID  STORED   OBJECTS  USED    %USED  MAX AVAIL
device_health_metrics   1      0 B        0     0 B      0     31 GiB
cephfs_data             2      0 B        0     0 B      0     31 GiB
cephfs_metadata         3  2.2 KiB       22  32 KiB      0     92 GiB

Is there an implicit minimum device size or journal size which is preventing the PG setup from completing?

Bug Report
What happened:
Building ceph with ceph-ansible 5.0 stable (2020/11/03) and (2020/10/28)
Once the deployment is done the MDS status is stuck in "creating".
A 'crashed' container also appears
CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS               NAMES
c642b6845126        ceph/daemon:latest-octopus   "/usr/bin/ceph-crash"    5 minutes ago       Up 5 minutes                            ceph-crash-A-08-34-cephctl
3a4570e11ca8        ceph/daemon:latest-octopus   "/opt/ceph-container…"   6 minutes ago       Up 6 minutes                            ceph-mds-A-08-34-cephctl
8e968bf608cd        ceph/daemon:latest-octopus   "/opt/ceph-container…"   13 minutes ago      Up 12 minutes                           ceph-mgr-A-08-34-cephctl
d7c805be361a        ceph/daemon:latest-octopus   "/opt/ceph-container…"   14 minutes ago      Up 13 minutes                           ceph-mon-A-08-34-cephctl

sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ceph/daemon         latest-octopus      9dc2ed8ddd89        15 hours ago        1.06GB

sudo docker inspect c642b6845126
[
    {
        "Id": "c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea",
        "Created": "2020-11-03T10:47:41.465898853Z",
        "Path": "/usr/bin/ceph-crash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 16251,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-11-03T10:47:41.609613769Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:9dc2ed8ddd89d4434742edd9ca060237fa47d0a1a63c9758d0e3ae0bbfecb86a",
        "ResolvConfPath": "/var/lib/docker/containers/c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea/hostname",
        "HostsPath": "/var/lib/docker/containers/c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea/hosts",
        "LogPath": "/var/lib/docker/containers/c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea/c642b6845126f0393e148b98d3c27cdf09bebd65069005513bf403a4076553ea-json.log",
        "Name": "/ceph-crash-A-08-34-cephctl",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "docker-default",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": [
                "/var/lib/ceph:/var/lib/ceph:z",
                "/etc/localtime:/etc/localtime:ro"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "host",
            "PortBindings": {},
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": true,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "Capabilities": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 0,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": [],
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": [],
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 0,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": null,
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": [
                "/proc/asound",
                "/proc/acpi",
                "/proc/kcore",
                "/proc/keys",
                "/proc/latency_stats",
                "/proc/timer_list",
                "/proc/timer_stats",
                "/proc/sched_debug",
                "/proc/scsi",
                "/sys/firmware"
            ],
            "ReadonlyPaths": [
                "/proc/bus",
                "/proc/fs",
                "/proc/irq",
                "/proc/sys",
                "/proc/sysrq-trigger"
            ]
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/e167a33da8f7561164865b50151d74044c7565cf2b09880f5f59e9be5ee822d1-init/diff:/var/lib/docker/overlay2/8d38f539391ce85b77400d32e0ad71325ce033332ca72e6635eb4d0877866388/diff:/var/lib/docker/overlay2/901abba98fd5ae542d836255ffd45f9a13e4bf49325a10f67637862792f6d304/diff:/var/lib/docker/overlay2/283b6f6ef9947f7dd5eb1026c23654412a80c3cbc877eb4c88573af50150d892/diff:/var/lib/docker/overlay2/6295e11d9fe5bb6584c4040c604cd33c64431df350dcf7ca013af7b1d020f268/diff:/var/lib/docker/overlay2/9382c073b7cff1ef5558f6b927a7cc758920c3bc3e698b5b38203bb6d3a3be26/diff:/var/lib/docker/overlay2/dbdf368b4f0388f0ff1efb10fe0f8e60317faba7b572e44db98dc9390b612516/diff:/var/lib/docker/overlay2/ab8c6a53179ad3cded500d436f9ad90cb829c9df44604d530ae2b8cc877b2439/diff:/var/lib/docker/overlay2/a394c247d763fd78930ac9c1025f83f8c3bab4ca25af7f5e5b87a7d8fec63a0d/diff:/var/lib/docker/overlay2/4b225e5c188ebd31334578efe2ca80868a0739bc3032b527f5e3502014de2fd1/diff:/var/lib/docker/overlay2/87c77a491cced43960ba9be30f225238c75dae642294d8cc43ffc33daa9957a6/diff",
                "MergedDir": "/var/lib/docker/overlay2/e167a33da8f7561164865b50151d74044c7565cf2b09880f5f59e9be5ee822d1/merged",
                "UpperDir": "/var/lib/docker/overlay2/e167a33da8f7561164865b50151d74044c7565cf2b09880f5f59e9be5ee822d1/diff",
                "WorkDir": "/var/lib/docker/overlay2/e167a33da8f7561164865b50151d74044c7565cf2b09880f5f59e9be5ee822d1/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/var/lib/ceph",
                "Destination": "/var/lib/ceph",
                "Mode": "z",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/etc/localtime",
                "Destination": "/etc/localtime",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "A-08-34-cephctl",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "CEPH_VERSION=octopus",
                "CEPH_POINT_RELEASE=",
                "CEPH_DEVEL=false",
                "CEPH_REF=octopus",
                "OSD_FLAVOR=default"
            ],
            "Cmd": null,
            "Image": "docker.io/ceph/daemon:latest-octopus",
            "Volumes": null,
            "WorkingDir": "/",
            "Entrypoint": [
                "/usr/bin/ceph-crash"
            ],
            "OnBuild": null,
            "Labels": {
                "CEPH_POINT_RELEASE": "",
                "GIT_BRANCH": "HEAD",
                "GIT_CLEAN": "False",
                "GIT_COMMIT": "199c1bfb40655ace3e06f9c7b719b392f0c0d728",
                "GIT_REPO": "https://github.com/ceph/ceph-container.git",
                "RELEASE": "master-199c1bf",
                "ceph": "True",
                "maintainer": "Dimitri Savineau<EMAIL_ADDRESS>                "org.label-schema.build-date": "20200809",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "472b80c2e5ec4fb4a8e9bcd5fe7acd7c81e2bc4750b49cb46d833c4c9ef04435",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "07ae35cae3ceb71a5c2e957ea326c84e8647b6ee11b2d39e67cadda1e97a272a",
                    "EndpointID": "c1590314ed8944558711470d2cc746ef9d04a645339d8b85b165931e7da9df20",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }
    }
]

What you expected to happen:
Ceph with cephfs in a working order
How to reproduce it (minimal and precise):
Latest ceph-ansible 5.0 stable (2020/11/03 or 10/28)
ansible-playbook -v -i /opt/ceph-ansible/inventory -e 'ansible_python_interpreter=/usr/bin/python3' /opt/ceph-ansible/site-container.yml

Group_vars - https://pastebin.com/Wr6mL0Fh
Inventory - https://pastebin.com/vY36uj1y
Ansible.log (-vvv) - https://drive.google.com/file/d/1BiWHEpEmLVXGy4f4gLV1F7OurlKhCAwK/view?usp=sharing

Environment:

OS: Ubuntu 18.04.5 LTS
Kernel 5.4.0-48-generic #52~18.04.1-Ubuntu SMP Thu Sep 10 12:50:22 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Docker version: latest docker that comes with ceph-ansible
Ansible version: ansible-playbook 2.9.0
ceph-ansible version: stable-5.0 (2020/11/03)
Ceph version (e.g. ceph -v): 15.2.5

skimming through logs
debug 2020-11-03T12:46:54.295+0200 7ffba5d18700  1 mon.A-08-35-cephctl@1(peon).mds e2  mds mds.? [v2:<IP_ADDRESS>:6800/4176340393,v1:<IP_ADDRESS>:6801/4176340393] can't write to fsmap compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2}

cluster 2020-11-03T12:46:58.519462+0200 mon.A-08-34-cephctl (mon.0) 2528 : cluster [INF] daemon mds.A-08-35-cephctl assigned to filesystem cephfs as rank 0 (now has 1 ranks)
cluster 2020-11-03T12:46:58.519597+0200 mon.A-08-34-cephctl (mon.0) 2529 : cluster [INF] Health check cleared: MDS_ALL_DOWN (was: 1 filesystem is offline)
cluster 2020-11-03T12:46:58.519634+0200 mon.A-08-34-cephctl (mon.0) 2530 : cluster [INF] Health check cleared: MDS_UP_LESS_THAN_MAX (was: 1 filesystem is online with fewer MDS than max_mds)
cluster 2020-11-03T12:46:58.519674+0200 mon.A-08-34-cephctl (mon.0) 2531 : cluster [INF] Cluster is now healthy
cluster 2020-11-03T12:46:58.525962+0200 mon.A-08-34-cephctl (mon.0) 2532 : cluster [DBG] mds.? [v2:<IP_ADDRESS>:6802/367233249,v1:<IP_ADDRESS>:6803/367233249] up:boot
cluster 2020-11-03T12:46:58.526031+0200 mon.A-08-34-cephctl (mon.0) 2533 : cluster [DBG] mds.? [v2:<IP_ADDRESS>:6800/4176340393,v1:<IP_ADDRESS>:6801/4176340393] up:boot
cluster 2020-11-03T12:46:58.526134+0200 mon.A-08-34-cephctl (mon.0) 2534 : cluster [DBG] fsmap cephfs:1 {0=A-08-35-cephctl=up:creating} 1 up:standby

@jeevadotnet this doesn't seem to be related to the original issue because according to your log you have active+clean pgs.
Also the mds service using 2 different ports is expected.

OSD Tree : http://sprunge.us/EBDBVl
OSD Dump: http://sprunge.us/oawrh7
PG Dump: http://sprunge.us/iPwmzO

Update:
I increased the physical resources available to all nodes, and I was able to advance further along in the deployment process. I am still getting errors when trying to mount cephfs:
2020-11-19T11:33:06.749-0800 7ff6458fc700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:33:06.749-0800 7ff6460fd700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:33:06.753-0800 7ff6535d80c0 -1 init, newargv = 0x563cb9cb62b0 newargc=9
ceph-fuse[10716]: starting ceph client
2020-11-19T11:33:06.757-0800 7ff6448fa700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
ceph-fuse[10716]: probably no MDS server is up?
ceph-fuse[10716]: ceph mount failed with (65536) Unknown error 65536

What has changed is that when I call ceph status the filesystem appears to be oscillating between up:reconnect, up:rejoin, and up:replay status.
I am also seeing error messages when invoking ceph status:
2020-11-19T11:33:06.749-0800 7ff6458fc700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:33:06.749-0800 7ff6460fd700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:33:06.753-0800 7ff6535d80c0 -1 init, newargv = 0x563cb9cb62b0 newargc=9
ceph-fuse[10716]: starting ceph client
2020-11-19T11:33:06.757-0800 7ff6448fa700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]

And none of the MDS nodes appear to be able to interact using  ceph tools:
$ sudo ceph -s
[errno 13] RADOS permission denied (error connecting to the cluster)

And it seems that at least one of the MDS nodes is crashing:
$ sudo ceph health detail
2020-11-19T11:47:40.880-0800 7f3976220700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:47:40.880-0800 7f3976a21700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:47:40.884-0800 7f3976220700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
2020-11-19T11:47:40.884-0800 7f3977222700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [2] but i only support [2,1]
HEALTH_WARN 1 filesystem is degraded; 2 daemons have recently crashed
[WRN] FS_DEGRADED: 1 filesystem is degraded
    fs cephfs is degraded
[WRN] RECENT_CRASH: 2 daemons have recently crashed
    mds.ubuntu crashed on host ubuntu at 2020-11-19T19:42:15.481438Z
    mds.ubuntu crashed on host ubuntu at 2020-11-19T19:42:15.488319Z


fixes for saving a survey as hidden

Description of changes:
https://app.zenhub.com/workspaces/met-ops-6254279dcfa60b0010ea5a0d/issues/gh/bcgov/met-public/1366

make is hidden flag to be true by default while creating an engagement
disable is hidden switch on the screen if survey is linked to an engagement

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1483 (c175174) into main (2aed613) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1483   +/-   ##
=======================================
  Coverage   72.01%   72.01%
=======================================
  Files         330      330
  Lines        9698     9698
  Branches      696      696
=======================================
  Hits         6984     6984
  Misses       2597     2597
  Partials      117      117

Flag
Coverage Δ

metapi
79.16% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

met-api/src/met_api/models/survey.py
83.75% <ø> (ø)


video processing now looks for files in MEDIA_ROOT

previously would look for ID path in CWD.
Would also work for null media roots
MEDIA_ROOT is stripped out of the name when source is set

requested change believed fixed by commit 0c57a67ece52ca79356dac4cc0bc7e2b8bfd182b.


Unexpected token * (line:4)

Node-RED version: v1.1.0
Node.js  version: v10.21.0
Linux 4.15.0-106-generic x64 LE (running on Docker)
Installed via Palette
6 Jul 17:24:53 - [info] Installing module: node-red-contrib-tensorflow, version: 0.1.8,
6 Jul 17:25:30 - [info] Installed module: node-red-contrib-tensorflow,
6 Jul 17:25:30 - [info] Added node types:,
6 Jul 17:25:30 - [info]  - node-red-contrib-tensorflow:cocossd : SyntaxError: Unexpected token * (line:4),
6 Jul 17:25:30 - [info]  - node-red-contrib-tensorflow:handpose : SyntaxError: Unexpected token * (line:4),
6 Jul 17:25:30 - [info]  - node-red-contrib-tensorflow:mobilenet : SyntaxError: Unexpected token * (line:4),
6 Jul 17:25:30 - [info]  - node-red-contrib-tensorflow:posenet : SyntaxError: Unexpected token * (line:4),

@ozmule Thank you for this report. I encountered the same error when I'm using Node-RED on IBM Cloud today.

@kazuhitoyokoi great. Is there anything else I can assist and provide from my end?

@ozmule The problem seems to occur from the latest coco-ssd module. Therefore, I used the old version, v2.0.3 and I published v0.1.9 on npmjs and flow library. Could you check the node?

@kazuhitoyokoi that fixed the install issue. I'll continue testing and let you know if anything else happens. Thank you for being so responsive and great work!

When trying to use cocossd node you get the following error
TypeError: response.arrayBuffer is not a function
When you deploy after adding the node to the flow you get the following

HTH

I close this issue and create the new issue.


Make Union[<non-None type>] valid

Issue
Pointed out by @JustinDrake in https://github.com/ethereum/eth2.0-specs/pull/2472, we saw errors around Union[OpaqueTransaction].
  Transaction = Union[OpaqueTransaction]
../../../venv/lib/python3.8/site-packages/remerkleable/union.py:66: in __class_getitem__
    union_options_list: Sequence[PyUnion[Type[View], None]] = list(*union_options)
E   TypeError: 'ViewMeta' object is not iterable

IIUC from the SSZ spec, Union[<non-None type>] should be valid. @protolambda  what do you think?
How to fix it
It seems the issue was that when it executes union_options_list: Sequence[PyUnion[Type[View], None]] = list(*union_options), the single type ViewMeta could not be unpacked and packed as we expected. I added a check here to deal with this case.

Simplified it a little (no need for meta-class checking), and fixed a related issue.
The underlying problem was that multiple arguments were passed to the function as a single tuple, while a single argument was not getting wrapped with a tuple. The star in the previous *union_options didn't do anything useful, it would just return a 1-element list, with a tuple of params as only element.


Update global config's type

linked #373
I don't see why this should be required when trying to set up a single thing in the config. The user provided config is merged with the defaults: https://github.com/vuejs/vue-test-utils-next/blob/master/src/mount.ts#L322
Set it to Partial in case something will be required in the GlobalMountOptions down the line.

I don't think this is publicly exposed, and @posva changed it to required to make sure we provide a default for every option internally. See #236

The type isn't the config is.
https://github.com/vuejs/vue-test-utils-next/blob/master/src/config.ts#L62
https://github.com/vuejs/vue-test-utils-next/blob/master/src/index.ts#L15
And I just realised, https://github.com/vuejs/vue-test-utils-next/blob/master/src/mount.ts#L322 actually merges the user provided config meaning that it is in fact should be Required type.
So I propose:
There's should be a defaultConfig provided by vtu, a config exposed to the user which is deepMerged into the defaultConfig then the config from the mount options merged into the existsing config.
Then the config's type can be set to partial like in the PR

The type should not be changed to Partial because of the example in the linked pr by @cexbrayat
If there is a use case, defaultConfig could be exposed with a proper type

I added a test to confirm the config merges as expected. I don't know if that tast is actualy valuable.
However, it is currentlry failing on this line:
expect(comp.find('#default-slot').exists()).toBe(true)
so I wrote a test for the renderStubDefaultSlot too.
Am I misunderstanding the renderStubDefaultSlot usage or that failure is valid?
@posva

I might have missed something, are you adding types (the PR only shows a test - more tests are always welcome if they are testing things we haven't got a test for)

Initially I updated the config's type as can be seen in the commits. This stemmed for a confusion about using the config. And now I just added a test to confirm what should happen with the config.

I see. The test is failing - will you be adding another commit(s) to fix this?

Am I misunderstanding the renderStubDefaultSlot usage or that failure is valid?

Yes, once this is cleared up.

It is valid. This is how the defaultSlot option work: https://next.vue-test-utils.vuejs.org/guide/advanced/stubs-shallow-mount.html#default-slots-and-shallow

This seems fine now. @cexbrayat do you see anything you'd recommend changing or shall we merge and finally achieve the strict: true dream?


Getting RuntimeError when attempting to run inference

Hi team - can't wait to try this! I'm getting the following RuntimeError when trying to run inference with the pretrained model:
RuntimeError                              Traceback (most recent call last)
[<ipython-input-5-487bd8f6f6cf>](https://localhost:8080/#) in <module>
     29
     30 # Infer pitch and periodicity
---> 31 pitch, periodicity = penn.from_audio(
     32     audio,
     33     penn.SAMPLE_RATE,

[/usr/local/lib/python3.8/dist-packages/torch/nn/modules/conv.py](https://localhost:8080/#) in _conv_forward(self, input, weight, bias)
    307                             weight, bias, self.stride,
    308                             _single(0), self.dilation, self.groups)
--> 309         return F.conv1d(input, weight, bias, self.stride,
    310                         self.padding, self.dilation, self.groups)
    311

RuntimeError: Given groups=1, weight of size [256, 1, 32], expected input[2048, 2, 993] to have 1 channels, but got 2 channels instead

I'm getting this with both CPU and GPU inference, and having installed both via pip and having cloned from Github. Do you know what might be the problem?

It looks like it expects a mono file and you're providing stereo. Could you try converting it to mono to see if that works? This seems like a good place to include a warning.

Moved to #7


[Bug]: When using Managed NG and Self-Managed NG, the Security Group does not allow Port 53 by default

Welcome to Amazon EKS Blueprints!

[X] Yes, I've searched similar issues on GitHub and didn't find any.

Amazon EKS Blueprints Release version
4.0.9
What is your environment, configuration and the example used?
I tried to create two node groups. One is managed node group, and another is self-managed node group (for local zones and outpost, but they are not required to reproduce the issue).
I am using the example below.
module "eks_blueprints" {
  source = "github.com/aws-ia/terraform-aws-eks-blueprints"

  # EKS CLUSTER
  cluster_version    = "1.22"
  vpc_id             = module.vpc.vpc_id
  private_subnet_ids = module.vpc.private_subnets
  cluster_name       = local.cluster_name

  # EKS MANAGED NODE GROUPS
  managed_node_groups = {
    managed_ng = {
      node_group_name = "managed-ng"
      instance_types  = ["m5.large"]
      subnet_ids      = module.vpc.private_subnets

      min_size = 1
    }
  }

  self_managed_node_groups = {
    self_mg_5 = {
      node_group_name    = "self-managed-ondemand"
      launch_template_os = "amazonlinux2eks"
      subnet_ids         = module.vpc.private_subnets
      min_size = 1

    }
  }
}

What did you do and What did you see instead?
I found that:

self-managed node groups uses "EKS node shared security group"  (sg-094ab4408afdddb9b)
managed node groups uses "EKS created security group applied to ENI that is attached to EKS Control Plane master nodes, as well as any managed workloads." (sg-04f3aadaccae6341d)

➜  aws ec2 describe-security-groups --group-ids sg-094ab4408afdddb9b --query 'SecurityGroups[0].{Inbound:IpPermissions,Outbound:IpPermissionsEgress}' --output yaml
Inbound:
- FromPort: 10250
  IpProtocol: tcp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 10250
  UserIdGroupPairs:
  - Description: Cluster API to node kubelets
    GroupId: sg-09bfcd29517d60b58
    UserId: '091550601287'
- FromPort: 53
  IpProtocol: tcp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 53
  UserIdGroupPairs:
  - Description: Node to node CoreDNS
    GroupId: sg-094ab4408afdddb9b
    UserId: '091550601287'
- FromPort: 53
  IpProtocol: udp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 53
  UserIdGroupPairs:
  - Description: Node to node CoreDNS
    GroupId: sg-094ab4408afdddb9b
    UserId: '091550601287'
- FromPort: 443
  IpProtocol: tcp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 443
  UserIdGroupPairs:
  - Description: Cluster API to node groups
    GroupId: sg-09bfcd29517d60b58
    UserId: '091550601287'
Outbound:
- FromPort: 53
  IpProtocol: tcp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 53
  UserIdGroupPairs:
  - Description: Node to node CoreDNS
    GroupId: sg-094ab4408afdddb9b
    UserId: '091550601287'
- FromPort: 53
  IpProtocol: udp
  IpRanges: []
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 53
  UserIdGroupPairs:
  - Description: Node to node CoreDNS
    GroupId: sg-094ab4408afdddb9b
    UserId: '091550601287'
- FromPort: 123
  IpProtocol: udp
  IpRanges:
  - CidrIp: <IP_ADDRESS>/0
    Description: Egress NTP/UDP to internet
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 123
  UserIdGroupPairs: []
- FromPort: 443
  IpProtocol: tcp
  IpRanges:
  - CidrIp: <IP_ADDRESS>/0
    Description: Egress all HTTPS to internet
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 443
  UserIdGroupPairs:
  - Description: Node groups to cluster API
    GroupId: sg-09bfcd29517d60b58
    UserId: '091550601287'
- FromPort: 123
  IpProtocol: tcp
  IpRanges:
  - CidrIp: <IP_ADDRESS>/0
    Description: Egress NTP/TCP to internet
  Ipv6Ranges: []
  PrefixListIds: []
  ToPort: 123
  UserIdGroupPairs: []

However, the security group rules does not allow UDP 53 data transfer, and will result errors for add-on installations and difficult to debug for new customers.
Additional Information
The security groups and rules are nicely created when I use eksctl to create self-managed node groups.
No response

I fixed the issue on my own using additional security group rules below:
module "eks_blueprints" {
  source = "github.com/aws-ia/terraform-aws-eks-blueprints"

  # EKS CLUSTER
  cluster_version    = "1.22"
  vpc_id             = module.vpc.vpc_id
  private_subnet_ids = module.vpc.private_subnets
  cluster_name       = local.cluster_name

  # EKS MANAGED NODE GROUPS
  managed_node_groups = {
    managed_ng = {
      node_group_name = "managed-ng"
      instance_types  = ["m5.large"]
      subnet_ids      = module.vpc.private_subnets

      min_size = 1
    }
  }

  self_managed_node_groups = {
    self_mg_5 = {
      node_group_name    = "self-managed-ondemand"
      launch_template_os = "amazonlinux2eks"
      subnet_ids         = module.vpc.private_subnets
      min_size           = 1

    }
  }

  node_security_group_additional_rules = {
    # Extend node-to-node security group rules. Recommended and required for the Add-ons
    ingress_self_all = {
      description = "Node to node all ports/protocols"
      protocol    = "-1"
      from_port   = 0
      to_port     = 0
      type        = "ingress"
      self        = true
    }
    # Recommended outbound traffic for Node groups
    egress_all = {
      description      = "Node all egress"
      protocol         = "-1"
      from_port        = 0
      to_port          = 0
      type             = "egress"
      cidr_blocks      = ["<IP_ADDRESS>/0"]
      ipv6_cidr_blocks = ["::/0"]
    }
    # Allows Control Plane Nodes to talk to Worker nodes on all ports. Added this to simplify the example and further avoid issues with Add-ons communication with Control plane.
    # This can be restricted further to specific port based on the requirement for each Add-on e.g., metrics-server 4443, spark-operator 8080, karpenter 8443 etc.
    # Change this according to your security requirements if needed
    ingress_cluster_to_node_all_traffic = {
      description              = "Cluster API to Nodegroup all traffic"
      protocol                 = "-1"
      from_port                = 0
      to_port                  = 0
      type                     = "ingress"
      source_security_group_id = module.eks_blueprints.cluster_security_group_id
    }
  }

resource "aws_security_group_rule" "allow_node_sg_to_cluster_sg" {
  description = "Self-Node Group to Cluster API/MNG all traffic"

  source_security_group_id = module.eks_blueprints.worker_node_security_group_id
  security_group_id        = module.eks_blueprints.cluster_primary_security_group_id
  type                     = "ingress"
  protocol                 = "-1"
  from_port                = 0
  to_port                  = 0

  depends_on = [
    module.eks_blueprints
  ]
}

resource "aws_security_group_rule" "allow_node_sg_from_cluster_sg" {
  description = "Cluster API/MNG to Self-Nodegroup all traffic"
  source_security_group_id = module.eks_blueprints.cluster_primary_security_group_id
  security_group_id        = module.eks_blueprints.worker_node_security_group_id
  type                     = "ingress"
  protocol                 = "-1"
  from_port                = 0
  to_port                  = 0

  depends_on = [
    module.eks_blueprints
  ]
}

I think attaching the primary cluster security group will solve this issue
https://github.com/terraform-aws-modules/terraform-aws-eks/pull/1952
Is it possible to add this as a variable of EKS Blueprint module?


Apply options and run options need more validation

Enhancement
Now the code only impl the basic feature. apply and run operation need more validation.
cc: @Peefy

Enhancement
Now the code only impl the basic feature. apply and run operation need more validation. cc: @Peefy

OK, go ahead!


[fix #197] =~ operator to .match

operator was crashing theme replace command
fixes issue https://github.com/Shopify/shopify_theme/issues/197
related issue https://github.com/Shopify/shopify_theme/issues/185

build is failing due to certificate failure

This fix works. Hopefully it can be manually merged.


Seasonal Boots (Seasonal Transformative + Christmas Currently)

For some reason a lot of the features from the previous rewrite were included here, only the last 4 commits are actually new.
This currently only adds 2 boots:

the Boots of the Seasons
the Boots of Christmas Spirit

I fully intend to add new boots for these holidays

March (Irish boot, just general irish boot, assign it to whatever Irish holiday you want)
Easter
4th of July
Halloween
Possibly a New Years boot, we'll see
I'm willing to do a Hanukkah, or other winter holiday boots if given a texture.

The seasonal boot receives minor seasonal buffs during the holidays that currently have seasonal boots (only christmas)
The seasonal boot can be converted into a static seasonal boot that receives massive bonuses during its respective holiday, and massive debuffs during the rest of the year, making it worse than the seasonal boots for roughly 91.6% of the year.
Likewise, the static seasonal boots can only be crafted during their seasonal time, so the Christmas boots can only be crafted during December, the Easter ones will be craftable from March-April (I'm not going based off ungodly algorithms lmfao) etc.(The Easter ones will be the weakest of the set since they are usable 2x longer compared to the rest.
Each boot will retain a secondary gimmick that will likewise be buffed during the season, but will still remain for the rest of the year in a reduced state. The Christmas boot for example receives an insane long term running speed (not instant, the buildup) during christmas which easily makes it the fastest boot during December in reference to how fast Santa would have to go just to hit every house in america alone, but still receive a buff to long term running build up the rest of the year which should put them in the top 5 fastest boots when running on entirely flat surfaces or possibly in the air. The Seasonal boot likewise sort of receives this bonus, but at a reduced effect (4x slower)
The main gimmick of this set is that the more powerful seasonal boots are only craftable during the seasons they're effective in, which is mentioned in game.
One concern people may have is that "oh but people may set back the clock on their worlds to get these, etc" but frankly, we've already covered this sort of thing in the official stargate rule guide, there are thousands of rulebreaks people can already do that would invalidate their runs, and that would effectively be the same as going into creative and spawning your own items, so I don't personally see this as an issue, cheaters are still going to cheat.

New commits:

I should probably just put this on a branch first actually


[udemy] SSL error when attempting to download video

[x] I've verified and I assure that I'm running youtube-dl 2017.11.15

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Verbose output
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--no-check-certificate', u'-u', u'PRIVATE', u'-p', u'PRIVATE', u'https://www.udemy.com/sailing-with-numbers-oceandrivers-academy/learn/v4/t/lecture/7099630?start=0']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.11.15
[debug] Python version 2.7.10 - Darwin-16.7.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg 3.3.2, ffprobe 3.3.2, phantomjs 2.1.1
[debug] Proxy map: {}
[udemy] Downloading login popup
ERROR: Unable to download webpage: <urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)> (caused by URLError(SSLError(1, u'[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)'),))
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 506, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2196, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1086, in https_open
    req, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1197, in do_open
    raise URLError(err)

Description of your issue, suggested solution and other information
Attempting to download videos causes an SSL error, I've tried reinstalling openssl and bypassing certificate checks using the argument but it seems its a protocol error?

Most likely https://github.com/rg3/youtube-dl/pull/14353.


loadbuffer inside sol::environment

Hello, first of all thank you for all the work you put into the project 👍
i saw that it's possible to load scripts (strings/file) inside sol::environment just by passing sol::environment as argument for sol::state::script/sol::state::script_file, it's actually a good option, but sadly it didn't support buffers, i have a function call which uses sol::this_environment and i wanted to load buffer inside it, hope that you can add that soon =)

What does "load buffer inside it" mean?

sorry if it was vague :x, here's an example : State.buffer(buff, size, name, sol::environment), would load the buffer then execute it inside a certain _ENV (sol::environment), the default buffer call executes it inside _G, was searching if i can call a function (the buffer) under certain sol::environment since where you load the buffer doesn't really matter, it's all about the execution of it i believe.

Let me be more specific.
What is the purpose of State.buffer? Do you mean take a const char*, and a std::size_t size parameters, alongside a sol::environment env to and read from that code? Do you mean a wrapper around lua_loadbuffer ? What is the name parameter for?
As a side note, if you do a loadbuffer call and then get out a sol::function from it, you can apply a sol::environment on that function (using the functions documented here).

wow :o i didn't think about casting the loadbuffer to a sol::function, thank you very much for the advice, will give you feedback later =)
as for State.buffer, it's pretty much like executing a string (like in State.script), but in State.buffer, any error thrown (loading or executing) would have the name you supplied in the parameter instead of "string"
example :
State.string => ["string"] : attempt to index "i" (a nil value)
State.buffer ("luascript") => "luascript" : attempt to index "i" (a nil value)

worked pretty fine when casting the loadbuffer call into sol::function, would be a good addition to add the function i mentionned though, i didn't know that i was able to do that until you gave me the advice, thank you for your time :)

You would do this by calling luaL_loadbuffer with your parameters, then doing sol::function code(lua, -1); to get a function from the code on the top of the stack.
Then, set up your environment before calling sol::set_environment( env, code );. Finally, to execute the code, do code();.
I will be writing an abstraction for luaL_loadbuffer and the generic lua_load in a bit. It will take me some time as I am still working on container abstractions.

Added raw load function that can be called with a lua_Reader and void* custom data: http://sol2.readthedocs.io/en/latest/api/state.html#state-load-code
All versions of sol2's script files now use luaL_loadbufferx, and take a form of string_view as the first argument. Construct a std::string_view if you're on C++17 and sol2's C++17 support is on, or just pass sol::string_view(buf, size) if you're not. Also has constructors for basic_string to work as well.


Test: Fix broken tests

[ ] Fix broken snapshot tests
[ ] Look into other testing opportunities

I would like to work on this


remove Turing.predict

@xukai92 It doesn't seem we need predict anymore. Can we safely remove predict from Turing now?

Yes we can. The predict function now are simply all equal to nothing. We can just remove them.


New release for Django 1.9

Commit https://github.com/bitmazk/django-calendarium/commit/29bf141ff4a7d12793225977ba797f7d5faf0faa replaces django.contrib.contenttypes.generic which is deprecated in Django 1.9.
Version in pypi is 1.3.3 which doesn't include this commit. Please, could you upload a new version to pypi?
Thanks!

Done! 1.3.4

Thanks for being so fast!


Updated mongoDB image version to 4.2

Addresses #171. Version 4.2 is the latest version of the image that runs without errors.

@athith-g What errors do you encounter when you try to update to the latest version of MongoDB? Version 4.2 is also quite old.

@athith-g What errors do you encounter when you try to update to the latest version of MongoDB? Version 4.2 is also quite old.

MongoDB versions 4.4 - 7.0 cause the same error in the protes and protes-worker containers:
pymongo.errors.OperationFailure: ns not found taskStore.tasks
protes-worker traceback:

protes traceback:

@athith-g: Did you try to upgrade pymongo? FOCA currently pins it to 3.10.1 but the latest version is 4.7.2. Unless .drop_indexes() was somehow deprecated in MongoDB, I don't think that this is an issue in FOCA or proTES itself, but rather an incompatibility between the used Mongo client and server versions. If a newer pymongo version works with the more recent MongoDB versino and doesn't cause any other issues, I think we can upgrade it in FOCA.

@uniqueg I updated the pymongo version to 4.7.2 and the pymongo errors discussed previously were resolved. The integration tests fail because Collections.insert() is deprecated in pymongo 4.0+.
Should I make a PR on FOCA to update the pymongo version and then push the new changes (changing insert() to insert_one() and using mongoDB version 7.0) to this branch?

@uniqueg I updated the pymongo version to 4.7.2 and the pymongo errors discussed previously were resolved. The integration tests fail because Collections.insert() is removed in pymongo 4.0+.
Should I make a PR on FOCA to update the pymongo version and then push the new changes (changing insert() to insert_one() and using mongoDB version 7.0) to this branch?

Yes please 🙌

I guess we will need to fix FOCA first, then merge your PR on the FOCA repo, create a release and then I think we need to update the FOCA version in this repo (and during that PR upgrade the MongoDB version in the docker-compose.yml).
So I suppose this is blocked for now, but I have already renamed the PR.


NUnit System.OutOfMemoryException x64

Our solution uses NUnit 3 (including the TestAdapter), and has two main components: and API and a client.
The API is build in x64 mode, and thus should be tested in x64 mode as well. However, when setting the BuildPlatform in the Reporting options to x64, the tests for the API all fail due to an OutOfMemoryException. The client project doesn't have any issues regarding execution of the tests.
Task: Visual Studio Test
Task version: 1.x
NUnit Adapter Version: NUnit Adapter <IP_ADDRESS>

@BerendWouters The Build platfor option is simply for reporting purposes, and has got nothing to do with the actual test run. To rule out any issue with the task itself, you can run the vstest.console.exe from command line and report back the result. You can find the full command line along with the options, to be run, from the build logs.
We can then take it further and investigate the OOM expception.
Thanks.

Well, it seems it's something wrong with NUnit itself. Running it on the command line causes the tests failing to load.
Information: NUnit failed to load d:\a\1\s\

However, this is still annoying that we didn't notice this until today, since the exception doesn't cause the step to fail.

@jayaranigarg @Shyam-Gupta to help out further

@BerendWouters Can you please share the build logs.
Also let us know the exact command line you used to run the tests and the error message you got.

I already sent one to the support team that was assigned to me when I created a ticket via MS Support.

@BerendWouters Please let us know the support ticket number so that we can track it and get the logs.

closing it on behalf of @Shyam-Gupta


Cannot Connect Using domain other than localhost

Xampp is controlling my local virtual host here for testing. I am trying to get ratchet to work and create a web server correctly. The problem is that the system isn't responding when I tell the system to go to the web socket host address in JS.
I know I want that address to be equal to whatever the current address is. I will be putting that in the request so that JS will know what it is, but for now lets say it local.ezbusinessmanager.com as the base domain, and I am setting the port of the web socket server to 8080. I have the following doing that in a command object called ChatServerCommand.
/**
 * Implement this method with your command's logic.
 * This starts the socket server.
 * Throws random warnings and errors most of the time on purpose.
 * If it makes it all the way through, you win!
 *
 * @param Arguments $args The command arguments.
 * @param ConsoleIo $io The console io
 * @return void The exit code or null for success
 */
public function execute(Arguments $args, ConsoleIo $io): void
{
    $port = $args->getArgument('port') ? intval($args->getArgument('port')) : 8080;
    $domain = Configure::read('App.fullBaseUrl') !== "localhost" ? Configure::read('App.fullBaseUrl') : 'local.ezbusinessmanager.com';
    $this->prepareDomain($domain);
    $io->success("Socket server now running on ws://$domain:$port");
    $server = new App($domain, $port);
    $server->route($domain, new Chat(), ['*']);
    $server->run();
}

/**
 * Remove http, https, www, and slashes from domain string.
 *
 * @param string $domain Domain to be prepared.
 */
public function prepareDomain(string &$domain): void
{
    // If URI is like, eg. www.way2tutorial.com/
    $domain = trim($domain, '/');

    // If not have http:// or https:// then prepend it
    if (!preg_match('#^http(s)?://#', $domain)) {
        $domain = 'http://' . $domain;
    }

    $urlParts = parse_url($domain);

    // Remove www.
    $domain = preg_replace('/^www\./', '', $urlParts['host']);
}

It seems to run when I call the command, but when I get to my page, it tells me that it can't connect Its not getting to the server because that Chat() object should be sending a log error if there is something on the back end at all.
I am calling it with this script
"use strict";

const conn = new WebSocket('ws://local.ezbusinessmanager.com:8080');
conn.onopen = () => {
    console.log('connected to server...');
};
conn.onerror = e => {
    console.error('An error has occurred:', e.type);
};

See the 4th Q/A here: http://socketo.me/docs/troubleshooting

This is not a solution, I have tried this and gotten exactly the same result.

I have altered the code to be this
$port = $args->getArgument('port') ? intval($args->getArgument('port')) : 8080;
        $domain = Configure::read('App.fullBaseUrl') !== "localhost" ? Configure::read('App.fullBaseUrl') : 'local.ezbusinessmanager.com';
        $this->prepareDomain($domain);
        $io->success("Socket server now running on ws://$domain:$port");
        $server = new App($domain, $port, '<IP_ADDRESS>');
        $server->route($domain, new Chat(), ['*']);
        $server->run();

I have finally figured it out. The route command needs to have a relative uri from host being supplied. In this case, that would be '/'


Idempotency and a "destroy" operation

I'm thinking about konfig as a tool similar to terraform or ansible, in the sense that you provide a description of what you want your environment to be, and the tool ensures that if the "apply" operation is successful you'll end up with the same configuration every time. In that sense, a "destroy" operation should do the exact oposite, that is, destroy the resources described on the config file.
Mapping this to kongfig seems to be straight forward, since a destroy operation should simply delete all the APIs listed on the config file. This is also related to the fact that konfig should (if it doesn't already) allow you to apply a config file multiple times, with the same result.
@CyExy: Do you think that contributing such an operation (destroy) is something doable for an outsider?

You can apply a config file where ensures attribute is set to removed for an api or consumer, or any of their plugins, and it does exactly what it says on the tin.
kongfig allows for out of bounds apis and consumers, for example if you manage your consumers outside of kongfig, or when you would apply multiple config files to the same kong instance. The flip side is that you need to remember to remove old services with ensure: removed when you update your config file. If you are using puppet to configure our servers, then you would be doing the same in puppet as it requires this as well.
I can see how destroy operation could be useful in development, but I cannot think of a scenario where you would want to use it in production. Although having an option to remove any definitions from Kong that are not present in the config file would be probably welcomed options in some build systems.

oh! cool... I missed that alternative. The destroy option would bring it closer to the behavior of terraform (not in production environments, but imagine a development or integration environment), but I think the ensure: removed keyword will do the trick for me. thanks!


ceylon: could not determine type of function or value reference in IntelliJ

I'm using Springboot along with Spring transaction in my application. My SpringConfig file is annotated as:
configuration
propertySource {
    ignoreResourceNotFound = true;
    \ivalue = {"classpath:/application.properties"};
}
componentScan({"jooq.metadata", "example.test"})
enableTransactionManagement{mode = AdviceMode.aspectj;}
enableAspectJAutoProxy { proxyTargetClass = false; }
shared class AppConfig(){}

The given application fails during "make" with the following exception:
Error:(88, 1) ceylon: could not determine type of function or value reference: 'enableTransactionManagement': Error while loading the org.springframework:spring-tx/4.2.4.RELEASE module:
   Declaration 'org.springframework.context.annotation.AdviceMode' could not be found in module 'org.springframework:spring-tx' or its imported modules but was found in the non-imported module 'org.springframework:spring-context'

If I remove enableTransactionManagement  annotation then application runs successfully.
Also, the same application runs successfully in eclipse-ceylon-ide. I'm running IntelliJ on Ubuntu 16.04
My module consists of:
shared import maven:"org.springframework.boot:spring-boot-starter-web" "1.3.2.RELEASE";
    shared import maven:"org.springframework.boot:spring-boot-starter-jdbc" "1.3.2.RELEASE";
    shared import maven:"org.springframework:spring-context" "4.2.4.RELEASE";
    shared import maven:"org.springframework:spring-jdbc" "4.2.4.RELEASE";
    shared import maven:"org.springframework:spring-tx" "4.2.4.RELEASE";
    shared import maven:"org.springframework:spring-aspects" "4.2.4.RELEASE";
    shared import maven:"org.aspectj:aspectjtools" "1.6.2";

This is actually caused by Maven's transitive dependencies. To fix this, you need to create an overrides.xml file, that will likely look like this:
<overrides xmlns="http://www.ceylon-lang.org/xsd/overrides">
    <module module="org.springframework:spring-tx">
        <add module="org.springframework:spring-context" version="4.2.4.RELEASE" shared="false"/>
    </module>
</overrides>

More information here: https://ceylon-lang.org/documentation/reference/repository/overrides/

Well that's strange. After adding the following lines to overrides.xml it worked :)
<module module="org.springframework:spring-tx">         <add module="org.springframework:spring-context" version="4.2.4.RELEASE" shared="false"/>     </module>
But my setup is already configured with overrides.xml file and as I mentioned that its working in eclipse. So why the same is not working in IntelliJ. Issue here is if I'm porting a running application from one IDE to another, I'm under the impression that it will still work but that's not the case here.

Could you share this project somewhere so I can take a look?

Shared the project on https://github.com/karimiumar/SpringCeylon

The CLI gives the same error:
$ ceylon compile
source/spring/ex/module.ceylon:24: error: Error while loading the org.springframework:spring-tx/4.2.4.RELEASE module:
    shared import maven:"org.springframework:spring-tx" "4.2.4.RELEASE";
    ^
   Declaration 'org.springframework.context.annotation.AdviceMode' could not be found in module 'org.springframework:spring-tx' or its imported modules but was found in the non-imported module 'org.springframework:spring-context'
source/spring/ex/SpringConfig.ceylon:9: warning: import is never used: function 'inject' has no local references
    inject
    ^
source/spring/ex/SpringConfig.ceylon:16: warning: import is never used: value 'mysql' has no local references
        mysqlDialect = \iMYSQL
                       ^
source/spring/ex/SpringConfig.ceylon:15: warning: import is never used: class 'SQLDialect' has no local references
    SQLDialect {
    ^
source/spring/ex/SpringConfig.ceylon:18: warning: import is never used: interface 'DSLContext' has no local references
    DSLContext,
    ^
source/spring/ex/SpringConfig.ceylon:19: warning: import is never used: interface 'Configuration' has no local references
    Configuration,
    ^
source/spring/ex/SpringConfig.ceylon:67: error: parameter type could not be determined: 'mode' of 'enableTransactionManagement': Error while loading the org.springframework:spring-tx/4.2.4.RELEASE module:
enableTransactionManagement{mode = AdviceMode.aspectj;}
                            ^
   Declaration 'org.springframework.context.annotation.AdviceMode' could not be found in module 'org.springframework:spring-tx' or its imported modules but was found in the non-imported module 'org.springframework:spring-context'
source/spring/ex/SpringConfig.ceylon:67: error: could not determine type of function or value reference: 'enableTransactionManagement': Error while loading the org.springframework:spring-tx/4.2.4.RELEASE module:
enableTransactionManagement{mode = AdviceMode.aspectj;}
^
   Declaration 'org.springframework.context.annotation.AdviceMode' could not be found in module 'org.springframework:spring-tx' or its imported modules but was found in the non-imported module 'org.springframework:spring-context'
3 errors
5 warnings
ceylon compile: There were 3 errors

I have no clue why this works in Eclipse, but I can say there is no bug in IntelliJ.

Actually I have the exact same error in Eclipse:

(I had to recreate the project in Eclipse because you didn't commit the project files)

Oh I see, the error disappears if Use a flat classpath is enabled in the project properties in Eclipse. Since you didn't push your .ceylon/config, I'm not sure if that setting is also enabled in your case. If so, it should have been automatically picked by IntelliJ.

Well, the .ceylon/config has the following entries
[defaults]
offline=false
flatclasspath=true
autoexportmavendependencies=true
overrides=overrides.xml
[repositories]
remote=aether
but it still fails in IntelliJ

Wow, it looks like you are using an old version of the plugin (still using the old icons!). Maybe you should try updating it (using Check for Updates...) and see if it works better.
The latest version is currently 1.3.0-201609301555.

Reinstalled Ceylon plugin from the repository with version v1.3.0-201609301555. But the problem still persists. The problem occurs when executing the application or Build->Make Project..

Oh, OK, I though it was in the editor... I should really read the issues more carefully :)


pass one time value as props and not watch them

I find that as long as I pass a variable (no matter of if it is one time) as prop into component, it will always create a prop directive and a watcher. But in fact, when I pass one time binding, I just want the compiler to resolve its value without watching, especially the case to pass callbacks.

In the official 0.12 release prop="{{* parentProp }} is in fact one time. The one way syntax now uses a different syntax.


Error when searching for label with many hits

When searching for labels with many hits (e.g., shapeshift), the dasboard does not return any results and logs:
Error requesting https://api-test.graphsense.info/search?q=Shapeshift&limit=100: Server got itself in trouble

Fixed in rest service by iterating large sets internally.


[REFACTOR] Use the new Navigation API to perform fit

In<EMAIL_ADDRESS>the oldest fit API is deprecated so prepare the future.
Requires https://github.com/process-analytics/bpmn-visualization-js/pull/1988 and a new bpmn-visualization release.
Live environment of examples
https://cdn.statically.io/gh/process-analytics/bpmn-visualization-examples/refactor/use_new_navigation_object_to_fit/examples/index.html

#347 has been merged, so this should work now.

✔ Tested on statically.io


Rename the download folder and files

Describe the bug
Usa and "communities + date" is not a descriptive enough name for the download folder and files. Can we update them to be more descriptive and more closely tied to the CEJST? Open to suggestions but something like:
CEJST_downloads
CEJST_communities
CEJST_list
and then the file names follow the chosen format.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I recommend that download files that have a link on frontend like:
https://static-data-screeningtool.geoplatform.gov/data-pipeline/data/score/downloadable/communities-2022-05-31-1915GMT.xlsx
https://static-data-screeningtool.geoplatform.gov/data-pipeline/data/score/downloadable/communities-2022-05-31-1915GMT.csv
https://static-data-screeningtool.geoplatform.gov/data-pipeline/data/score/shapefile/usa.zip
I would recommend kebab case as I believe it's easier to read when being shared. The first two links have kebab case while usa doesn't really as it lacks description.

@esfoobar-usds i think this might be a duplicate now that you have worked out what needs to be done for the previous versions page vs. the downloads page for 1.0, right?

Yes, this is being addressed in other tickets.


Update and rename .env.example to  .env

Could you please explain this change? We deliberately created .env.example to make it easier to manage env variables.


Synology - can't sync, add user

Issue

Trying to expose Osram Smart+ plugs to Homekit. I've installed homebridge-hue plugin on my Synology, but unlike other plugins can't get homebridge-hue to work. When I go in the config settings I add the IP address of the bridge but it never asks me to push the sync button on the bridge. I understand the config should have a "users" section which is created after homebridge-hue asks to push the button, but no "users" section appears, see below. I've tried pressing the sync button at several moments (before installing the plugin, before restarting Homebridge etc) but to no avail. When I restart homebridge keeps restarting over and over again. I have to remove the homebridge-hue config and restart to get Homebridge back in working order.
Any help is much appreciated, is there a way to manually find out valid content for the "users" section?
Log Messages

  },
        {
            "name": "Hue slaapkamer",
            "hosts": [
                "<IP_ADDRESS>:80"
            ],
            "nativeHomeKitLights": true,
            "nativeHomeKitSensors": true,
            "nupnp": true,
            "resource": true,
            "platform": "Hue"
        }
    ]
[7/18/2019, 9:57:34 PM] [DoorBird] Initializing DoorBird platform...
[7/18/2019, 9:57:34 PM] Error: The requested platform 'Hue' was not registered by any plugin.
    at API.platform (/usr/local/lib/node_modules/homebridge/lib/api.js:134:13)
    at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:327:45)
    at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:90:36)
    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
[7/18/2019, 9:57:34 PM] Got SIGTERM, shutting down Homebridge...

Debug Files

Did you install homebridge-lib?

Ah, that was it, rookie mistake. I got it working now, thanks so much!
However one more question if I may - whenever I restart Homebridge, I have to sync my Hue (by pressing the button). Is there any way I can prevent that?
Also it looks like devices from rooms where a homebridge-hue device is present are assigned to 'default room', although I'm not sure if I can reproduce that yet.

whenever I restart Homebridge, I have to sync my Hue (by pressing the button). Is there any way I can prevent that?

Yes, save the bridgeid and api key in config.json.  See https://github.com/ebaauw/homebridge-hue#installation.

Also it looks like devices from rooms where a homebridge-hue device is present are assigned to 'default room'.

HomeKit adds bridged accessories to the same room where the HomeKit bridge is located.  That's the accessory for Homebridge itself, not the accessory that homebridge-hue creates for the Hue bridge accessory.
HomeKit rooms are not exposed over the HAP protocol, just like HomeKit scenes, automations, groups.  These can only be managed by HomeKit apps, using the HomeKit API, which is available only on iOS (and now tvOS, watchOS, iPadOS, ...).
The Hue app uses the HomeKit API to sync the rooms between the Hue bridge and HomeKit.  They used to expose a custom characteristic on their lights, so the app would recognise which lights to sync.  homebridge-hue exposes that characteristic for non-Hue lights, so the Hue app would sync these as well.  I'm not sure if the Hue app still works that way (I haven't been using a Hue bridge for a long time), nor if the same trick would also work for sensors (last I used a Hue bridge was before they exposed sensors to HomeKit).

Please upgrade to<EMAIL_ADDRESS>which, once again, includes homebridge-lib as a regular dependency.

Only just got around to try to edit the config.json tonight but just wanted to share that following your advice solved my issue, thanks so much! Now the accessories don't show up in the default room after restarting homebridge, so also on that point it's so far, so good.


Error when exporting unit list as CSV

I am able to export my item list to a CSV file, and export my unit list as text.  However, I can not export my unit list to CSV.  In the browser itself, when I select "Export as CSV", simply nothing happens.  If I look at the console in the browser, I see
TypeError: unit is undefined[Learn More]  units.js:785:1
	exportAsCsv http://ffbeequip.com/units.js:785:1
	onclick http://ffbeequip.com/units.html:1:1

From doing a super-quick look at the units.js file and debugging the error in the browser, it looks like the array returned by the sortByRarity function (units.js:684) is larger than the input array, if I own any 7* units (which I do).  The exportAsCsv function iterates though the units to export based on sortedUnits.length, but pulls the units themselves from the original units array, so when it tries to export the 7* units, it is looking past the end of the units array.

Thanks for the in-depth analysis, it was exactly as you thought. The sorted list separates information that's normally bundled (like 7* forms) so that's why it grows in size.
PR ready: https://github.com/lyrgard/ffbeEquip/pull/144


feat(bindings): bump bindings

Integration test failure is explained by this issue.

Closed by https://github.com/taikoxyz/taiko-client/pull/774


support for cPH1 wallbox?

I tried this adapter with my cPH1 wallbox which also uses the eCB1 controller.
I thought the web API is the same but unfortunately the adapter doesn't work.
Do you plan to support the cPH1 wallbox?
Or do you have any ideas why it doesn't work in my environment?
I run iobroker in docker:
Plattform
docker
Betriebssystem
linux
Architektur
x64
CPUs
4
Geschwindigkeit
3202 MHz
Modell
Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz
RAM
7.65 GB
System-Betriebszeit
12 T. 22:21:12
Node.js
v18.18.2
Thanks in advance!

Hi Elmer0815,
this is a good idea. I will have a look how to implement it.
Currently i'm very busy, so i hope i will have time in February or March.
Best Rgards

Hi Elmer,
can you describe, what features should be implemented?


Weird time picker get the date instead???

I am using:
$('#time').bootstrapMaterialDatePicker({ date: false, time: true });
I got the time picker poping up... but the input field get filled with a date ?!?!?!
I tried a work around with JS and the DOM... it works but...
var timePicked = $('.dtp-time > .dtp-actual-maxtime');
    $('.dtp-buttons > .dtp-btn-ok').click(function () {
        alert('timePicked.text(): ' + timePicked.text().substr(5)); // will assign to #time element

    });

Frustrating... any idea why I have an issue in the first place?

can you provide a screenshot of what it looks like?

$('#time').bootstrapMaterialDatePicker({ date: false, time: true, format: 'HH:mm' });

DOh! Thanks. Works like a charm


⚠ Samsung has degraded performance

In 024c89f, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 7432 ms

Resolved: Samsung performance has improved in 9eb2fed.


FSharp updates

This is F# update and performance improvements, but not featuring Fable/Node/NPM updates.

Sorry that checking this out takes some time. Before merging, I want to ensure that I can publish the GitHub pages site (https://flowa.github.io/amadae-hawk-dove-binary-model/) site. To do that, Fable/Node/NPM updates should be included or done soon after. Right now, I have a limited amount of time for this. I'll try to get this done within the next month or so.
Anyways, thanks for this contribution.