text:
@types/ramda failing under 5.4

The types package is currently failing in our nightly run:
Error in ramda
Error:
/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/allPass-tests.ts
  15:5  error  TypeScript@5.4 expected type to be:
  (x: number) => boolean
got:
  (a: number) => boolean  @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/anyPass-tests.ts
  15:5  error  TypeScript@5.4 expected type to be:
  (x: number) => boolean
got:
  (a: number) => boolean  @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/assoc-tests.ts
  86:20  error  TypeScript@5.4 compile error:
This expression is not callable.
  Type 'Record<string, unknown>' has no call signatures                                                                                @definitelytyped/expect
  86:30  error  TypeScript@5.4 compile error:
No overload matches this call.
  Overload 1 of 9, '(...func: [fnLast: (a: any) => Record<string, unknown>, ...func: ((a: any) => any)[], f7: (a: unknown) => unknown, f6: (a: unknown) => unknown, f5: (a: unknown) => unknown, f4: (a: unknown) => unknown, f3: (a: unknown) => unknown, f2: (a: unknown) => unknown, f1: (...args: any[]) => unknown]): (...args: any[]) => Record<string, unknown>', gave the following error.
    Argument of type '{ <K extends string>(prop: K): { <T>(val: T): { <U extends Record<K, T>>(obj: U): U; <U extends Record<K, any>>(obj: U): Record<K, T> & Omit<U, K>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends ...' is not assignable to parameter of type '(a: any) => Record<string, unknown>'.
      Type '{ <T>(val: T): { <U extends Record<any, T>>(obj: U): U; <U extends Record<any, any>>(obj: U): Record<any, T> & Omit<U, any>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends Record<...>>(val: T, ob...' is not assignable to type 'Record<string, unknown>'.
        Index signature for type 'string' is missing in type '{ <T>(val: T): { <U extends Record<any, T>>(obj: U): U; <U extends Record<any, any>>(obj: U): Record<any, T> & Omit<U, any>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends Record<...>>(val: T, ob...'.
  Overload 2 of 9, '(f2: (a: string) => Record<string, unknown>, f1: (val: unknown) => string): (val: unknown) => Record<string, unknown>', gave the following error.
    Argument of type '{ <K extends string>(prop: K): { <T>(val: T): { <U extends Record<K, T>>(obj: U): U; <U extends Record<K, any>>(obj: U): Record<K, T> & Omit<U, K>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends ...' is not assignable to parameter of type '(a: string) => Record<string, unknown>'.
      Type '{ <T>(val: T): { <U extends Record<any, T>>(obj: U): U; <U extends Record<any, any>>(obj: U): Record<any, T> & Omit<U, any>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends Record<...>>(val: T, ob...' is not assignable to type 'Record<string, unknown>'  @definitelytyped/expect
  87:20  error  TypeScript@5.4 compile error:
This expression is not callable.
  Type 'Record<string, unknown>' has no call signatures                                                                                @definitelytyped/expect
  87:30  error  TypeScript@5.4 compile error:
No overload matches this call.
  Overload 1 of 9, '(...func: [fnLast: (a: any) => Record<string, unknown>, ...func: ((a: any) => any)[], f7: (a: unknown) => unknown, f6: (a: unknown) => unknown, f5: (a: unknown) => unknown, f4: (a: unknown) => unknown, f3: (a: unknown) => unknown, f2: (a: unknown) => unknown, f1: (...args: any[]) => unknown]): (...args: any[]) => Record<string, unknown>', gave the following error.
    Argument of type '{ <K extends string>(prop: K): { <T>(val: T): { <U extends Record<K, T>>(obj: U): U; <U extends Record<K, any>>(obj: U): Record<K, T> & Omit<U, K>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends ...' is not assignable to parameter of type '(a: any) => Record<string, unknown>'.
  Overload 2 of 9, '(f2: (a: string) => Record<string, unknown>, f1: (val: unknown) => string): (val: unknown) => Record<string, unknown>', gave the following error.
    Argument of type '{ <K extends string>(prop: K): { <T>(val: T): { <U extends Record<K, T>>(obj: U): U; <U extends Record<K, any>>(obj: U): Record<K, T> & Omit<U, K>; <U>(obj: U): U & Record<...>; }; <U extends Record<...>>(__: Placeholder, obj: U): { ...; }; <U>(__: Placeholder, obj: U): <T>(val: T) => U & Record<...>; <T, U extends ...' is not assignable to parameter of type '(a: string) => Record<string, unknown>'                                                                                @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/complement-tests.ts
  24:5  error  TypeScript@5.4 expected type to be:
  (value: any) => value is any
got:
  <T>(value: T) => value is Exclude<T, (null | undefined) & T>  @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/filter-tests.ts
  38:14  error  TypeScript@5.4 compile error:
No overload matches this call.
  Overload 1 of 5, '(pred: (val: { type: string; }) => val is { type: string; }, list: readonly { type: string; }[]): { type: string; }[]', gave the following error.
    Argument of type '<U extends Partial<Record<"type", any>>>(obj: Required<U> extends Record<"type", any> ? string extends WidenLiterals<U["type"]> ? U : never : never) => boolean' is not assignable to parameter of type '(val: { type: string; }) => val is { type: string; }'.
      Signature '(obj: { type: string; }): boolean' must be a type predicate.
  Overload 2 of 5, '(pred: (val: unknown) => val is unknown, dict: Record<string, unknown>): Record<string, unknown>', gave the following error.
    Argument of type '<U extends Partial<Record<"type", any>>>(obj: Required<U> extends Record<"type", any> ? string extends WidenLiterals<U["type"]> ? U : never : never) => boolean' is not assignable to parameter of type '(val: unknown) => val is unknown'.
      Types of parameters 'obj' and 'val' are incompatible.
        Type 'unknown' is not assignable to type 'Partial<Record<"type", any>>'.
  Overload 3 of 5, '(pred: (value: unknown) => boolean, collection: { type: string; }[]): { type: string; }[]', gave the following error.
    Argument of type '<U extends Partial<Record<"type", any>>>(obj: Required<U> extends Record<"type", any> ? string extends WidenLiterals<U["type"]> ? U : never : never) => boolean' is not assignable to parameter of type '(value: unknown) => boolean'.
      Types of parameters 'obj' and 'value' are incompatible.
        Type 'unknown' is not assignable to type 'Partial<Record<"type", any>>'  @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/pick-tests.ts
  23:11  error  TypeScript@5.4 compile error:
Type 'Pick<string[], number>' is missing the following properties from type '{ 1: string; 2: string; }': 1, 2           @definitelytyped/expect
  24:11  error  TypeScript@5.4 compile error:
Type 'Pick<["a", "b", "c", "d"], number>' is missing the following properties from type '{ 1: "b"; 2: "c"; }': 1, 2     @definitelytyped/expect
  25:11  error  TypeScript@5.4 compile error:
Property '0' is missing in type 'Pick<[string, string, string, string], number>' but required in type '{ 0: string; }'  @definitelytyped/expect
  26:11  error  TypeScript@5.4 compile error:
Property '0' is missing in type 'Pick<["a", "b", "c", "d"], number>' but required in type '{ 0: "a"; }'                 @definitelytyped/expect
  33:5   error  TypeScript@5.4 compile error:
Unused '@ts-expect-error' directive                                                                                @definitelytyped/expect

/home/runner/work/DefinitelyTyped/DefinitelyTyped/types/ramda/test/propEq-tests.ts
  14:11  error  TypeScript@5.4 compile error:
Type '<U extends Partial<Record<5, any>>>(obj: Required<U> extends Record<5, any> ? string extends WidenLiterals<U[5]> ? U : never : never) => boolean' is not assignable to type '(obj: Record<number, string>) => boolean'.
  Types of parameters 'obj' and 'obj' are incompatible.
    Type 'Record<number, string>' is not assignable to type 'never'  @definitelytyped/expect
  43:5   error  TypeScript@5.4 compile error:
Unused '@ts-expect-error' directive                                                                                @definitelytyped/expect

✖ 15 problems (15 errors, 0 warnings)

Since the package is not on DT, I'm assuming many of the fixes need to happen here, unless some of these are intentional and should be updated. I haven't seen any specific PRs or issues related to these failures, but happy to be wrong and dedupe this elsewhere.
(The function parameter name thing is an easy fix, but the rest... no clue.)

Just noticed https://github.com/DefinitelyTyped/DefinitelyTyped/pull/68695, oops!

@jakebailey just pushed fixes to https://github.com/DefinitelyTyped/DefinitelyTyped/pull/68695

Thank you!

authors: Harris-Miller jakebailey

repo: ramda/types


text:
Mount point input field is not available while defining the volume claim template

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Bring up Rancher master-head
Go to the statefulset form view creation.
Select the Volume Claim Templates,  there is no input field for entering the Mount point.

Expected Result:
The below fields should be available to enter the mount point.

Verified with master-head 3dae3e2
Validation - Pass

source: gharchive/issue

repo: rancher/dashboard

license_type: permissive

license_source: github-api


text:
Can not import a generic cluster, can not edit generic cluster

Try and import a generic cluster, press save, gets stuck.
Console log shows:

You also get this if you try to edit a cluster brought in this way.
Looking at the code, 'driverSave' is an action not a method, so I think we should be using the 'send' method.

@nwmac, I don't see a PR on this ticket, was it set to To Test by accident?

The PR is here: https://github.com/rancher/ui/pull/4974

@jameson-mcghee

Import a generic cluster with a kubernetes version <1.25
'Edit config' of the generic cluster
Change the kubernetes version to 1.25
Hit save
A dialog appears; hit proceed

Expected Result: The user is redirected back to the cluster management cluster list view, and the edited cluster enters the 'upgrading' state.

During testing on v2.7-head (Commit ID: a841a9e), I was able to verify that the user is able to successfully import a generic cluster and then update the imported generic cluster from Kubernetes v1.24.11+rke2r1 to v1.25.7+rke2r1 without issue when following the Steps to Reproduce. Therefore I am closing this ticket.
Steps to Reproduce:

Import a generic cluster with a Kubernetes version v1.24.11+rke2r1
'Edit config' of the generic cluster
Change the Kubernetes version to v1.25.7+rke2r1
Hit save
A dialog appears; hit proceed
The user is redirected back to the cluster management cluster list view, the edited cluster enters the 'upgrading' state, and then becomes Active again without issue

v2.7-head (Commit ID: a841a9e)

authors: jameson-mcghee mantis-toboggan-md nwmac


text:
Not able to see the apps in the rancher ui

Internal reference: SURE-6972
Reported in 2.7.5
In one environment, users are no longer able to see the installed apps in the rancher ui. Users are able to see the installed apps using a kubectl command so the guess is that this is a UI issue.
Notes:

In certain namespaces, Helm charts did not appear in the install apps section.
Initially, it was thought that this was a permissions issue but upon closer inspection, it was noticed in the logs that there were some cattle-cluster-agent errors.
Subsequent thinking was that maybe it was a corrupted helm chart, but there wasn't enough evidence to conclude this theory.
They have another issue where CPU and Memory consumption was running ramped.

