Error on Database Building

Working with the same 10 assemblies as in issue #16 and got the following error:
$  maast end_to_end --min-prev 0.9 --out-dir test_out --in-dir a_few_asms/
[Warning] Total number of genomes (9) < min. number of genomes required for effective SNP calling with MAF 0.01 (100)
[Warning] Skip tag genome selection, all genomes will be used
reference genome path: a_few_asms/DRR090820_contigs_skesa.fasta
[building mash sketch]: start
[calculating mash distance]: start
[clustering] start
[clustering] done
a_few_asms/DRR090793_contigs_skesa.fasta
Running mummer4; start
reference genome path: a_few_asms/DRR090793_contigs_skesa.fasta
[paired alignment]: start
[paired alignment]: done
        DRR090793_contigs_skesa - DRR090809_contigs_skesa
        DRR090793_contigs_skesa - DRR090807_contigs_skesa
        DRR090793_contigs_skesa - DRR090793_contigs_skesa
        DRR090793_contigs_skesa - DRR090820_contigs_skesa
        DRR090793_contigs_skesa - DRR090805_contigs_skesa
        DRR090793_contigs_skesa - DRR090795_contigs_skesa
        DRR090793_contigs_skesa - DRR090797_contigs_skesa
        DRR090793_contigs_skesa - DRR090801_contigs_skesa
        DRR090793_contigs_skesa - DRR090810_contigs_skesa
Reading reference genome
   count contigs: 43
   count sites: 4529549
Initializing alignments
   count genomes: 9
Reading alignment blocks
Reading SNPs
Writing fasta
   path: test_out/temp/mummer4/a_few_asms/msa.fa

Done!
Time (s): 14.14
Running mummer4; done!
Elapsed time: 21.279797554016113
Fetching file-type-specific parser; start
total length of alignments: 4529549
Fetching file-type-specific parser; done
Elapsed time: 5.482044696807861
Identifying core-snps; start
max sites: inf
min prevalence: 0.9
min MAF: 0.01
total number of sites: 4529549
min. prevalence: 0.9
min. alt. frequency: 0.01
masked by prev_mask: 4397715
masked by snp_mask: 838
masked by wildcard_mask: 4529549
Identifying core-snps; done
Elapsed time: 2.1907529830932617
Writing snps to VCF; start
Writing snps to VCF; done!
Elapsed time: 0.04240226745605469
Database building; start
[load] loading core-genome consensus sequence from a_few_asms/DRR090793_contigs_skesa.fasta
        the loaded core-genome has a consensus sequence of 4529549 bases

[load] loading key coordinates on core-genome from test_out/coords.tsv
        a total of 116 divisions was found

[load] loading core snps from test_out/core_snps.vcf
        a total of 789 core snps was found

[searching] start to search 31-mers
        a total of 23764 kmer records was found

[validating kmer set]: start

Error: the following returned non-zero status: 'callm_db_val -d test_out/nr_kmer_set.tsv -n 100000 -t 20 -L test_out/check_fna_paths.list -o test_out/kmer_prof.tsv ':

b"callm_db_val\ttest_out/nr_kmer_set.tsv\t20\nprogram reads a list of kmer pools for checking kmer uniqueness: test_out/check_fna_paths.list\nDB loading OK!\nterminate called recursively\nterminate called after throwing an instance of 'std::invalid_argument'\n"

Similar bug, which should be fixed now. Please reopen this thread if the issue is still there. Thanks again for using Maast and reporting bug!


Missing .env file in Android Studio

This has been working for some time, but suddenly it has stopped and i'm not sure what's going on.
We have several build variants:
/**
 * Environment configuration
 */
project.ext.envConfigFiles = [
        debug: ".env.dev",
        staging: ".env.production",
        release: ".env.production",
]

apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

if we do
react-native run-android
the project builds fine - it fetched the .env.dev file and everything is fine.
However if I start Android Studio - it immediately complains that a .env file is missing. Which is correct - we don't have this file. Since sync is not able to run because of that error, we can't do anything.
If I do add a .env file, then sync runs fine. And after that I see the Build Variants and I can change them. Then I see that the correct dotenv file is being used - either .env.dev or .env.production
I dug around the dotenv.gradle file and I see that when we try to sync our project we end up here
https://github.com/luggit/react-native-config/blob/master/android/dotenv.gradle#L33
but the flavor is empty. So our configuration doesn't match the flavor and we end up with the default .env file
if I add
project.ext.envConfigFiles = [
"":".env.dev",
debug: ".env.dev",
staging: ".env.production",
release: ".env.production",
]
then android studio picks up the .env.dev file as default, but am I supposed to do this? Or is there something else going on? The docs don't mention anything about that.

Also seeing this on gradle v4.7.
The following seems to be ignored:
project.ext.envConfigFiles = [
/* ... */
]

And when I run e.g. react-native run-android --variant=devDebug I see the following error:
Reading env from: .env
**************************
*** Missing .env file ****
**************************

Is this perhaps something to do with the deprecation of --flavor and in favour of --variant?

Hmm so for me it turned out to be misconfiguration of project.ext.envConfigFiles - the keys needed to be a combination of the flavor and buildType but in lowercase e.g.:
project.ext.envConfigFiles = [
        devdebug  : ".env.development",
        devrelease  : ".env.development",
        proddebug: ".env.production",
        prodrelease: ".env.production"
]

// ...

    flavorDimensions "environment"
    productFlavors {
        dev {
            dimension "environment"
        }
        prod {
            dimension "environment"
        }
    }
    buildTypes {
        debug {
           /* ... */
        }
        release {
            /* ... */
        }
    }

ok, but we don't use productFlavors. We have just buildTypes

The problem for me was that the installation was off, there's  PR with manual Android linking instructions, the last bit we had to add was this:
**MainApplication.java**

 import com.lugg.ReactNativeConfig.ReactNativeConfigPackage;

@Override
protected List<ReactPackage> getPackages() {
     return Arrays.asList(
            new MainReactPackage()
         new ReactNativeConfigPackage()
    );
}

Here's the PR for reference: https://github.com/luggit/react-native-config/pull/303/files

I faced this when gradle task run  except for assemble (in my case running sourceSets for debug purpose). This problem is caused by what tasks are run since gradle.getStartParameter().getTaskNames() get current task name in the process. So this would extract string buildValiantSuffix  rather than flavor. This library is fragile now because this config depends on only what tasks called and doesn't support except for flavor completely matched camel case task name and original task name string must be all lowercase because the flag on pattern determined by startsWith.
As I thought it, I want to handle additional two case,  It should be fixed by flavor.endsWith instead of startsWith. This should be worked in the case original task name has camel case even if flavor added task.
In another case, task name isn't added buildValiantSuffix but this task may call dotenv.gradle in the process like sourceSets. So, we need to avoid this, and maybe it is appropriate to enable switch defaultEnvFile even when project.ext.envConfigFiles exists.
So I'll pull request today if new version release coming. If I wrong something, please feel easy to tell me.

you need to add defaultEnvFile property
check here https://stackoverflow.com/questions/49140463/missing-env-files-when-i-use-react-native-config-for-android/60299691#60299691

I needed to add defaultEnvFile too, when running ENVFILE=xxx ./gradlew assembleRelease the env is NOT read correctly. So I had to create an intermediate script that copies my env to a temporary location read by defaultEnvFile. Lame. lame. lame.

I met this error for just have a wrong path to my env file.
Note that the path should be relative to your project folder, not to the build.gradle .
Check the source code for this error: https://github.com/luggit/react-native-config/blob/63e0e0c7c0e980a5e304f6d8dc08f17d5c19527d/android/dotenv.gradle#L44

We define
project.ext.envConfigFiles = [
    debug: ".env.development",
    release: ".env.production",
]

and all is well when running
react-native run-android --no-jetifier

But for some reason this error occurred when running
react-native run-android --no-jetifier --deviceId abcdef

without any other changes.

Should be able to just change the Run Configuration to get it to work.

https://stackoverflow.com/questions/49140463/missing-env-files-when-i-use-react-native-config-for-android/60299691#60299691

Yes, this was my issue as well. We are using a monorepo setup and this script expects env file to be at the same directory as the core app, not at the project level..

Instead of adding the defaultEnvFile which mentioned above, I had this error simply because of using a wrong path to my env file. Note that the path should be relative to your project folder, not to the build.gradle .
Check the source code for this error:
https://github.com/luggit/react-native-config/blob/63e0e0c7c0e980a5e304f6d8dc08f17d5c19527d/android/dotenv.gradle#L44

Yes, this was my issue as well. We are using a monorepo setup and this script expects env file to be at the same directory as the core app, not at the project level..

This configurations worked for me:
//react-native-config
project.ext.envConfigFiles = [
        development: ".env.development",
        staging :".env.staging",
        production:'.env.production'
]
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
//react-native-config

            matchingFallbacks = ['debug', 'release'] //react-native-config

        //react-native-config
    flavorDimensions 'default'
    productFlavors {
        development {
            // dimension 'env'
            applicationIdSuffix ".testemployeeapp"
        }
        staging {
            // dimension 'env'
            applicationIdSuffix ".testemployeeapp"
        }
        production {
            // dimension 'env'
            applicationIdSuffix ".testemployeeapp"
        }
    }
        //react-native-config

