Completed opensds-installer/salt module

This PR introduces an Opensds-installer/salt module to provision    https://github.com/saltstack-formulas/opensds-formula . Refer to the  INSTALL.md for usage instructions.

Thanks @noelmcloughlin for your PR!

Noting one issue: https://github.com/saltstack-formulas/deepsea-formula/issues/5
Ceph support (DeepSea project) requires Ceph luminous.  The workaround is to add the repo manually before proceeding with DeepSea README steps.
sudo -s
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
OK
echo deb https://download.ceph.com/debian-luminous/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list

Result is successful DeepSea installation on Ubuntu.
# salt-run state.orch ceph.stage.0
deepsea_minions          : valid
master_minion            : valid
ceph_version             : valid
salt_version             : valid
[WARNING ] All minions are ready
myhost_master:
  Name: sync master - Function: salt.state - Result: Changed Started: - 15:50:53.304618 Duration: 4087.418 ms
  Name: salt-api - Function: salt.state - Result: Changed Started: - 15:50:57.392395 Duration: 5220.791 ms
  Name: repo master - Function: salt.state - Result: Clean Started: - 15:51:02.613527 Duration: 751.061 ms
  Name: prepare master - Function: salt.state - Result: Changed Started: - 15:51:03.364879 Duration: 254912.31 ms
  Name: filequeue.remove - Function: salt.runner - Result: Changed Started: - 15:55:18.277402 Duration: 2501.594 ms
  Name: filequeue.enqueue - Function: salt.runner - Result: Changed Started: - 15:55:20.779282 Duration: 840.015 ms
  Name: minions.ready - Function: salt.runner - Result: Changed Started: - 15:55:21.619532 Duration: 1406.95 ms
  Name: repo - Function: salt.state - Result: Clean Started: - 15:55:23.026778 Duration: 1723.592 ms
  Name: common packages - Function: salt.state - Result: Clean Started: - 15:55:24.750606 Duration: 2680.827 ms
  Name: sync - Function: salt.state - Result: Changed Started: - 15:55:27.431673 Duration: 1610.171 ms
  Name: mines - Function: salt.state - Result: Changed Started: - 15:55:29.042197 Duration: 4164.112 ms
  Name: updates - Function: salt.state - Result: Clean Started: - 15:55:33.206557 Duration: 15826.027 ms
  Name: mds restart noop - Function: test.nop - Result: Clean Started: - 15:55:49.032829 Duration: 0.478 ms

Summary for myhost_master
-------------
Succeeded: 13 (changed=8)
Failed:     0

Another FYI regarding opensds-installer/salt goal.
Historically, DeepSea (Ceph framework) is bound with Suse os_family. However, because they support a traditional Makefile in the DeepSea project, we have theoretical support for any Linux distribution supported by Saltstack - a related pull request to patch the Makefile for Suse/RedHat/Debian OS families was merged upstream.
Therefore by design, the  /root/opensds-installer/salt/install.sh -i ceph SDS solution should strive to support various linux distributions (and maybe MacOS).  I hope that  install.sh -i ceph command will support Ubuntu/Centos (& Suse) in the first instance, maybe Ubuntu being the priority.

Known CEPH upstream issues will be listed here.
https://github.com/SUSE/DeepSea/pull/1202 open PR
https://github.com/SUSE/DeepSea/pull/1196 merged PR
https://github.com/SUSE/DeepSea/issues/1199 open issue

Hi @noelmcloughlin , I have checked the patch for deploying opensds-salt recently, but I'm not very sure that the opensds cluster is successfully deployed. To make it clear, could you show us the result according to the test section (Section 2) in https://github.com/opensds/opensds/wiki/OpenSDS-Cluster-Installation-through-Ansible? Thanks!

Hi @leonwanghui thanks for the valuable feedback and insights.  This confirms a dedicated opensds-formula is required, so I will revisit that WIP.  Please review #41 proposal to help this work.

Hi @noelmcloughlin , can you give some clues if this PR has been finished? If so, I will try to deploy it according to INSTALL.md.

Hi @leonwanghui please wait for confirmation. Instead of "foundation support" the PR will match 'installer-ansible' solution as best I can. Apologies for missing July 3rd meeting.  Here is update.

saltstack etcd-docker PR: https://github.com/saltstack-formulas/etcd-formula/pull/14
saltstack iscsi PR: https://github.com/saltstack-formulas/etcd-formula/pull/14
saltstack lvm: WIP
saltstack opensds: WIP