Upgrade to 2.7.6 requested.

Confirmed, it's a 500 tunnel disconnect error. This needs to go to the helm team

As per jira issue, moving away from ui

authors: gaktive richard-cox


text:
An error occurred when daemonset modified Scaling and Upgrade Policy

Setup

Rancher version: v2.7.8
Rancher UI Extensions:
Browser type & version: chrome 117.0.5938.149

Describe the bug

An error occurred when daemonset modified Scaling and Upgrade Policy
To Reproduce

Navigate to daemonset and modify Scaling and Upgrade Policy to On Delete
Save

Result
Unable to save with error message：
DaemonSet.apps "demo" is invalid: spec.updateStrategy: Unsupported value: apps.DaemonSetUpdateStrategy{Type:"Delete", RollingUpdate:(*apps.RollingUpdateDaemonSet)(nil)}: supported values: "RollingUpdate", "OnDelete"

Expected Result

Screenshots

Additional context

Based on https://github.com/rancher/dashboard/blob/master/cypress/e2e/blueprints/nav/fake-cluster.ts, if the Daemonsets are browsable, we might be able to test this on an e2e. Possible automation-candidate

@yonasberhe23 @IsaSih @izaac added an e2e test for this issue https://github.com/rancher/dashboard/pull/10872. it's merged

Let's use the current provision capabilities. RKE2 clusters can be provisioned using AWS and Azure using the framework now. Keeping open.

Moving to done. E2E looks good.


text:
Update High-Level Descriptions for Each Install Topic

Give people more information about the use case each install satisfies.
For overview "checklists", drop the short descriptions.
Define difference between layer 4 and layer 7.
Single Node with external load balancer? Why would you do this? Ask Bill about why you’d configure it this way.

“Configure Load Balancer” pull it out into its own topic.

Single Node Layer-Balancer, call out that it’s layer 7.
-HA: provide more details about diagrams.
Get rid of this passage: “from port 80 TO (not or) port 443."

Closing. Related to #731

repo: rancher/docs


text:
k3os internal dqlite HA unstable "failed to create dqlite connection: no available dqlite leader server found"

Version (k3OS / kernel)

k3os version v0.10.0
5.0.0-43-generic #47~18.04.1 SMP Wed Apr 1 16:27:01 UTC 2020

Architecture

k3os x86_64

3x hosts:

k3os-1
k3os-2
k3os-3

General cloud-config:
hostname: "k3os-1.REDACTED"
k3os:
  data_sources:
  modules:
    - kvm
    - nvme
  sysctl:
    kernel.printk: 4 4 1 7
    kernel.kptr_restrict: 1
  network:
    interfaces:
      eth0:
         dhcp: true
  ntp_servers:
    - ntp.[REDACTED]
  dns_nameservers:
    - xx.xx.xx.xx
  # Rancher User PW
  password: "REDACTED"
  token: "REDACTED"
  labels:
    region: na-us-01
    prupose: testing
  k3s_args:
    - server
    - "-v=3"
    - "--cluster-init"

subsequent hosts are joined with "--server=https://k3os-1.k3s.[REDACTED]:6443"
Describe the bug
I've installed k3os multiple times using the internal HA db and each time have ended up with a corrupted install after deploying rancher.
Error from server: rpc error: code = Unknown desc = failed to create dqlite connection: no available dqlite leader server found
To Reproduce

Deploy 3x k3os hosts with --cluster-init on the first, joining the 2nd two to the first
Deploy rancher via helm

kubectl.exe create namespace cattle-system
kubectl -n cattle-system create secret generic tls-ca --from-file=cacerts.pem
kubectl -n cattle-system create secret generic tls-ca-additional --from-file=cacerts.pem
kubectl.exe -n cattle-system create secret tls tls-rancher-ingress --cert=rancher.k3s.[REDACTED] --key=ranch
er.k3s.[REDACTED]
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher.k3s.[REDACTED] --set ingress.tls.source=secret --set privateCA=true --set additionalTrustedCAs=true

Expected behavior

Rancher and k3s to stay stable

Actual behavior

Rancher starts and appears to deploy successfully
Unable to proceed, cluster becomes unstable (tried deploying syslog configs, or making any changes)
dqlight blows up i think.  See logs
Reboots of any hosts dont show failover successfully
All hosts eventually fall into this cannot connect to db state

k3os-2 [~]$ kubectl cluster-info

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Error from server: rpc error: code = Unknown desc = failed to create dqlite connection: no available dqlite leader server found

level=info msg="Starting k3s v1.17.4+k3s1 (3eee8ac3)"
level=info msg="Cluster bootstrap already complete"
level=info msg="Testing connection to peers [10.10.11.13:6443 10.10.11.11:6443 10.10.11.12:6443]"
level=info msg="Connection OK to peers [10.10.11.13:6443 10.10.11.11:6443 10.10.11.12:6443]"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"
level=error msg="failed to setup db: not an error"

Also receiving a lot of TLS errors (Not sure if they are related)
http: TLS handshake error from 10.10.11.12:60032: read tcp 10.10.11.13:6443->10.10.11.12:60032: read: connection reset by peer
http: TLS handshake error from 10.10.11.12:37580: EOF

Additional context
See log files:
putty-k3os-1.k3s.REDACTED.log
putty-k3os-2.k3s.REDACTED.log
putty-k3os-3.k3s.REDACTED.log

Looks like I'm having the same/similar issue.  I have a 3 node k3os cluster and have installed Rancher with Helm 3.  However, I'm using LetsEncrypt for my certificate.  I was able to get rancher up long enough to pull a certificate with cert-manager and was able to log in to the UI.  Very shortly after everything crashed.  After rebooting all of my nodes I'm able to access the cluster but the Rancher pods all fail to start.  Some of the errors I'm seeing seem DB related.
K3s Host
E0526 01:28:09.324679    2493 pod_workers.go:191] Error syncing pod 5c449ad0-eff1-4733-a9f8-eab5a4c47e14 ("rancher-66b5cfc7f5-mkq4p_cattle-system(5c449ad0-eff1-4733-a9f8-eab5a4c47e14)"), skipping: failed to "StartContainer" for "rancher" with CrashLoopBackOff: "back-off 5m0s restarting failed container=rancher pod=rancher-66b5cfc7f5-mkq4p_cattle-system(5c449ad0-eff1-4733-a9f8-eab5a4c47e14)"
time="2020-05-26T01:28:14.688340754Z" level=error msg="failed to record compact revision: database is locked"
E0526 01:30:39.121645    5199 pod_workers.go:191] Error syncing pod 66d84ddb-d7df-434c-befa-8aad17c32b2c ("cattle-cluster-agent-8497bbc7cc-dpw4j_cattle-system(66d84ddb-d7df-434c-befa-8aad17c32b2c)"), skipping: failed to "StartContainer" for "cluster-register" with CrashLoopBackOff: "back-off 5m0s restarting failed container=cluster-register pod=cattle-cluster-agent-8497bbc7cc-dpw4j_cattle-system(66d84ddb-d7df-434c-befa-8aad17c32b2c)"
time="2020-05-26T01:30:46.905084419Z" level=error msg="error in txn: database is locked"
E0526 01:30:46.905381    5199 status.go:71] apiserver received an error that is not an metav1.Status: &status.statusError{Code:2, Message:"database is locked", Details:[]*any.Any(nil), XXX_NoUnkeyedLiteral:struct {}{}, XXX_unrecognized:[]uint8(nil), XXX_sizecache:0}
E0526 01:30:46.905965    5199 autoregister_controller.go:194] v1.monitoring.coreos.com failed with : rpc error: code = Unknown desc = database is locked

Rancher Pod
E0526 01:38:22.729275       7 reflector.go:153] github.com/rancher/norman/controller/generic_controller.go:229: Failed to list *v3.ClusterTemplate: the server could not find the requested resource (get clustertemplates.meta.k8s.io)
E0526 01:38:22.731363       7 reflector.go:153] github.com/rancher/norman/controller/generic_controller.go:229: Failed to list *v3.CisBenchmarkVersion: the server could not find the requested resource (get cisbenchmarkversions.meta.k8s.io)
E0526 01:38:22.731887       7 reflector.go:153] github.com/rancher/norman/controller/generic_controller.go:229: Failed to list *v3.CatalogTemplate: the server could not find the requested resource (get catalogtemplates.meta.k8s.io)

How does this get assigned/noticed? I'd love to leverage this platform, but i need it to work 😬

Getting similar instability with a dqlite setup, with K3os as well as K3s on Ubuntu 18.04, both installed manually and with k3sup.  Getting varied results but cannot get a stable workaround.

On K3os, able to setup a cluster and install Rancher but it never deploys 3/3.

On Ubuntu, I get "database is locked" messages for cert-manager and Rancher, cannot get a working install

At one point I got Rancher working but it was prompting me for my password while I hadn't set it yet.

If I install Rancher on one K3s and/or K3os node, it works fine, but then I can't add more nodes.


text:
add log-level variable for addons

https://github.com/rancher/rancher/issues/10185

LGTM

source: gharchive/pull-request

repo: rancher/kubernetes-package


text:
Docker metrics on RancherOS

Hi,
Is it possible to enable docker metrics on RancherOS?
I'm trying to collect Docker metrics with Prometheus but I can't seem to get it working on RancherOS. I think the main issue is that RancherOS isn't letting me put Docker into experimental mode.
I've tried to do this two ways.
First attempt:
sudo ros config set rancher.docker.experimental true
sudo ros config set rancher.docker.metrics-addr 127.0.0.1:9323
sudo ros service restart docker

After that, I could see that the experimental and metrics-addr options were set in ros config:
> sudo ros config export
EXTRA_CMDLINE: /init
rancher:
  docker:
    experimental: true
    metrics-addr: 127.0.0.1:9323
    tls: true
  environment:
    EXTRA_CMDLINE: /init
  state:
    dev: LABEL=RANCHER_STATE
    wait: true

However, attempting to curl port 9323, either from a container on the same host or from another host, gave a "Connection refused" error.
Second attempt:
I created /etc/docker/daemon.json:
{
  "metrics-addr" : "127.0.0.1:9323",
  "experimental" : true
}

I then restarted Docker: sudo ros service restart docker.
That resulted in the following error for every Docker command:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.32/version: dial unix /var/run/docker.sock: connect: permission denied
RancherOS Version: (ros os version)
version v1.3.0 from os image rancher/os:v1.3.0
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
On Bytemark Cloud, installed to disk using these instructions: https://rancher.com/docs/os/v1.x/en/installation/running-rancheros/server/install-to-disk.

I've now also tried the following, with the same result as my first attempt above.
sudo ros config set rancher.docker.extra_args ["--experimental"]
sudo ros service restart docker

It seems that RancherOS simply doesn't allow docker to start properly with the experimental flag.
Does anyone know of a way to make this work? If not, is there a chance RancherOS could be updated to allow this flag?