Commands to build:
    "aos:DR-apk": "yarn setDevelopment &&  yarn aos:clean  && cd android && ./gradlew assembleDevelopmentRelease",
    "aos:PR-apk": "yarn setProduction &&  yarn aos:clean  && cd android && ./gradlew assembleProductionRelease",
    "aos:DD-apk": "yarn setDevelopment &&  yarn aos:clean  && cd android && ./gradlew assembleDevelopmentDebug",
    "aos:PD-apk": "yarn setProduction &&  yarn aos:clean  && cd android && ./gradlew assembleProductionDebug",
    "open-apk": "open ./android/app/build/outputs/apk/",
    "aos:dev-apk": "yarn aos:DD-apk && yarn open-apk",
    "aos:dev:release-apk": "yarn aos:DR-apk && yarn open-apk",
    "aos:prod-apk": "yarn aos:PD-apk && yarn open-apk",
    "aos:prod:release-apk": "yarn aos:PR-apk && yarn open-apk",


Powerline isn't sourced after upgrading from 2.0.0 to 2.2.4

Problem Summary
This is annoying, I know, since I didn't follow the release schedule, and so I have no way of knowing where the bug came in.
Simply said, the prompt just shows hostname% instead of powerline. When sourcing ~/.zplug/repos/powerline/powerline/powerline/bindings/powerline.zsh everything goes back to normal.
System Information

uname -a

Linux ubuntu 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Darwin iMac.local 16.0.0 Darwin Kernel Version 16.0.0: Mon Aug 29 17:56:20 PDT 2016; root:xnu-3789.1.32~3/RELEASE_X86_64 x86_64 i386 iMac17,1 Darwin
```

zsh version

zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
zsh 5.2 (x86_64-apple-darwin15.6.0)
```

zplug version/commit