OpenSDS Auth service (keystone) can be deployed via Salt Salt now.  PR Raised upstream `

@leonwanghui I am now testing this PR against https://github.com/noelmcloughlin/opensds-formula and hope to report progress soon.  Do we have a list of scenarios supported by opensds-installer/ansible so I can target testing accordingly?

Hi @noelmcloughlin , please refer to section 6 in Aruba test document.

Hi @leonwanghui thanks! that document is useful.   Here is the status.
opensds-installer/salt is code complete and verified.  This PR adds the salt module to the opensds-installer.  The README explains commands to install salt and opensds (Bali release),
sudo -s
git clone https://github.com/opensds/opensds-installer.git /root/opensds-installer   #use my fork https://github.com/noelmcloughlin
cd /root/opensds-installer
git checkout dev-salt
sudo /root/opensds-installer/salt/install.sh -i salt -m <SALT-MASTER-HOSTNAME>    #i.e. sudo /root/opensds-installer/salt/install.sh -i salt -m <IP_ADDRESS>
sudo /root/opensds-installer/salt/install.sh -i opensds -m <SALT-MASTER-HOSTNAME>  #i.e.   sudo /root/opensds-installer/salt/install.sh -i opensds -m <IP_ADDRESS>

Upstream integration
The formula is published at https://github.com/saltstack-formulas/opensds-formula
Functional Testing
Issues are tracked upstream. i.e. https://github.com/saltstack-formulas/opensds-formula/issues/1
This is ongoing  The upstream solution status is "Testable" :-)

@noelmcloughlin Cool, I will have a test this week, thanks!

Example output on Centos 7.5: Installer_Centos7_log.txt Still working on finalising upstream solution.

Even with the latest code, I still got these errors below:
----------
          ID: lvm_pv_create_/dev/loop1
    Function: lvm.pv_present
        Name: /dev/loop1
      Result: False
     Comment: An exception occurred in this state: Traceback (most recent call last):
                File "/usr/lib/python2.7/dist-packages/salt/state.py", line 1905, in call
                  **cdata['kwargs'])
                File "/usr/lib/python2.7/dist-packages/salt/loader.py", line 1830, in wrapper
                  return f(*args, **kwargs)
                File "/usr/lib/python2.7/dist-packages/salt/states/lvm.py", line 66, in pv_present
                  changes = __salt__['lvm.pvcreate'](name, **kwargs)
                File "/usr/lib/python2.7/dist-packages/salt/modules/linux_lvm.py", line 251, in pvcreate
                  raise CommandExecutionError(out.get('stderr'))
              CommandExecutionError:   Device /dev/loop1 not found (or ignored by filtering).
     Started: 09:24:26.295892
    Duration: 250.139 ms
     Changes:
----------
          ID: lvm_vg_create_cinder_volumes
    Function: lvm.vg_present
        Name: cinder_volumes
      Result: False
     Comment: Failed to create Volume Group cinder_volumes
     Started: 09:24:26.546479
    Duration: 160.68 ms
     Changes:
----------
          ID: lvm_vg_create_opensds_volumes
    Function: lvm.vg_present
        Name: opensds_volumes
      Result: False
     Comment: Failed to create Volume Group opensds_volumes
     Started: 09:24:26.707596
    Duration: 156.482 ms
     Changes:

I updated the PR to include TESTING.md to help testers. Here is pdf for quick access TESTING.pdf.
This was result on Ubuntu.  Hope that helps.
Summary for local
--------------
Succeeded: 173 (changed=101)
Failed:     13
--------------
Total states run:     186
Total run time:   926.408 s
local:
    ----------
    opensds:
        - default

I ran sudo losetup -D && sudo ./install.sh -i opensds 3rd time and worked too.
Summary for local
--------------
Succeeded: 185 (changed=58)
Failed:      1
--------------
Total states run:     186
Total run time:  1061.788 s

The failure is upstream bug: https://github.com/saltstack-formulas/devstack-formula/issues/13
Let me know if you can follow the TESTING.md instructions on ubuntu successfully.  Next week I will make some time to improve quality. thanks.

Hey @leonwanghui  Yes testable on Ubuntu and Centos - upstream is very close to working. I'm hitting this PR with lots of auto-commits during testing past week.
This is deviation from INSTALL.md for this PR.
$ sudo -s
$ yum install git (only needed on Centos)
$ cd /root
$ git clone https://github.com/noelmcloughlin/opensds-installer.git
$ cd opensds-installer/
$ git checkout dev-salt
$ cd salt
$ ./install.sh -i salt;  install.sh -i opensds
##### if salt throws segment fault on Centos just run 'install.sh -i opensds' second time. I will raise bug on Salt for this #####

This is an outstanding issue if you have any suggestions.
root@ubuntu1804:~# docker ps -a
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS                      PORTS                                             NAMES
21f3bdbfb215        opensdsio/dashboard:latest             "/bin/sh -c /opt/das…"   9 hours ago         Up 2 hours                                                                    dashboard
b7e411103870        opensdsio/opensds-dock:latest          "/usr/bin/osdsdock"      9 hours ago         Up 11 minutes                                                                 osdsdock
1083acf9f4d1        gcr.io/etcd-development/etcd:v3.2.24   "etcd -name etcd0 -a…"
Connected to <IP_ADDRESS>.
Escape character is '^]'.
Connection closed by foreign host.

root@ubuntu1804:~# netstat -a | grep 2379 | wc -l
15

There are two outstanding upstream docker issues:
osdslet: https://github.com/saltstack-formulas/opensds-formula/issues/17 (Ubuntu/CentOS)
osdsdb: https://github.com/saltstack-formulas/etcd-formula/issues/29 (CentOS only).

Hi @noelmcloughlin , when I tried to test your patch based on your comments, there was some errors below:
Executing /lib/systemd/systemd-sysv-install enable salt-minion
prepare salt ...
run salt ...
local:
    ----------
    base:
        - salt.pkgrepo
        - salt.minion
        - salt.master
        - salt.formulas
        - salt.ssh
 ... please be patient ...
[ERROR   ] Command 'test -e /srv/formulas/openssh-formula >/dev/null 2>&1' failed with return code: 1
[ERROR   ] retcode: 1

Is there something I missed?

@noelmcloughlin Somehow the error I mentioned above is gone when I reinstalled it, but osdslet daemon service failed (5 times) with unknown reason.

For your first comment - the 'ERRORS' are noise. I'm have PR to fix: https://github.com/saltstack-formulas/salt-formula/pull/389
For second comment, Yes. osdslet gives error. https://github.com/saltstack-formulas/opensds-formula/issues/20
E1214 21:35:25.442800    2829 keystone.go:60] When get auth client:You must provide a password to authenticate

@leonwanghui  @xing-yang Here is current status of the PR.  My goal is to provide an unofficial installer for the OpenSDS project, and an architecture for same.  The opensds-installer/salt framework works - it consistently deploys OpenSDS on both Ubuntu and CentOS without error.
Summary for local
--------------
Succeeded: 197 (changed=107)
Failed:      0
--------------
Total states run:     197
Total run time:  2366.905 s

But - I need help from OpenSDS service designers or experts now.
(1) Review the README (user guide).
(2) Help me figure out why OpenSDS V3 CLI will not work
I spent a week troubleshooting OpenSDS but lack required OpenSDS knowledge.
These are the "noauth" errors
[root@localhost salt]# docker ps
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS               NAMES
9056f90439e6        opensdsio/dashboard:latest      "/bin/sh -c /opt/das…"   22 minutes ago      Up 22 minutes                           dashboard
b0832c79a822        opensdsio/opensds-dock:latest   "/usr/bin/osdsdock"      33 minutes ago      Up 33 minutes                           osdsdock
0eac0a3c60a4        quay.io/coreos/etcd:latest      "etcd -name etcd0 -a…"   43 minutes ago      Up 43 minutes                           osdsdb-etcd
[root@localhost salt]# exit
exit
[vagrant@localhost ~]$ sudo cp /opt/opensds-linux-amd64/bin/osdsctl /usr/local/bin
[vagrant@localhost ~]$ export OPENSDS_ENDPOINT=http://{your_real_host_ip}:50040
[vagrant@localhost ~]$ export OPENSDS_ENDPOINT=http://<IP_ADDRESS>:50040
[vagrant@localhost ~]$ export OPENSDS_AUTH_STRATEGY=keystone
[vagrant@localhost ~]$ export OPENSDS_AUTH_STRATEGY=noauth
[vagrant@localhost ~]$ source /opt/opensds-linux-amd64-devstack/openrc admin admin
WARNING: setting legacy OS_TENANT_NAME to support cli tools.
[vagrant@localhost ~]$ osdsctl pool list
ERROR: List pools failed: context deadline exceeded
[vagrant@localhost ~]$ osdsctl pool list --debug
DEBUG: 2018/12/21 13:37:55 receiver.go:75: GET http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/pools?offset=0&sortKey=id&limit=50&sortDir=desc
DEBUG: 2018/12/21 13:37:58 receiver.go:101:
StatusCode: 400 Bad Request
Response Body:
{"code":400,"message":"List pools failed: context deadline exceeded"}
ERROR: List pools failed: context deadline exceeded
[vagrant@localhost ~]$ curl http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/pools?offset=0&sortKey=id&limit=50&sortDir=desc
[1] 1596
[2] 1597
[3] 1598
[vagrant@localhost ~]$ {"code":400,"message":"List pools failed: context deadline exceeded"}
[1]   Done                    curl http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/pools?offset=0
[2]-  Done                    sortKey=id
[3]+  Done                    limit=50
[vagrant@localhost ~]$ curl http://<IP_ADDRESS>:50040/v1beta/
{"description":"v1beta version","name":"v1beta","status":"CURRENT","updatedAt":"2017-07-10T14:36:58.014Z"}[vagrant@localhost ~]$ ps -ef | grep osds
vagrant   1605 12566  0 13:38 pts/0    00:00:00 grep --color=auto osds
root     23011     1 99 12:54 pts/0    00:50:27 /opt/opensds-linux-amd64/bin/osdslet
root     24352 24335 98 13:02 ?        00:35:16 /usr/bin/osdsdock

Here is INSTALL.md.pdf as PDF

This works:
$ curl <IP_ADDRESS>:50040/v1beta/
{"description":"v1beta version","name":"v1beta","status":"CURRENT","updatedAt":"2017-07-10T14:36:58.014Z"}

This fails
$ curl http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/pools?sortDir=desc&limit=50&offset=0&sortKey=id
{"code":400,"message":"List pools failed: context deadline exceeded"}

Why?

I have fixed osdslet issues.
OpenSDS Bali installs successfully on Centos/Ubuntu but  osdsdock container errors on-
E1226 00:28:12.996095       1 utils.go:107] Get etcd client retry exceed the max retry times(3).
panic: context deadline exceeded

I am using quay.io/coreos/etcd:v2.3.8 docker image.
Can someone ensure osdsdock:latest docker image has etcd-client certs setup per  https://github.com/etcd-io/etcd/issues/8793  and in chinese: https://zhuanlan.zhihu.com/p/47228920
My osdsdock container is repeatedly rebooting so I cannot check.

Hi @noelmcloughlin,
I tried to retest it but found it was stuck and some errors occurred:
++stack.sh:main:479                         /opt/opensds-linux-amd64-devstack/tools/outfilter.py -v --no-timestamp -o /tmp/devstack/stack.sh.log.2019-01-28-180602
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

I guess it's some errors related to keystone installation, so can you disable keystone installation if users specifies noauth option?

That looks like network timeout.  Openstack stack.sh can stress your environment.
You can retry states like this.
./install.sh -i auth

If you want to disable keystone update the srv/pillar/opensds.sls file first.
Anyway the latest code is working for install and cleanup on Ubuntu 18.04

PR looks very strong now on Ubuntu 18.04.  Installer consistently works.   I am using systemd to manage all OpenSDS services (including composed containers) and it works good.
@xing-yang @stmcginnis @leonwanghui   In OpenSDS, backend detection is not robust because I have two backends configured (cinder, lvm) and OpenSDS cannot see them - my config is ok.
root@ubuntu-bionic:/var/log/opensds# docker ps
CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS              PORTS                                                   NAMES
d37e75fc5cb4        opensdsio/multi-cloud-dataflow    "/dataflow"              16 minutes ago      Up 16 minutes                                                               multicloud_dataflow_1
8e0d02a00505        opensdsio/multi-cloud-datamover   "/datamover"             16 minutes ago      Up 16 minutes                                                               multicloud_datamover_1
1c11ed94317f        wurstmeister/kafka:2.11-2.0.1     "start-kafka.sh"         16 minutes ago      Up 16 minutes       <IP_ADDRESS>:9092->9092/tcp                                  multicloud_kafka_1
457c806b03b3        wurstmeister/zookeeper            "/bin/sh -c '/usr/sb…"   16 minutes ago      Up 16 minutes       22/tcp, 2888/tcp, 3888/tcp, <IP_ADDRESS>:2181->2181/tcp      multicloud_zookeeper_1
39e83557f8a2        opensdsio/multi-cloud-s3          "/s3"                    16 minutes ago      Up 16 minutes                                                               multicloud_s3_1
d820e2cc7d12        opensdsio/multi-cloud-backend     "/backend"               16 minutes ago      Up 16 minutes                                                               multicloud_backend_1
e9e1bf9d052a        mongo                             "docker-entrypoint.s…"   16 minutes ago      Up 16 minutes       <IP_ADDRESS>:27017->27017/tcp                                multicloud_datastore_1
dc606f3fa56d        opensdsio/dashboard:latest        "/bin/sh -c /opt/das…"   21 minutes ago      Up 21 minutes                                                               dashboard
ea3468cf1fe3        lvm-debian-cinder                 "bash -c /scripts/lv…"   21 minutes ago      Up 20 minutes                                                               blockbox_cinder-volume_1
181e3ed5f181        debian-cinder                     "cinder-scheduler"       21 minutes ago      Up 20 minutes                                                               blockbox_cinder-scheduler_1
b42929847c06        debian-cinder                     "sh /scripts/cinder-…"   21 minutes ago      Up 21 minutes                                                               blockbox_cinder-api_1
f51d75b47012        mariadb                           "docker-entrypoint.s…"   21 minutes ago      Up 21 minutes       <IP_ADDRESS>:3307->3306/tcp                                  blockbox_mariadb_1
acdbd0497259        rabbitmq                          "docker-entrypoint.s…"   21 minutes ago      Up 21 minutes       4369/tcp, 5671/tcp, 25672/tcp, <IP_ADDRESS>:5672->5672/tcp   blockbox_rabbitmq_1
aa7a26f9e467        quay.io/coreos/etcd:latest        "etcd -name osdsdb -…"   About an hour ago   Up About an hour                                                            osdsdb
root@ubuntu-bionic:/var/log/opensds# ps -ef | grep osds
root      5960     1  0 10:53 ?        00:00:00 /usr/local/bin/osdslet
root      6870  2050  0 11:00 pts/0    00:00:00 grep --color=auto osds
root     22096     1  0 10:39 ?        00:00:00 /usr/local/bin/osdsdock
root     31367 31339  0 09:58 ?        00:00:16 etcd -name osdsdb -advertise-client-urls http://<IP_ADDRESS>:2379 -listen-client-urls http://<IP_ADDRESS>:2379 -initial-advertise-peer-urls http://<IP_ADDRESS>:2380 -listen-peer-urls http://<IP_ADDRESS>:2380 -initial-cluster-token osdsdb-1 -initial-cluster osdsdb=http://<IP_ADDRESS>:2380 -initial-cluster-state new -data-dir /var/lib/etcd/osdsdb
root@ubuntu-bionic:/var/log/opensds#  export OPENSDS_AUTH_STRATEGY=noauth
root@ubuntu-bionic:/var/log/opensds#
root@ubuntu-bionic:/var/log/opensds# export OPENSDS_ENDPOINT=http://<IP_ADDRESS>:50040
root@ubuntu-bionic:/var/log/opensds# osdsctl pool list
+----+------+-------------+--------+------------------+---------------+--------------+
| Id | Name | Description | Status | AvailabilityZone | TotalCapacity | FreeCapacity |
+----+------+-------------+--------+------------------+---------------+--------------+
+----+------+-------------+--------+------------------+---------------+--------------+
root@ubuntu-bionic:/var/log/opensds# vgs
  VG              #PV #LV #SN Attr   VSize   VFree
  cinder-volumes    1   0   0 wz--n- 196.00m 196.00m
  opensds-volumes   1   0   0 wz--n-  96.00m  96.00m

Here is the OpenSDS configuration:
root@ubuntu-bionic:/var/log/opensds# cat /etc/opensds/opensds.conf

[database]
credential = opensds:opensds@123@<IP_ADDRESS>:3306/dbname
endpoint = http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:2380
driver = etcd

[osdsauth]

[keystone_authtoken]
auth_type = password
username = opensds
project_name = service
signing_dir = /var/cache/opensds
user_domain_name = Default
auth_uri = http://<IP_ADDRESS>/identity
auth_url = http://<IP_ADDRESS>/identity
memcached_servers = <IP_ADDRESS>:11211
password = opensds@123
cafile = /opt/stack/data/ca-bundle.pem
project_domain_name = Default

[osdslet]
api_endpoint = <IP_ADDRESS>:50040
graceful = True
socket_order = inc
log_file = /var/log/opensds/osdslet.log
auth_strategy = noauth

[sample]
driver_name = sample
name = sample
description = Sample Test

[cinder]
driver_name = cinder
description = Cinder Test
name = cinder
config_path = /etc/opensds/driver/cinder.yaml

[ceph]
driver_name = ceph
description = Ceph Test
name = ceph
config_path = /etc/opensds/driver/ceph.yaml

[lvm]
name = lvm
driver_name = lvm
description = LVM Test
host_based_replication_driver = DRBD
config_path = /etc/opensds/driver/lvm.yaml

[dorado]
replication_type = array_based
driver_name = dorado
description = dorado Test
name = Huawei Dorado
config_path = /etc/opensds/driver/huawei_dorado.yaml

[fusionstorage]
driver_name = fusionstorage
description = This is a fusionstorage backend service
name = fusionstorage backend
config_path = /etc/opensds/driver/fusionstorage.yaml

[drbd]
driver_name = drbd
description = DRBD Test
name = drbd
config_path = /etc/opensds/driver/drbd.yaml

[osdsdock]
api_endpoint = <IP_ADDRESS>:50050
dock_type = provisioner
log_file = /var/log/opensds/osdsdock.log
enabled_backends = 'lvm, cinder, ceph'

[dashboard]
endpoint = http://<IP_ADDRESS>
port = 50040

[multi-cloud]
endpoint = <IP_ADDRESS>
port = 8089

Tracking osdsdock issue with https://github.com/opensds/opensds-installer/issues/120

Cool, I'll have a test and let you know after it's done : )

Hi @noelmcloughlin, I don't know why but the installation always fail with no errors, have u made it running successfully?

Hi @leonwanghui
We had some bad luck -  Salt 2019.2  has a  non-compatible API change which caught me unawares.
I have updated the PR to install and use Salt2018.3.4 as default - that version works.

Generally it's LGTM and I'm almost done with the whole deployment, except the zero capacity of lvm pools:
opensds@opensds:~$ osdsctl pool list
WARNING: Not found Env OPENSDS_AUTH_STRATEGY, use default(noauth)
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+
| Id                                   | Name            | Description | Status | AvailabilityZone | TotalCapacity | FreeCapacity |
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+
| 02513bc1-c1b1-5fc7-8b9e-8568b79e7e38 | opensds-volumes |             |        | default          | 0             | 0            |
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+

I wonder if size of LVM pool is too small to be detected?
# vgs
  VG              #PV #LV #SN Attr   VSize  VFree
  cinder_volumes    1   0   0 wz--n- 96.00m 96.00m
  opensds_volumes   1   0   0 wz--n- 16.00m 16.00m

Maybe, normally we will set the default size to 10G to make the system work well.

Also a suggestion is that, when users specify noauth, it's better to skip the installation step of keystone, which would reduce plenty of time. This suggestion also suits for backend.

Thanks!! I will implemented these improvements and let you know when done
and tested.
On Wed, Mar 6, 2019 at 6:22 AM Leon Wang<EMAIL_ADDRESS>wrote:

Also a suggestion is that, when users specify noauth, it's better to skip
the installation step of keystone, which would reduce plenty of time. This
suggestion also suits for backend.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opensds/opensds-installer/pull/13#issuecomment-469984067,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMtKQjPbNzDvBvAP9xVowlF1YZpCOrOWks5vT16KgaJpZM4UbYp9
.

Hi @leonwanghui @xing-yang
I have implemented the two suggested improvements.  Backing files for LVM is 10G and Keystone is skipped when noauth is selected.  Its working on Ubuntu.
root@ubuntu1804:/root/opensds-installer/salt# systemctl restart opensds-opensds
root@ubuntu1804:/root/opensds-installer/salt# osdsctl pool list
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+
| Id                                   | Name            | Description | Status | AvailabilityZone | TotalCapacity | FreeCapacity |
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+
| 20f7dd2e-eb87-5259-8897-bdb9471bf6d4 | opensds-volumes |             |        | default          | 1             | 1            |
+--------------------------------------+-----------------+-------------+--------+------------------+---------------+--------------+

Note: The docker compose for gelato is failing on OpenSUSE and CentOS7 but I will do further testing on those OS.

I think it's good to go, thanks @noelmcloughlin !

@xing-yang Please take a review at it

Gelato is fixed on SuSE/CentOS.

@noelmcloughlin Cool!

One suggestion is that can u expand the capacity of lvm pools to 10G, currently I can't create available volume since the minimum size is 1GB.

Sure, this is already done for opensds-volumes but I have expanded the rest
to 10G as well (note: others are unused by default).
On Tue, Mar 19, 2019 at 12:20 PM Leon Wang<EMAIL_ADDRESS>wrote:

One suggestion is that can u expand the capacity of lvm pools to 10G,
currently I can't create available volume since the minimum size is 1GB.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opensds/opensds-installer/pull/13#issuecomment-474338878,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMtKQgEwChO0hQU-HbtaEw1Wc5MHTpUnks5vYNX8gaJpZM4UbYp9
.

Please rebase.  Thanks.

Generally the test work is working well


Prepare 2.3.1

Codecov Report

Merging #88 into master will increase coverage by 0.22%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
+ Coverage   92.06%   92.28%   +0.22%
==========================================
  Files           8        8
  Lines         416      415       -1
==========================================
  Hits          383      383
+ Misses         33       32       -1

Impacted Files
Coverage Δ

pytest_play/plugin.py
83.45% <100%> (+0.62%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3979d39...4c318a0. Read the comment docs.


Remove aad aliasses in the next major version

All entra commands will have an aad alias.

[ ] These aliasses can be removed when we start working on v8.
[ ] We should also remove the clientside redirects from /cmd/aad to /cmd/entra in the docs.
[ ] Remove deprecated '--aadGroupIds' and '--aadGroupNames' options in 'spo group member add'.
[ ] Remove deprecated '--aadGroupIds' and '--aadGroupNames' options in 'spo group member remove'.
[ ] Remove deprecated '--aadId' option in 'spo user ensure'.

Since we have v8 branch we may now start working on it!
Let's get this 🚢
and Let's put CLI to the 🚀🌙

Can I work on it?

Can I work on it?

All yours


Longer Delays

So the documentation about delays say to pass in milliseconds and it creates times and processes up to 1000, etc, etc. Which doesn't sound too hot for a lot of delays scheduled further in the future.
Basically, can I create longer delays?
Here's my (example) use-case:
For every user that signs up, I'll create a delayed job to be processed in 30 minutes, I want to process certain things (i.e. pull updated info from 3rd party API), then re-schedule the same job for another 30 minutes later.  I'll do 30 minute intervals for the first 7 days, then I'll change the delay to, lets say, 1 full day after that.
An alternative to this type of use-case would be for every user sign up, create all the events to be processed in the future. 30 minutes from now, 1 hr, 1:30, 2:00, 2:30... (for a whole week), then switch to one a day after that for a whole week. (essentially creating around 343 scheduled future jobs for every user sign up right off the bat).
Can Kue handle a large amount of delayed queues like this?

No difference, you can simply do .delay( 24 * 60 * 60 * 1000 ) for a 24h delay :)
You can also update job delay as wanted: job.delay(...).update()

I guess my main concern is that the delay isn't just a javascript timer and an actual persisted delay that can live through crashes, etc.

delay is implemented by a Redis ZSET and a promotion script which is run when a kue process is run, So there's no Javascript timer and delays will survive process restarts :)


CoreDNS yaml file missing

In chapter 12 Deploying the DNS Cluster Add-on
CoreDNS is deployed with this command:
kubectl apply -f https://storage.googleapis.com/kubernetes-the-hard-way/coredns.yaml
But the coredns.yaml file is not available.

Having the same issue.
Receiving:

No resources found

When using the command: kubectl get pods -l k8s-app=kube-dns -n kube-system
Same thing happens with kubectl get pods -l run=busybox

FWIW worked for me today (9th Nov 2018).

For me it finds, the file, but fails to start up.
kubectl get pods -l k8s-app=kube-dns -n kube-system returns
NAME                       READY   STATUS             RESTARTS   AGE
coredns-595db6f9cb-6qb66   0/1     CrashLoopBackOff   3          62s
coredns-595db6f9cb-drfqh   0/1     CrashLoopBackOff   3          62s

Try to get the config file locally using curl to make sure the url is correct. If you retrieve the file, then just run "kubectl apply -f " I did this earlier today and it worked for me.

ubuntu changed how it handles dns.
https://github.com/kubernetes/kubeadm/issues/1037

The download link is now working


impl InputParameter for VarChar<Vec>

I want to pass a variable length input as parameter but I can't do it since InputParameter isn't implemented for VarChar<Vec<u8>>. Also VarChar512::copy_from_bytes() fails to compile because [u8; 512] doesn't implement std::default::Default.

Well VarChar is due for a rewrite anyway, with the advent of generic constants.
That being said, implementing InputParameter for VarChar<Vec<u8>> is possible, but not trivial. The problem is that the invariants for the size indicator are not the same for input and output parameters. E.g.: If  VarChar is used as an output parameter, but the value inserted is to large, the indicator will hold the size of the original untruncated value, to indicate the truncation. Yet now if we would just use the same instance as an input parameter the indicater would indicate the size of the larger value, while the buffer is actually shorter than that creating a situation there the ODBC driver would access invalid memory.
Yet, don't worry this can and will be done. Just do not expect it to be quite as fast resolved as the last issue, as this is likely tangled up with the rewrite I intended for VarChar anyway.
To reiterate your requirements for people reading this issue unaware of the one you opend before:
You need an owned, variadic length parameter type for text data.
The owned part is key here. Otherwise VarCharRef would be already up for the job. It is currently further my understanding that you need it owned so you can put the parameter into a Box<dyn Parameter> with static lifetime.
Now here is something I need help with. While I can implement and owned, variadic sized parameter type, I have a hard time coming up with a good example there I would need one. Since you ask for it, I feel you might have a use case and some insight into a situation I do not know about. Would you mind telling me a bit more about what you are doing, and there the parameters in your application/libraries come from?
Cheers, Markus

I am developing an integration platform where user can combine steps to make an integration. One of the step kinds is odbc step and user can enter a statement and a number of expressions for arguments.  I want to use the values as parameters to the statement.

Shoot, I can hardly make an easy code example for documentation out of that ;-)

Your use case is supported in version 0.20.0. It did not end up implementing InputParameter for VarChar<Vec<u8>> though. Instead you want to use VarChar<Box<[u8]>>. The reasoning for this is that the indicator required by ODBC and added by the VarChar wrapper already keeps track of the size of the value in tho Box (as opposed to its capacity). So there is some overlapp in responsibility with what Vec<u8> already does.
It will goes by the type alias VarCharBox, but you can also just construct it by calling IntoParameter::into_parameter on a String.
Nice working with you!

See: https://docs.rs/odbc-api/0.20.0/odbc_api/parameter/type.VarCharBox.html
Much success with your integration platform.

thank you man, nice working with you too. helped me a ton.


The scanning jobs are still running after Harbor is forcedly shutdown and restart

The running job recorded in the database should be invalidate if the Harbor is restart

Fixed in #3059


Socket example using Antiphony

I'm currently trying to use libxev to perform RPC calls in the background along with Antiphony. I tried looking at how libxev works and I cannot figure out how to create an event loop and have it handle Antiphony clients without blocking the main process.

I've never used antiphony so I'm not sure. If you can implement how antiphony sends/receives/connects then you'd just replace that with libxev calls. Antiphony would probably need some better async (in general, not Zig async keyword) support to support this, and since I haven't used it, I'm unsure how compatible it is.


tests: power: refactor power_states test

Refactored test to work with ztest framework
and to calculate and display time in milliseconds
for each power state.
Signed-off-by: Niranjhana N<EMAIL_ADDRESS>

Codecov Report

Merging #9133 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9133   +/-   ##
=======================================
  Coverage   52.45%   52.45%
=======================================
  Files         200      200
  Lines       25121    25121
  Branches     5244     5244
=======================================
  Hits        13178    13178
  Misses       9822     9822
  Partials     2121     2121

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 353acf4...2b9fa5f. Read the comment docs.

Have resolved merged conflicts, @nashif @andyross @ramakrishnapallala request to review


Add support for Ubuntu

need to add support for Ubuntu 18.04 and Ubuntu 20.04
Should be able to install at the very minimum

have got the basic functionality working for installing PowerShell 7 on Ubuntu. Currently looking at being able to configure it like windows now. e.g setting profile settings or update notification settings.


Check EV not exist before allowing creating the table

In #8422 we introduced the table delete message to delete a table on the server, and server will wait for EV to disappear then cleaning up the table data manager. We should not allow re-creating the table before EV is deleted to ensure that logic doesn't break.

Codecov Report

Merging #10593 (6331def) into master (7c1d10a) will decrease coverage by 36.87%.
The diff coverage is 41.66%.

@@              Coverage Diff              @@
##             master   #10593       +/-   ##
=============================================
- Coverage     69.04%   32.17%   -36.87%
+ Complexity     6496      453     -6043
=============================================
  Files          2106     2106
  Lines        113004   113008        +4
  Branches      17026    17028        +2
=============================================
- Hits          78021    36362    -41659
- Misses        29495    73365    +43870
+ Partials       5488     3281     -2207

Flag
Coverage Δ

integration1
24.51% <0.00%> (?)

integration2
?

unittests1
?

unittests2
13.88% <41.66%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

...ller/api/resources/PinotSchemaRestletResource.java
68.32% <10.00%> (-1.30%)
:arrow_down:

...ler/api/resources/TableConfigsRestletResource.java
79.34% <50.00%> (-0.23%)
:arrow_down:

...ntroller/helix/core/PinotHelixResourceManager.java
69.36% <70.00%> (-0.97%)
:arrow_down:

... and 1394 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[eas-cli] warn about channel configuration before build

Checklist

[ ] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
Forgetting to migrate releaseChannel to channel is one of the most common issues with EAS Update. This PR addresses this by warning/erroring when the project is configured for EAS Update, but the build profile still uses releaseChannel. This is split off of my earlier PR, that tried to address this in 3 different places at once.
How
For each build, check the buildProfile and project configuration. On non-interactive builds, display a warning. On interactive builds, throw an error.

Test Plan
Tested locally with a variety of build profile configurations (more specifically, global vs per-platform configuration).

/changelog-entry new-feature warn about outdated channel configuration before build when using eas update


Explicitly document removed polyfills

Webpack 5 removed automatic polyfills - that's reasonable. Things might have broken in future because of secret polyfill magic. But for users that webpack 4 was working great for - can we get a list of the exact polyfills that were being used, and what the recommended replacements are? Based on error messages I've got from the upgrade (which don't seem to appear all in one go, presumably because webpack bails when it encounters the first module it can't resolve):

util -> util
url -> url (5 years old)
path -> path-browserify (not path)
stream -> stream-browserify (not stream)
process -> process (although this is a global runtime polyfill, rather than a module polyfill)

That's not the full list, that's just what the project I'm working on cared about. It'd be great to have the recommended mapping published somewhere officially. It looks like it's in code: https://github.com/webpack/webpack/pull/8460/commits/a68426e9255edcce7822480b78416837617ab065
IMO it'd also be convenient if webpack exposed this mapping directly so users can set resolve: { fallback: require('webpack/recommended-node-polyfills') } and get almost the same level of convenience as with webpack 4, minus the hidden/breakable magic.

Here is the full list: https://github.com/webpack/webpack/blob/master/lib/ModuleNotFoundError.js#L13-L42

Thanks - I linked to that in the OP. The request was for them to be documented somewhere so people don't have to hunt through the code.
Also, I don't think that list is complete. In my case, I also needed buffer and a ProvidePlugin.
In case it's relevant to anyone, here's what I had to do, it involved a fair amount of trial and error (note that this project runs inside postgres' plv8 hence the need to shim setTimeout and setImmediate): https://github.com/mmkal/plv8-git/pull/3

Yeah, sure, send a PR to the documentation.


Add column type API cards to st.column_config

📚 Context

🧠 Description of Changes

Revised:
Insert screenshot of your updated UI/code here
Current:
Insert screenshot of existing UI/code here
💥 Impact

Size:

[ ] Small
[ ] Not small

🌐 References

[ ] Notion

Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.

Hello . Please allow the user to input whatever it wants if it is not selecting any value from options like in excel. It will be really helpful.
Thanks.


Wait for link up rtos

This is not final implementation. It is just dirty implementation to show what i want to achiev in eRPC rtos usage.
Signed-off-by: Dusan Cervenka<EMAIL_ADDRESS>

I think best would be have group variable tight to rpmsg_lite_instance structure. So releasing event would be specific for rpmsg structure and not generic for all of them.

Thank you, @Hadatko , agree and will provide the update.

@MichalPrincNXP Thank you for your cooperation. I think now it is great. It looks like generaly link_id could be uint8_t but i don't mind keep it as uint32_t.

Thank you, @Hadatko , for the contribution and the effort!


[TC-3095] Remove wkhtmltopdf

This PR removes wkhtmltopdf-binary as a dependency to decrease the size of the Heroku slug (saves ~250mb).
Also it hides the PDF as a download option, as it's not gonna be available.
Any other wicked_pdf helper are untouched. They won't be rendered, so should not cause any problems.

Mistake.


Protractor tests fail at 1.2.2

It took me some time, but I found out that our protractor tests fail with synchronization errors and hangs when using protractor 1.2.2
Switching back to 1.2.1 fixes it.

@ali-bugdayci please try with 1.3.0

It seems that it is fixed at 1.3


Move test data out to {pharmaversesdtm} and {pharmaverseadam}

This task can be done later as we approach our first release (or even after) and once the package is otherwise stable - as would need to be aligned with the next package releases of these test data packages. Adding this issue as a placeholder/reminder for now.

See discussion at https://github.com/pharmaverse/pharmaversesdtm/issues/88


[4.1.2] godotsharp_internal_reload_registered_script throws when C# script methods contain GodotObject or subtype arguments

Godot version
4.1.2
System information
Godot v4.1.2.stable.mono - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 2060 SUPER (NVIDIA; <IP_ADDRESS>23) - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)
Issue description
Using .NET 7.0.
When a C# script method is using GodotObject or subclass as an argument, Godot.NativeInterop.godotsharp_internal_reload_registered_script throws when loading scene using ResourceLoader.Load<T>:

System.Reflection.TargetInvocationException
HResult=0x80131604
Message=Exception has been thrown by the target of an invocation.
Source=System.Private.CoreLib
StackTrace:
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at Godot.Bridge.ScriptManagerBridge.GetMethodListForType(Type type) in /root/godot/modules/mono/glue/GodotSharp/GodotSharp/Core/Bridge/ScriptManagerBridge.cs:line 789
This exception was originally thrown at this call stack:
Inner Exception 1:
MissingMethodException: Method not found: 'Void Godot.Bridge.PropertyInfo..ctor(Type, Godot.StringName, Godot.PropertyHint, System.String, Godot.PropertyUsageFlags, Godot.StringName, Boolean)'.

Albeit the game will run if exception is ignored, there are subtle problems, like signals not firing upon EmitSignal.
I'd say this bug is a nasty hidden one.
Steps to reproduce
Create a scene, link C# script, put a method into script, i.e. void Test(GodotObject e) { } and try loading it using ResourceLoader.Load<MyCustom>("res://my_custom.tscn") from within Visual Studio (make sure you catch all exceptions of "Common Language Runtime".).
Minimal reproduction project
Repro.zip

Looks like the problem happens on Windows but not on MacOS. .NET runtime is the same on both, while SDK is 7.0.402 (Windows) and 7.0.309 (Mac). Godot is 4.1.2 on both.

The exception MissingMethodException is usually thrown when a library breaks binary compatibility. In this case, it seems a PropertyInfo constructor is missing. Try removing the .godot folder and rebuild the project, and also if you are using any libraries that use the Godot packages make sure they are rebuilt against the same version of Godot.

@raulsntos Interesting, I think that could be the explanation. I've tried it (my sample) on another Windows machine and there it works fine as well. I guess there is something with the original Windows machine going on. I'll investigate more this weekend, but I guess the installation indeed is the issue.

That was indeed the case - project referenced some older assemblies.


add BrokerStatus structs

I cribbed off of statefulSet and Node. Both of those create a sort of sub-strategy object, and only override the UpdateRESTStrategy related functions.
It's not clear what the status endpoint must do.

@MHBauer is this WIP still or do you want it to go in?

based on commentary in #292 I've adjusted this to match. Ready to go.

LGTM


Add option to automatically move users to a new authenticator

This adds a new field on the authenticator model called auto_migrate_users_to which accepts a foreign key to another authenticator.  When this field is configured we will do the following:

On login, collect any authenticator users from authenticators configured to migrate to the currently in use authenticator
For each of the discovered authenticators, call the move_authenticator_user_to method on the authenticator plugin. This lets the authenticator plugin know that the user is being moved and gives it a chance to perform any cleanup before that happens.

Right now you can auto migrate users to any authenticator. I'm considering adding a field on the authenticator plugin where plugin authors can declare which authenticators are supported for auto migration. For example, we can declare that the generic oidc authenticator can be set to auto migrate users to keycloak, github, google etc (because these are all odic based authenticators), but can't be set to auto migrate users to saml.
Ultimately all of the authenticators that can be configured to use active directory as a backend (LDAP, OIDC, SAML, Keycloak) are potentially compatible with one another as long as they have the same user database as a backend.

@elyezer I can't add you as a reviewer, but I'd like it if you could take a look at this


changed placeholder image to not use placeholderStyle

When setting up my local Ghost development environment, after I ran grunt dev, I was getting "GET /ghost/assets/img/user-image.png" 404 in terminal every time I viewed step 2 of the setup process.
Upon further inspection, the image it was trying to find was /ghost/assets/img/user-image.png which didn't exactly match any other image during the setup process as the others had some sort of ID in them such as assets/img/install-welcome-3ae80f63d742f7376413a637c3d1b21f.png.
By removing style={{placeholderStyle}} and giving it a background URL within the CSS, the image is now successfully found as it's looking for /ghost/assets/img/user-image-feeb00c017f02c8915d6bc3ffdecf706.png - note that it now contains an ID, whereas it didn't before.
Functionality appears to be fine, I've tested the different instances I could think of here and screenshot the results below.
Before:

After:

After (Gravatar):

After (Manual Upload):

I noticed that placeholderStyle is defined in the app/components/gh-profile-image.js file... I can't see any other usages of it so if this fix is okay, would it be wise to delete references to it in that file too?

Coverage remained the same at 72.225% when pulling bd77b1dca8d479b23861545d5c2c8952a5793fa0 on CriticalRespawn:fix-default-user-image into abdc3b9f784c078c0fded05e2f318c4d88d13d43 on TryGhost:master.

Hey @CriticalRespawn 👋 The correct fix here is the same as the fixes in https://github.com/TryGhost/Ghost-Admin/commit/cbcf09e4fc96eceff94a451c9548041f05b6d96f - the template strings are tripping up the asset rewriter so we need to split out the local asset name. We'll be getting rid of custom CSS classes soon in favour of our Tachyons based framework so it's better to keep URLs in the JS.

Thanks @kevinansfield I'll take a look and try and get an updated pushed to this branch in the next few days 👍

Hi @kevinansfield 😄
I've changed this PR so it now contains the correct fix!


Improve parsing on dict.pdf

The pdf parsing of https://homepages.cwi.nl/~lex/files/dict.pdf doesn't look very appealing.
Thinks i already noticed

No TOC display (and strange header size detection, see  #21)
Characters are clutched together which shouldn't be
Page numbers are not detected and removed

This was addressed in the PRs that close opendocsg/pdf2md#10


"cannot find package" when building or installing through go install command

When I try to build with go build -o log4jscanner, I always get this:
log4jscanner.go:26:2: cannot find package "github.com/google/log4jscanner/jar" in any of:
        /usr/lib/go-1.10/src/github.com/google/log4jscanner/jar (from $GOROOT)
        /home/fp/go/src/github.com/google/log4jscanner/jar (from $GOPATH)
log4jscanner_linux.go:22:2: cannot find package "golang.org/x/sys/unix" in any of:
        /usr/lib/go-1.10/src/golang.org/x/sys/unix (from $GOROOT)
        /home/fp/go/src/golang.org/x/sys/unix (from $GOPATH)
log4jscanner.go:21:2: cannot find package "io/fs" in any of:
        /usr/lib/go-1.10/src/io/fs (from $GOROOT)
        /home/fp/go/src/io/fs (from $GOPATH)

but if I try to install through go install github.com/google/log4jscanner@latest
can't load package: package github.com/google/log4jscanner@latest: cannot find package "github.com/google/log4jscanner@latest" in any of:
        /usr/lib/go-1.10/src/github.com/google/log4jscanner@latest (from $GOROOT)
        /home/fp/go/src/github.com/google/log4jscanner@latest (from $GOPATH)

I'm using elementary OS 5.1.7 (based on Ubuntu 18.04.6 LTS), and my go installation is basically only those packages:
golang-go/bionic,now 2:1.10~4ubuntu1 amd64 [installed]
golang-1.10-go/bionic-security,bionic-updates,now 1.10.4-2ubuntu1~18.04.2 amd64 [installed,automatic]
golang-1.10-race-detector-runtime/bionic,now 0.0+svn285455-0ubuntu1 amd64 [installed,automatic]
golang-1.10-src/bionic-security,bionic-updates,now 1.10.4-2ubuntu1~18.04.2 amd64 [installed,automatic]
golang-docker-credential-helpers/bionic-updates,now 0.5.0-2ubuntu0.1 amd64 [installed,automatic]
golang-race-detector-runtime/bionic,now 2:1.10~4ubuntu1 amd64 [installed,automatic]
golang-src/bionic,now 2:1.10~4ubuntu1 amd64 [installed,automatic]

This project uses features from go1.17. you'll need to update your go installation and use modules to build from source
https://go.dev/ref/mod


[MM-18963] Migrate components/local_date_time to TypeScript

Summary

This migrates components/local_date_time component to TypeScript.
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/12464
Related Pull Requests
N/A

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!
/cc @jasonblais @hanzei


12.1.1 and 12.1.2 releases

whats up with the 12.1.1 and 12.1.2 releases? are they official? they are listed here
https://github.com/tekezo/pqrs.org/tree/master/webroot/osx/karabiner/files
but neither here
https://github.com/tekezo/Karabiner-Elements/releases
nor on the website.
if they are beta releases, please mark them as such.
thanks

x.x.1 - x.x.99 are beta releases.
You don't need to find files from github.
Release files are listed https://pqrs.org/osx/karabiner/ and
https://pqrs.org/osx/karabiner/history.html#history .

@tekezo will the new release include the pc number lock key mapping? thanks.


Add remove event

Sometimes you want to be notified when jobs are removed.  This makes that possible.

thank you @flintinatux

If this PR is marked as ready, and the CI checks all pass, is there anything else holding us back from merging this one?

:+1:


Crop feature should be added in multiImage

Hi,
I am requesting to please add Crop feature should be in multiImage picker when selecting multiple images.

Check new version: 2.0
Docs: https://baronha.github.io/react-native-multiple-image-picker/


Develop

horizontal scroll reduced to minimal level
now 1px of horizontal scroll is remaining ....will se about it

the grid link image were corrected
else a blunder would be created in the launch


MINOR: Remove redundant fields in dump log record output

In 2.8, the dump log output regressed to print batch level information for each record, which makes the output considerably noisier. This patch changes the output to what it was in 2.7 and previous versions. We only print batch metadata at the batch level.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Can we add a test to DumpLogSegmentsTest? I fear we will regress again in the future, otherwise.

@ijuma I've added a test which covers most of the interesting cases.


Clarifications about bazel installation

Hi,
I would like to have some clarification on how to install bazel automatically.
Just run from the shell: “/user/local/bin/.bazelversion” and after “./bazelisk build //.bazelversion”? Or just the second command is enough?
What happens to the CPU and RAM?
Does it take up a lot?
Best Regards

Hi @lucio-cyber,
to use Bazelisk, download the correct binary for your operating system and CPU architecture. For example, for a Mac, you'd use bazelisk-darwin-amd64, for Linux amd64 you'd use bazelisk-linux-amd64:
Example for Linux:
$ curl -Lo /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.6.1/bazelisk-linux-amd64
$ chmod +x /usr/local/bin/bazelisk

Now you can just run Bazelisk and it will always automatically give you the latest stable Bazel version:
$ bazelisk version
Bazelisk version: 1.6.1
Build label: 3.5.0
...
$ bazelisk build //my:target
...

If you want your project to always use e.g. Bazel 3.4.1, you can put a .bazelversion file into its root directory (next to the WORKSPACE file:
$ cd ~/src/myproject
$ echo 3.4.1 > .bazelversion
$ bazelisk version
Bazelisk version: 1.6.1
Build label: 3.5.0
...
$ bazelisk build //my:target

The CPU and RAM usage of Bazelisk itself is negligible, as it is just a little wrapper for Bazel.
Bazel itself uses a lot more. 😊
Hope this helps!

Hi @philwo, thank you so much for helping me.
Best Regards

to use Bazelisk, download the correct binary for your operating system and CPU architecture. For example, for a Mac, you'd use bazelisk-darwin-amd64, for Linux amd64 you'd use bazelisk-linux-amd64:
Example for Linux:
$ curl -Lo /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.6.1/bazelisk-linux-amd64
$ chmod +x /usr/local/bin/bazelisk

This should really be in the main README.md of the repo.


Can't stop containers (rpc error: code = 14 desc = grpc: the connection is unavailable)

Description
Can't stop containers.
docker-compose stop
ERROR: for backupdbsystem_db_1  Cannot stop container 869ccc14268f0c1db0b4fa5b0cfdcb5385ecfb3c86ef6c936c096e3625c348c8: Cannot kill container 869ccc14268f0c1db0b4fa5b0cfdcb5385ecfb3c86ef6c936c096e3625c348c8: rpc error: code = 14 desc = grpc: the connection is unavailable

Steps to reproduce the issue:

System is under heavy load (right now: "load average: 22.22, 22.30, 23.15", but was about 35 when things started to go wrong)
docker stop
error

Additional information you deem important (e.g. issue happens only occasionally):
Complete docker.log file
docker.log file
Relevant:
time="2017-03-01T18:12:29.611724770-05:00" level=error msg="Handler for POST /v1.26/containers/backupdbsystem_db1/exec returned error: No such container: backupdbsystem_db1"
time="2017-03-02T14:15:36.045669576-05:00" level=error msg="attach: stdout: write unix /var/run/docker.sock->@: write: broken pipe"
time="2017-03-02T14:15:36.045723534-05:00" level=error msg="Error running exec in container: exec attach failed with error: write unix /var/run/docker.sock->@: write: broken pipe"
ESC[34mINFOESC[0m[0014] Firewalld running: false
panic: close of nil channel

goroutine 206231 [running]:
panic(0x8082e0, 0xc420664f50)
        /usr/local/go/src/runtime/panic.go:500 +0x1a1
github.com/docker/containerd/supervisor.(*Supervisor).execExit.func1(0xc4205cc960, 0xc420153110, 0x0)
        /tmp/tmp.ezSaVZlwBZ/src/github.com/docker/containerd/supervisor/exit.go:90 +0x10c
created by github.com/docker/containerd/supervisor.(*Supervisor).execExit
        /tmp/tmp.ezSaVZlwBZ/src/github.com/docker/containerd/supervisor/exit.go:91 +0xee
time="2017-03-02T14:25:02.716919328-05:00" level=error msg="libcontainerd: failed to receive event from containerd: rpc error: code = 13 desc = transport is closing"
time="2017-03-02T14:25:12.171328514-05:00" level=warning msg="failed to retrieve containerd version: rpc error: code = 14 desc = grpc: the connection is unavailable"

docker-containerd-shim seems running
# ps aux | grep docker-containerd | grep 869ccc
root      2548  0.0  0.0 413292   904 ?        Sl   Mar01   0:00 docker-containerd-shim 869ccc14268f0c1db0b4fa5b0cfdcb5385ecfb3c86ef6c936c096e3625c348c8 /var/run/docker/libcontainerd/869ccc14268f0c1db0b4fa5b0cfdcb5385ecfb3c86ef6c936c096e3625c348c8 docker-runc

But sending SIGUSR1 to process does not produce any output on docker.log
# kill -SIGUSR1 2548

Output of docker version:
# docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:42:29 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:42:29 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:
Containers: 33
 Running: 12
 Paused: 0
 Stopped: 21
Images: 229
Server Version: 1.13.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: xfs
 Dirs: 1058
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: active
 NodeID: ra5qlktmfa1am2u830g715tp4
 Is Manager: true
 ClusterID: ol2zwaybi9d0mx2js74u3rkbf
 Managers: 1
 Nodes: 2
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: N/A (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 apparmor
Kernel Version: 4.2.0-42-generic
Operating System: Ubuntu 14.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 61.05 GiB
Name: codexServer
ID: I3P4:SLVS:BBBQ:SBVF:3XLC:CWAY:3RCM:EFNR:TJPK:RRU7:6WJO:C43J
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: crimsonglory
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Additional environment details (AWS, VirtualBox, physical, etc.):
physical

ping @mlaventure
Looks like containerd panic'd here.

(rebooting the server fixed the issue)
These two issues #31383 #30984 were also under heavy load.

@CrimsonGlory Yes, this is a duplicate of the #31383 issue you mentioned in your last comment
Going to close this one as duplicate.
Thanks for the report


Fix to make straight lines possible.

Fix to make straight lines possible. @romartin.

Do NOT merge yet please - needs review

Hey @Josephblt ,
Tested and works fine, but on the other hand I think you're updating here the CPs for the OrthogonalPolyline, instead of changing the line drawing between CPs, as @mdproctor  recommended. Isn't it? Can pleae @mdproctor confirm?
PS: Probably the fix now it's just doing the points.copy() before your correctBreakDistance? (I mean in the parse method)

Yes @Josephblt , you're in facr changing the CPs of the line, which can cause trouble at some points...  not sure if you're around, anyway don't worry lemme try to fix this and create a PR for it now.

No merge yet, right?

Hey Roger. The points collection is cloned inside the correctBreakDistance
method to avoid changing Control Points position.
Em 23 de set de 2017 17:32, "Roger Martínez"<EMAIL_ADDRESS>escreveu:

Yes @Josephblt https://github.com/josephblt , you're in facr changing
the CPs of the line, which can cause trouble at some points... not sure if
you're around, anyway don't worry lemme try to fix this and create a PR for
it now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahome-it/lienzo-core/pull/194#issuecomment-331668135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYMakg7sBjgrvtkoBKYfeMAVNO2m06qZks5slWrGgaJpZM4PhYJX
.

I'll be home in about an hour. To try and fix this.
Em 23 de set de 2017 17:37, "Wagner Scholl Lemos"<EMAIL_ADDRESS>escreveu:

Hey Roger. The points collection is cloned inside the correctBreakDistance
method to avoid changing Control Points position.
Em 23 de set de 2017 17:32, "Roger Martínez"<EMAIL_ADDRESS>escreveu:

Yes @Josephblt https://github.com/josephblt , you're in facr changing
the CPs of the line, which can cause trouble at some points... not sure if
you're around, anyway don't worry lemme try to fix this and create a PR for
it now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ahome-it/lienzo-core/pull/194#issuecomment-331668135,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AYMakg7sBjgrvtkoBKYfeMAVNO2m06qZks5slWrGgaJpZM4PhYJX
.

ohhh @Josephblt sorry, yes you're doing it inside the method. In fact you're cloning the points twice at this point, you can just do it once at the begging of the parse method... but for me that's fine for now... we urgently need this fix in and a release! So please just provide a fix for this once possible next week and we can introduce it on next release, if you agree guys!
@SprocketNYC yeah for me all good!, can be merged if you agree too!
@SprocketNYC  BTW please we need a release with last fixes... just preparing a summary mail, will send you in a bit. Really thanks!
Thanks guys!!


grlc appears to have a memory for broken files

Hi, when making a mistake in an .rq file, grlc won't load your repo, exciting with error:
500 : <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <title>500 Internal Server Error</title>
Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
 http://grlc.io/api/rlzijdeman/uncertainty-sparql/spec

That's all fine, but it appears that if you fix the mistake, grlc still won't load the repo. This might also be related to #61. When I tried to fix it, at some point I decided to go with a no-fail option: namely by pasting the code from working a .rq file in the .rq file at hand. The code is from [1]
In the forked repo containing the code from dbpedia_test.rq [2] grlc fails [3]
However in a completely new repo [4] the pasted code works for grlc [5]
I'm experiencing this with other repo's as well, e.g. [6]
@albertmeronyo can you think of what would create such a 'memory'?

Hi @rlzijdeman
I've pushed a commit that should fix #61 , could you try again?
Thanks,
Albert

I guess you mean #62 (this issue)? Cheers! Works like a charm, now!


Login as navigation target?

If we login manually and press back, the login appears.
Do you logout automatically?
Login view shouldn't be a navigation target if we don't logout automatically!

Is that going back behavior the status quo or the preferred one? Normally you should always be directed back to home.

No its not the preferred one!
I tried to reproduce the problem but it's not that easy.
Sometimes it occurs if you're logged in an open some screens, navigate back and forward - open change password - and navigate back.
Sometimes, the login view appears. There must be a problem with history, but not trivial.
If login view appears an navigate forward was pressed - strange error messages occur.
So there is something wrong :)
Please try if it's possible to reproduce...
The login view shouldn never appear without user interaction or server-triggered.
Back navigation doesn't mean automatic logout, or do you have some code for automatic logout if login view is shown?

That might sometimes happen if the back navigation isn't caught by the internal route handling.
I'll try to implement that after a successful login the next screen is not added to the history after but rather replaces the login screen.

We should change the current handling!

The code uses replace now instead push after login, this way the login screen can not be navigated to via the back button anymore

Tried to reproduce and wasn't possible!


I get "there is already a player for this connection" if players connect to a new game after ending and disconnecting a game, without restarting the application.

I get the same error if players connect to a new game after ending and disconnecting a game, without restarting the application. The error also prevents the game from starting entirely.
From what I understand I don't need to set online and offline scene because I'm not switching scenes before everyone has connected, the lobby is in the main menu and the host only switches to the play scene once everyone has connected and is ready. Which all works until the game ends and players disconnect, after that I get the same error when the same players try to start a new game again without restarting the app. Interestingly, the error is spammed exactly 31 times before it gives up.
Regardless of not having to set these scenes I tried it anyways, splitting up my lobby and main menu, but now the client refuses to switch to the lobby scene (online scene) after connecting to the host, so it's even worse.
I would prefer to not set these scenes though, I want to manage scenes manually.
I'm on the latest version of mirror and am using playfab party as transport.
Originally posted by @TheMadDodger in https://github.com/vis2k/Mirror/issues/1701#issuecomment-1141308870

I'd add that after many, many, MANY tries, i think the problem resides in the fact that when someone leaves, the connection doesn't close between the server and the client, even though i've tried to put
NetworkServer.RemovePlayerForConnection(conn, true);
NetworkServer.DestroyPlayerForConnection(conn);
conn.Disconnect();
in OnServerDisconnect().
Is this a bug or have i done it all wrong?
More information about my problem here:
https://forum.unity.com/threads/mirror-and-fizzysteamworks-leavelobby-there-is-already-a-player-for-this-connection.1333179/

I think I've noticed the same issue. NetworkClient.RemoveTransportHandlers() doesn't seem to be called during StopClient(), which causes duplicate OnClientConnect() calls when connecting again.

I think this is a problem with Telepathy transport - I was upgrading an old project when this error occurred. Switching to KCP seems to fix the issue.

Oh my ~fucking~ god!
I had this bug for MONTHS! using FizzySteamworks, and I just COULD NOT get it to work. Everytime I reconnected, it got worse with more and more connection attempts.
Thanks @adamgryu!
I fixed the bug by adding
// Try to fix bug
RemoveTransportHandlers();

at line 1545 in the NetworkClient.cs file in the Shutdown(); method.
There is now an error on startup of my game, but at least reconnecting to the same lobby works!

Got the same error, this bug started occurring in a live game after upgrading from Mirror version 6.3.0 to version 66.0.9

@vis2k See comment above about RemoveTransportHandlers not being called.

checking

NetworkClient.OnTransportDisconnected calls RemoveTransportHandlers.
So as long as the Transport calls OnClientDisconnected, it should work.

I'll check Telepathy, but couldn't reproduce it with the Tanks demo so far
Might be good to clear old client state on connect, or at least show a warning if transport forgot to clear

NetworkClient.AddTransportHandlers now removes old handlers first.
However, I could not reproduce your original issue on the server.
Could someone please add detailed steps how to reproduce it?
This would only happen if a Transport forgot to call OnServerDisconnect.

nevermind, I can reproduce it with tanks demo on server.
OnServerDisconnected is never fired from telepathy.

yep, can't reproduce it.
if anyone still encounters this, please reopen with steps how to reproduce.

Hi, I'm just hitting this bug our side and conquered it today. Here is the detail:

This only happen with FizzyTransport.
Note to @vis2k this will not happen with Telepathy, I have tested both transport in same scenario.

The problem came from FizzyTransport NextClient will not call its own OnDisconnected if disconnection is run via FizzyTransport.Shutdown which does not call NextClient.InternalDisconnect, result in transport.OnClientDisconnected never called, result in NetworkClient.RemoveTransportHandlers never called.

FizzyTransport.Shutdown (bad route) will be called when client is voluntary disconnect from server/lobby. Strange enough, the required NextClient.InternalDisconnect will be called if client disconnect by error (timeout, etc).

As everyone had guessed, tranport.OnClientConnected delegate will pile up because it is never cleared by NetworkClient.RemoveTransportHandlers, and if client is configured to NetworkManager.autoCreatePlayer = true client will send double/triple AddPlayerMessage to server, thus the said error message on server side.
(image: delegate piles up after 2 cycles of disconnect-rejoin, making triple AddPlayerMessage to server)

Solution:
Add following line to your "FizzySteamworks\NextClient.cs" at location in this screen shot.
if( Connected )
    InternalDisconnect( );

Note that next time if you decide to update the FizzySteamworks later, it could overwrite your custom code here so beware.

This only happen with FizzyTransport.

This information needs to be copied to the Fizzy Steamworks repo and perhaps mentioned in the Discord channel.

@MrGadget1024 I raise this issue to Fizzy repo just in case. But not sure how fast dev would adress or how to reach him.
So I will just cross my finger. 🤞
https://github.com/Chykary/FizzySteamworks/issues/46


[Bug] Tinkers items dont show affix information

The tooltips seem to be cut off in apoth 5.7 on tinkers tools

https://github.com/FTBTeam/FTB-Modpack-Issues/issues/1437

@KnightMiner was adding special support for it but I'm not sure if it made it to live or not.
We have it working in the J2TC development instance, so the code exists somewhere™

tbf we are not on the latest tinkers atm, we're on TConstruct-1.18.2-<IP_ADDRESS>, was avoiding updating since its going to be a bunch of work for me lol but if thats the issue we'll update.

confirm works with updated tinkers


Switch AWS actions to a version using node 16

AWS does not yet provide a v2 for their actions, nor they plan to update to node 16 on v1.
Instead, they provide an alternative branch v1-node16 which they promise will have the same features and fixes as the regular v1, but running on node 16.
See https://github.com/aws-actions/configure-aws-credentials#notice-node12-deprecation-warning

BTW, I guess these links will stop working eventually, but these are the jobs I run:

https://github.com/hypothesis/lms/actions/runs/4182625519
https://github.com/hypothesis/lms/actions/runs/4182634616


Add Error message for empty Password in Sign-in Screen

Summary:
With empty credentials, on clicking Sign in button, error message pops up only for Username and not for password.
Steps to reproduce:
Step 1. Navigate to Login Screen.
Step 2. Leave the credentials empty.
Step 3. Click the Sign In button.
Step 4. Observer the error
Expected behavior:
An error message should have popped up for password as well.
Observed behavior:
Error message popped up only for username field.
Device and Android version:
Device: Lenovo Vibe K5 Note
Android version: Android 6.0 Marshmallow
Screenshots:

I would like to work on this issue


chore(ffe-searchable-dropdown-react): publish types

This commit makes sure type definitions are also published to npm
Closes #901

Coverage remained the same at 84.797% when pulling b3c7d4bbc40c924bb9b9c9b0a37cec51c00e3ae6 on em1mn:publish-type-definitions into 26c45cb270ee745683fc9542c155fe06563f417c on SpareBank1:develop.


simplified code

No big changes, just cleaned up some weird code.

The usage of 'weird' slice operations was a conscious decision while writing the library: we don't ever want to mess with the slices of constructors that the user passes in. Instead, we copy the list of constructors.
Similarly, for Append(), we don't want to modify the original Chain by appending to its constructors member.
Good catch on ThenFunc(), though. We should only merge that line, but I'm not sure how to proceed: could you revert other changes and update the PR?

Fixed. I left the change on ThenFunc but I changed the copy's in Append to use append. Just a bit cleaner.

./chain.go:83: cannot use c.constructors (type []Constructor) as type Constructor in append
./chain.go:83: append(newCons, c.constructors) evaluated but not used
./chain.go:84: cannot use constructors (type []Constructor) as type Constructor in append
./chain.go:84: append(newCons, constructors) evaluated but not used

Lines 1 & 3: only missing ... to expand to variadic arguments it seems.
Lines 2 & 4: we could reassign to newCons in each to silence the messages, although slice reallocation won't happen in this case anyway.

alright fixed

Thanks, seems alright now, merging it in.

@justinas Wait, you said

Similarly, for Append(), we don't want to modify the original Chain by appending to its constructors member.

Why not? It should be fine to append to the constructor member because in New(), we copied the user's slice. I understand why we're doing it in New() but shouldn't it be fine to simply append to c.constructors in c.Append()?
So turn c.Append() into this:

func (c Chain) Append(constructors ...Constructor) Chain {
	return New(append(c.constructors, constructors...)...)
}

Append extends a chain, adding the specified constructors as the last ones in the request flow.
Append returns a new chain, leaving the original one untouched.

If we appended to c.constructors, c (the current chain) would change as well (except if a reallocation happened).

@justinas wouldn't a reallocation always happen though? So it should be fine.

As of now, the inner slice is created by New using append() and I don't think there are any guarantees on what capacity append sets for a new slice, so... better safe than sorry, I guess.

Ah, you are correct, append increases the capacity every reallocation by double plus one when the number of items are below 1024, and by a factor of 1.25 above.
https://github.com/golang/go/blob/master/src/runtime/slice.go#L89


[Bug]: there is always a loading icon when I startup a database permission apply ticket

ODC version
4.3.1
OB version
not related
What happened?

reload the web page, don't view the database panel and open the database apply panel:

as you can see, the loading icon is always appear~
the loading icon will be disappear after I view the datasource panel:

What did you expect to happen?
we'd better not appear the loading icon~
How can we reproduce it (as minimally and precisely as possible)?
follow what happened~
Anything else we need to know?
No response

Fixed In Commit 94e3ebb066f0ca43b82a92d4d6023e33d60a334d
------
畅晚
Wed Aug 7 16:29:01 2024 +0800

pass


More differences between Metadata and Blob Index tags

We're looking at possibly using Blob Index tags for a project (when it's out of preview and available in our region).
There are two differences between Blob Index tags and Metadata which potentially make Index tags preferable, neither of which are listed in Choosing Between Metadata and Blob Index Tags and might be worth adding:

As well as case sensitive/insensitive, there are different restrictions on valid names for Metadata and Blob tags.
In particular, “metadata names must adhere to the naming rules for C# identifiers”, whereas tags support a wider range of alphanumeric characters.
We have some key-value pairs which are valid Tag names but not Metadata names.

You can't call SetBlobMetadata on a blob that's been rendered immutable with Legal Holds or stored in the Archive tier (because modifying the metadata is kinda modifying the blob, I think?).
I haven’t tried, but since Blob tags are a subresource, I wonder if you can call SetBlobTags for a blob that's immutable? The table notes that you can write tags to an object in all access tiers; if you can also write tags to an immutable blob, that would be extremely useful for us and worth highlighting.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 83542ba8-dadd-aa43-7416-168b560ee554
Version Independent ID: c77925cc-eb92-f67c-bc09-441cba18f3d0
Content: Manage and find data on Azure Blob Storage with Blob Index (Preview)
Content Source: articles/storage/blobs/storage-manage-find-blobs.md
Service: storage
Sub-service: common
GitHub Login: @mhopkins-msft
Microsoft Alias: mhopkins

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

I've made some updates to the article based on your feedback. The updates will be published on 9/22.
Thank you!
~ Mark
#please-close


fix(): add django-activity-stream to requirements.txt

👋  small PR fixing an issue I ran into while getting setup.
Description
While following the setup steps, all goes relatively smoothly (save some Mac OS/Python environment troubles) until it comes time to run the server which throws the following error:
% python manage.py runserver
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/utils/autoreload.py", line 76, in raise_last_exception
    raise _exception[1]
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/core/management/__init__.py", line 357, in execute
    autoreload.check_errors(django.setup)()
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/utils/autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/Users/arnaudschenk/.virtualenv/policykit/lib/python3.8/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'actstream'

Fix
Very straight forward fix: have just installed django-activity-stream and frozen the list of packages. Very infrequent user of Python, so if I've added too many new packages to requirements.txt, let me know!

Awesome, thank you for the PR!


Tidy up the repository

There is some sensitive information in the repository (a list of everyone's name, Twitter handles and email addresses).
It is not considered best practice to check in NuGet packages to the repository.
The repository should be cleaned up a bit to remove these extra items.

If we are going to take the nuget packages out then I need to know as I am writing a build script for it and will need to include that

I've added a wiki to both repositories that can be used to document things like NuGet packages, coding standards, packages in use, etc.  I've got to get off to work shortly though, so all I've done is push the button for now.

Excellent!


Spark Connect on local throws error

Reporting an Issue with sparklyr
@kevinykuo @javierluraschi - I am getting below error when I try to connect spark in my R studio version 0.99. I copied required winutils file in the bin folder and ran command below.
DO I NEED TO INSTALL LATEST R STUDIO 1.0.153 to connect ?
command - > sc <- spark_connect(master = "local", spark_home=spark_home_dir(version = "1.6.2"))
Error in force(code) :
Failed while connecting to sparklyr to port (8880) for sessionid (4261): Gateway in port (8880) did not respond.
Path: C:\Users\dguleria\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\bin\spark-submit2.cmd
Parameters: --class, sparklyr.Backend, --jars, "C:\Users\dguleria\Documents\R\win-library\3.4\sparklyr\java\spark-csv_2.11-1.3.0.jar","C:\Users\dguleria\Documents\R\win-library\3.4\sparklyr\java\commons-csv-1.1.jar","C:\Users\dguleria\Documents\R\win-library\3.4\sparklyr\java\univocity-parsers-1.5.1.jar", "C:\Users\dguleria\Documents\R\win-library\3.4\sparklyr\java\sparklyr-1.6-2.10.jar", 8880, 4261
---- Output Log ----
'"java"' is not recognized as an internal or external command,
operable program or batch file.
---- Error Log ----
In addition: Warning message:
running command '"C:\Users\dguleria\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hadoop\bin\winutils.exe" chmod 777 "C:\Users\dguleria\AppData\Local\rstudio\spark\Cache\spark-1.6.2-bin-hadoop2.6\tmp\hive"' had status 127

Can you please check if Java is installed and is added to the Path variable.

@dguleria like @asishbalakrishnan suggested please confirm Java is installed – you should be able to issue java -version in the command prompt and get a result.


Pickling fails with a pure Python Trie that reach some depths and hits the recursion limit

This is a well known issue for pickle: recursive data structure (such as nested dict as used in py/pyahocorasick.py) do not pickle when you reach a certain depth.
First I comment out the slots line  in pyahocorasick.py (such as I do not have to implement the __*state__ methods):
#__slots__ = ['char', 'output', 'fail', 'children']
Then I run this:
$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyahocorasick as pa
>>> for x in range(10):
...  key = str(range(x, x+100))
...
>>> t=pa.Trie()
>>> for x in range(10):
...  key = str(range(x, x+100))
...  t.add_word(key, x)
...
>>> import pickle
>>> p=pickle.dumps(t)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/pickle.py", line 1374, in dumps
    Pickler(file, protocol).dump(obj)
[...]
  File "/usr/lib/python2.7/pickle.py", line 271, in save
    pid = self.persistent_id(obj)
RuntimeError: maximum recursion depth exceeded

The obvious solution is to increase the recursion limit, but this fails quickly and can exhaust system resources:
>>> import sys
>>> sys.setrecursionlimit(10000)
>>> p=pickle.dumps(t)

Add a few more and it dies too:
>>> for x in range(100):
...  key = str(range(x, x+1000))
...  t.add_word(key, x)
...
>>> p=pickle.dumps(t)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/pickle.py", line 1374, in dumps
    Pickler(file, protocol).dump(obj)
[...]
  File "/usr/lib/python2.7/pickle.py", line 271, in save
    pid = self.persistent_id(obj)
RuntimeError: maximum recursion depth exceeded

The culprit is that the Trie uses nested dictionaries  (as opposed to the C Automaton that uses an array-based Trie structure. One way out would be to have a similar data structure in Python such that pickling works.

Now why would I want to use this rather than the C automaton? as a go between to run a slower automaton on Windows for now that does not compile yet there.

@pombredanne it's a request for Windows compilation :)

@WojciechMula you wrote:

it's a request for Windows compilation

True! But for the sake of completeness I wanted to see if I could use the Python version as a fallback!

Since this is really no longer an issue and that we have a windows build with #11 and the pure Python implementation is not meant to be a fool proof full feature implementation, I am closing this


GPII-3290: Moved grunt to dev dependencies.

See GPII-3290 for details.

OK to gentlemanise

Done, and cut the 1.0.4 release.


Initial setup

Moved Mafin.Web.UI.Selenium example projects (https://github.com/MAFIN-Squad/mafin-webui-selenium/issues/111)

Related to https://github.com/MAFIN-Squad/mafin-webui-selenium/pull/112

TODO: to fix test run and split test runs by project


Blog Art: How to Set Up SSO LDAP for Node-RED

Related Issue
No response
Description
Considerations:

Blog Tile : How to Set Up SSO LDAP for Node-RED

reference:

https://github.com/FlowFuse/website/pull/2345

Hi @sumitshinde-84
Same kind of content as https://flowfuse.com/blog/2024/07/how-to-setup-sso-saml-for-the-node-red/ so I thought we could use the same base 😉


Kepserver is returning a single node value that is not encapsulated in JSON array semantics ([]) so it cannot be parsed properly

Kepserver is returning a single node value that is not encapsulated in JSON array semantics ([]) so it cannot be parsed properly.  Repro steps and value definition to follow.

OPC Pulisher telemetry format when data is sourced from Kepserver it is different than when sourced from the Connected Factory simulated UA server. The payload is encased in a square brace (array) when coming from the simulated UA server and not when coming from the Kepserver.

This is related to whether batching is enabled or not.  A batch is an array, but single samples --si=0 are simple objects.


do not calculate contradicting elements if there are no elements from…

… both classes
resolves #226

Codecov Report

Merging #229 (493af5c) into main (676bcab) will decrease coverage by 0.04%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #229      +/-   ##
==========================================
- Coverage   82.67%   82.63%   -0.05%
==========================================
  Files          56       56
  Lines        3672     3674       +2
==========================================
  Hits         3036     3036
- Misses        636      638       +2

Impacted Files
Coverage Δ

label_sleuth/analysis_utils/labeling_reports.py
25.31% <0.00%> (-0.66%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Allow tutors to check attendance

I want to suggest a feature/improvement.
Problem:
Usually, tutors check attendance during an exam. This requires us to give tutors temporarily the instructor role. Hence, they can access the course, exam, and exercise configurations.
Solution:
Give tutors access to the feature during the examination period.

Student
Tutor
Instructor


improve how to show fee type amount

Resolves #128
Description

Type of change

Bug fix (non-breaking change which fixes an issue)

Screenshots

Before

Now

Hi @gabrielbaldao thanks so much for working on this!  We had decided on a previous PR to that issue that we don't want floats because we want to avoid rounding errors, then we closed that issue.  Please see the conversation here https://github.com/rubyforgood/babywearing/pull/131 for more information.  I'm closing this PR and the issue as well.  We have a meeting tonight to discuss next steps and so we'll have a lot more issues in soon if you're keen to pick up another issue and continue to help us out we'd love it!  Also we have a whole community you're welcome to join www.rubyforgood.org we have a slack invite (the # at the top of the page) you can join our slack and our channel #babywearing if you'd like to be a part of our ongoing project and discussion.  Thanks so much!


Bulk Sale Missing

Hi,
I'm really missing the ability to reduce the price of a add-on, if my customers want wo buy many of them. e.g. if my app was a game and you could by gold, 1 gold costs $2, but 10 gold should only cost $15. i'm using the store-managed add-on and i want to keep it as it is.
atm the only way to achieve this I know, is to order 10 promo codes and do the deal outside of the microsoft store, and that would be a nogo for me.
Please tell me how to do that, or if it is a planned feature or if it will never be possible.
Thank you!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e5350137-834c-57b6-d58d-55d0fcbbfc9d
Version Independent ID: b6daf27e-8a10-763c-c2ac-804721dc79d6
Content: Add-on submissions - UWP app developer
Content Source: windows-apps-src/publish/add-on-submissions.md
Service: unspecified
GitHub Login: @JnHs
Microsoft Alias: wdg-dev-content

I think we do support this scenario. You can create multiple consumable add-ons with different quantities and prices - using your example, one add-on would have quantity 1/price $2, and another would have quantity 10/price $15. See https://docs.microsoft.com/en-us/windows/uwp/monetize/enable-consumable-add-on-purchases and https://docs.microsoft.com/en-us/windows/uwp/publish/set-your-add-on-product-id#consumable for more info on building and submitting consumable add-ons. If I'm misunderstanding your scenario, or if you have additional documentation feedback, please let me know.


Bring back Playlist covers

How would I go about having playlist covers while using this theme? It used to work but now for some reason I can't find how to

Send me screenshot. Playlist covers are there

i mean how spotify does it normally, without the banner feature
On May 14, 2023 at 6:59:24 PM, Raghavan @.***> wrote:

Send me screenshot. Playlist covers are there
[image: image]
https://user-images.githubusercontent.com/75513645/238213433-26ab4910-fdaa-4052-8a42-0a4a60bb8802.png
—
Reply to this email directly, view it on GitHub
https://github.com/Tetrax-10/Nord-Spotify/issues/46#issuecomment-1547020561,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATXE7BD3C6Y26CKWI67A7STXGFPUZANCNFSM6AAAAAAYBMAADQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I see. One thing do you have "show banners" features enabled or disabled?

i have it disabled
On Sun, May 14, 2023 at 8:19 PM Raghavan @.***> wrote:

I see. One thing do you have "show banners" features enabled or disabled?
—
Reply to this email directly, view it on GitHub
https://github.com/Tetrax-10/Nord-Spotify/issues/46#issuecomment-1547042427,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATXE7BBXDOLOATF3UBHLGBDXGFZAFANCNFSM6AAAAAAYBMAADQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Done 🎉.

oh wow that was quick, thank you so much. also, would you know anything
about how nord dynamic works? i remember it working as it changes with
every song but not anymore, it just stays the same color as the playlist
On Sun, May 14, 2023 at 8:31 PM Raghavan @.***> wrote:

Done 🎉.
—
Reply to this email directly, view it on GitHub
https://github.com/Tetrax-10/Nord-Spotify/issues/46#issuecomment-1547047130,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATXE7BD36OBZS7MY66LTIKLXGF2PXANCNFSM6AAAAAAYBMAADQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Make sure this feature is enabled and check again. If still doesnt work then try to reset Nord settings and check (backup your settings).
If the above things dont work then please create a separate issue instead of continuing it here.

thank you that worked, i thought i had it on
On May 14, 2023 at 8:57:16 PM, Raghavan @.***> wrote:

Make sure this feature is enabled and check again. If still doesnt work
then try to reset Nord settings and check (backup your settings).
If the above things dont work then please create a separate issue instead
of continuing it here.
[image: image]
https://user-images.githubusercontent.com/75513645/238219418-29e32683-c85a-4e15-8741-88f3a81d98c7.png
—
Reply to this email directly, view it on GitHub
https://github.com/Tetrax-10/Nord-Spotify/issues/46#issuecomment-1547055064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATXE7BDLULVA7EHP6HPLOZTXGF5OZANCNFSM6AAAAAAYBMAADQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


BackButton Not visible in light mode

###What
BackButton is not visible as its colour(white) in light mode (Search Screen)
Steps to reproduce the behavior

Go to 'Search Screen'
Search an item
Click on side you will go back there is a back button there which is visible in dark mode

Could you share a screenshot @Akashsri3bi

Sure

Thanks a lot @Akashsri3bi
I for example don't have this problem in 3.20.0+745 (8 days ago), but it's in the video from g123k here https://github.com/openfoodfacts/smooth-app/pull/3132
So this error must have occured in the last few days.


Migrate to SpringDocs.

Depends on https://github.com/jhipster/generator-jhipster/pull/17194

Superseded by https://github.com/jhipster/generator-jhipster/pull/17194


[CI/CD] Update to environment files instead of set-output

set-output is deprecated, see https://github.com/raspiblitz/raspiblitz/actions/runs/7221625294
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

needed to revert #4338 in #4339
will try https://github.com/nektos/act instead (thanks for the suggestion @cstenglein )


test: resolve remaining linter errors on build

This change resolves two kinds of linter errors that were surfaced in yesterday's GitHub Actions migration.

suppresses linter warnings about the use of the Query message representation in protobuf. We already support the replacement type and our use-case makes sense to remain backwards compatible.
use new non-deprecated api in proxy test case

We should now have a build that passes all checks.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Remove --pool-size flag

Description
The --pool-size flag is no longer used and may be removed from the codebase.
It was previously called --thread-pool and this terminology may also be removed if it is present anywhere. The flag was
used for a previous JSON-RPC implementation, the purpose was to control the number of threads used.
Discussion
Is there intended to be a manual control of CPU resources in Trin?

This is a good first issue, though I cannot assign labels


dataType: "script" question

Hello,
Why should we not use dataType "script" with Pjax?
Noticed it still replaced the contents of container.
Thank you.

dataType: "script" means you're requesting to get application/javascript response from the server which is then eval'd as a script. Pjax expects to get HTML response from the server which it then injects as the new contents of a pjax container element.
So the answer is: you should not use dataType: script because then the server most likely wouldn't return HTML content which pjax needs.

@mislav ended up using dataType: script  then returning pjax in the eval'd response, it's awesome.
I'm a huge fan of Zepto and your work, wish you would write a book :D
$.pjax({ url: "/magic_carpet", container: "#bottle" });
// any other js for response


Compile tests don't work, unless target directory is sufficiently clean

If you're running cargo test before cargo test --features compiletest, you're going to see errors about multiple matching crates. The workaround is to run cargo clean before any call to cargo test --features compiletest.
Full details: https://github.com/laumann/compiletest-rs/issues/114
Any help addressing the upstream issue would be highly appreciated. I'm unfamiliar with Cargo and compiletest, and don't have the time to get into it right now.

This is not longer an issue, as we're using Trybuild now.