Hi, I cannot reproduce this issue.
[rancher@ip-172-31-9-59 ~]$ sudo ros -v
version v1.3.0 from os image rancher/os:v1.3.0

[rancher@ip-172-31-9-59 ~]$ sudo ros config set rancher.docker.extra_args ["--experimental"]
[rancher@ip-172-31-9-59 ~]$ sudo ros service restart docker
INFO[0000] Project [os]: Restarting project
INFO[0000] [0/18] [docker]: Restarting
INFO[0001] [0/18] [docker]: Restarted
INFO[0001] Project [os]: Project restarted

[rancher@ip-172-31-9-59 ~]$ docker run -it --rm  alpine
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
ff3a5c916c92: Pull complete
Digest: sha256:7df6db5aa61ae9480f52f0b3a06a140ab98d427f86d8d5de0bedab9b8df6b1c0
Status: Downloaded newer image for alpine:latest
/ #

Hi @niusmallnan, thanks for checking it out. I've tried again and now the last part does work - I can put Docker into experimental mode using sudo ros config set rancher.docker.extra_args ["--experimental"]. However, I still cannot seem to get it to expose metrics, which was my original need.
I've tried setting metrics-addr and metrics_addr in ros config and also tried adding either of those to the extra_args for Docker. My ros config output now looks like this:
[rancher@monitor-01 ~]$ sudo ros config export
EXTRA_CMDLINE: /init
rancher:
  docker:
    experimental: true
    extra_args:
    - --experimental
    - --metrics-addr=127.0.0.1:9323
    metrics-addr: 127.0.0.1:9323
    metrics_addr: 127.0.0.1:9323
    tls: true
  environment:
    EXTRA_CMDLINE: /init
  state:
    dev: LABEL=RANCHER_STATE
    wait: true

With metrics-addr=127.0.0.1:9323, I should be able to curl <host_ip>:9323/metrics and get Docker metrics. I've tried curling localhost:9323/metrics and 172.17.0.1:9323/metrics from inside a running container (172.17.0.1 being the output of /sbin/ip route|awk '/default/ { print $3 }', as per https://stackoverflow.com/a/24716645).
Also, I can't work out how to remove items from config, hence I've now got  metrics-addr and metrics_addr both still set. If you can tell me how to remove old items from ros config, that would be appreciated too.

Hi, is there any update on the metrics-addr issue? Just an indication of whether it looks like a bug or a mistake by me would be a really helpful starting point.

@djbingham Here's the update on this issue.

Remove config from ros config
You can delete rancher.docker config in /var/lib/rancher/conf/cloud-config.yml and reboot it.
Enable Docker Metrics on RancherOS
I have tried on RancherOS v1.3.0 and Docker metrics works on RancherOS if you set these parameters in /etc/docker/daemon.json.

{
  "metrics-addr" : "127.0.0.1:9323",
  "experimental" : true
}

There's something wrong with docker documents in configure-and-run-prometheus.Please replace localhost with your RancherOS ip and restart your prometheus service.
Here's an example about this https://github.com/docker/docker.github.io/issues/6012
If you still have problem, please let me know.

@JacieChao Thank you very much for investigating this for me. Following your advice and link, I have got Docker metrics working now on RancherOS v1.3.0. The change I needed was to access metrics from inside a container via the IP address of the docker0 network, rather than eth0 or 127.0.0.1.

authors: JacieChao djbingham niusmallnan

repo: rancher/os


text:
Just reverting the part of #1364 that git bisect is pointing bones at

Signed-off-by: Sven Dowideit SvenDowideit@home.org.au
trying out to see if it solves #1533
hopefully it'll fail some integration test @joshwget

tried just 72f7f9a5723803c1f397fea96e28737ffd764174, it wasn't enough, trying the rest of that PR

this didn't work out, and @joshwget thinks he's getting somewhere, so closing.


text:
Cluster stuck in "Removing" state - "waiting on mgmt-cluster-rbac-remove"

Rancher server - Build from master
Steps to reproduce the problem:
Create a cluster with custom host having multiple nodes .All nodes in this cluster did not get to "active" sate.
I might have deleted few of the custom nodes in this cluster (outside of rancher server).
Tried to delete this cluster.
It gets stuck in "Removing" state forever.

@sangeethah with all the changes in the last bit, have you seen this?  if not, can we close?

This issue is not seen when testing with master builds.

authors: deniseschannon sangeethah

repo: rancher/rancher


text:
Rancher canal network provider has wrong MTU

Rancher: 2.0.2
Creating a cluster with Canal seems to leave the default MTU at 1500.
However, calico+flannel should have 1450 for the 50 bytes vxlan overhead, as documented in https://docs.projectcalico.org/v3.1/usage/configuration/mtu
Example container:
# ip -d link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: eth0@if7: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP mode DEFAULT
    link/ether 2e:88:0a:f0:64:ff brd ff:ff:ff:ff:ff:ff
    veth

This is a veth to the docker0 interface that has 1500 MTU, but it should respect the flannel.1 1450 host interface instead.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether fa:16:3e:4c:a6:72 brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:96:c3:98:89 brd ff:ff:ff:ff:ff:ff promiscuity 0
    bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q bridge_id 8000.2:42:96:c3:98:89 designated_root 8000.2:42:96:c3:98:89 root_port 0 root_path_cost 0 topology_change 0 topology_change_detected 0 hello_timer    0.00 tcn_timer    0.00 topology_change_timer    0.00 gc_timer  134.54 vlan_default_pvid 1 vlan_stats_enabled 0 group_fwd_mask 0 group_address 01:80:c2:00:00:00 mcast_snooping 1 mcast_router 1 mcast_query_use_ifaddr 0 mcast_querier 0 mcast_hash_elasticity 4 mcast_hash_max 512 mcast_last_member_count 2 mcast_startup_query_count 2 mcast_last_member_interval 100 mcast_membership_interval 26000 mcast_querier_interval 25500 mcast_query_interval 12500 mcast_query_response_interval 1000 mcast_startup_query_interval 3125 mcast_stats_enabled 0 mcast_igmp_version 2 mcast_mld_version 1 nf_call_iptables 0 nf_call_ip6tables 0 nf_call_arptables 0 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
4: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN mode DEFAULT group default
    link/ether 02:23:2e:e5:d3:a4 brd ff:ff:ff:ff:ff:ff promiscuity 0
    vxlan id 1 local 10.130.179.96 dev eth0 srcport 0 0 dstport 8472 nolearning ageing 300 noudpcsum noudp6zerocsumtx noudp6zerocsumrx addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
5: cali3f0ed62327c@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 0 promiscuity 0
    veth addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
6: calia2b582fff19@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 1 promiscuity 0
    veth addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
7: calid5d19988e17@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether ee:ee:ee:ee:ee:ee brd ff:ff:ff:ff:ff:ff link-netnsid 2 promiscuity 0
    veth addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535

Not having the correct MTU can cause intermittent tcp retransmission errors and poor performance.
The fix can be simply done in RKE canal config map template: https://github.com/rancher/rke/blob/master/templates/canal.go by adding "mtu": "1450" to the cni_network_conf plugins.
Ideally this should become a template variable that we define in Rancher type objects somewhere.

cc @galal-hussein

Currently, RKE does not support configuring MTU，which can be configured manually：

Edit configmaps through kubectl
kubectl edit configmaps -n kube-system canal-config

Add "mtu": "1450" under "type": "calico"

Delete the canal pod and let it be recreated

kubectl get pod -n kube-system |grep canal |awk '{print $1}' | xargs kubectl delete -n kube-system  pod

Create the application to view the MTU value

Currently, RKE does not support configuring MTU，which can be configured manually：

I tested this and after killing the Canal pods and waiting them to be recreated, looking at ifconfig the calico interfaces on the hosts still show MTU:1500. Only newly created deployments with calico interfaces use the new MTU of 1450. Any insight on this?

@krwrang yes, I tested that too, I forgot to mention it back on this ticket. It worked but we had to roll through all our nodes in the cluster, restarting them.
For us the issue was 2 sites, ipsec vpn, therefore we had to lower the mtu to make all packages pass. Before some http requests bigger than 450 bytes disappeared.

@krwrang
Sorry, the operation error has closed the issue, which has been reopened.  I tested it on v2.0.8 to v2.1.1.
Correct one of my mistakes , you don't need to add double quotes to 1450 , should be written as "mtu": 1450

My problem is MTU in 1450. The default 1500 is OK for me.
Terraform + RKE no set MTU then canal setup in 1450. I change in config map, as is https://github.com/rancher/rke/blob/master/templates/calico.go actually.

My problem is MTU in 1450. The default 1500 is OK for me but I run canal.
Terraform + RKE no set MTU then canal setup in 1450. I change in config map, as is https://github.com/rancher/rke/blob/master/templates/calico.go actually.

My config calico+flannel and I am not can change this. Then, finally I set eth0 in MTU 1550 for flannel.1. Automatically flannel mtu is 1500.
The main problem,  azure or openstack load balance, not talking correctly with origin mtu and target mtu (eth0+flannel.1)

Hey there, I tried the canal-config update by adding "mtu": 1450 as specified by @xiaoluhong and tried a node reboot : cali* interfaces still show 1500 mtu, and flannel a 1450 mtu. So I see no difference.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
8: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
13: calib099535858f@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
16: cali3b506582fdd@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
23: calibdd81c39377@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
[...]

@galal-hussein we need a way to pass the MTU setting from rkeconfig.yml.

Related: https://github.com/coreos/flannel/issues/1011
Just changing the MTU value in the configmap and recreating the flannel pods, doesn't reset the MTU on the flannel.1 interface.
The workaround is to change the mtu value of the primary network interface using ifcfg-* scripts.
Note: It's very important to have the same MTU (Lowest MTU value of all the nodes)  configured on ALL the nodes of the kubernetes cluster, otherwise there is a high possibility of running into some weird networking problems.

fwiw, I found I had to update the /etc/cni/net.d/calico-kubeconfig on the host node, add the 'mtu' attribute there, and reboot the machine in order to get the cali* interfaces to have a custom MTU.
As @sboulkour notes, simply adding it to the K8S ConfigMap for 'canal-config' didn't affect the cali* interfaces.