2.2.4
```
Minimal zshrc
Create a minimal reproducing set of configurations for this issue. Please
remove all unnecessary parts!
source ~/.zplug/init.zsh

# REPLACE ME
zplug "powerline/powerline", use:"/powerline/bindings/zsh"

zplug load --verbose

Steps to Reproduce
Upgrade from zplug 2.0.0 to 2.2.4, i guess...

Try it with:
zplug "powerline/powerline", use:"powerline/bindings/zsh/powerline.zsh"

I'll fix the issue where it doesn't source *.zsh if a directory is specified.

zplug "powerline/powerline", use:"powerline/bindings/zsh should work now.

Thanks! I switched to the powerline.zsh anyway, and as you said it worked :)


Keyboard trap upon tabbing into editor

Keyboard-only users get stuck in a keyboard trap when tabbing into the editor. It makes it impossible to exit, a huge blocker for people who can't use a mouse or trackpad. One quick and dirty solution would be to wire up the escape key once you tab into the text editor...maybe it could send focus to the next tab stop, allowing you to keep going through the page?
In an ideal world, editing with the keyboard would only start once you'd pressed an "enable editor" button, where combined with the escape key to exit, the user would thus be making a more conscious choice to toggle edit mode. But that would be a way bigger change, where an escape key + focus management might do the trick in the meantime. I'll try to put a PR together since I have to fix this for our site.
Edit: this must have started occurring in the latest version, because I'm not experiencing a keyboard trap with an older one.

I decided to add an option to override the tab key behavior instead, which was a pretty easy solution leveraging the existing code. See PR #82.


[Bug] TLS config missing from LOKI

Hi @petewall
I made a PR to add tls config to loki block https://github.com/grafana/k8s-monitoring-helm/pull/893 but
things are moving too fast I can't afford to spend time conflict merging, it would be simpler to juste copy past the missing block and pass it with a fix.
most project I work on are using remote cluster for logs so I think this bug should be on your resolved asap
Regards,

Yeah, I totally realize that things are moving so fast that it can make it difficult to contribute.
I'll try and have this added.


Copying a row to the clipboard will always copy the column group headers as well

This behavior is seen whether selecting 'Copy' or 'Copy with Headers' from the grid's context menu, and can be seen in the Grouped Columns example in toolbox: https://toolbox-dev.xh.io/app/grids/groupedCols.
This is already in AG Grid's pipeline as a new feature to allow/suppress the copying of column group header values (AG-5501).

We could skip this issue entirely by handling the preparation of text to copy ourselves, instead of leveraging the ag-grid provided API.

Background on where AG Grid stands with this feature request:
AG-5501 [Clipboard] Allow copySelectedRowsToClipboard and copySelectedRangeToClipboard to allow/suppress the copying of column group header values
https://github.com/ag-grid/ag-grid/issues/4550

This is still in the AG Grid Pipeline but it also appears to have been resolved - I tested in toolbox and a client app. I don't believe we decided to stop leveraging the ag-grid provided API, but it looks like we can close this ticket.

Closing -- I can confirm Saba's finding -- working for our menu items!


delete PullOption

LGTM

Changes Unknown when pulling dcb3c442fb6818eeb7ff235bacc9979a22ee72b0 on pongad:del-pull-opt into ** on GoogleCloudPlatform:pubsub-hp**.

Still running into deadlocks but this doesn't introduce any new failture.


Can't create MachineDeployment: Post "https://machine-controller-webhook.kube-system.svc:443/machinedeployments?timeout=10s": context deadline exceeded

Trying to create MachineDeployment with OpenStack provider
kubectl apply -f md.yaml
Error from server (InternalError): error when creating "md.yaml": Internal error occurred: failed calling webhook "machinedeployments.machine-controller.kubermatic.io": failed to call webhook: Post "https://machine-controller-webhook.kube-system.svc:443/machinedeployments?timeout=10s": context deadline exceeded
md.yaml
apiVersion: cluster.k8s.io/v1alpha1
kind: MachineDeployment
metadata:
annotations:
cluster.k8s.io/cluster-api-autoscaler-node-group-max-size: "2"
cluster.k8s.io/cluster-api-autoscaler-node-group-min-size: "2"
k8c.io/operating-system-profile: ""
creationTimestamp: null
name: kubeone-cluster-pool1
namespace: kube-system
spec:
minReadySeconds: 0
replicas: 2
selector:
matchLabels:
workerset: kubeone-cluster-pool1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
workerset: kubeone-cluster-pool1
namespace: kube-system
spec:
metadata:
creationTimestamp: null
labels:
workerset: kubeone-cluster-pool1
providerSpec:
value:
cloudProvider: openstack
cloudProviderSpec:
flavor: m1.small
image: jammy-server-cloudimg-amd64
network: kubeone-cluster-cluster
securityGroups:
- kubeone-cluster-cluster
subnet: kubeone-cluster-cluster
tags:
kubeone-cluster-workers: pool1
operatingSystem: ubuntu
operatingSystemSpec:
distUpgradeOnBoot: false
sshPublicKeys:
- |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCt1Wqy6z/uxDzdFA6GXoA0NPCULu8XR2zw0VAugLkaAZfvJQ+1oJuACE13TWugUkh7tbg7vPJbHvvl5rHGdmJJlTKa7CIoE2xE5CEkCyn3hD39b6AvyyQHbbiCaucpeHAP1DUg3W27WwnhmEL7DIfyNNXm8yDC22rgvXX96Ah45is1AcTNwnGpvIk+A01Wz0ZVmuA+6jGHPs0E05qgwJL9LLBk0aV1w09vWNCoIJ3hh6eKhTEhp7zmT3eB2fTul87hifMLEs7VEc/kmmjaYJgh5PJYhyScwHWY7JtiMwWN0SHuS4V4MzyUp6UkU7Sc3OGb9PDZDLZJT1v/5KZbJCpWmnxgtCeI9SDDD/iGBR/edbv7pXOrz5KnfBBzxl1iT51eosCr/oB5sBi9+ejpoE+VsRmn9fpmGHsdnZa5p12VPpuzCZOAcy2r8/re7hnvdUmM9d1HGHj9uiHs4sZ5zf1lzMBc5tvjfZlMoFwM/oYEoqxta8jThmGd5D+sIi3hyiE=<EMAIL_ADDRESS>versions:
kubelet: 1.26.10
status: {}

==============
kubectl logs machine-controller-webhook-5958595865-n29cs -n kube-system
W1102 11:58:31.378132       1 client_config.go:618] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
{"level":"info","time":"2023-11-02T11:58:31.407Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"amzn2","plugin":"machine-controller-userdata-amzn2"}
{"level":"info","time":"2023-11-02T11:58:31.407Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"amzn2","filename":"/usr/local/bin/machine-controller-userdata-amzn2"}
{"level":"info","time":"2023-11-02T11:58:31.407Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"centos","plugin":"machine-controller-userdata-centos"}
{"level":"info","time":"2023-11-02T11:58:31.407Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"centos","filename":"/usr/local/bin/machine-controller-userdata-centos"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"flatcar","plugin":"machine-controller-userdata-flatcar"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"flatcar","filename":"/usr/local/bin/machine-controller-userdata-flatcar"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"rhel","plugin":"machine-controller-userdata-rhel"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"rhel","filename":"/usr/local/bin/machine-controller-userdata-rhel"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"ubuntu","plugin":"machine-controller-userdata-ubuntu"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"ubuntu","filename":"/usr/local/bin/machine-controller-userdata-ubuntu"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:98","msg":"Looking for plugin","os":"rockylinux","plugin":"machine-controller-userdata-rockylinux"}
{"level":"info","time":"2023-11-02T11:58:31.408Z","caller":"manager/plugin.go:139","msg":"Found plugin","os":"rockylinux","filename":"/usr/local/bin/machine-controller-userdata-rockylinux"}
{"level":"info","time":"2023-11-02T11:58:31.409Z","caller":"webhook/main.go:151","msg":"Listening","address":"<IP_ADDRESS>:9876"}
{"level":"error","time":"2023-11-02T12:00:17.187Z","caller":"admission/admission.go:175","msg":"Failed to write admissionResponse","error":"context canceled"}
{"level":"error","time":"2023-11-02T12:01:56.536Z","caller":"admission/admission.go:175","msg":"Failed to write admissionResponse","error":"context canceled"}
kubectl describe pod machine-controller-webhook-5958595865-n29cs -n kube-system
Name:             machine-controller-webhook-5958595865-n29cs
Namespace:        kube-system
Priority:         0
Service Account:  machine-controller-webhook
Node:             kubeone-cluster-cp-2/<IP_ADDRESS>
Start Time:       Thu, 02 Nov 2023 11:58:12 +0000
Labels:           app=machine-controller-webhook
pod-template-hash=5958595865
Annotations:      cni.projectcalico.org/containerID: df9ef2767e246690a3911fb5f45071b170ee17966c2a749c7b942d29b4df777d
cni.projectcalico.org/podIP: <IP_ADDRESS>/32
cni.projectcalico.org/podIPs: <IP_ADDRESS>/32
kubeone.k8c.io/cabundle-hash: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
kubeone.k8c.io/credentials-hash: 9fd2e3602e1918ba8aa2c29ec160a28d41fbf8429e127788c2e0c86e29060210
Status:           Running
IP:               <IP_ADDRESS>
IPs:
IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/machine-controller-webhook-5958595865
Containers:
machine-controller-webhook:
Container ID:  containerd://8e206becd8f0a9fa57da7a2482ac07832216f48df182f075f659592d862ed4c9
Image:         quay.io/kubermatic/machine-controller:v1.57.3
Image ID:      quay.io/kubermatic/machine-controller@sha256:ac441b435f4c2f95f764f04d7a445119b3b1bfb014f83fd5cfdcd0d98a257317
Port:
Host Port:
Command:
/usr/local/bin/webhook
Args:
-listen-address=<IP_ADDRESS>:9876
-namespace=kube-system
-tls-cert-path=/tmp/cert/cert.pem
-tls-key-path=/tmp/cert/key.pem
-node-external-cloud-provider
-use-osm
State:          Running
Started:      Thu, 02 Nov 2023 11:58:31 +0000
Ready:          True
Restart Count:  0
Liveness:       http-get https://:9876/healthz delay=5s timeout=1s period=5s #success=1 #failure=3
Readiness:      http-get https://:9876/healthz delay=0s timeout=1s period=5s #success=1 #failure=3
Environment:
HTTPS_PROXY:
NO_PROXY:
OS_APPLICATION_CREDENTIAL_ID:      <set to the key 'OS_APPLICATION_CREDENTIAL_ID' in secret 'kubeone-machine-controller-credentials'>      Optional: false
OS_APPLICATION_CREDENTIAL_SECRET:  <set to the key 'OS_APPLICATION_CREDENTIAL_SECRET' in secret 'kubeone-machine-controller-credentials'>  Optional: false
OS_AUTH_URL:                       <set to the key 'OS_AUTH_URL' in secret 'kubeone-machine-controller-credentials'>                       Optional: false
OS_DOMAIN_NAME:                    <set to the key 'OS_DOMAIN_NAME' in secret 'kubeone-machine-controller-credentials'>                    Optional: false
OS_PASSWORD:                       <set to the key 'OS_PASSWORD' in secret 'kubeone-machine-controller-credentials'>                       Optional: false
OS_REGION_NAME:                    <set to the key 'OS_REGION_NAME' in secret 'kubeone-machine-controller-credentials'>                    Optional: false
OS_TENANT_ID:                      <set to the key 'OS_TENANT_ID' in secret 'kubeone-machine-controller-credentials'>                      Optional: false
OS_TENANT_NAME:                    <set to the key 'OS_TENANT_NAME' in secret 'kubeone-machine-controller-credentials'>                    Optional: false
OS_USER_NAME:                      <set to the key 'OS_USER_NAME' in secret 'kubeone-machine-controller-credentials'>                      Optional: false
Mounts:
/tmp/cert from machinecontroller-webhook-serving-cert (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7ssph (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
machinecontroller-webhook-serving-cert:
Type:        Secret (a volume populated by a Secret)
SecretName:  machinecontroller-webhook-serving-cert
Optional:    false
kube-api-access-7ssph:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              node-role.kubernetes.io/control-plane=
Tolerations:                 CriticalAddonsOnly op=Exists
node-role.kubernetes.io/control-plane:NoSchedule op=Exists
node-role.kubernetes.io/master:NoSchedule op=Exists
node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type    Reason     Age    From               Message

Normal  Scheduled  5m36s  default-scheduler  Successfully assigned kube-system/machine-controller-webhook-5958595865-n29cs to kubeone-cluster-cp-2
Normal  Pulling    5m35s  kubelet            Pulling image "quay.io/kubermatic/machine-controller:v1.57.3"
Normal  Pulled     5m17s  kubelet            Successfully pulled image "quay.io/kubermatic/machine-controller:v1.57.3" in 17.86819966s (17.868314368s including waiting)
Normal  Created    5m17s  kubelet            Created container machine-controller-webhook
Normal  Started    5m17s  kubelet            Started container machine-controller-webhook

Fixed with MTU setting


session.created property

Issue #4: Add created property with timestamp indicating the time when session was created

At first I very appreciate your contribution.
But I think we should use a bit another data structure.
Instead of pushing 'created' key into data dictionary we should create dictionary like:
     'session': session_dict}

where current data moved into session_dict.
The benefits are:

we don't overlap session keys with our auxiliary ones. Say, user may want to have his own  session['created'] value, why not?
I suspect created is not the only auxiliary session parameter. Say, we need to control session lifetime based on individual session info, not on system-wide value.

Thanks for your review. I will rewrite that feature.

Can you check my PR again, please?

I made fixes from your comments

Thanks!


[Feature Request]: Add the ability to enable or disable SSO in User Authentication

Context
Single Sign-on (SSO) is authentication scheme that allows users to sign in once, and be able to use the same credentials for other services without having to sign in again. If enabled in a bot, the user's can be silently authenticated as they have already been authenticated with AAD (Azure Active Directory) when logging in to into Microsoft Teams. Note: SSO is only enabled for authenticating into AAD.
As of v1.1.0, the library enables SSO by default without a way to disable it. Here's a few reasons why that's a problem:
Bot developers will have to set up SSO auth configuration in Azure Bot Service and the App Manifest for it to work, even if they don't want to.
The bot won't be able to authenticate into other identity providers (like Facebook, Google) as SSO is not supported.
Feature
Ability to toggle SSO for user authentication.
This would impact all the possible scenarios:

Bot authentication
ME Auth (only composeExtension/query)
Adaptive Card authentication

This would only affect the OAuth type of authentication. Since TeamsSSO by definition requires SSO to be enabled.
Design
Introduce an option to enable or disable SSO for each setting (or connection) when configuring Application class. This means that either SSO will be enabled for all entry points (think ME or Bot auth) or not at all.
JavaScript

Update the OAuthSettings interface to include boolean enableSSO property.

C#

Update the OAuthSettings interface to include boolean EnableSSO property.

Implementation
General steps applicable to both JS and C#.

Tweak OAuthMessageExtensionAuthBase by adding a conditional on to select auth auth type when SSO is disabled.
Tweak OAuthBotAuthentication to set showSignInLink to true.
For OAuthAdaptiveCardAuthentication SSO can be disabled by not providing a property. Update the condition so that also depends on the enableSSO property.

@blackchoey can you verify if we need this property for TeamsSSO auth?


add action to update template

To test this, I have a PR open in https://github.com/iterative/scmrepo/pull/134, that uses this action.
You can test this action over scmrepo with following command:
gh workflow run update-template.yaml -R iterative/scmrepo -r update=template

You can also add the following content to a workflow file, eg: .github/workflows/update-template.yml, that will trigger this action and create a PR for you.
name: Update template

on:
  schedule:
    - cron: '5 1 * * *'  # every day at 01:05
  workflow_dispatch:

jobs:
  update:
    runs-on: ubuntu-latest
    steps:
    - name: Check out the repository
      uses: actions/checkout@v3

    - name: Update template via cruft
      uses: iterative/py-template@add-update-action

Did this break the renovate config? https://github.com/iterative/py-template/issues/72


[Feature Request] arm64/armv7 docker/ghcr build

Would it be possible to edit the ghcr.io docker build to add arm64/armv7 support (for raspberry pi)? I have been using this build by eblabs which has arm support https://hub.docker.com/r/eblabs/cabernet/tags for a while now, and I think I may be having issues related to using an outdated docker image (about a year old now).
I would try to edit the image myself to add arm64/armv7 support but I have no idea where to begin

Interesting. I don't believe the docker file is machine dependent.  On top of that, you really don't use the ghcr.io file since you should be mounting a volume with the entire Cabernet source in it as stated in the instructions.  So... I think you are "barking up the wrong tree", but I am not in any way an expert on docker.

Correct as the instructions stated I mount the volume with Cabernet source.
When using the ghcr.io image, there seems to be some amount of lag in terms of loading streams and such, I am going to some more testing today to see if maybe it was a fluke when I tried before.

After testing, I can confirm that there is definitely some lag when trying to use the image on RPI4 (arm64) and this is due to it relying on qemu-user-static to emulate amd64 on arm64, so it seems the docker image is architecture dependent after all. I uninstalled qemu-user-static and the image doesn't start anymore on the rpi so that's how I confirmed it. With that said however, you may be right and the image may not be reliant on the docker image itself just the source mounted into the docker container.

The source is machine independent; however, it does need python3 and ffmpeg binaries to run.  These are provided externally by docker and should be associated with the arch you are using.  The configuration settings will point to the ffmpeg binaries folder or assume it is picked up by the PATH env variable. See Dockerfile_tvh_crypt.alpine for more information on the installs.

Thanks for pointing me in the right direction, I also found something called dedockify which allowed me to somewhat reverse engineer the eblabs image so I will probably end up using a combination of both of them. I just need to figure out how to specify the architecture in the image itself

My yml file looks a lot different.
https://github.com/cabernetwork/cabernet/blob/master/.github/workflows/docker-image.yml
Someone else created it so I am no docker expert.  It generally works.

GitlabCI and GitHub use different syntax, it's better to follow the examples/guides above.
Maybe ill try to create it, and create a PR

This is probably the best option, since Rocky and I are far less experienced with docker (and ARM specifically in this instance). I'm gonna look around and see if I can learn some stuff over the next few days and then maybe I'll be able to help you improve it after you submit the PR.

cryptography is just a pip install

cryptography is just a pip install

In most Linux distributions it is a simple pip install. But Alpine is different and 'pip install' will fail.  That is why the slim-buster dockerfile does a pip install and alpine ends up with the long build to get it installed.

Looks like you made some progress with it today, also I do wonder about those warnings for node12 and such honestly, I got them for some other docker images I was testing in the past

@Generator fyi, you can self host workflow builders on a remote server to bypass github build limits for testing,
I have used this one for another test at some point https://hub.docker.com/r/myoung34/github-runner

There are quite a few errors in the PR and will need to be fixed before it can be pushed.

@rocky4546 @Generator any update on this? I see the pull request is still sitting there

I have more changes, but still needs testing. Additional container options for IP, auto-add plugins and more. I'll make a new PR when it's done.

Sounds great! looking forward to testing it

Thank you Generator for the work so far.  I have pushed the changes into the dev branch and it did build into ghcr.io/cabernetwork/cabernet:dev. Interesting that the "latest" still pulls the master branch, but that is a good thing.
Need to do some testing to see if there are any impacts to the app.  The dev branch does seem to have updated correctly for testing.

I made some minor tweaks to the docker files.  Tested on both Ubuntu and windows.  All worked very well.  Only issue, not sure about, is when we have an upgrade for Cabernet that also requires an upgrade to the plugins.  Cabernet currently does not handle this well when you try to upgrade Cabernet separately from the plugin upgrade.  Still thinking about it.

Auto-install plugins on restart sound like a winner.  I will look into it and have it part of this release.  Also, found a bug for non-docker versions during the cabernet upgrade.  Will have that update today.

FYI... Not sure what is causing it, but the number of Docker downloads per month is 246,000.  The number of downloads for the releases is under 500. It looks like some kind of upgrade check is running a ton and looking like a download.  It really should only be running once a day.  As we get more users, we could reach some kind of GitHub limit caused by users setup of their docker upgrades.

Plan for docker upgrading the version of Cabernet is to:

Detect that the version has changed from the previous start and run the patch upgrade on the ini and db files
If there was a version change to Cabernet, also check for plugins to upgrade.  If the upgrade is not compatible with the current version, it will abort the upgrade of that plugin
If Cabernet is upgraded by Cabernet, then the previous version value will be updated so that the version detection of a change will not occur

This should also work when people go in and manually do a source overwrite.

Could my issue I have recently encountered here be related to the changes for ARM compatibility?
https://github.com/cabernetwork/cabernet/issues/134


Add clarification about output shape and reshaping in rechunk documentation

[] Closes #10361
[ ] Tests added / passed
[ ] Passes pre-commit run --all-files

Can one of the admins verify this patch?
Admins can comment ok to test to allow this one PR to run or add to allowlist to allow all future PRs from the same author to run.


Print out data in clues on error

As of now, even though we do record extra data and stacktrace with clues, we don't output any of them when we error out in the  corso CLI.

In the interim to a fix, these values should be available in logs.

related: https://github.com/alcionai/corso/issues/1970


Grammatical error

https://codelabs.developers.google.com/codelabs/firebase-cloud-functions/#6 contains the grammatically incorrect text:
This is what happens do above when using admin.initializeApp();

Sorry, thought I had fixed this a while ago. Fixed! It now says:

The Firebase Admin SDK can be configured automatically when deployed on a Cloud Functions environment or other Google Cloud Platform containers. This is what we do above when calling admin.initializeApp();


Hosted service Illicit_Drug_Grows/FeatureServer does not have a service definition item

The hosted service "Illicit Drug Grows" item exists 99c9cd90af9a4a3c9c315b45edb02216 but does not have an associated service definition portal item. Without the service definition item the service won't be published during Ops Server publishing.
NOTE: Only hosted services published from ArcGIS Desktop or ArcGIS Pro, which upload a service definition item to portal, are supported by the ops server config publishing scripts.

Based on the lack of activity on this item. I am going to delete the item at 1100 today. If you think this is in error please respond by then.

To the best of my knowledge this service is being referenced by the following resources:

Web Map, a4c628fc4aa04a05ad30fd32613df340, "Illicit Drug Grows", Natalie F.
Web Mapping Application, f6e165bf688c46daa06048fed1fb43e9, "Illicit Drug Grows",  Natalie F.
Web Map, 889abe9dfb5a4c0e93920257652fb740, "Illicit Drug Grows Map", Phil S.
Web Mapping Application, 77f7ad815fa3426c886d7b03fe23b328, "Illicit Drug Grows (Summary Application)", Phil S.

Based on the fact that this is not used in any released content. @phil7277 and @nfeuerstein will need to fix their own web maps.

@elinz to verify.

Web Map, a4c628fc4aa04a05ad30fd32613df340, "Illicit Drug Grows", Natalie F.
Web Mapping Application, f6e165bf688c46daa06048fed1fb43e9, "Illicit Drug Grows", Natalie F.
@conklinbd @elinz the two items above (web map and web app) are in the release/review group and have been.  They are "ready" for release and should be released.  The problem happened because the workflow, to drag and drop a CSV and utilize smart mapping to make a map and then publish an app creates the "unsupported" hosted feature service and (to the best of my knowledge) its not easy to tell from the item if its a "supported" hosted service or an "unsupported" hosted service.
I can republish the data as a "supported" service to have the examples, or we can just publish the csv and people can follow the same workflow to create their own web map and web app in a few easy clicks.

@conklinbd Please advise course of action @nfeuerstein should take based on her last comments.

@conklinbd @elinz - I republished the drug grow feature service (the legit way) and updated the web map (the ones owned by me, not the ones owned by @phil7277.  They are all shared with the release review group.

NOTE: Republished service name changed from Illicit_Drug_Grows to DrugGrows.
Verified that a service definition item now exists for this new service. Closing issue.


SAK-30452 - Cannot logout of mobile view, no links on top right profile work

I've normalized some paddings, margins too and one error with overlay on mobile.

LGTM

Thanks for the quick fix on both of these!


Support alternative cache key URLs in RequestWrapper.fetchAndCache

CC: @gauntface
Library Affected:
sw-runtime-caching
It could be useful to support passing in an additional optional parameter to RequestWrapper.fetchAndCache allowing developers to provide an alternative cache key URL, if they don't want the request.url used.
The use case is when the request includes cache-busting URL parameters, which ideally wouldn't be used in the cache key.
The revised method signature could be:
async fetchAndCache({request, waitOnCache, cacheKey}) {
  // ...
}

Thanks for opening the issue. I'm happy to do this work if you want to
assign it to me.
On Wed, 25 Jan 2017, 07:04 Jeffrey Posnick<EMAIL_ADDRESS>wrote:

CC: @gauntface https://github.com/gauntface
Library Affected:
sw-runtime-caching
It could be useful to support passing in an additional optional parameter
to RequestWrapper.fetchAndCache
https://github.com/GoogleChrome/sw-helpers/blob/81fedc4a1183c6137d19c07800d806090df17ce3/packages/sw-runtime-caching/src/lib/request-wrapper.js#L177
allowing developers to provide an alternative cache key URL, if they don't
want the request.url used.
The use case is when the request includes cache-busting URL parameters,
which ideally wouldn't be used in the cache key.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChrome/sw-helpers/issues/178, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAIh8Onvg2Q7RF5Pd_O1_mcAuC1Cpqhvks5rV2SIgaJpZM4LtlrN
.

@jeffposnick I just started too look at the fetchAndCache and I have it implemented but one scenario I'm not sure how best to handle is when a response isn't ok.
If the response.ok is false, it shouldn't be cached (Unless 'behaviorCallbacks.cacheWillUpdate is defined).
If the entry isn't cached, are you happy to throw an error rather than continue without caching and returning the response? Thinking being that returning the response does not mean it wasn't cached.

I ended up checking !cacheable && waitOnCache to determine if an error should be thrown (Means this method can be used in runtime caching strategies without any change in behavior).

That seems like a reasonable compromise to me. I'll take a look at the PR!


Unsub button

Fixes: #18879.
Testing plan: Manually.
GIFs or screenshots:

Admin unsubscribing other user

Unsubscribing for own profile

I've made changes to address each comment. Will open an issue (for live update) once this gets merged.

I merged the first 3 commits as the series ending with 4b870e04109a993bfa51e364e5fb14ead85b3718.  The last commit doesn't work for me, and reading the code, I think you lost a hunk during a rebase or something.

I posted a couple more small comments on the discussion threads above, but otherwise this lgtm aside from the missing hunk.  It'll be nice to merge this so that you can rebase your other PRs touching this UI widget and have them together.

I've fixed the comment position and missing tooltip in last commit. It is ready for another look.

Merged after the small change noted above, thanks @m-e-l-u-h-a-n!


DEV 8737. 24. Update kubectl 1.5.1 to 1.7.2 in u16

https://github.com/Shippable/pm/issues/8737

this done. closing


wonder if LR=1e-3 for mup is optimal value from small-scale proxy model and dropout is crucial for multi-epoch

hi authors, thanks for the great work!
i just wonder if LR=1e-3 for mup is optimal value from small-scale proxy model
and how dropout is critical for multi-epoch training.
for the latter, i guess you guys set dropout as 0.1 for regularization but there is no dropout ablation study.
because it's common to set dropout as 0.0 in modern LLM, it would be interesting to know when dropout becomes important

LR: We just took the default from mUP. Afaik mUP automatically adjusts the LR so it should be fine.
Dropout: Good point - it could be the case that the higher the dropout, the more epochs you can do. This is something worth investigating!

LR: We just took the default from mUP. Afaik mUP automatically adjusts the LR so it should be fine.
Dropout: Good point - it could be the case that the higher the dropout, the more epochs you can do. This is something worth investigating!

thank you for the kind and fast reply,
i agree with you that even if LR is optimal or not, it should be transferred by the philosophy of MuP.
but after i thought about it a bit more i guess it could be true when model is trained with enough optimization steps.
following TP-V paper, authors told 5000 steps are enough to transfer
Empirically, we find that for language modeling on Transformers,
HPs generally transfer across scale dimensions if some minimum width (e.g. 256),
depth (e.g., 4), batch size (e.g., 32), sequence length (e.g., 128), and training steps (e.g., 5000) are met,
and the target scale is within the “reasonable range” as in our experiments.

but neither 256 nor 512 batch size does not satisfy this condition.
>>> 100e6/(256*2048)
190.73486328125
>>> 100e6/(512*2048)
95.367431640625

how do you think?

Good point.
In the paper mup is only used for the below Figure and the message w.r.t. mup here is that even if you select parameters according to what is considered optimal i.e. mup, performance worsens if the parameters are too big for the tokens (excess parameters). I.e. despite using more FLOPs performance gets worse. Our hypothesis originally was that mup may make it such that performance only flattens but it also worsened like with our standard parameter selection.
To test this same hypothesis with more training steps, you would need to increase the model parameters to maintain a similar ratio of excess parameters, which would make these experiments a lot more expensive. I.e. to 10x the steps, we probably need to go about 10x bigger in parameters and test there that excess parameters still hurt with mup. I think it would be interesting to run and test. I think the results would be the same though and mup would still hurt performance just like standard parameter selection if the parameter to tokens ratio gets too big.

thank you so much @Muennighoff :)
will revisit if there are more things to discuss !


MAC_GENERAL support

From last Borica documentation MAC fields (Signature) are changed and this library will not work after 21 july 2023 until MAC_GENERAL is provided.

Hi @borisdelev, thanks a lot for the information. I received the new version of the API specification today and will update the library before the dead line.

You great!

@borisdelev It's already implemented in the latest version v1.0. Make sure to read the updated README file. If you have questions or problems during implementation, throw me a PM.

Tomorrow will upgrade 😊 thanks for what uve done.
... And may the force be with you! Aways.


Either incorrect or misleading documentation, or errors in project.

Either your documentation is misleading in that we can not build this project from the source files provided, or your Visual Studio project has a multitude of errors leading to build failure.
These are the errors I have received leading to build failure: https://gist.github.com/yndrelbosch/3a177d97ebb36cdd6c625e0cf02f2637

There are two issues with the project that are not compatible with VS2019:

The source code from SKSE64 forgot #include <string>.
.NET target platform v4.6.1 is not available by default in VS2019.

I have fixed it in https://github.com/YihaoPeng/DragonbornSpeaksNaturally/commit/e26224a01d171507dc396fd9e7690ebfb2a85952

Set  to global auto include.
Remove the requirements for the .NET target platform.


chore: fix some comments

Checklist

[ ] I have linked to any relevant issues.
[ ] I have updated the documentation.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added necessary labels.
[ ] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[ ] I have requested a review from the relevant team or maintainers.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Digeq x angular prototype

What
Rewritten question builder using angular.js
How to test

Create a survey and a new questionnaire
Drag and drop elements from the 'Question Types' area into the main area on the left
Drag and drop elements from the main area to the bin
Complete the dragged forms and verify the debug json is poplated below
Save your work
Reload the page and verify your changes were saved

Who can test
Anybody except @weapdiv-david and @LJBabbage
Still outstanding
Several CSS bugs which will be fixed when the latest UI changes are applied

The Angular.js code looks good and I like where this pull request is going, but it doesn't feel quite finished to me. I've found the following issues:
1] The save button on the questionnaire builder works but nothing happens to inform the user it has been successful.
2] Dropping a multiple choice question on to it's answers causes the question to disappear.
3] Pulling a multiple choice answer out of it's question and into it's a slot designed for a question causes the previous page to be loaded into the middle of the questionnaire builder (very odd - see screenshot)
3] A JSON object is being rendered at the bottom of the questionnaire builder page (obviously don't want this in the production server)
I'm going to leave this up to @dhilton to choose whether we merge as is and fix later, or fix these issues now.
Overall though, it's pretty impressive, good work guys :+1:
![screenshot from 2015-10-14 08 48 56]
(https://cloud.githubusercontent.com/assets/14093825/10477724/7dae2f0a-7250-11e5-891d-de279b53e84e.png)

Currently unusable in Safari - Drag and Drop is not working at all  - maybe some insight here.
http://caniuse.com/#feat=dragndrop

Actually just tested on Chrome and Firefox, broken on both... hmm

Tested and the drag and drop bugs no longer exist :+1:


Scrolling error with suggested action cards

Selecting a suggested action prompt when the chat window is scrolled to the bottom, causes the window to stop scrolling correctly.  Maybe I have the webchat CSS incorrectly setup, but it's pretty simple.  Any help appreciated.
Update: Tested with both master and latest.  Both have this problem.
Update #2: Once the webchat control is in the bugged state (not updating scrolling correctly), if the user types a message into the chat control, instead of hitting a suggested action button, the window scrolls correctly, and continues to scroll correctly using action buttons.
Web page:
<!DOCTYPE html>

    <title>Web Chat: Custom style set</title>

The BOT side code is created by creating an EchoBot solution using Visual Studio 2017 and modifying OnTurnAsync as follows:
public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
{
    // Handle Message activity type, which is the main activity type for shown within a conversational interface
    // Message activities may contain text, speech, interactive cards, and binary or unknown attachments.
    // see https://aka.ms/about-bot-activity-message to learn more about the message and other activity types
    if (turnContext.Activity.Type == ActivityTypes.Message)
    {
        // Get the conversation state from the turn context.
        var state = await _accessors.CounterState.GetAsync(turnContext, () => new CounterState());

        // Bump the turn count for this conversation.
        state.TurnCount++;

        // Set the property using the accessor.
        await _accessors.CounterState.SetAsync(turnContext, state);

        // Save the new turn count into the conversation state.
        await _accessors.ConversationState.SaveChangesAsync(turnContext);

        switch (turnContext.Activity.Text) {
            case "menu":
                await turnContext.SendActivityAsync(BuildMenuCard(turnContext));
                break;
            case "help":
                await turnContext.SendActivityAsync("Help?  Hahahahahaha......");
                break;
            default:
                var responseMessage = $"Turn {state.TurnCount}: Here is your information about '{turnContext.Activity.Text}'\n";
                await turnContext.SendActivityAsync(responseMessage);
                await turnContext.SendActivityAsync(BuildMenuCard(turnContext));
                break;
        }
    }
    else
    {
        await turnContext.SendActivityAsync($"{turnContext.Activity.Type} event detected");
    }
}
public static IMessageActivity BuildMenuCard(ITurnContext turnContext)
{
    var response = MessageFactory.SuggestedActions(
        actions: new List<string>() { "Contact", "Stuff", "Money", "Help"},
        inputHint: InputHints.IgnoringInput,
        text: "Text Contact, stuff, money, help",
        ssml: "SSML Contact, etc."
    );
    return response;
}

In the chat box type menu to bring up the selected actions, and then continuously select contact (or any of the suggested actions) over and over until the window needs to scroll.  You'll see the error there.
It's interesting that the embedded web chat (https://webchat.botframework.com/embed...) doesn't have the scrolling error and instead doesn't handle a blank text field in a suggested action properly.

Hi @mekinney -
Thank you for sharing it your code. Much easier than trying to reproduce it.
It looks like the chat window doesn't automatically scroll to the bottom while WebChat is displaying suggest actions. This issue is probably related to https://github.com/Microsoft/BotFramework-WebChat/issues/1031.

Thanks for the response.
FYI, the webchat code included with "https://webchat.botframework.com/embed..." doesn't have this bug.  I'm not sure how the codebases are related, but thought might help track it down.

hey @mekinney, it's very much looking like this is the same error as over on #1697. We're still working on getting a consistent repro, but we have @compulim prioritizing this fix now. Thanks for your patience. :)

Hi @mekinney. We have updated our scroll-to-bottom component in PR #1621 and PR #1725. Looks like the issue is fixed. Can you try our latest dev build and see if it repro?
In your HTML file, modify the following line will use dev build.
-
+

We use react-scroll-to-bottom component to provide stick-to-bottom functionality. We bumped to 1.3.0 then eventually 1.3.1, which provide a more reliable way to stick to bottom, when compare to 1.2.0, which /latest/ production build is used.

@compulim
is it fixed in master/webchat-es5.js as well ?
can i use it now
Thanks

This change does fix my test harness.  I'll push it to our main app and hopefully it will work there also.
Thank you!

@mekinney please let us know how it goes!

@keshavnagpal yes, it should be on our development build at https://cdn.botframework.com/botframework-webchat/master/webchat-es5.js now.
@mekinney thanks for your report. Please do let us know any further issues. We love to squash any bugs found. 💪

Sounds like this issue may be resolved so I'm going to close it -- @mekinney please feel free to get back to us with feedback or other questions you might have. I can always reopen this issue. :)

This fix worked in our main code base also.  Thank you.


Invokeable Rules don't work for Rule::forEach() under nested array property validation.

Laravel Version: 9.37.0
PHP Version: 8.1.9
Database Driver & Version: MySQL 8

Description:
Validation: Having an invokeable Rule object as part of the Rule::forEach closure in a nested array throws an error on the latest version of Laravel.
The error is: trim(): Argument #1 ($string) must be of type string, Illuminate\Validation\InvokableValidationRule given
Stack trace:
TypeError : trim(): Argument #1 ($string) must be of type string, Illuminate\Validation\InvokableValidationRule given
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php:250
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/ValidationRuleParser.php:232
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:1030
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:1011
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:752
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:709
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:601
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:417
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:448
 /var/www/html/vendor/laravel/framework/src/Illuminate/Validation/Validator.php:490
 /var/www/html/vendor/livewire/livewire/src/ComponentConcerns/ValidatesInput.php:206

Steps To Reproduce:

Have a validation rule for a nested array property like the following.

            'additional_users.*.email' => [
                'bail',
                'required',
                'email',
                Rule::forEach(function ($value, $attribute) {
                    return [
                        new EnsureUserEmailDoesNotAlreadyExistInAdditionalUsersColumn($this->booking, $value),
                    ];
                }),
            ],

EnsureUserEmailDoesNotAlreadyExistInAdditionalUsersColumn is a new Invokeable rule and thus causes an error.

@nearueng I guess it will be nice to attach implementation of your Invokable rule.

@dyriavin In this instant, I just converted it to an inline rule for now to keep it working, but I'll put the original implementation below. Interestingly enough, even a regular rule was causing an error here.
class EnsureUserEmailDoesNotAlreadyExistInAdditionalUsersColumn implements InvokableRule
{
    public function __construct(
        protected Booking $booking,
        protected ?string $email
    ) {
    }

    /**
     * Run the validation rule.
     *
     * @param  string  $attribute
     * @param  mixed  $value
     * @param  \Closure(string): \Illuminate\Translation\PotentiallyTranslatedString  $fail
     * @return void
     */
    public function __invoke($attribute, $value, $fail)
    {
        $emailAlreadyExists = collect($this->booking->additional_users)->pluck('email')->contains($this->email);

        if ($emailAlreadyExists) {
            $fail('This email already exists on this booking.');
        }
    }
}

Heya, thanks for reporting.
We'll need more info and/or code to debug this further. Can you please create a repository with the command below, commit the code that reproduces the issue as one separate commit on the main/master branch and share the repository here? Please make sure that you have the latest version of the Laravel installer in order to run this command. Please also make sure you have both Git & the GitHub CLI tool properly set up.
laravel new bug-report --github="--public"

Please do not amend and create a separate commit with your custom changes. After you've posted the repository, we'll try to reproduce the issue.
Thanks!

I'll re-open this once a repo is provided.

I'm having the exact same problem.

I have reproduced the error in Laravel v9.39.0, v9.38.0 and v9.36.4.
Had to downgrade to v9.19.0 which was the version I was using before upgrading, and then it worked.
@driesvints Apparently to reproduce you just have to use an InvokableRule as one of the rules used in a Rule::forEach(), not sure why you're asking for a repository.

Are you sure this issue relates to the invokable rule and not how you're using Rule::forEach?
I've just been burned by the change in this PR that breaks how you/I'm using Rule::forEach.
If you change your validation to the following in the latest Laravel version, does it work?:
'additional_users.*.email' => Rule::forEach(function ($value, $attribute) {
    return [
        'bail',
        'required',
        'email',
        new EnsureUserEmailDoesNotAlreadyExistInAdditionalUsersColumn($this->booking, $value),
    ];
}),

Well, I'm not sure. I'm

@aihowes Now I'm not sure, but here's how I'm using it.
            'access_roles.*.role_id' => [
                'bail',
                'present',
                'nullable',
                'integer',
                'exists:roles,id',
                'distinct',
                Rule::forEach(fn ($value, $attribute) => [
                    new RoleMustBeOfTheSameModule(
                        moduleIdArrayKey: Str::replace('role_id', 'module_id', $attribute)
                    ),
                ]),
            ],

Now I get it. We have to include everything inside the Rule::forEach() callback:
public function rules(): array
{
    return [
        'access_roles.*.role_id' => [
            Rule::forEach(fn ($value, $attribute) => [
                'bail',
                'present',
                'nullable',
                'integer',
                'exists:roles,id',
                'distinct',
                new RoleMustBeOfTheSameModule(
                    moduleIdArrayKey: Str::replace('role_id', 'module_id', $attribute)
                ),
            ]),
        ],
    ];
}

Now it works, but it also breaks the way errors are returned in responses.

Remove the array outside of the Rule::forEach:
public function rules(): array
{
    return [
        'access_roles.*.role_id' => Rule::forEach(fn ($value, $attribute) => [
            'bail',
            'present',
            'nullable',
            'integer',
            'exists:roles,id',
            'distinct',
            new RoleMustBeOfTheSameModule(
                moduleIdArrayKey: Str::replace('role_id', 'module_id', $attribute)
            ),
        ]),
    ];
}

@aihowes thanks! Just came back to this and your method looks good!


Attribute selection: allow grouping definitions by metric name glob

If you want to select/restrict an attribute group for all the metrics, currently you need to do something like:
attributes:
  select:
    http.server.request.body.size:
       include: ["list","of","attrs"]
    http.client.request.body.size:
       include: ["list","of","attrs"]
    http.server.request.duration:
       include: ["list","of","attrs"]
    http.client.request.duration:
       include: ["list","of","attrs"]
    rpc.client.duration:
         etc etc etc....

It would facilitate our user's life to be able to do something like:
attributes:
  select:
    "http.*":
       include: ["list","of","attrs"]
    "rpc.*":
       include: ["other","attrs"]

or even:
attributes:
  select:
    "*":
       include: ["list","of","attrs"]

Done https://github.com/grafana/beyla/pull/991


Apache Basic authorization

Hi,
A small suggestion - would it be possible to add the option for apache basic authorization (htaccess/htpasswd authorization)?
Thanks,
Wojtek

Hi,
Thanks for suggestion. If I understood correctly, you've got redmine behind apache proxy, right? If so, will it be enough to add config property to add Authorization/custom headers, which will be added to every request?

Yes, that would be perfect. Thank you for getting back.

Solved by 585a78a98fb69b66f8512fa106bade40841526d1.
Adding Authorization header is done by setting redmine.authorization.
Tested with redmine behind nginx secured by basic auth and everything went just fine.
Feel free to reopen this issue, if it doesn't work as expected.

Brilliant, thank you. :)

I'm sorry but not understand the additionalHeaders object.
In my settings.json I add:
"redmine.additionalHeaders": {
"authorization" : "Basic [base64 encoded username:password]"
}
but it does not work. Where I fail?
thank you

Hey @saiballo, thanks for asking! It appears that additionalHeaders and rejectUnauthorized options are not taken into account by the extension at all, which is obviously a bug. I've created an issue for that: #37. If you have further questions or doubts in this matter, please continue the discussion here.
Once again, thanks for spotting and making me aware ;)

I'm really really sorry... it was my fault!!!! Plugins finally works!! Good job!


Windows/Linux shows no colored images

I installed in phpstorm.... unless I'm missing a setting it doesn't seem to work.  I tried typing in my twig templates, and php comments.. : and some text.. nothing.

Which PhpStorm version are you using?

Same here. Weird though - i have it installed in three places (work PC, home PC, travel notebook) - only on travel notebook it doesn't work:
PhpStorm 2019.3 EAP
Build #PS-193.4697.24, built on October 17, 2019
PhpStorm EAP User
Expiration date: November 16, 2019
Runtime version: 11.0.4+10-b520.2 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 974M
Cores: 4
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: com.github.shiraji.yaemoji, de.espend.idea.php.toolbox, de.espend.idea.php.annotation, fr.adrienbrault.idea.symfony2plugin

Well it's expired, updated to latest version. Still no luck.
PhpStorm 2019.3
Build #PS-193.5233.64, built on November 21, 2019
Licensed to ...
Subscription is active until October 7, 2020
Runtime version: 11.0.4+10-b520.11 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 974M
Cores: 4
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: com.github.shiraji.yaemoji, de.espend.idea.php.toolbox, de.espend.idea.php.annotation, fr.adrienbrault.idea.symfony2plugin

Thanks for the info. Let me check.

Guys, thanks for reporting. I think v0.0.3 fix this problem. Please reopen if the problem persists.

No.

0.0.3 doesn't fix, confirm.

I have no idea. Under this environment, I managed to use this plugin.
PhpStorm 2019.3
Build #PS-193.5233.101, built on November 28, 2019
Licensed to ...
Subscription is active until August 1, 2020
Runtime version: 11.0.4+10-b520.11 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
GC: ParNew, ConcurrentMarkSweep
Memory: 1981M
Cores: 8
Registry: run.processes.with.pty=TRUE
Non-Bundled Plugins: com.github.shiraji.yaemoji, de.espend.idea.php.toolbox, de.espend.idea.php.annotation, fr.adrienbrault.idea.symfony2plugin

These are the screenshots

I'm not quite sure if it works with Windows. I don't have Windows machine.
Do you have more information like stacktrace, error message, etc?

There is few issue from me. (PhpStorm 2019.3.1, Windows 10)

It's not working inside php docblock ( It's like comment but start with two star, /** )

/**
 * :sm
 */

Emojis, they are not colored images, they are like coming from my font.
And I think your emojis are outdated or different, because there is no  :smile: emoji.

Could you insert emoji in your editor without this plugin?
I observed that behavior if OS and/or IDE does not support showing emojis.

WebStorm 2020.1.1 on MacOS 10.15 has the same issue. Whenever you type colon it throws an error here:

Details

kotlin.UninitializedPropertyAccessException: lateinit property emojiList has not been initialized
	at com.github.shiraji.yaemoji.domain.EmojiDataManager.getEmojiList(EmojiDataManager.kt:4)
	at com.github.shiraji.yaemoji.domain.EmojiCompletionProvider.addCompletions(EmojiCompletionProvider.kt:20)
	at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:26)
	at com.github.shiraji.yaemoji.contributor.EmojiCompletionContributor.fillCompletionVariants(EmojiCompletionContributor.kt:35)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76)
	at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:154)
	at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:146)
	at com.intellij.codeInsight.completion.CompletionResultSet.runRemainingContributors(CompletionResultSet.java:142)
	at com.intellij.codeInsight.template.impl.LiveTemplateCompletionContributor$1.addCompletions(LiveTemplateCompletionContributor.java:86)
	at com.intellij.codeInsight.completion.CompletionProvider.addCompletionVariants(CompletionProvider.java:26)
	at com.intellij.codeInsight.completion.CompletionContributor.fillCompletionVariants(CompletionContributor.java:154)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:76)
	at com.intellij.codeInsight.completion.CompletionService.getVariantsFromContributors(CompletionService.java:59)
	at com.intellij.codeInsight.completion.CompletionService.performCompletion(CompletionService.java:132)
	at com.intellij.codeInsight.completion.BaseCompletionService.performCompletion(BaseCompletionService.kt:30)
	at com.intellij.codeInsight.completion.CompletionProgressIndicator.calculateItems(CompletionProgressIndicator.java:834)
	at com.intellij.codeInsight.completion.CompletionProgressIndicator.runContributors(CompletionProgressIndicator.java:819)
	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$null$6(CodeCompletionHandlerBase.java:332)
	at com.intellij.codeInsight.completion.AsyncCompletion.lambda$tryReadOrCancel$5(CompletionThreading.java:172)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1106)
	at com.intellij.codeInsight.completion.AsyncCompletion.tryReadOrCancel(CompletionThreading.java:170)
	at com.intellij.codeInsight.completion.CodeCompletionHandlerBase.lambda$startContributorThread$7(CodeCompletionHandlerBase.java:324)
	at com.intellij.codeInsight.completion.AsyncCompletion.lambda$null$0(CompletionThreading.java:95)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:166)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:627)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:572)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:61)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:153)
	at com.intellij.codeInsight.completion.AsyncCompletion.lambda$startThread$1(CompletionThreading.java:91)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
	at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
	at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:255)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)

@BitForger Thanks for the info. I think that's another issue. Let me check.

@BitForger I couldn't reproduce this issue at WebStorm 2020.1.1 on MacOS 10.15.4.
The problem may happen if the initialization failed or the memory released. Let me implement re-initialization step if there are no memory.


Docker: Move apt-get commands to earlier and add apt-get update

before the install.
apt-get commands part is more stable than the installer part, which including build
steps,this may could fasten the docker image build process when there are only
installers changed.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.HuXiaowei seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Good point!
Actually installers/pre_install.sh did this part. Could you move the content out and remove the pre_install.sh.
Or the other way, move the commands into pre_install.sh and run it first:
COPY installers/pre_install.sh /tmp/installers/pre_install.sh
RUN bash /tmp/installers/pre_install.sh

COPY installers /tmp/installers
...

Thanks for your review, I didn't notice the pre_install.sh , I will make  another patch to move out the pre_install.sh content out and merge with the apt-get commands, this looks like more readable.

I pushed again to the same branch , please review. thanks.

Excellent, thanks!


add comments to endpoint slice and remove additional loop

Please provide a description of this PR:

Yes. That is correct.  It should return similar services
On Thu, 5 Dec 2024, 02:06 John Howard, @.***> wrote:

@.**** commented on this pull request.
In pilot/pkg/serviceregistry/kube/controller/endpointslice.go
https://github.com/istio/istio/pull/54173#discussion_r1870247759:

  for _, p := range modelSvc.Ports {

  	if !p.Protocol.IsHTTP() {

		pureHTTP = false

		supportsOnlyHTTP = false

isn't this changing the behavior?
Before: check for all services to decide pureHTTP
After: we update pureHTTP for each service, but check it after each one
I guess maybe its not likely to be a big change since
servicesForNamespacedName should return similar services?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/54173#pullrequestreview-2479851062,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDINKFAPZPVS7GXSFRTYM32D5RWTAVCNFSM6AAAAABS764XACVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDINZZHA2TCMBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

@howardjohn any concerns with this? Should I revert the old loop?

@howardjohn can you PTAL when you get chance?


[Feat] Add error message when build fails to resolve global styles/scripts paths

Please provide us with the following information:

OS?  Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Windows 10
Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
angular-cli: 1.0.0-beta.11-webpack.8
node: 6.5.0
os: win32 x64
Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
updated from 1.0.0-beta.11-webpack.2
The log given by the failure. Normally this include a stack trace and some
more information.
Mention any other details that might be useful.

Currently there is no feedback when build fails to resolve files included in apps[0].scripts and styles, which makes it difficult to troubleshoot, see #2035

Thanks! We'll be in touch soon.

@aszechlicki Is this still a problem for you ?  Did you resolve the issue in the meantime ?

Closing as abandoned.


[rom_ctrl, dv] Fix for rom_ctrl_kmac_err_chk regression failure

Fatal alert is not triggered unless error response is signalled from
Kmac. Kmac signals an error only after kmac_data_o.last is asserted.
Last is asserted after all the address spaces in the rom is read and
sent to KMAC. Ths depends on the delay between ready-valid handshake.
Therefore, delay to expect the alert has been increased to ensure that
we wait till last has been asserted.
Signed-off-by: Prajwala Puttappa<EMAIL_ADDRESS>

Could you add a note to the commit message explaining why this is needed? Presumably, something takes longer than we expected?

Updated the commit message.


Make AsyncStorage types match the implementations

The getAllKeys callback type was completely missing the return value, and all of the callbacks are optional. This just fixes the types to match what the implementations are doing.

Thanks!


Use target-based cmake settings

Update minimum required to CMake version 3.5 (versions older than 3.5 are deprecated as of 3.27)
update add_definitions to target_compile_definitions
use target_include_directories for public library includes

Thanks! I'm not an expert in CMake, but if experts say that this is the right way to do it, I'm inclined to believe 😄
Can you clarify why the Jansson::jansson alias is needed?


run on windows

Describe what happened:
how to run on windows
Describe what you expected:
I am waiting to run python codes in go project via windows 10.
Steps to reproduce the issue:
I can't compile on windows 10. What are package dependencies?

@umutozgur I've posted a simple windows example for go-python3 some time ago here. Does this help?
(If you're looking for automation, some parts of it are also in this github actions demo. It's using Python3 directly from Go, without go-python3, but might be useful for how to run the Python installer unattended, etc).

i solved problem.
install anaconda
create env with conda on command-line
env activate on command-line
conda install tesserocr


Groq API in PrivateGPT

Hello
I am a beginner-level user of PrivateGPT and set it for 'local' with LLM as mistral-7b-instruct-v0.2.Q4_K_M.gguf.
Please advise me how to add Groq (OpenAI compatible LLM service - https://console.groq.com/docs/quickstart) in PrivateGPT. I already have API key and other ID for Groq. Should I follow the included azopenai as model?
Regards

Thanks Ken :)

any updates guys?

yes i was able to integrate it with fireworks hoping it'll be similar to groq

any updates guys?

https://github.com/zylon-ai/private-gpt/pull/2089
check this out added fireworks integration


unity使用 WXAssetBundle.GetAssetBundle(url)加载本地ab包的时候报错

[PLUGIN ERROR 11:34.04.052]  URL不合法:  wxfile://usr/Res/Res
(in promise) MiniProgramError
Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
Error: Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.
at Error (weapp-adapter.js:1326:39)
at  (wxe5a48f1ed5f544b7/plugin.js:77:150173)
at L (wxe5a48f1ed5f544b7/plugin.js:74:4386)
at  (wxe5a48f1ed5f544b7/plugin.js:74:4171)
at  (wxe5a48f1ed5f544b7/plugin.js:77:147547)
at D (WAGameSubContext.js:1:72360)
at si (wxe5a48f1ed5f544b7/plugin.js:77:147307)
at _JS_WebRequest_Send (game.js:180:67849)
at  (native code)
at invoke_iii (game.js:195:247561)
at  (native code)
at invoke_iiii (game.js:195:248083)
at  (native code)
at invoke_iiii (game.js:195:248083)
at  (native code)
at call (native code)
at browserIterationFunc (game.js:195:48020)
at callUserCallback (game.js:195:517)
at runIter (game.js:195:1826)
at Browser_mainLoop_runner (game.js:193:53)
at vCallback (unity-sdk/fix.js:72:17)
at  (WAGameSubContext.js:1:213286)

如仍有问题，请联系客服助手解决：
https://wechat-miniprogram.github.io/minigame-unity-webgl-transform/Design/IssueAndContact.html#小游戏客服助手


Trying to change the default key binding

Hi, I'm trying to change the default key binding of send current line/selection from ctrl+enter to alt+enter in the package R-box. Could you please offer an example? I tried the following but it didn't work. Thanks!
"keys": ["alt+enter"], "command": "send_repl",
"args": {"prog": "rstudio"},
"context": [
    {
        "key": "selector",
        "operator": "equal",
        "operand": "source.r"
    }
]

It looks right.
{
    "keys": ["super+shift+e"], "command": "send_repl",
    "args": {"prog": "rstudio"},
    "context": [
        { "key": "selector", "operator": "equal", "operand": "source.r" }
    ]
}

@randy3k After adding this to settings, nothing happens in RStudio when I press alt+enter. Do I need to modify anything else?

Did you put the keybind in the correct file? You should put it in the file Default (xxx).sublime-keymap (xxx = your platform).

@randy3k Got it. Thanks!


Possible certificate issue with machine-api-provider-nutanix

Environment:
Prism Central 2<IP_ADDRESS>
AOS <IP_ADDRESS>
OpenShift 4.11.0-rc.6
I'm able to provision an OpenShift cluster only if I mark the masters as schedulable. If the masters are not  schedulable the install process fails because the worker VMs are never created. The issue seems to be with the machine api controller. My Prism Central and Prism Element instances are both using certificates that were issued by my CA. I've added my CA certificate to the install-config.yaml in the additionalTrustBundle section but the machine-api-controllers pod is still showing errors like this:
E0804 13:18:31.658277       1 controller.go:289] ocp-sb6wr-worker-x4msc: failed to check if machine exists: Error when finding VM by name ocp-sb6wr-worker-x4msc. error: Post "https://prism.tonyjames.lab:9440/api/nutanix/v3/vms/list": x509: certificate signed by unknown authority

I just tested with the GA bits for OpenShift 4.11.0 and the issue is still present.

@tonyjames Thanks for creating the issue. In the case of a Prism cluster with self-signed certificates, you need to modify the proxy spec in the cluster proxy manifest to specify the user-provided CA bundle is a trusted CA.
in manifests/cluster-proxy-01-config.yaml
apiVersion: config.openshift.io/v1
kind: Proxy
metadata:
  creationTimestamp: null
  name: cluster
spec:
  trustedCA:
    name: "user-ca-bundle"

Thanks @thunderboltsid, that seems to have resolved the issue. Would it be possible to have this step added to the documentation for installing OpenShift 4.11 on Nutanix? I don't recall having to manually update the cluster-proxy manifest for other IPI deployment targets.

Thanks @thunderboltsid, that seems to have resolved the issue. Would it be possible to have this step added to the documentation for installing OpenShift 4.11 on Nutanix? I don't recall having to manually update the cluster-proxy manifest for other IPI deployment targets.

Looking at the other providers, it seems the other providers are basically taking the cert from the configmap and tacking it on to the tls trust bundle. We can also do the same for Nutanix MAPI provider; that way modifying the cluster proxy won't be needed.

@vnephologist in the meanwhile, let's make sure our documentation reflects the extra step of modifying the cluster proxy in the case of self-signed certs.

One point, I'm not using self-signed certificates. I run my own CA and simply adding the CA certificate to the additionalTrustBundle was not enough for a successful IPI install.

@tonyjames I’ll update the doc at OpenDocs.Nutanix.com (unless you beat me to it) but just to clarify, your root CA is not signed itself by a known public trusted authority, correct?

That is correct. I guess "technically" that makes it a self-signed CA :)

Updated doc here: https://opendocs.nutanix.com/openshift/install/ipi/

I've been scratching my head for a while with this until I saw that despite having the internal CA in the install-config.yaml, it was also required in the proxy file even if a proxy is not used. Any plan for automatically updating the manifests/cluster-proxy-01-config.yaml if additionalTrustBundle exists in install-config.yaml?

Update, even including the cert info in proxy file, it's still failing.
NAME                                       VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
authentication                             4.11.3    False       False         True       45m     OAuthServerServiceEndpointAccessibleControllerAvailable: Get "https://<IP_ADDRESS>:443/healthz": dial tcp <IP_ADDRESS>:443: i/o timeout (Client.Timeout exceeded while awaiting headers)...
baremetal                                  4.11.3    True        False         False      44m
cloud-controller-manager                   4.11.3    True        False         False      46m
cloud-credential                           4.11.3    True        False         False      43m
cluster-autoscaler                         4.11.3    True        False         False      44m
config-operator                            4.11.3    True        False         False      45m
console                                    4.11.3    False       False         True       28m     RouteHealthAvailable: console route is not admitted
csi-snapshot-controller                    4.11.3    True        False         False      44m
dns                                        4.11.3    True        False         False      44m
etcd                                       4.11.3    True        False         False      43m
image-registry                             4.11.3    True        False         False      32m
ingress                                              False       True          True       44m     The "default" ingress controller reports Available=False: IngressControllerUnavailable: One or more status conditions indicate unavailable: DeploymentAvailable=False (DeploymentUnavailable: The deployment has Available status condition set to False (reason: MinimumReplicasUnavailable) with message: Deployment does not have minimum availability.)
insights                                   4.11.3    True        False         False      30m
kube-apiserver                             4.11.3    True        False         False      40m
kube-controller-manager                    4.11.3    True        False         False      42m
kube-scheduler                             4.11.3    True        False         False      41m
kube-storage-version-migrator              4.11.3    True        False         False      45m
machine-api                                4.11.3    True        False         False      41m
machine-approver                           4.11.3    True        False         False      44m
machine-config                             4.11.3    True        False         False      43m
marketplace                                4.11.3    True        False         False      44m
monitoring                                           False       True          True       30m     Rollout of the monitoring stack failed and is degraded. Please investigate the degraded status error.
network                                    4.11.3    True        True          False      45m     Deployment "/openshift-network-diagnostics/network-check-source" is waiting for other operators to become ready
node-tuning                                4.11.3    True        False         False      44m
openshift-apiserver                        4.11.3    True        False         False      33m
openshift-controller-manager               4.11.3    True        False         False      40m
openshift-samples                          4.11.3    True        False         False      35m
operator-lifecycle-manager                 4.11.3    True        False         False      44m
operator-lifecycle-manager-catalog         4.11.3    True        False         False      44m
operator-lifecycle-manager-packageserver   4.11.3    True        False         False      36m
service-ca                                 4.11.3    True        False         False      45m
storage                                    4.11.3    True        False         False      45m

@pipoe2h if you look at the logs for the machine-api-controllers pod do you still see the same x509 errors?

@tonyjames no, it's not a certificate issue. I've made progress, downgrading to 4.11.1 or 4.11.2 works. It seems to be a regression issue with 4.11.3 (stable), I'm going to try with 4.11.4 & 4.11.5 to see if the issue persists.

@thunderboltsid are you aware of any changes between the above releases?

Interesting, no changes in cert handling on our side; taking a look.

Apologies all, false alarm, 4.11.3 also works. Found the issue from my side. It was related to the machineNetwork value in the install-config.yaml. My understanding was that the value should match the actual subnet where virtual machines are deployed, and that's not the case. If my understanding was right, should we add any additional detail to mention that also this network must not overlap with the AHV subnet for virtual machines?

In OCP 4.12, the installer adds the below new field to the install-config.yaml.
additionalTrustBundlePolicy:
description: 'AdditionalTrustBundlePolicy determines when to add the AdditionalTrustBundle
to the nodes'' trusted certificate store. "Proxyonly" is the default.
The field can be set to following specified values. "Proxyonly" : adds
the AdditionalTrustBundle to nodes when http/https proxy is configured.
"Always" : always adds AdditionalTrustBundle.'
When the PC credentials is self-signed, users need to add the below two fields to the install-config.yaml file:
additionalTrustBundle:
additionalTrustBundlePolicy: "Always"
Then the 4.12 installer will generate the manifests/user-ca-bundle-config.yaml with the  data, and also will generate the manifests/cluster-proxy-01-config.yaml as below.
apiVersion: config.openshift.io/v1
kind: Proxy
metadata:
creationTimestamp: null
name: cluster
spec:
trustedCA:
name: user-ca-bundle
status: {}
Since "additionalTrustBundlePolicy" is the new field of InstallConfig, I think OpenShift team will document on how to use it and what use cases it is used in the OCP 4.12 document. The use cases include the self-signed certificate issue we discuss here.

@thunderboltsid @vnephologist @pipoe2h @tonyjames

We will work towards supporting user provided certs natively in Nutanix machine API provider.

/remove-lifecycle rotten

/remove-lifecycle stale


Analyze-local-image install not working

MaoOs: 10.11.16
Looks like some issues on install after latest commit
I get this error on trying to install:
go get -u github.com/coreos/clair/contrib/analyze-local-images
go get -u github.com/coreos/clair/contrib/analyze-local-images
github.com/coreos/clair/contrib/analyze-local-images
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:157: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:158: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:185: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:186: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:187: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:190: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:192: undefined: layerIDs
../../../.go/src/github.com/coreos/clair/contrib/analyze-local-images/main.go:201: undefined: layerIDs

Hi,
I intended to test Clair today and I have the exact same issue as Anoopl.