With the ability to configure MTU (https://github.com/rancher/rancher/issues/24096), this issue can be resolved by setting your own MTU.

I'm closing this issue as we have introduced the ability to set your own MTU as of v2.3.4. If this doesn't satisfy what is needed for your use case, please open a new issue.
MTU is specific to each person's environment, so there is no way for us to predict what the value should be on everyone's setup.

authors: alexandrem deniseschannon krishofmans krwrang leodotcloud loganhz pbaezab rossigee sboulkour xiaoluhong


text:
docker install gets stuck due to interactive prompt of libssl1.1:amd64

Create a linode instance running Ubuntu 18.04 LTS
Run: curl -sSL https://raw.githubusercontent.com/rancher/install-docker/master/18.09.6.sh | sh -
The installation stops due to the interactive prompt of libssl1.1:amd64

This causes a lot of problems during automation when using terraform/ansible.
Workaround:
export DEBIAN_FRONTEND=noninteractive

Looks like the workaround is being used in docker-machine: https://github.com/docker/machine/blob/7a9ce457496353549916e840874012a97e3d2782/libmachine/provision/debian.go#L63

Decided not to fix it, as an user can just set the environment variable before invoking this script.

Thanks for posting the workaround. This happened to me too, as the rancher quickstart repository doesn't have this flag and fails

thanks，解决了ansible卡住的问题
export DEBIAN_FRONTEND=noninteractive

authors: leodotcloud phillycheeze yyds-tang


text:
[Azure AKS] Incorrect hints in AKS cluster creation

In Azure AKS creation page, there are hints above ”resource group" as below:
"Use an existing resource group or enter a new resource group name and one will be created for you. Note: Using a resource group containing an existing AKS cluster will create a new resource group. Azure AKS only allows one AKS cluster per resource group."
This is incorrect. Tested with Azure China and you can create multiple AKS clusters in one resource group. Also searched in google and there isn't any information regarding this.  https://docs.microsoft.com/en-us/azure/aks/faq

Useful
Info

Versions
Rancher v2.3.0 UI: v2.3.15

Route
global-admin.clusters.new.launch

The message was added in https://github.com/rancher/rancher/issues/13395#issuecomment-394439794
Peng has created 3 aks clusters in one resource group.
So I guess Azure AKS only allows one AKS cluster per resource group is wrong now?

cc @deniseschannon

The information from Azure FAQ is as below：
“To enable this architecture, each AKS deployment spans two resource groups:
You create the first resource group. This group contains only the Kubernetes service resource. The AKS resource provider automatically creates the second resource group during deployment. An example of the second resource group is MC_myResourceGroup_myAKSCluster_eastus. For information on how to specify the name of this second resource group, see the next section.
The second resource group, known as the node resource group, contains all of the infrastructure resources associated with the cluster. These resources include the Kubernetes node VMs, virtual networking, and storage. By default, the node resource group has a name like MC_myResourceGroup_myAKSCluster_eastus. AKS automatically deletes the node resource whenever the cluster is deleted, so it should only be used for resources which share the cluster's lifecycle.”
Even you specify a resource group name, one additional resource group (node resource group)will be created. But you can create multiple aks clusters in one resource group (the first resource group holding the kubernetes resource) per my test.


text:
Rancher max version for logging V1

we should restrict the logging v1 chart to a maximum rancher version
only the latest version of logging v1 should be installable all older versions should be restricted.  We should also restrict all versions to less than 1.21

@paynejacob Couple of questions,
Can you confirm if the requirements in the original issue's description are fixed, since from the PR, i see only one of the three reqs is fixed.

restrict the logging v1 chart to a maximum rancher version
On 2.6-head/2.6.3, only the latest version of logging should be available to deploy
restrict all versions to less than 1.21 --> Is fixed in the linked PR.

Closing this as per this and an offline discussion


text:
rancher-compose doesn't replace environment variables on upgrade

When using rancher-compose (0.7.1) to recreate a stack, old values of environment variables are used:
rancher-compose rm --force
rancher-compose up --pull --recreate --force-recreate --confirm-upgrade -d

The only way to replace environment variables seems to delete the stack entirely in the UI, and rancher-compose does not provide a way to do that.

Can you share your old docker-compose.yml and your new one?

I think there is a misunderstanding. The docker-compose.yml and the rancher-compose.yml files are not changing. What is changing are the environment variables (answers to the questions in the rancher-compose.yml file).
So, for example, our rancher-compose.yml file contains:
.catalog:
  questions:
    - variable: "BATCH_SECRET_KEY"
      label: "Batch secret key"
      description: "Secret Key for the batch service"
      type: "password"
      required: true

The docker-compose.yml contains:
batch:
  environment:
    CATALINA_OPTS: -Dsecret.key=${BATCH_SECRET_KEY}
  image: example/batch:latest

You first do that:
$ export BATCH_SECRET_KEY=foo
$ rancher-compose up

Then you want to change the secret key:
$ export BATCH_SECRET_KEY=bar
$ rancher-compose rm --force
$ rancher-compose up --pull --recreate --force-recreate --confirm-upgrade -d

If you check the rancher web pages, you'll see that the BATCH_SECRET_KEY value remains at foo.

Following your steps, I have been unable to reproduce. Using v0.63.0 and rancher-compose v0.7.2.

I am unable to reproduce using v1.0.1 and rancher-compose v0.7.4.
@raphink @pvalsecc If you can reproduce this with the latest versions, please comment on this ticket.

Rancher 1.1.4, rancher-compose version v0.8.6
same here. The only similarity I can find is that we also use export xxx=yyyy to circumwent questions from rancher-compose

We did some tests and seems that lower case variables are not correctly updated (just a guess).

authors: deniseschannon pschrammel pvalsecc raphink


text:
[UI] - Search box - Select on Enter

Rancher 2.4.6 - UI
On the Search box

In this sample, when input "data", and press enter : Nothing happends
It would be great to add "data" to the filter on Enter press, cause one item match exactly :

And also clean the filter box to let user input another filter, and so on...

@gaktive transferring one more over to dashboard 😁

authors: rak-phillip sebastienroul


text:
[RFE] Add azureADProvider as supportedAuthProvider for rancher CLI

Is your feature request related to a problem? Please describe.
I have a customer that has just moved from AD to Azure AD and are unable to request tokens using the rancher CLI or kubectl.
Requesting that azureADProvider be added as a supportedAuthProvider to allow for the rancher CLI (and kubectl) to request a new token when an existing token has expired.
Describe the solution you'd like
Allow rancher CLI to pull a token using azureADProvider, similar to how we can currently do this with localProvider, activeDirectoryProvider, and other supported authentication providers when kubeconfig-generate-token is set to false.
Describe alternatives you've considered
Set kubeconfig-generate-token to true, however this would impact the security posture required by the customer, and is not acceptable for them.  Is there another way to pull tokens while authenticating to Azure AD?
Additional context
https://ranchermanager.docs.rancher.com/reference-guides/cli-with-rancher/kubectl-utility#authentication-with-kubectl-and-kubeconfig-tokens-with-ttl
https://github.com/rancher/cli/pull/336
(However, even though this builds, I doubt it will actually work based on the kubectl-utility documentation)

Please reopen this, because no support for azuread/AzureEntra:
If admins have kubeconfig token generation turned off, the kubeconfig file requires the Rancher CLI to be present in your PATH when you run kubectl. Otherwise, you’ll see an error like: Unable to connect to the server: getting credentials: exec: exec: "rancher": executable file not found in $PATH.
This feature enables kubectl to authenticate with the Rancher server and get a new kubeconfig token when required. The following auth providers are currently supported:
Local
Active Directory (LDAP only)
FreeIPA
OpenLDAP
SAML providers: Ping, Okta, ADFS, Keycloak, Shibboleth

Can we please open this?
We are also using Azure AD and would like to have the option of authentication via the CLI

Isnt this currently being worked on here:
https://github.com/rancher/cli/pull/346

https://github.com/rancher/rancher/issues/44282
https://github.com/rancher/rancher/issues/42939

authors: idogada-akamai jmmckenz log1cb0mb nickvth


text:
[Feature] K8s 1.28 Support

Placeholder issue for supporting K8s 1.28 in Rancher.

[x] rancher/client-go:

https://github.com/rancher/client-go/pull/7
TODO

[x] A new base branch needs to be created in rancher/client-go repo for release-1.28 using the upstream client go 0.28.6 tag, and then the base branch of this PR needs to be updated with the created branch.
[x] Remove WIP from title once the above point of TODO is completed

[x] rancher/lasso:

https://github.com/rancher/lasso/pull/56
https://github.com/rancher/lasso/pull/58

Add v1.28 support till January patches (0.28.6).
Bump controller runtime to 0.15.3

[x] rancher/wrangler:

https://github.com/rancher/wrangler/pull/347
https://github.com/rancher/wrangler/pull/358

Bump k8s dependencies to 0.28.6
Implement CustomResourceDefinitionInterface using mockgen
TODO

[x] Verify and update the base branch before merging.

[x] rancher/norman

https://github.com/rancher/norman/pull/466
https://github.com/rancher/norman/pull/470

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2

[x] rancher/apiserver

https://github.com/rancher/apiserver/pull/46
https://github.com/rancher/apiserver/pull/56

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2

[x] rancher/dynamiclistener

https://github.com/rancher/dynamiclistener/pull/87
https://github.com/rancher/dynamiclistener/pull/93

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2

[x] rancher/steve

https://github.com/rancher/steve/pull/140
https://github.com/rancher/steve/pull/150
https://github.com/rancher/steve/pull/157

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2

[x] rancher/machine

https://github.com/rancher/machine/pull/236

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2

[x] rancher/aks-operator

https://github.com/rancher/aks-operator/pull/368
https://github.com/rancher/aks-operator/pull/387
https://github.com/rancher/aks-operator/pull/404
https://github.com/rancher/aks-operator/pull/405

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2
go generate

[x] rancher/gke-operator

https://github.com/rancher/gke-operator/pull/296
https://github.com/rancher/gke-operator/pull/322

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2
go generate

[x] rancher/eks-operator

https://github.com/rancher/eks-operator/pull/332
https://github.com/rancher/eks-operator/pull/355
https://github.com/rancher/eks-operator/pull/367
https://github.com/rancher/eks-operator/pull/368

Bump k8s dependencies to 0.28.6
Update wrangler to wrangler/v2
go generate

[x] rancher/kubernetes

https://github.com/rancher/kubernetes/pull/124

Add support for k8s v1.28.6

[x] rancher/hyperkube

https://github.com/rancher/hyperkube/pull/340

Update K8s to v1.28.6 in makefile

[x] rancher/rke

https://github.com/rancher/rke/pull/3472
https://github.com/rancher/rke/pull/3507

[x] rancher/calico-cni

https://github.com/rancher/calico-cni/pull/9

Add calico v3.27.0

[x] rancher/image-mirror

https://github.com/rancher/image-mirror/pull/574
https://github.com/rancher/image-mirror/pull/563
https://github.com/rancher/image-mirror/pull/580

[x] rancher/ingress-nginx

https://github.com/rancher/ingress-nginx/pull/128
https://github.com/rancher/ingress-nginx/pull/129

[x] rancher/kontainer-driver-metadata

https://github.com/rancher/kontainer-driver-metadata/pull/1293
https://github.com/rancher/kontainer-driver-metadata/pull/1331

[x] rancher/provisioning

https://github.com/rancher/provisioning/pull/3
https://github.com/rancher/provisioning/pull/4

TODO QA Test: Test Rancher on hardened clusters with the minimum supported K8s version.

[x] rancher/charts:

https://github.com/rancher/charts/pull/3367

Blocker: rancher/provisioning

[x] rancher/helm:

https://github.com/rancher/helm/pull/43

[x] rancher/rancher:

https://github.com/rancher/rancher/pull/43652
https://github.com/rancher/rancher/pull/44542
https://github.com/rancher/rancher/pull/44586

Notes about breaking changes:

[x] We'll (most likely) need to bump CAPI to 1.5.x+ and will then be affected by https://github.com/rancher/rancher/issues/42333 that will need to be addressed.

TODO QA Test:

[ ] Test Rancher on hardened clusters with the minimum supported K8s version.

Tested a rancher installation on minimum k8s version with harden cluster (type: RKE1, RKE2 and K3S). Rancher installation works well.

Summary of K8s v1.28 support testing checklist.

:stopwatch:  =   Not started

:clock12:  =   In progress

:no_entry:  =   Blocked

:white_check_mark:  =  PASSED :white_check_mark:

:question: =  Have Question

Local cluster checks - :white_check_mark:

Docker Install - :white_check_mark:
Docker install and Upgrade - :white_check_mark:
HA install -  :white_check_mark:
Local Cluster HA Upgrade

RKE1 Validations

OS Certification -  :white_check_mark:
Hosted Clusters testing - :white_check_mark:

KDM Testing -

Fresh Install Checks -  :white_check_mark:
Upgrade checks -  :white_check_mark:
Canal + PNI enabled - :white_check_mark:
Downstream cluster ETCD Validation - :white_check_mark:  PASS
Downstream Control Plane Validation - :white_check_mark:  PASS

ETCD Validations -

Control plane Validations -

Local cluster RKE1 HA upgrade -   :white_check_mark:

Local cluster RKE2 HA upgrade -   :white_check_mark:

Local cluster K3s HA upgrade -   :white_check_mark:

RKE checks - :white_check_mark:

Rancher CLI checks - :white_check_mark:

RKE2 and K3s Checks -

Node Driver Cluster Provisioning -

Downstream RKE2 cluster provisioning - :white_check_mark:

Fresh install :white_check_mark:
Upgrade :white_check_mark:

Downstream k3s cluster provisioning -

Fresh install :white_check_mark:
Upgrade  :white_check_mark:

Windows RKE2 provisioning :white_check_mark:

RKE2 Amazon Cloud provider enabled checks. - :clock12:

Any other functional check for 1.27 - Service accounts - :white_check_mark:

RKE2 backup-restore is bocked by this issue :white_check_mark:

Airgap checks - :white_check_mark:

RKE1 cluster - custom clusters - :white_check_mark:
RKE2 clusters - custom clusters - :white_check_mark:
K3s clusters - custom clusters - :white_check_mark:

PSACT testing - :white_check_mark: (Markus)

Conformance Checks - CNCF Conformance tests for RKE Kubernetes cluster

Rancher -  :white_check_mark: PR Raised
RKE - :white_check_mark:  PR Merged

up

All the checks are passed, hence closing the issue.

authors: chiukapoor fernandomullerjr rishabhmsra snasovich vivek-shilimkar


text:
[BUG] [Windows] Rancher cli prints file permission warning on Windows

Rancher Server Setup

Rancher version: CLI version 2.8.0 and higher
Installation option (Docker install/Helm Chart): n/a

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): n/a

Proxy/Cert Details: n/a

Information about the Cluster

Kubernetes version: n/a
Cluster Type (Local/Downstream): n/a

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: n/a

Describe the bug
When running rancher-cli commands on Windows the following warning are printed
time="2024-08-12T05:56:20Z" level=warning msg="Rancher configuration file C:\\Users\\Administrator\\.rancher\\cli2.json is group-readable. This is insecure."
time="2024-08-12T05:56:20Z" level=warning msg="Rancher configuration file C:\\Users\\Administrator\\.rancher\\cli2.json is world-readable. This is insecure."

These warnings were introduced in https://github.com/rancher/cli/pull/341, which aimed to reduce the scope of permission set on the rancher-cli config file. Unfortunately, golang on Windows does not handle file permissions in the same way as it does on Linux. Go will only use the owner bit for all fields, resulting in 600 creating a 666 file. This fails the check added in 341 and results in warning messages. However, the ACLs for this file are limited and only the user who created the file, the Administrators group, and the system itself will have read write access to the config file. This ACL configuration is in line with how other Rancher components and non-rancher open source projects create files on Windows nodes.
To Reproduce
run rancher-cli login <SERVER> --token <TOKEN>, select a context, and then run rancher-cli ps
Result
The above mentioned warning logs are printed in the console
Expected Result
No warning logs
Screenshots

Additional context

Closed in favor of https://github.com/rancher/rancher/issues/46769


text:
[BUG] Rancher upgrade to v2.9.2 failed

Rancher Server Setup

Rancher version: 2.9.1
Installation option (Docker install/Helm Chart): Helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): v1.28.11+k3s2

Proxy/Cert Details: no Porxy / self signed cert

Information about the Cluster

Kubernetes version: K3S
Cluster Type (Local/Downstream): Local

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: Admin

Describe the bug
After upgrading to Rancher 2.9.2 the Rancher Deployment does not get the ready state.
To Reproduce

setup rancher v2.9.1
upgrade with helm to 2.9.2
check the logs of the rancher pod

Result
2024/09/23 10:54:36 [INFO] Applying CRD machines.cluster.x-k8s.io
2024/09/23 10:54:37 [INFO] Applying CRD machinesets.cluster.x-k8s.io
I0923 10:55:29.768788      39 trace.go:236] Trace[144597120]: "Reflector ListAndWatch" name:pkg/mod/k8s.io/client-go@v0.30.1/tools/cache/reflector.go:232 (23-Sep-2024 10:55:18.753) (total time: 11015ms):
Trace[144597120]: ---"Objects listed" error:<nil> 11014ms (10:55:29.768)
Trace[144597120]: [11.015040834s] [11.015040834s] END
2024/09/23 10:55:34 [WARNING] signal received: "terminated", canceling context...
I0923 10:55:34.767994      39 trace.go:236] Trace[439197406]: "Reflector ListAndWatch" name:pkg/mod/k8s.io/client-go@v0.30.1/tools/cache/reflector.go:232 (23-Sep-2024 10:55:18.754) (total time: 16013ms):
Trace[439197406]: [16.013349437s] [16.013349437s] END
2024/09/23 10:55:34 [ERROR] failed to start cluster controllers local: context canceled
2024/09/23 10:55:35 [INFO] Stopping cluster agent for local
2024/09/23 10:55:35 [INFO] Starting management.cattle.io/v3, Kind=User controller
2024/09/23 10:55:35 [FATAL] failed to wait for caches to sync
2024/09/23 10:55:35 [INFO] Starting management.cattle.io/v3, Kind=Cluster controller

Expected Result
Upgrading as usual without any error
Screenshots

After Rebooting the Node, everything worked great.-


text:
[backport dev-v2.8] rancher/mirrored-fluent-fluent-bit:2.2.0

Issue created for tracking the backport of https://github.com/rancherlabs/image-scanning/issues/2764 to v2.8

Will be fixed by https://github.com/rancher/rancher/issues/47323


text:
Missing action icons in "View in Api" pages.

Rancher Version:    v1.2.0-pre3-rc1
Missing action icons in "View in Api" pages when using "View in Api" action from any page.

pi

This is a build issue, as the image always appear in master version but not in production versions.

Fixed in https://github.com/rancher/api-ui/releases/tag/v1.1.0 which ships with 2.0 (and maybe current versions of 1.6)

authors: sangeethah tfiduccia vincent99


text:
using "esc" in container shell causes it to exit the shell.

Rancher Version:v1.2.0-pre4-rc3
Steps to reproduce the problem:
Launch a service.
Exec into the container using "Execute Shell" option.
User is taken to the containers shell.
Use "esc" button.
Notice that you exit the shell.

@westlywright new modals..

This will have two parts, the commit referenced above and this commit in lacsso rancher/lacsso@9810208c229e20779793c88064ebac3d9fc57e71

Version - master 10/19
Verified fixed

authors: sangeethah tfiduccia vincent99 westlywright


text:
Service names not resolving

Rancher Versions:
Server: 1.3.3
healthcheck:
ipsec:
network-services:
scheduler:
kubernetes (if applicable):
Docker Version:
1.12.6
OS and where are the hosts located? (cloud, bare metal, etc):
DigitalOcean cloud
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
internal DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
Connecting to database instance with a client like SQL Pro or Querious using database service name.
Results:
Connection is refused. Only way to connect is by using service IP.

Can you describe the steps to reproduce, what are you launching, service with one container or multiple, loadbalancer yes/no? From where are you connecting to where?
So I can understand the problem better.

Please comment or file a new issue if you are still experiencing issues.

authors: ihackalot superseb


text:
DNS Service does not randomize IP addresses

Rancher Versions:
Rancher	v1.4.1
Cattle	v0.176.9
User Interface	v1.4.6
Rancher CLI	v0.4.1
Rancher Compose	v0.12.2

Docker Version:
$ docker --version
Docker version 1.12.6, build 78d1802

OS and where are the hosts located? (cloud, bare metal, etc):
EC2
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
Single node rancher, external DB
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce & Results:
https://forums.rancher.com/t/dns-service-does-not-randomize-ip-addresses

https://github.com/rancher/rancher/issues/3495

This appears to have been broken when caching was added, so it's randomized once but then for the same client they get back the same cached answer.

Is there a chance it will be fixed in the next release?

Is it fixed in 1.4.2 ?

Just for my understanding: Will there be any action taken to (re-) establish a DNS based IP randomization in Rancher?
My company is currently evaluating Rancher as base for a large e-commerce site, based on a RancherOS-based cluster, and the current behavior is kind of a show-stopper. We want to avoid to introduce another service registry since Rancher basically has all necessary capabilities. However, "dynamic" load balancing on scaled containers with as little complexity as possible is crucial for us. For our containers we use different Linux derivates as base image (Alpine, Debian)
I saw that the Rancher DNS service accepts a "TTL" parameter, which defaults to 600 seconds (https://github.com/rancher/rancher-dns). Would it be an option to set this to zero to avoid caching respectively foster randomization of IP addresses? If so - where and how do I pass the parameter within the rancher setup?

Fixed by network-services: v0.2.0 and rancher/dns:v0.15.0.

Tested with  network-services: v0.2.0 and rancher/dns:v0.15.0 using rancher-server builds from master.
Created a service with scale 3 using image - "sangeetha/testnewhostrouting" that provides the name of the container when accessing "/name.html".
When access the sevice by its name , containers within the service are all reached randomly.
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-3
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-1
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-1
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-1
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-1
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-2
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-2
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-3
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-2
root@4aab247e03dc:/# curl testnewngix:80/name.html
test45-testnewngix-1

With older version of dns service - rancher/dns:v0.13.0 , DNS resolution of the service name always returned the same container's ip.

authors: eesprit leodotcloud narunask rene-mt sangeethah vincent99


text:
Add checks to needed Docker images

~This is WIP until grafana image from istio 1.4.3 is fixed (should be in https://github.com/rancher/system-charts/pull/152)~
This was split from https://github.com/rancher/types/pull/1065.
This errors out when images are not correctly generated so it can be fixed directly and not after release.

Fixed typo in substitution

@superseb when would this check happen?

The checks are done during the generation of the images text files, which is during build. So the build will fail if the images are not correctly parsed/configured.

authors: deniseschannon superseb


text:
[2.4] Cannot generate kubeconfig with cluster-scoped API tokens #26482

[2.4] Cannot generate kubeconfig with cluster-scoped API tokens #26482
Dependent on commits: ed55feb-issue#26482

@mrajashree how to trigger reviewer


text:
Fix norman type in UpdateMultiClusterAppTargetsInput answers

Related issue: https://github.com/rancher/rancher/issues/17981
Problem:
The answers field is marked as reference. As a result, The generated field gets a wrong type: https://github.com/rancher/types/blob/304eef54e2a4b5373726ca6970a944f40770856b/client/management/v3/zz_generated_update_multi_cluster_app_targets_input.go#L10
Solution:
Remove norman type of answers field

LGTM

LGTM

authors: gitlawr mrajashree orangedeng

repo: rancher/types


text:
Bump Equinix Terraform Provider to v2.6.0

Release notes at https://github.com/equinix/terraform-provider-equinix/releases/tag/v2.6.0

Will do this after https://github.com/rancherlabs/terraform-harvester-equinix/pull/102 is merged to avoid conflicts

We have https://github.com/equinix/terraform-provider-equinix/releases/tag/v2.8.0 released. Should we do that?

Yes, let's go with latest. I'll update the GH title.

and now latest is 2.9.0...

updating issue for 2.10.0

repo: rancherlabs/terraform-harvester-equinix


text:
Support for Angular 9

At install time:
> ng add @augury/schematics
warning " > @augury/schematics@0.6.1" has unmet peer dependency "@angular-devkit/core@~7.3.7".
warning " > @augury/schematics@0.6.1" has unmet peer dependency "@angular-devkit/schematics@~7.3.7".
warning " > @augury/schematics@0.6.1" has unmet peer dependency "@schematics/angular@^7.3.7".

At runtime:
compiler.js:21563 Uncaught Error: No NgModule metadata found for 'AppModule'.
    at NgModuleResolver.resolve (compiler.js:21563)
    at CompileMetadataResolver.getNgModuleMetadata (compiler.js:20688)
    at JitCompiler._loadModules (compiler.js:26460)
    at JitCompiler._compileModuleAndComponents (compiler.js:26443)
    at JitCompiler.compileModuleAsync (compiler.js:26405)
    at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:224)
    at compileNgModuleFactory__PRE_R3__ (core.js:41348)
    at PlatformRef.bootstrapModule (core.js:41725)
    at auguryBootstrap (augury-bootstrap.function.js:6)
    at Module../src/main.ts (main.ts:9)

The runtime error went away when I deleted "enableIvy": false from my tsconfig.json.

repo: rangle/augury-labs

license: MIT


text:
Fix skeleton files

This fixes the immediate problems from #266

By immediate problems I mean there's another PR on deck that has more fixes for the git hook issue

otherwise :shipit:

repo: rangle/the-clusternator

license: mit

license_source: bigquery


text:
Unit Test EventRegistry

Tasks:

[ ] Unit Test EventRegistry from susbtrate_metadata.

No more using event registry: #186

repo: rankanizer/polkadart


text:
Correct Denominators

When we are doing the enrichment calculations, we use the type of the coalesced nodes.  So if we we are merging on chemicals, we suppose that any chemical could be in that spot, and so we say how likely is it e.g. to have X of those chemicals to have a particular property.
That's not wrong, exactly, but it is probably not specific enough.  So for instance consider
(asthma)<-[treats]-(chemical)
We'll usually find an enriched property for the chemical like "drug" or features that tend to be more common in druglike space (like heterocyclic organic compounds).  And that is correct, it's more likely than by chance that drugs treat a disease rather than just random chemicals.  But it's not terribly interesting.
Instead, I think we'd rather use the denominator of how many chemicals could have inhabited that spot in a graph. So something like, out of all the chemicals with a 'treats' edge, how likely is it that you would have this many with property X.  Now the chance of having 'drug' is pretty high in that group, so it's not returned, which is what we want.
That would be doable in this case, and we could precache counts by edge.  But in the general case (where there are an arbitrary number of edges coming out of the merging node) then we'd need to actually cache the identities of nodes with each edge so that we could intersect them to find the appropriate denominator.

This makes sense. We do something similar with the specificity weighting on edges.

authors: cbizon patrickkwang

repo: ranking-agent/AnswerCoalesce


text:
Game crashes on auto craft.

Issue description:
What happens: Start auto craft for thermal foundation cryotheum items get pushed in to a chest then the game crashes. Unknown if it happens when autocrafting other items.
What you expected to happen:
Steps to reproduce:

...
Version (make sure you are on the latest version before reporting):

Minecraft:1.12.2
Forge:14.23.4.2765
Refined Storage:1.6.5

Does this issue occur on a server? unknown.
If a (crash)log is relevant for this issue, link it here:
https://pastebin.com/UMYskaAV

This has been fixed in the dev builds. Coming soon to a RS release near you.

authors: devilishhero raoulvdberge

repo: raoulvdberge/refinedstorage


text:
Regression from 8.2: AttributeError: 'Figure' object has no attribute '_mpl_orig_savefig'

I just deployed a new environment; the most recent EOmaps 8.3.1 broke savefig, whereas 8.2 works.
Describe the bug
I can't save a _maps_base class figure.
To Reproduce
from eomaps import Maps
import cartopy.crs as ccrs
import matplotlib.pyplot as plt

fig = plt.figure()
m = Maps(ccrs.PlateCarree(),f=fig)
m.savefig('test.png')
AttributeError: 'Figure' object has no attribute '_mpl_orig_savefig'

Expected behavior
Figure is saved.
General information:
python = 3.12.7 | packaged by conda-forge | (main, Oct  4 2024, 16:05:46) [GCC 13.3.0]
EOmaps = 8.3.
A quick fix :
            if '_mpl_orig_savefig' in dir(self.f):
                self.f._mpl_orig_savefig(*args, **kwargs)
            else:
                self.f.savefig(*args,**kwargs)

It seems to work, but it may have side effects that I'm not aware of yet.

Hey @ocehugo, thanks for reporting the issue!
There seems to be a problem if an explicit Figure object is passed to the initialization of the Maps object
(which is possible, but 99% of the cases not necessary)
Is there a particular reason why you want to pass an explicit Figure object to the initialization of the map?
In general, if you initialize the map without a dedicated figure, all works as expected:
m = Maps()
m.savefig("test.png")

You can then always access the underlying Figure object via m.f

Is there a particular reason why you want to pass an explicit Figure object to the initialization of the map?

Because i declare a custom figure first (e.g. size) instead of modifying a fig postfacto, which is more verbose than passing the object rightly configured. Also, mpl habit...

@ocehugo
OK, in this case, did you know that any additional keyword-argument passed to the initialization of the Maps object is forwarded to the initialization of the underlying figure (e.g. plt.figure())?
So this means you can save yourself 2 lines of code and directly do:
from eomaps import Maps
m = Maps(crs=3057, figsize=(10, 5))

(... and just to be clear...  this is a valid bug and will be fixed in the next release! :-)

authors: ocehugo raphaelquast

repo: raphaelquast/EOmaps


text:
crumble forces newest version of angular

I get this error when installing angular-crumble

Uncaught TypeError: angular.module(...).info is not a function
at angular-route.js:58
at Object.ERR_NO_ROUTE (angular-route.js:1224)
at webpack_require (bootstrap bce38fd556aff15e6609:712)
at fn (bootstrap bce38fd556aff15e6609:117)
at Object. (index.js:1)
at webpack_require (bootstrap bce38fd556aff15e6609:712)
at fn (bootstrap bce38fd556aff15e6609:117)
at Object. (index.js:5)
at webpack_require (bootstrap bce38fd556aff15e6609:712)
at fn (bootstrap bce38fd556aff15e6609:117)

That basically mean that I have a version mismatch.
It's saying that angular-route isn't the same version as angular.
I have these packages installed:
"dependencies": {
        "angular": "1.4.5",
        "angular-crumble": "^0.2.3",
        "angular-route": "1.4.5"
}

I found a solution.
In your index.js you have
/* eslint-env node */
'use strict';

// Shim for usage with npm/browserify instead of bower
require('angular-route');
require('./crumble');
module.exports = 'crumble';

which makes sense because you have
package.json
"dependencies": {
    "angular-route": "^1.2"
  },

However that is the root cause of my problem. As I now don't have control over what version of ngRoute is used in your module.
The fix is to remove require('angular-route');
/* eslint-env node */
'use strict';

// Shim for usage with npm/browserify instead of bower
require('./crumble');
module.exports = 'crumble';

It now works :)
I'm no package.json guru. But shouldn't "angular-route" be moved to peer-dependencies in your package.json file?

Peer Dependencies
What we need is a way of expressing these "dependencies" between plugins and their host package. Some way of saying, "I only work when plugged in to version 1.2.x of my host package, so if you install me, be sure that it's alongside a compatible host." We call this relationship a peer dependency.

First of all: thanks a lot for this detailed issue and the accompanying PR.
Unfortunately, I cannot reproduce the behavior described in the issue when using this package.json. I always end up with the requested versions of angular and angular-route. Could you please report what happens when you run npm test with the package.json linked above?
Only if I omit the dependency to angular-route, crumble's dependency on angular-route@^1.2 will force the latest version of that module. The usefulness of this behavior is questionable but intended.
Your conflict might be caused by a package-lock.json. To see if that's the case, you could try a clean install (i.e. remove node_modules/ and package-lock.json before installing).
Please understand that I would rather not change something that is not actually broken, so as to not break any existing installations out there.

Found the issue. I'm using YARN which doesn't behave the same way as NPM when it comes to child dependencies. I tried doing a clean install of your example via NPM and YARN

> npm i
> npm list
angular-crumble-demo@1.0.0
+-- angular@1.5.11
+-- angular-crumble@0.2.3
| -- angular-route@1.5.11 deduped -- angular-route@1.5.11

> yarn
> yarn list
yarn list v1.5.1
├─ angular-crumble@0.2.3
│  ├─ angular-route@^1.2
│  └─ angular-route@1.6.9
├─ angular-route@1.5.11
└─ angular@1.5.11

Notice that yarn says angular-route@1.6.9

Appears it's a YARN deduping issue. Found these issues

yarnpkg/yarn/issues/5236
yarnpkg/yarn/issues/3778
yarnpkg/yarn/issues/1251

Workaround
Open yarn.lock and find angular-route@^1.2 and then change version and resolved to their correct values.
In my case it was:
angular-route@^1.2:
  version "1.4.5"
  resolved "https://registry.yarnpkg.com/angular-route/-/angular-route-1.4.5.tgz#59c86e30b8f7771eccc3ea3f7e8c515d5495c3ca"

Thanks again for the great debugging work!
I have given this some more thought. Whether the bad deduping in yarn is considered a bug or not, it is probably a bad idea to rely on the deduping of the package manager for correct behavior of crumble. And that means the direct dependency has to go.

authors: raphinesse snebjorn

repo: raphinesse/angular-crumble


text:
[REVIEW] Hello, BlazingSQL.

introduce /blazingsql/
intermediate BlazingSQL demo notebooks

@gumdropsteve let me know when to review

@taureandyernv ready for review

back to WiP

move + modify "getting started" demos to getting started notebooks
add install / setup instructions + info + .sh script(s)

Update Almost all done, added Taxi LinReg demo & other (see https://github.com/gumdropsteve/notebooks-contrib/pull/11).
Still to do:

add .md install / setup instructions
add .sh install script

Ready for review @taureandyernv

@taureandyernv fixed it and updated everything to reflect, thanks for clarifying over Slack.

authors: gumdropsteve taureandyernv

repo: rapidsai/notebooks-contrib


text:
rapids_cpm_thrust record build directory location of thrust-config

Thrust doesn't place the thrust-config.cmake in the build directory,
instead it has a version in the source tree that works for
build directories.

@gpucibot merge

repo: rapidsai/rapids-cmake


text:
Add "disable" functions for STA/AP modes

We have functions to "enable" STA/AP modes, so add versions that do the opposite.
Fixes #1371

Oops, the AP one has been done https://github.com/raspberrypi/pico-sdk/pull/1331

Rebased on the tip - now just adds cyw43_arch_disable_sta_mode

repo: raspberrypi/pico-sdk


text:
Data Product Schema

packratt is both an application and python package for downloading and caching radio astronomy data artefacts, primarily to facilitate testing radio astronomy software.
I propose using the following schemas to uniquely identify data products for download
packratt get /ms/<telescope>/<observation_date>/<filename> <target_dir>
packratt get /uvfits/<telescope>/<observation_date>/<filename> <target_dir>
packratt get /beams/<telescope>/<filename> <target_dir>
packratt get /gains/<telescope>/<observation_date>/<filename> <target_dir>

in the python layer:
import packratt
packratt.get("/ms/<telescope>/<observation_date>/<filename>", target_dir)
packratt.get("/uvfits/<telescope>/<observation_date>/<filename>", target_dir)
packratt.get("/beams/<telescope>/<filename", target_dir)
packratt.get("/gains/<telescope>/<observation_date>/<filename>", target_dir)

The above schemas create keys which uniquely identify an product to download and cache, defined in a yaml registry:
"/ms/<telescope>/<observation_date>/<filename>":
    "type": "url"
    "url": ftp://elwood.ru.ac.za/pub/astronomer/observation.tar.gz
    "hash": "1234567890abcdef"

"/ms/<telescope>/<observation_date>/<filename>":
    "type": "google"
    "file_id": "1234567890"
    "hash": "1234567890abcdef"

/cc @o-smirnov @smasoka @SpheMakh @svw26 @bennahugo @jskenyon @Athanaseus @landmanbester @gigjozsa @IanHeywood @mulan-94

Sorry, please can you clarify what you mean by "data artefact"? e.g. Many radio images have imaging artefacts, and an individual image may have many of these artefacts (including different types of imaging artefacts!) x

Sorry, please can you clarify what you mean by "data artefact"? e.g. Many radio images have imaging artefacts, and an individual image may have many of these artefacts (including different types of imaging artefacts!) x

Ah, I was using the term in Computer Science context. See End User Development for example. I'll modify the terminology to use the term "Data Product" instead.

Anything large and in need of a download. A test MS for a package (hello @gigjozsa). A bunch of FITS images. A set of Singularity images. Etc.

/cc @rubyvanrooyen who may also have insight on the matter!

OK, thank you :) x

authors: o-smirnov sjperkins svw26

repo: ratt-ru/packratt


text:
Azure Deployment Failed | The resource operation completed with terminal provisioning state 'Failed'.

The Azure deployment fails on/after Setting up Source Control step.
Error Message:

The resource operation completed with terminal provisioning state 'Failed'.

Can be replicated in both stable and latest build.

I've encountered the same issue.

Command: bash scripts/azuredeploy.sh
Invalid start-up command "chmod +x bin/slackin && ./bin/slackin" in package.json. Please use the format "node

Same issue.
I don't know if this is any more help, but the error occurs in the "Write Sourcecontrols" step.
Peet

Hi @peetinc and @BerendWouters,
I faced this issue. I wrote a potential fix. You can check the fix here:
https://github.com/rauchg/slackin/issues/366

@ajayak Thanks you so much for the tip. I'm sorry to say this but I don't really know where to begin with what you're describing. I'm not asking for a step-by-step, but anything you could do to point me in the right direction would be great. I wish Git still had DM's I'd ask you off this thread.
Thanks.Peet

Hi @peetinc,
Follow these steps:

Clone the Slackin repository
Replace lib>index.js file with this:

// es6 runtime requirements
import 'babel-polyfill'

// their code
import express from 'express'
import sockets from 'socket.io'
import { json } from 'body-parser'
import { Server as http } from 'http'
import remail from 'email-regex'
import dom from 'vd'
import cors from 'cors'
import request from 'superagent';

// our code
import Slack from './slack'
import invite from './slack-invite'
import badge from './badge'
import splash from './splash'
import iframe from './iframe'
import log from './log'

export default function slackin ({
  token,
  interval = 5000, // jshint ignore:line
  org,
  gcaptcha_secret,
  gcaptcha_sitekey,
  css,
  coc,
  cors: useCors = false,
  path='/',
  channels,
  emails,
  silent = false // jshint ignore:line,
}){
  // must haves
  if (!token) throw new Error('Must provide a `token`.')
  if (!org) throw new Error('Must provide an `org`.')
  if (!gcaptcha_secret) throw new Error('Must provide a `gcaptcha_secret`.')
  if (!gcaptcha_sitekey) throw new Error('Must provide an `gcaptcha_sitekey`.')

  if (channels) {
    // convert to an array
    channels = channels.split(',').map((channel) => {
      // sanitize channel name
      if ('#' === channel[0]) return channel.substr(1)
      return channel
    })
  }

  if (emails) {
    // convert to an array
    emails = emails.split(',')
  }

  // setup app
  let app = express()
  let srv = http(app)
  srv.app = app

  let assets = __dirname + '/assets'

  // fetch data
  let slack = new Slack({ token, interval, org })

  slack.setMaxListeners(Infinity)

  // capture stats
  log(slack, silent)

  // middleware for waiting for slack
  app.use((req, res, next) => {
    if (slack.ready) return next()
    slack.once('ready', next)
  })

  if (useCors) {
    app.options('*', cors())
    app.use(cors())
  }

  // splash page
  app.get('/', (req, res) => {
    let { name, logo } = slack.org
    let { active, total } = slack.users
    if (!name) return res.send(404)
    let page = dom('html',
      dom('head',
        dom('title',
          'Join ', name, ' on Slack!'
        ),
        dom("script src=https://www.google.com/recaptcha/api.js"),
        dom('meta name=viewport content="width=device-width,initial-scale=1.0,minimum-scale=1.0,user-scalable=no"'),
        dom('link rel="shortcut icon" href=https://slack.global.ssl.fastly.net/272a/img/icons/favicon-32.png'),
        css && dom('link rel=stylesheet', { href: css })
      ),
      splash({ coc, path, css, name, org, logo, channels, active, total, gcaptcha_sitekey})
    )
    res.type('html')
    res.send(page.toHTML())
  })

  app.get('/data', (req, res) => {
    let { name, logo } = slack.org
    let { active, total } = slack.users
    res.send({
      name,
      org,
      coc,
      logo,
      channels,
      active,
      total
    })
  })

  // static files
  app.use('/assets', express.static(assets))

  // invite endpoint
  app.post('/invite', json(), (req, res, next) => {
    global['chanId'] = null;
    if (channels) {
      let channel = req.body.channel
      if (!channels.includes(channel)) {
        return res
        .status(400)
        .json({ msg: 'Not a permitted channel' })
      }
      global['chanId'] = slack.getChannelId(channel)
      if (!global['chanId']) {
        return res
        .status(400)
        .json({ msg: `Channel not found "${channel}"` })
      }
    }

    let email = req.body.email
    let captcha_response = req.body['g-recaptcha-response'];

    if (!email) {
      return res
      .status(400)
      .json({ msg: 'No email provided' })
    }

    if(captcha_response == undefined || !captcha_response.length){
      return res
      .status(400)
      .send({ msg: 'Invalid captcha' });
    }

    if (!remail().test(email)) {
      return res
      .status(400)
      .json({ msg: 'Invalid email' })
    }

    // Restricting email invites?
    if (emails && emails.indexOf(email) === -1) {
      return res
      .status(400)
      .json({ msg: 'Your email is not on the accepted email list' })
    }

    if (coc && '1' != req.body.coc) {
      return res
      .status(400)
      .json({ msg: 'Agreement to CoC is mandatory' })
    }

    /////////////////////////////////////////////////////////////////////////

    const captcha_data = {
      secret: gcaptcha_secret,
      response: captcha_response,
      remoteip: req.connection.remoteAddress
    }

    const captcha_callback = (err, resp) => {

      if (err) {
        return res
        .status(400)
        .send({ msg: err });

      }else{

        if(resp.body.success){
          let chanId = slack.channel ? slack.channel.id : global['chanId'];
          invite({ token, org, email, channel: chanId }, err => {
            if (err) {
              if (err.message === `Sending you to Slack...`) {
                return res
                .status(303)
                .json({ msg: err.message, redirectUrl: `https://${org}.slack.com` })
              }

              return res
              .status(400)
              .json({ msg: err.message })
            }

            res
            .status(200)
            .json({ msg: 'WOOT. Check your email!' })
          });

        }else{

          if (err) {
            return res
            .status(400)
            .send({ msg: "Captcha check failed" });
          }
        }

      }

    }

    request.post('https://www.google.com/recaptcha/api/siteverify')
    .type('form')
    .send(captcha_data)
    .end(captcha_callback);

  })

  // iframe
  app.get('/iframe', (req, res) => {
    let large = 'large' in req.query
    let { active, total } = slack.users
    res.type('html')
    res.send(iframe({ path, active, total, large }).toHTML())
  })

  app.get('/iframe/dialog', (req, res) => {
    let large = 'large' in req.query
    let { name } = slack.org
    let { active, total } = slack.users
    if (!name) return res.send(404)
    let page = dom('html',
      dom("script src=https://www.google.com/recaptcha/api.js"),
      splash({ coc, path, name, org, channels, active, total, large, iframe: true, gcaptcha_sitekey })
    )
    res.type('html')
    res.send(page.toHTML())
  })

  app.get('/.well-known/acme-challenge/:id', (req, res) => {
    res.send(process.env.LETSENCRYPT_CHALLENGE)
  })

  // badge js
  app.use('/slackin.js', express.static(assets + '/badge.js'))

  // badge rendering
  app.get('/badge.svg', (req, res) => {
    res.type('svg')
    res.set('Cache-Control', 'max-age=0, no-cache')
    res.set('Pragma', 'no-cache')
    res.send(badge(slack.users).toHTML())
  })

  // realtime
  sockets(srv).on('connection', socket => {
    socket.emit('data', slack.users)
    let change = (key, val) => socket.emit(key, val)
    slack.on('change', change)
    socket.on('disconnect', () => {
      slack.removeListener('change', change)
    })
  })

  return srv
}

Deploy to Azure node app service. In application settings of the app service, set these environment variables:
GOOGLE_CAPTCHA_SECRET, GOOGLE_CAPTCHA_SITEKEY, PORT, SLACK_API_TOKEN, SLACK_CHANNELS and SLACK_SUBDOMAIN

Seems like duplicate of #355

authors: BerendWouters KrzysztofMadejski ajayak peetinc

repo: rauchg/slackin


text:
[Bug] injector is missing despite existing

Describe the Bug
after whatever update happened yesterday my installation too, stopped working. however, when starting Discord (flatpak) after reinstalling BD through betterdiscordctl, i get a pop-up containing the first screenshot before the main window appears.
injector is where it should be and looks exactly like it should, plus betterdiscordctl didn't update since may so it's probably a BD thing.
To Reproduce
install discord on Fedora 32 via flatpak, install BD via betterdiscordctl install --discord /var/lib/flatpak/app/com.discordapp.Discord/current/active/files --modules ~/.var/app/com.discordapp.Discord/config/discord/0.0.10/modules
Expected Behavior
discord should start normally along with BD
Screenshots
https://i.imgur.com/EeJdR7Z.png
https://i.imgur.com/mT9w3qd.png
https://i.imgur.com/pRDex47.png
Discord Version
stable (via flatpak)
Additional Context
adding --flatpak to the command line causes discord to launch normally but without BD

I would recommend opening the issue over with the linux installer team, they'd be better at helping you with this as BD hasn't adjusted the injection procedure or structure in a long time.  https://github.com/bb010g/betterdiscordctl

When you use the --discord & --modules flags for flatpak you need to also add the --copy flag.

authors: ObserverOfTime platyple rauenzi

repo: rauenzi/BetterDiscordApp


text:
Middleware doesn't work on Android / IOS for Preprod and Release BuiltType and real devices.

When i compile for developpement everything is workign fine, i am on airplane mode, start a fetch request and middleware catch it, perfect.
As soon as i switch to preprod or release config on Android and IOS, i do the exactly same test with same code, but unfortunately the middleware doesn't catch anything and i end up with this on Android Studio and XCode console :
E/ReactNativeJS: [TypeError: Network request failed]
E/unknown:React: Network request failed, stack:
                                                  onerror@134:13650
                                                  value@124:1505
                                                 etc etc...

I can use the offline library successfully in iOS and Android in debug mode. However, when i run it in iOS release mode, the middleware part does not work, thus, it cannot intercept the thunk action call when there is no network. I have  no idea what is wrong now.
May i ask if your problem is solved? If so, can you let me know how to solve it?
Thanks a lot

The problem is that the packager minifies the JS in production mode, in a way that function names are transformed and shortened, so the middleware doesn't understand that transformation.
There is a simple workaround, which would be to add another property to the function returned by the thunk (apart from the optional meta), something like name.
Would you like to put together a PR? :)

It could be a pleasure to help you solving this issue, but i have strictly no idea how to do this :)

@rauliyohmc, i have tried your workaround "fetchData.interceptInOffline = true". However, the problem is still there with the release version. May i ask what else i can try?
Thank you.

I mean, that solution is not implemented yet, that's why I suggested you to create a PR :)
I'll try to release a new version over the weekend that fixes it.

Fantastic, thank you Raul !

@Rauliyohmc,
I cannot get the thunk function properties in CreateNetworkMiddleware.js. It just return "undefined" when i call action.meta, and action.interceptInOffline.
The following is my thunk actioncreator function.
export function fetchHomeList(url) {
let fetchData = (dispatch, getState) => {
const {page, seed} = getState().myapp;
return fetch(${url}?seed=${seed}&page=${page}&results=20)
.then((response) => response.json())
.then((res) => dispatch(setHomeList(res)))
.catch((err) => dispatch(setHomeListError(err)));
}
}
fetchData.meta = {
retry: true, // By passing true, your thunk will be enqueued on offline mode
};
fetchData.interceptInOffline = true;
return fetchData;
};
In the meantime, i am seeing how to create a pull request.
Thank you for your advice

Pardon my possibly limited knowledge of semantic versioning.. but how can this be on a 3.0 release version if it doesn't even work in production?
Sorry, just curious.

@jay-at-avido it is because I've been introducing breaking changes in the API, for the sake of improving it. It started as a bunch of utilities I wrapped up into a library, so I've been iterating a lot since then, stopping at each point of introducing a new feature and thinking about the best API I could offer to the consumer. Also, it's being my first OSS library shaped up, so as a beginner in that matter, I know the versioning it's a bit misleading, taking into account that the library has only 3 months since its creation.
I am using it in production and I can tell you it works perfectly with redux-saga and redux-observable. I hadn't tried out so far with redux-thunk. Even though the functionality is unit tested, I hadn't stumbled upon this issue in production (as you could see in the issue's thread).
No offense taken ;) I encourage you to give it a try in your upcoming projects.
I'll try to put together between today and tomorrow. I know lots of people rely on redux-thunk as their middleware for side effects, so I am taking this as high priority.

@rauliyohmc, thank you so much for your great effort. Yes, you are right, plain action works properly in release mode, thus redux-saga and redux-observable would work perfectly.
Waiting for your new fix.
Thanks a lot.

@pongponglau I released a new minor version with the fix. Please let me know if it works now.

@rauliyohmc, sorry for my late reply.
I have tried your new release. It works great in ios release mode with thunk.
Nonetheless, the function property "meta = {retry: true,};" is also needed.
Thanks a lot.

authors: jay-at-avido jchesne pongponglau rauliyohmc

repo: rauliyohmc/react-native-offline


text:
Bar chart > Chart > Sort bars by not working

The 'Sort bars by' function doesn't work. The bars stay in the default order.
I'm using a macbook with Google Chrome.
Me and my professor looked if I did something wrong but it doesn't seem so
Added a screen recording of the issue:
https://user-images.githubusercontent.com/28000005/135624268-17244c50-a67d-41f2-b86e-237d75c5a388.mp4
.

Hi @tomflendrig thank you. The issues has been fixed in https://github.com/rawgraphs/rawgraphs-charts/issues/93.
It will be visible with the release of next RAWGraphs version.

authors: mikima tomflendrig

repo: rawgraphs/rawgraphs-app


text:
I've forked it

Hi! I just wanted to let you know I forked your syntax and then improved upon it: https://github.com/denilsonsa/vim-edir-syntax
(Well, at least I hope I have "improved" it.)
Feel free to merge back if you want to. I'd rather join forces and have one definitive syntax file, instead of spreading it over two or more projects. It also makes it easier for anyone looking for such syntax file.

Hi there! Thanks for forking my syntax project for edir and making improvements!
To be honest, I don't really use edir anymore, and I don't have any plans to continue working on this project. With that being the case, I think it's better to archive my repository and add a note in the README to direct users to your version. This way, users looking for the latest updates and improvements will have a clear path to your version, making it easier for everyone to find the most up-to-date syntax files.

authors: denilsonsa ray-pH

repo: ray-pH/vim-edir-syntax


text:
Disable early kickoff.

Because test are not rebuilding wheels when then need to, but just picking up ray from the operating system.
As a penalty.. everything also needs to reinstall all the third-party dependencies..

I'll merge https://github.com/ray-project/buildkite-ci-pipelines/pull/21 as a replacement to this.
Third party dependency installs are not affected

authors: aslonnie krfricke

repo: ray-project/buildkite-ci-pipelines


text:
[Feature] kuberay apiserver need UT for new added apis of rayjobs and rayservice

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
some bugs happened like #734 because of lacking some UT when adding the logic and maybe some manually e2e check may not find the bugs add effort for further bug fix, we need add more detail UTs in kuberay-apiserver to add stability.
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Here after offline talk with @wilsonwang371 we think we need more precise unit testing to check whether the apiserver generated rayservice and rayjob works well in kubernetes cluster, it may not be ready for both rayservice and rayjob before the release cut this week, we may propose to have it in the next release, WDYT @DmitriGekhtman?

That sounds fine to me.
I think the actual action item ahead of the release is to clearly document that RayJobs and RayServices are experimental.

@blublinsky has identified that this KubeRay API server issue can be closed.

repo: ray-project/kuberay


text:
Add NextDNS extension

Description
Added extension for NextDNS with basic allowlist/denylist management for now.
Screencast
https://github.com/raycast/extensions/assets/13333578/f97670dc-8918-4153-98c7-2a62c52ef85c
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@itsmingjie are you still working on this?

I'll convert this to a draft for now, I still think it would be a very nice extension @itsmingjie

@itsmingjie I actually think it also could be fine to keep the two list commands, and inside them we could have the add domain, what do you think about that?

Hi @itsmingjie
Do you want to continue on this extension, or should I do it? I think we can keep the current commands, it actually makes sense 🙂

@pernielsentikaer I've been following this PR for a month or so as I have a "NextDNS" account. I think if it looks good to you you can get this merged and I'd be willing to act as a contributor/maintainer/owner whichever is required until the author can get back.

I was about to do the same @xmok and was waiting for it to get closed, but let's continue.
I added you as a contributor. I think the original author has been pinged enough 🙂

Anything you think we should look into before the initial release?

Anything you think we should look into before the initial release?

So far the few features are working perfectly fine. The only thing I'm missing right now is when running some actions e.g. removing a domain from Allowlist or adding a domain to Denylist, there's no loading indicator nor animated toast shown so there's a second or two before I get a success toast that action has completed.
But this isn't a blocker - probably the first feature I'd want to implement in the next version otherwise LGTM 🚀.

Regarding commands; we might want to change that before the release. I can look into merging them later this evening 🙂

So we're aiming for two commands, right?

I added you to my fork @xmok - feel free to catch me in Slack if you're there - didn't get that far yesterday as I wanted but let's do it 🙂

Closed in favor of #14259

authors: itsmingjie pernielsentikaer xmok

repo: raycast/extensions


text:
Update Claude Extension: Add Upgraded Sonnet 3.5 (20241022)

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

PR #15057 has already been created to add support for the new model.

Closing in favor of PR https://github.com/raycast/extensions/pull/15057

authors: FelixLisczyk lk-chen pernielsentikaer