text:
Expand build disk

Small fix for image existing, just refuse to overwrite by default
Supports output for GCE and azure images
No external tools required, all done in pure golang!
Autoclean middle image if generating a gce/azure image
Adds new command transform-disk
Transform-disk uses the same code as build-disk
Transform-disk allows to keep the base raw image
Adds some vhd tooling for the build/transform stuff

Signed-off-by: Itxaka igarcia@suse.com

second part of the build-disk. This should cover all existing functionality of the raw image stuff well enough to drop the scripts.
As device stuff is a bit different, that is not covered in here and I wonder if it should as the device stuff is more closer to a normal install than to a vanilla/recovery disk image....

Ready to review @mjura @mudler @davidcassany

repo: rancher-sandbox/elemental


text:
Improve cluster|project list-members subcommands

Ref: https://github.com/rancher/rancher/issues/47692

Do not merge: this is slated for v2.11.

source: gharchive/pull-request

repo: rancher/cli

license_type: permissive

license_source: github-api


text:
[BUG] configmap formatting breaking on creation/edit

Rancher Server Setup

Rancher version: 2.7.5
Installation option (Docker install/Helm Chart):
If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): Helm

Information about the Cluster

Kubernetes version: v1.24.15
Cluster Type (Local/Downstream): Downstream

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

User Information

What is the role of the user logged in? Admin

If custom, define the set of permissions:

Describe the bug
Creating or modifying a configmap from UI breaks formatting/adds empty lines
To Reproduce
Create a configmap
Add a key-value pair, with a long enough value (around 1000 lines seems to be enough to trigger)
Save the changes
Read the configmap value
Result
Configmap value formatting is different, line breaks get added randomly.
Expected Result
Configmap value should be exactly as input.
Screenshots
Left is input, right is what Rancher stored in the configmap

I'm pretty sure this is caused by this line which calls this added in rancher/dashboard#7670.
Possibly related nodeca/js-yaml#464. Changing the steve/actions.js line to the below appears to avoid the line wrapping issue.
return jsyaml.dump(obj, { lineWidth: -1 });

I'm still trying to understand what fields steve is adding that requires this function, but this seems like it could have been avoided if steve passed these parameters separately without modifying the YAML output.

Correct. The line break is after 80 chars. Same as in dumper.js

I'm using v2.7.1, and this seems work for me.

I'm pretty sure this is caused by this line which calls this added in #7670.
Possibly related nodeca/js-yaml#464. Changing the steve/actions.js line to the below appears to avoid the line wrapping issue.
return jsyaml.dump(obj, { lineWidth: -1 });

I'm still trying to understand what fields steve is adding that requires this function, but this seems like it could have been avoided if steve passed these parameters separately without modifying the YAML output.

I'm using v2.7.1, and this seems work for me.

I applied this two changes, and seems fine.
shell/plugins/steve/actions.js
    (obj?.status?.conditions || []).forEach(condition => dropKeys(condition, conditionKeys));

-    return jsyaml.dump(obj);
+    return jsyaml.dump(obj, { lineWidth: -1 });
  }
};

shell/utils/create-yaml.js
export function dumpBlock(data, options = {}) {
-  const parsed = jsyaml.dump(data);
+  const parsed = jsyaml.dump(data,{ lineWidth: -1 });

  let out = parsed;

I applied this two changes, and seems fine.
shell/plugins/steve/actions.js
    (obj?.status?.conditions || []).forEach(condition => dropKeys(condition, conditionKeys));

-   return jsyaml.dump(obj);
+   return jsyaml.dump(obj, { lineWidth: -1 });
  }
};

shell/utils/create-yaml.js
export function dumpBlock(data, options = {}) {
- const parsed = jsyaml.dump(data);
+ const parsed = jsyaml.dump(data,{ lineWidth: -1 });

  let out = parsed;

Is there an easy way to patch this in a running Rancher 2.7.9 installation in a docker container?

I applied this two changes, and seems fine.
shell/plugins/steve/actions.js
    (obj?.status?.conditions || []).forEach(condition => dropKeys(condition, conditionKeys));

-   return jsyaml.dump(obj);
+   return jsyaml.dump(obj, { lineWidth: -1 });
  }
};

shell/utils/create-yaml.js
export function dumpBlock(data, options = {}) {
- const parsed = jsyaml.dump(data);
+ const parsed = jsyaml.dump(data,{ lineWidth: -1 });

  let out = parsed;

Is there an easy way to patch this in a running Rancher 2.7.9 installation in a docker container?

Actually, there are. I do this patch to index.669db930.js. It works, except needs a forced reload (Ctrl + F5 or ignore cache).
sed -i 's@L\["a"].dump(i)@L\["a"].dump(i,{lineWidth:-1})@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;
sed -i 's@n=s\["a"].dump(e),@n=s\["a"].dump(e,{lineWidth:-1}),@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;

I applied this two changes, and seems fine.
shell/plugins/steve/actions.js
    (obj?.status?.conditions || []).forEach(condition => dropKeys(condition, conditionKeys));

-   return jsyaml.dump(obj);
+   return jsyaml.dump(obj, { lineWidth: -1 });
  }
};

shell/utils/create-yaml.js
export function dumpBlock(data, options = {}) {
- const parsed = jsyaml.dump(data);
+ const parsed = jsyaml.dump(data,{ lineWidth: -1 });

  let out = parsed;

Is there an easy way to patch this in a running Rancher 2.7.9 installation in a docker container?

Actually, there are. I do this patch to index.669db930.js. It works, except needs a forced reload (Ctrl + F5 or ignore cache).
sed -i 's@L\["a"].dump(i)@L\["a"].dump(i,{lineWidth:-1})@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;
sed -i 's@n=s\["a"].dump(e),@n=s\["a"].dump(e,{lineWidth:-1}),@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;

Thank you very much. I will give that a try!

Anotherway is rebuild all, because  there are many bug shoud fix by yourself. @maartenl945 @bromine0x23
OUTPUT_DIR=dist ROUTER_BASE="/dashboard/" RESOURCE_BASE="/dashboard/" yarn run build

then build the image with this dockerfile
FROM rancher/rancher:v2.7.9
WORKDIR /var/lib/rancher
RUN rm -rf /usr/share/rancher/ui-dashboard/dashboard*
COPY dist /usr/share/rancher/ui-dashboard/dashboard

Actually, there are. I do this patch to index.669db930.js. It works, except needs a forced reload (Ctrl + F5 or ignore cache).
sed -i 's@L\["a"].dump(i)@L\["a"].dump(i,{lineWidth:-1})@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;
sed -i 's@n=s\["a"].dump(e),@n=s\["a"].dump(e,{lineWidth:-1}),@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;

I tested your patch on our installation and it works partly in that at least I don't get any added empty lines anymore when editing a config map. However if I edit a large config map (e.g. an nginx.conf configuration), I still get a full screen error reported like this:
a line break is expected (20:11) 17 | - 1 18 | - 3m59s 19 | data: 20 | test: |+test: "load_module modules/ngx ... ----------------^ 21 | # key: string 22 | _clone: true
So unfortunately, the fix does not fully solve the issue that we're experiencing on our end.

Unable to repro after merging #10142, moving to To Test for validation.
If anybody has additional repro steps outside of configmap and ingress, please leave an update in the comments.

I'm pretty sure this is caused by this line which calls this added in #7670.
Possibly related nodeca/js-yaml#464. Changing the steve/actions.js line to the below appears to avoid the line wrapping issue.
return jsyaml.dump(obj, { lineWidth: -1 });

I'm still trying to understand what fields steve is adding that requires this function, but this seems like it could have been avoided if steve passed these parameters separately without modifying the YAML output.

I'm using v2.7.1, and this seems work for me.

Hi , How to change this and where to change this . We have installed rancher using Helm

How about add this?
shell/utils/create-yaml.js
export function saferDump(obj) {
- const out = jsyaml.dump(obj || {});
+ const out = jsyaml.dump(obj || {}, { lineWidth: -1 });

  if ( out === '{}\n' ) {

sed -i 's@var t=s\["a"].dump(e||{});@var t=s\["a"].dump(e||{},{lineWidth:-1});@' /usr/share/rancher/ui-dashboard/dashboard/js/index.669db930.js;

Thanks for another suggestion. I haven't tried it yet, but I did find that if I remove all /r and /t characters from the config map then the config map can be saved and edited fine without the above mentioned remaining error. So this seems related to #9841

@maartenl945 I am running rancher through helm . How do i patch this . can you please share some info.

source: gharchive/issue

repo: rancher/dashboard


text:
[Epic] Vue3: CIS Benchmark issues

Setup

Rancher version: dev of 2.10.0

Describe the bug

Install CIS Benchmark cluster tool helm chart

Cluster --> Tools --> install CIS Benchmark --> refresh

[ ] #11910
[ ] #11911
[ ] #11912
[ ] #11913
[ ] #11915

Adding on to this: I'm seeing a console error on the scan list view

I split this issue out into multiple and marked this one as an epic to track each of them. I also added a new issue for the errors provided by @mantis-toboggan-md

I am closing this issue and the children, I've added QA backlog task to explore the chart install automation effort as I didn't find a CIS covered in the current code
https://github.com/rancher/qa-tasks/issues/1547

I believe this was wrongfully closed, as the issues still subside and I am actively working on fixing them. Going to reopen

authors: aalves08 izaac mantis-toboggan-md rak-phillip richard-cox


text:
2.6 UX: Implement Cluster Tools

Add a new view to the cluster explorer - see attached PDF.
ClusterTools.pdf
This will make it easier to discover and install/upgrade cluster tools such as monitoring and logging.

1 is covered elsewhere.
I don't think we're going to do 2 - please create a separate issue if you want us to consider this post 2.6
3 needs broader discussion - this is always how its been and is difficult for us to fix in the UI alone - I would suggest creating a defect report in the rancher/rancher repo.
Moving to To Test - please move to done if you're okay with the above.


text:
"This page could not be found" is seen when a user deletes a cluster on k8s 1.22 rke2 version

on 2.6-head commit id: 2a7857d

Deploy an RKE2 AWS Node driver cluster 1.22rke2 version
when the cluster is up and Active, select the cluster and click on delete.
"This page could not be found" is seen
User has click on Go Back too Home, to get out of this page.

@jordojordo to reproduce this. @nwmac can assist during UK hours if it gets tricky.

@sowmyav27
I could not replicate the issue. I tried on multiple cloud providers to see if it was an AWS issue but did not encounter the problem.
https://user-images.githubusercontent.com/40806497/146067322-2541b016-78e3-4387-a4b9-35e03c5aa9da.mp4

Here's my config for the cluster (Is this the correct config to test with?):

Version:

Happens only with an 1.22RKE2 version node driver cluster

On 2.6-head commit id: 39cecf0
Verified this issue is not seen when deleting a 1.22 RKE2 aws cluster

authors: gaktive jordojordo sowmyav27


text:
RKE1 Amazon EC2 clusters hang in provisioning with default node template ssh user

Setup

Rancher version: 2.6.3, 2.7.2
Browser type & version: Safari

Describe the bug

An RKE1 Amazon EC2 cluster with a node template with the default SSH user (which is ubuntu) hangs in provisioning trying to reach the nodes.
Default is ubuntu

On 2.6.3, the Rancher AMI docs https://github.com/rancher/os/blob/master/README.md/#user-content-amazon specify the default should be rancher.
If you don't change the SSH user in the node template, provisioning hangs at SSH connection

I tried changing nothing else in the node template and using the SSH user rancher instead and it works

To Reproduce

Create an rke1 node template with default SSH user ubuntu
Create rke1 cluster
Watch Machine Pools tab

Result
RKE1 cluster hangs trying to connect to the nodes via SSH
Expected Result

RKE1 cluster should provision successfully.
Notes
I know this is manually configurable but it's not obvious why the rke1 cluster is hanging and it'll be easier for users if the default SSH user is set to rancher. Why is the default ubuntu in the first place? Was this done for another platform? Open to discussion. If this is updated, the fix will need to go into both 2.6.x and 2.7.x because I saw the issue on both versions of the ui.

I think a fix is only viable for 2.7.x since 2.6.11 is set to ship before the end of the month and QA needs time, then 2.6.x is scheduled for security updates only.
@Anna-Blendermann can you confirm whether 2.6.3 is accurate and if this is the case with 2.6.10? I'm curious if this is regression that's been around for a long time.

Yes, I was reproducing a different issue on 2.6.3 this morning and saw this. I'll try on 2.6.10

Issue confirmed on 2.6.10
Repro steps

Run rancher instance 2.6.10
Create aws cloud creds
Create 2 rke1 node templates, 1 with the default SSH user ubuntu and one with SSH user rancher
Watch the Machine pools tab for both clusters and see that the cluster with the SSH user rancher is the only one that provisions successfully. The other cluster hangs at SSH

Thanks @Anna-Blendermann
For UI, if this is quick for 2.7.x, then let's get a backport for 2.6.11 pronto since the deadline for that version is coming in fast

This is a backend issue - the schema for amazonec2config contains the default for the sshUser field:

@gaktive We should transfer this issue to rancher/rancher

authors: annablender gaktive nwmac


text:
Pipeline: self-signed-cert git integration and other settings

Address issue: https://github.com/rancher/docs/issues/1018

LGTM

authors: gitlawr loganhz

repo: rancher/docs


text:
[POC] Integrate a development channel in charts

This is a PoC to add an unstable channel for helm builds happening at isv:Rancher:Elemental projects in OBS.

@fgiudici @anmazzotti this is what I had in mind for setting a development channel only for projects under isv:Rancher:Elemental. So it could be a separate OBS package that is never submitted to IBS.

I like this. I think you can simply add your OBS Dockerfile and .json to the elemental-channels project, this could be the Dockerfile.unstable flavor.
The only thing I miss is when this image is refreshed. Can we for example trigger the elemental-channel service after build-baremetal-iso-image succeeds?
Otherwise the elemental-channels Github refresh action runs nightly, but for a development image I'd really love to always have the latest latest.

I like this. I think you can simply add your OBS Dockerfile and .json to the elemental-channels project, this could be the Dockerfile.unstable flavor.

I'd not put in the same OBS package as the others as a flavor (we can include it in the github repository). The reason for that is because I'd love to be capable to keep OBS sources untouched when promoting from Dev to Staging to release projects. So if we keep development channel as a separate OBS image, then we can just simply do not submit it to release project and we are certain these bits are never landing in IBS.

The only thing I miss is when this image is refreshed. Can we for example trigger the elemental-channel service after build-baremetal-iso-image succeeds?

The idea is that no refresh is needed at all. Imagine something like:
registry.opensuse.org/isv/rancher/elemental/dev/containers/suse/sl-micro/6.0/baremetal-os-container:latest

This does not require refresh, it always pointing to the latest build we have in dev, which should be in sync with github repository head.

Otherwise the elemental-channels Github refresh action runs nightly, but for a development image I'd really love to always have the latest latest.

For development I don't think we need any refresh. They can be purely static, that's why I am not sure we need those sources in github repository at all.

authors: anmazzotti davidcassany

repo: rancher/elemental-operator


text:
upgrade failed when upgrading from passive

cos-toolkit version:
master (built probably June 14/15 whenever the initramfs "cut" problem was introduced)
CPU architecture, OS, and Version:
amd64 Leap 15.3
Describe the bug
This is a potential bug.
elemental upgrade --reboot failed to remount /run/initramfs/cos-state ro, un ultimately reboot (elemental cli never finished the Cleanup step.)
I wanted to upgrade to pick up the "cut" fix.  My system was booted to passive because active had the missing "cut". Ran "elemental upgrade --reboot" configured to upgrade from my local registry. (Note: references to k3os have nothing to do with rancher os2. I have basically built my own flavor of k3os v1 with elemental toolkit.)
/etc/luet/luet.yaml:
logging:
  color: false
  enable_emoji: false
general:
  debug: false
  spinner_charset: 9
repositories:
  - name: local
    description: local
    type: docker
    enable: true
    cached: true
    priority: 1
    verify: false
    urls:
      - 192.168.0.33:5000/k3os

/etc/elemental/config.yaml
upgrade:
  system:
    uri: docker:192.168.0.33:5000/k3os:staging
  recovery-system:
    uri: channel:recovery/cos
reboot: true

Ran "elemental upgrade --reboot" as root.
To Reproduce
Boot to passive and attempt an upgrade? (Not 100% sure.)
Expected behavior
Expected the upgrade to complete and reboot.
Logs
INFO[2022-06-17T10:43:14Z] Upgrade completed
E0617 10:43:14.216350   19578 mount_linux.go:195] Mount failed: exit status 32
Mounting command: systemd-run
Mounting arguments: --description=Kubernetes transient mount for /run/initramfs/cos-state --scope -- mount -t auto -o remount,ro /dev/sda4 /run/initramfs/cos-state
Output: Running scope as unit: run-r72f77cfd7d8145ac9d1808cf43912cc5.scope
mount: /run/initramfs/cos-state: mount point is busy.

ERRO[2022-06-17T10:43:14Z] Failed mounting device /dev/sda4 with label COS_STATE

mount:
/dev/sda4 on /run/initramfs/cos-state type ext4 (rw,relatime)

Clearly, the intention is for COS_STATE to be remounted as read-only.
I ran this directly:
systemd-run --description="Kubernetes transient mount for /run/initramfs/cos-state" --scope -- mount -t auto -o remount,ro /dev/sda4 /run/initramfs/cos-state
Running scope as unit: run-r16db1092507044c5b1eb2947d629aeb3.scope
mount: /run/initramfs/cos-state: mount point is busy.

Installed lsof (via scp) and no files were opened.
Discovered loopback device was deleted.
k3os-staging:/var/log # losetup -a
/dev/loop0: [2052]:262147 (/run/initramfs/cos-state/cOS/passive.img (deleted))

Even just a simple umount of /run/initramfs/cos-state reported target busy.
I tried everything I could think of to make the device not busy, to no avail.  I ended up rebooting, since the upgrade had actually succeeded, it just died in the unwinding Cleanup() in elemental-cli.
Additional context
k3s WAS running at the time of the upgrade, but, I have done this many times now, so I don't suspect this affected anything.  However, I am using the embedded etcd for the first time. Not sure if that might have contributed to this.

I realize now that loop0 is mounted on /, so, any file being opened while the fs was mounted as rw, could have caused this.  I did k3s-killall.sh before attempting all of the above diagnostics, but not before I did the initial upgrade attempt.  I bet that's what it was. Something opened a file while the upgrade was / mounted rw and by the time upgrade completed, / was busy.

Thanks for the report @kcburge !
When implementing the upgrade I did hit this on occasion, when the cos-state partition was unable to be remounted RO after the upgrade due to it being busy, although I could never reproduce it consistently to find out what was keeping it from remounting it.
In the end, it should not affect much, as its done after the upgrade is finished so the system is correct and a reboot should be the next thing but we would really like to keep the system in the same state as when we started.
I guess this kind of makes sense if upgrading from passive as we move the old active into passive before upgrading the active, thus we are removing the current system.
Do you have in hand your custom k3os and the cloud config used in order to try to reproduce it? Were you able to reproduce this or it was a once only issue?
Thanks!

See https://github.com/rancher/elemental-cli/issues/431 for more info, closing this, feel free to reopen if it is still an issue

authors: Itxaka frelon kcburge

repo: rancher/elemental-toolkit


text:
[Misc] make install-tools tries to write to /bin by default

What did you do
make install-tools
What did you expect to happen
Working installation of go dependencies for k3d
Screenshots or terminal output
/bin/bash: line 1: golangci-lint: command not found
(curl -sfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /bin v1.28.3)
golangci/golangci-lint info checking GitHub for tag 'v1.28.3'
golangci/golangci-lint info found version: 1.28.3 for v1.28.3/linux/amd64
install: cannot create regular file '/bin/golangci-lint': Permission denied
make: *** [Makefile:192: install-tools] Error 1

Which OS & Architecture

Linux

Which version of k3d

Git clone of k3d github repository at commit e7802d2def3dd7

Hi @cworth-gh , thanks for opening this issue and especially for working on a fix right away :)

Hi @cworth-gh , thanks for opening this issue and especially for working on a fix right away :)

Fixed in a1ebb44 as mentioned in #445

license: MIT


text:
[v0.4.0 air-gap env] k3s startup failure, but the previous version was normal.

Describe the bug
The new version (v0.4.0) ran incorrectly in air-gap env, but the previous version (v0.3.0) ran normally.
To Reproduce

Put the "k3s-airgap-images-amd64.tar" in "/var/lib/rancher/k3s/agent/images".
Put the k3s binary in "/usr/local/bin/"
Prepare the "/etc/systemd/system/k3s.service":

[Unit]
Description=Lightweight Kubernetes
Documentation=https://k3s.io
After=network.target

[Service]
Type=notify
EnvironmentFile=/etc/systemd/system/k3s.service.env
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/k3s server
KillMode=process
Delegate=yes
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=infinity

[Install]
WantedBy=multi-user.target

Run "systemctl enable k3s.service", "systemctl daemon-reload", "systemctl start k3s.service".
Check k3s service (systemctl status k3s.service), got the error:

● k3s.service - Lightweight Kubernetes
   Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2019-04-17 09:23:40 UTC; 33s ago
     Docs: https://k3s.io
  Process: 1080 ExecStart=/usr/local/bin/k3s server (code=exited, status=255)
  Process: 1077 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
  Process: 1072 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
 Main PID: 1080 (code=exited, status=255)

Apr 17 09:23:40 william k3s[1080]: github.com/rancher/k3s/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc001000000, 0x0, 0x1, 0x0)
Apr 17 09:23:40 william k3s[1080]:         /go/src/github.com/rancher/k3s/vendor/github.com/spf13/cobra/command.go:846 +0x2ec
Apr 17 09:23:40 william k3s[1080]: github.com/rancher/k3s/vendor/github.com/spf13/cobra.(*Command).Execute(...)
Apr 17 09:23:40 william k3s[1080]:         /go/src/github.com/rancher/k3s/vendor/github.com/spf13/cobra/command.go:794
Apr 17 09:23:40 william k3s[1080]: github.com/rancher/k3s/pkg/daemons/agent.kubeProxy.func1(0xc001000000)
Apr 17 09:23:40 william k3s[1080]:         /go/src/github.com/rancher/k3s/pkg/daemons/agent/agent.go:45 +0x30
Apr 17 09:23:40 william k3s[1080]: created by github.com/rancher/k3s/pkg/daemons/agent.kubeProxy
Apr 17 09:23:40 william k3s[1080]:         /go/src/github.com/rancher/k3s/pkg/daemons/agent/agent.go:44 +0x2c6
Apr 17 09:23:40 william systemd[1]: k3s.service: Main process exited, code=exited, status=255/n/a
Apr 17 09:23:40 william systemd[1]: k3s.service: Failed with result 'exit-code'.

Expected behavior
k3s start normally.
Screenshots
N/A
Additional context
OS version: Fedora 29
journalctl logs:
Apr 17 09:52:17 william systemd[1]: Starting Lightweight Kubernetes...
Apr 17 09:52:17 william k3s[1317]: time="2019-04-17T09:52:17.307821704Z" level=info msg="Starting k3s v0.4.0 (7822549f)"
Apr 17 09:52:17 william k3s[1317]: time="2019-04-17T09:52:17.308747380Z" level=info msg="Running kube-apiserver --allow-privileged=true --authorization-mode=Node,RBAC --insecure-port=0 --service-account-key-file=/var/lib/rancher/k3s/server/tls/service.key --kubelet-client-certificate=/var/lib/rancher/k3s/server/tls/token-node.crt --requestheader-allowed-names=kubernetes-proxy --requestheader-client-ca-file=/var/lib/rancher/k3s/server/tls/request-header-ca.crt --cert-dir=/var/lib/rancher/k3s/server/tls/temporary-certs --advertise-address=127.0.0.1 --secure-port=6444 --tls-cert-file=/var/lib/rancher/k3s/server/tls/localhost.crt --service-account-issuer=k3s --basic-auth-file=/var/lib/rancher/k3s/server/cred/passwd --kubelet-client-key=/var/lib/rancher/k3s/server/tls/token-node.key --requestheader-extra-headers-prefix=X-Remote-Extra- --service-cluster-ip-range=10.43.0.0/16 --api-audiences=unknown --proxy-client-cert-file=/var/lib/rancher/k3s/server/tls/client-auth-proxy.crt --proxy-client-key-file=/var/lib/rancher/k3s/server/tls/client-auth-proxy.key --requestheader-group-headers=X-Remote-Group --watch-cache=false --service-account-signing-key-file=/var/lib/rancher/k3s/server/tls/service.key --advertise-port=6445 --bind-address=127.0.0.1 --tls-private-key-file=/var/lib/rancher/k3s/server/tls/localhost.key --requestheader-username-headers=X-Remote-User"
Apr 17 09:52:17 william k3s[1317]: time="2019-04-17T09:52:17.418452269Z" level=info msg="Running kube-scheduler --secure-port=0 --kubeconfig=/var/lib/rancher/k3s/server/cred/kubeconfig-system.yaml --leader-elect=false --port=10251 --bind-address=127.0.0.1"
Apr 17 09:52:17 william k3s[1317]: time="2019-04-17T09:52:17.418952625Z" level=info msg="Running kube-controller-manager --cluster-cidr=10.42.0.0/16 --root-ca-file=/var/lib/rancher/k3s/server/tls/token-ca.crt --leader-elect=false --port=10252 --bind-address=127.0.0.1 --kubeconfig=/var/lib/rancher/k3s/server/cred/kubeconfig-system.yaml --allocate-node-cidrs=true --secure-port=0 --service-account-private-key-file=/var/lib/rancher/k3s/server/tls/service.key"
Apr 17 09:52:17 william k3s[1317]: time="2019-04-17T09:52:17.478196406Z" level=info msg="Listening on :6443"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.377725824Z" level=info msg="Node token is available at /var/lib/rancher/k3s/server/node-token"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.378502970Z" level=info msg="To join node to cluster: k3s agent -s https://192.168.1.13:6443 -t ${NODE_TOKEN}"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.384737529Z" level=info msg="Writing static file: /var/lib/rancher/k3s/server/static/charts/traefik-1.64.0.tgz"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.385427654Z" level=info msg="Writing manifest: /var/lib/rancher/k3s/server/manifests/coredns.yaml"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.385757235Z" level=info msg="Writing manifest: /var/lib/rancher/k3s/server/manifests/traefik.yaml"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.452020586Z" level=info msg="Wrote kubeconfig /etc/rancher/k3s/k3s.yaml"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.452061710Z" level=info msg="Run: k3s kubectl"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.452071898Z" level=info msg="k3s is up and running"
Apr 17 09:52:18 william systemd[1]: Started Lightweight Kubernetes.
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.515472774Z" level=info msg="Logging containerd to /var/lib/rancher/k3s/agent/containerd/containerd.log"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.515752103Z" level=info msg="Running containerd -c /var/lib/rancher/k3s/agent/etc/containerd/config.toml -a /run/k3s/containerd/containerd.sock --state /run/k3s/containerd --root /var/lib/rancher/k3s/agent/containerd"
Apr 17 09:52:18 william k3s[1317]: time="2019-04-17T09:52:18.517585172Z" level=info msg="Waiting for containerd startup: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial unix /run/k3s/containerd/containerd.sock: connect: connection refused\""
Apr 17 09:52:23 william k3s[1317]: time="2019-04-17T09:52:23.491709952Z" level=info msg="Connecting to wss://localhost:6443/v1-k3s/connect"
Apr 17 09:52:23 william k3s[1317]: time="2019-04-17T09:52:23.491752118Z" level=info msg="Connecting to proxy" url="wss://localhost:6443/v1-k3s/connect"
Apr 17 09:52:23 william k3s[1317]: time="2019-04-17T09:52:23.497555552Z" level=info msg="Handling backend connection request [william]"
Apr 17 09:52:23 william k3s[1317]: time="2019-04-17T09:52:23.498939979Z" level=info msg="Running kubelet --root-dir=/var/lib/rancher/k3s/agent/kubelet --seccomp-profile-root=/var/lib/rancher/k3s/agent/kubelet/seccomp --resolv-conf=/etc/resolv.conf --container-runtime-endpoint=unix:///run/k3s/containerd/containerd.sock --read-only-port=0 --allow-privileged=true --eviction-minimum-reclaim=imagefs.available=10%,nodefs.available=10% --authentication-token-webhook=true --client-ca-file=/var/lib/rancher/k3s/agent/client-ca.pem --kubelet-cgroups=/systemd/system.slice --cni-conf-dir=/var/lib/rancher/k3s/agent/etc/cni/net.d --cni-bin-dir=/var/lib/rancher/k3s/data/e249e3fc5ccf8ea07732c672f3062154b47357f5c85e1735339f087752a0f3ee/bin --container-runtime=remote --address=127.0.0.1 --healthz-bind-address=127.0.0.1 --eviction-hard=imagefs.available<5%,nodefs.available<5% --fail-swap-on=false --cluster-domain=cluster.local --anonymous-auth=false --cert-dir=/var/lib/rancher/k3s/agent/kubelet/pki --cluster-dns=10.43.0.10 --runtime-cgroups=/systemd/system.slice --cgroup-driver=cgroupfs --kubeconfig=/var/lib/rancher/k3s/agent/kubeconfig.yaml --serialize-image-pulls=false --hostname-override=william"
Apr 17 09:52:23 william k3s[1317]: Flag --allow-privileged has been deprecated, will be removed in a future version
Apr 17 09:52:23 william k3s[1317]: time="2019-04-17T09:52:23.518017526Z" level=info msg="waiting for node william: nodes \"william\" not found"
Apr 17 09:52:23 william k3s[1317]: F0417 09:52:23.536112    1317 server.go:468] open /proc/sys/net/netfilter/nf_conntrack_max: no such file or directory
Apr 17 09:52:23 william k3s[1317]: goroutine 5322 [running]:
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/klog.stacks(0xc0006df000, 0xc000156280, 0x76, 0x13a)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/klog.go:828 +0xb1
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/klog.(*loggingT).output(0x5f7cb20, 0xc000000003, 0xc000c46460, 0x5caf918, 0x9, 0x1d4, 0x0)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/klog.go:779 +0x2d9
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/klog.(*loggingT).printDepth(0x5f7cb20, 0x3, 0x1, 0xc001791d90, 0x1, 0x1)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/klog.go:669 +0x12b
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/klog.(*loggingT).print(...)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/klog.go:660
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/klog.Fatal(...)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/klog.go:1189
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/k8s.io/kubernetes/cmd/kube-proxy/app.NewProxyCommand.func1(0xc00180e780, 0xc00273eb40, 0x0, 0x4)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/k8s.io/kubernetes/cmd/kube-proxy/app/server.go:468 +0x1e8
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/github.com/spf13/cobra.(*Command).execute(0xc00180e780, 0xc0029da140, 0x4, 0x4, 0xc00180e780, 0xc0029da140)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/github.com/spf13/cobra/command.go:760 +0x2ae
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0xc00180e780, 0xc003873950, 0x3bfb1c0, 0xc0033f3c80)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/github.com/spf13/cobra/command.go:846 +0x2ec
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/vendor/github.com/spf13/cobra.(*Command).Execute(...)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/vendor/github.com/spf13/cobra/command.go:794
Apr 17 09:52:23 william k3s[1317]: github.com/rancher/k3s/pkg/daemons/agent.kubeProxy.func1(0xc00180e780)
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/pkg/daemons/agent/agent.go:45 +0x30
Apr 17 09:52:23 william k3s[1317]: created by github.com/rancher/k3s/pkg/daemons/agent.kubeProxy
Apr 17 09:52:23 william k3s[1317]:         /go/src/github.com/rancher/k3s/pkg/daemons/agent/agent.go:44 +0x2c6
Apr 17 09:52:23 william systemd[1]: k3s.service: Main process exited, code=exited, status=255/n/a
Apr 17 09:52:23 william systemd[1]: k3s.service: Failed with result 'exit-code'.

It looks like the nf_conntrack modules is not loaded for whatever reason, if you add ExecStartPre=-/sbin/modprobe nf_conntrack to k3s.service does that help resolve the problem?

@erikwilson Yep, it's working after add "ExecStartPre=-/sbin/modprobe nf_conntrack" to k3s.service.
Which feature introduced the dependency of nf_conntrack module?
And I will submit a PR to add the dependencies of nf_conntrack modules. (install.sh, README.md, k3s.service)
/assign

It looks like the nf_conntrack modules is not loaded for whatever reason, if you add ExecStartPre=-/sbin/modprobe nf_conntrack to k3s.service does that help resolve the problem?

Hi Eric
We've recently been having some similar intermittent issues which I believe are related to nf_conntrac module not being loaded.
Here's the log from journalctl for k3s:
k3s[15606]: W1107 12:52:03.156596   15606 proxier.go:597] Failed to load kernel module ip_vs_wrr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modu
Nov 07 12:52:03 svwrs60000 k3s[15606]: W1107 12:52:03.160629   15606 proxier.go:597] Failed to load kernel module ip_vs_sh with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modul
Nov 07 12:52:03 svwrs60000 k3s[15606]: W1107 12:52:03.165176   15606 proxier.go:597] Failed to load kernel module nf_conntrack_ipv4 with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /
Nov 07 12:52:03 svwrs60000 k3s[15606]: I1107 12:52:03.208167   15606 node.go:135] Successfully retrieved node IP: 11.164.196.72
Nov 07 12:52:03 svwrs60000 k3s[15606]: I1107 12:52:03.208222   15606 server_others.go:150] Using iptables Proxier.
Nov 07 12:52:03 svwrs60000 k3s[15606]: I1107 12:52:03.216003   15606 server.go:529] Version: v1.16.2-k3s.1
Nov 07 12:52:03 svwrs60000 k3s[15606]: I1107 12:52:03.216681   15606 conntrack.go:103] Set sysctl 'net/netfilter/nf_conntrack_max' to 2621440
Nov 07 12:52:03 svwrs60000 k3s[15606]: F1107 12:52:03.216715   15606 server.go:443] open /proc/sys/net/netfilter/nf_conntrack_max: no such file or directory
Nov 07 12:52:03 svwrs60000 systemd[1]: k3s.service: main process exited, code=exited, status=1/FAILURE
Nov 07 12:52:03 svwrs60000 systemd[1]: Unit k3s.service entered failed state.
Nov 07 12:52:03 svwrs60000 systemd[1]: k3s.service failed.
You suggest adding "ExecStartPre=-/sbin/modprobe nf_conntrack" to k3s.service and following the change and I can see the following entries in the service file:
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay
Is adding "ExecStartPre=-/sbin/modprobe nf_conntrack" still relevant to make sure the service is not considered failed?
Many thanks in advance,
Eldar

We have still this problem with v1.18.2+k3s1.
After multitple restarts (<20) by systemD it comes up. Unfortunately the containerd will already start the pods and our software stack will initializing but it breaks without a functional network.
On CentOS the path for modprobe is /usr/sbin/modprobe and not like the provided systemd unit file /sbin/modprobe.

authors: Eldar-Ahmadov erikwilson posteingang warmchang

license_source: bigquery


text:
Remove kube master url option from kubernetes-package

Remove master url option for kube-dns to automatically connect to kubernetes api over HTTPS.

LGTM

authors: galal-hussein joshwget

repo: rancher/kubernetes-package


text:
write_files into rancher home dir changes permissions to root:root

RancherOS Version: (ros os version)
v1.2.0
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
AWS

Follow the instructions here: http://rancher.com/docs/os/v1.2/en/configuration/private-registries/#docker-client-authentication
Observe that /home/rancher is owned by root:root on boot

We didn't observe this behaviour with write_files on 1.1.x.

You can change the owner you want
write_files:
  - path: /home/rancher/config.json
    permissions: "0755"
    owner: "rancher:rancher"
    content: |
      test

Sorry I left that out. The file is owned by rancher:rancher but all of the enclosing directories are owned by root:root.

authors: niusmallnan ryansch

repo: rancher/os


text:
ros config merge broken from stdin on v1.5.1

RancherOS Version: (ros os version)
ros v1.5.1
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
virtualbox
On ros v1.5.0 I can pipe in ros config like this:
cat somefile.yaml | ros config merge

But on ros v1.5.1 I get the following error for the exact same command:
FATAL input parameter cannot be empty

It still works when loading the file via the -i argument but we are doing it programatically and writing a file first is not ideal.

@kingsd041 Please add this function to our validation tests.

Tested with rancher/os:v1.5.2-rc1 from May 17
This version supports the ros config merge command.
Verified fixed

authors: niusmallnan riaan53 rootwuj


text:
[Windows] UI Updates for Add Host

Rancher versions:
rancher/server: v1.6.13-rc3
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Windows
UI Updates
[ ] Remove the Windows Host text.

[ ] Step 1: Similar to the Linux Add Host page, we should refer to the latest supported versions of Docker. We should update the Docs to include what is supported for Windows.
http://rancher.com/docs/rancher/v1.6/en/hosts/#supported-docker-versions

[ ] Step 2: Make a note that the Windows machine will need to be rebooted if the applications were installed.
[ ] Step 3: Change the text to Specify a unique subnet for the Windows host. In order to support an overlay network in Windows, each host in the environment must have a unique subnet.
[ ] Step 4: Change the text to Specify the router IP for the host's subnet. This IP is used to forward network traffic between the different hosts.

Available with v1.6.13-rc4

Text is updated in v1.6.13-rc4

authors: deniseschannon sabiodelhielo

repo: rancher/rancher


text:
Update docker-machine to v0.14.0

https://github.com/docker/machine/releases/tag/v0.14.0
Fixes for:
https://github.com/rancher/rancher/issues/11376
https://github.com/rancher/ui/pull/1704

Updated in backend. UI changes for other issues, will be tested separately.

authors: deniseschannon superseb


text:
Pods with health check stuck on "Unavailable" status. Unable to expand health check banner.

Steps:
Create a new work load.
Add health check with option "TCP connection opens successfully"
Launch workload.
Results:
Associated console errors when attempting to expand health check banner.
Does not list added health checks.

Fixed in UI side. But there is a backend issue as well.
UI sends tcp: true to backend for "TCP connection opens successfully"

But backend didn't populate it.

Master 4/20/18
Verified ability to add pod with health check. Reached available status. Checked TCP set to "true" for backend. UI able to edit health check.

authors: adingilloRancher loganhz


text:
[QUESTION] How to use weave with encryption

Hi
I'm running rancher v2.2.0-rc2 to create a new cluster with weave as cni.
As described here, rancher sets a auto-generated password:
https://github.com/rancher/rke/pull/781
If I set Network-Plugin to weave in the UI and look at the YAML it look like this:
network:
  options:
    flannel_backend_type: "vxlan"
  plugin: "weave"
  weave_network_provider:
    password: "Q]SZOQ5wp@n$oijz"

Password value is generated random.
If I create the cluster now, weave starts unencrypted.
Is there something wrong with the syntax? In the link above it looks little different from here.

@galal-hussein could you check this issue

Any update about this issue?

Tested with latest  build from master.
Created a cluster with "Network Provider" set to Weave.
weave-net daemonset  gets created with env variable WEAVE_PASSWORD as expected.
kubectl get daemonset weave-net -n kube-system -o json
                "containers": [
                    {
                        "command": [
                            "/home/weave/launch.sh"
                        ],
                        "env": [
                            {
                                "name": "HOSTNAME",
                                "valueFrom": {
                                    "fieldRef": {
                                        "apiVersion": "v1",
                                        "fieldPath": "spec.nodeName"
                                    }
                                }
                            },
                            {
                                "name": "IPALLOC_RANGE",
                                "value": "10.42.0.0/16"
                            },
                            {
                                "name": "WEAVE_PASSWORD",
                                "value": "egFC%z)DN*bo3y53"
                            }
                        ],
                        "image": "weaveworks/weave-kube:2.5.0",
                        "imagePullPolicy": "IfNotPresent",
                        "name": "weave",

It doesn't work with v2.2.0-rc2 but with master it looks fine.

authors: alena1108 sangeethah vistalba


text:
Rancher password generator for catalog apps generates bad passwords

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):
Install a Catalog App with an automatically generated helm chart
Result:
Sometimes, a password may be generated with invalid characters in it, like ,
When this happens, you will get the error message:
Helm template failed. Error: failed parsing --set data: key "gA92nmfSK" has no value (cannot end with ,) : exit status 1

where the password generated was lhmn,gA92nmfSK
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.2
Installation option (single install/HA): doesn't matter

Which catalog app? I guess we can fix it in the chart as valid_chars  works for password.
Related PR https://github.com/rancher/ui/pull/2505

@loganhz this is a custom catalog app

That's a perfectly valid random password, being not escaped properly somewhere along the line.  Answers should be able to have a comma in them.

i also think character # gets mishandled.
Could someone from the rancher team (@cjellick ?) state if such passwords are meant to be supported?

Yep, meant to be supported. We can address as part of this bug.

https://github.com/helm/helm/issues/1556

The issue comes from the helm parser splitting on commas when using the --set command as we do. So our command looks something like --set "a=b,c=d which is fine but if you include a comma in the value the parser breaks. Well, you can quote the pairs and escape all the commas but now something that should work in helm, won't. For example the lists a={a,b,c} they allow for set. So this fix needs to take all of this into account - quoting the pairs and escaping commas but only when they should be escaped and won't break set.

Let's limit to escaping commas (and other prolematic characters) when WE generate passwords.
Lets add a general UI note that reference the fact that users must escape commas in their own answers. https://rancher.com/docs/rancher/v2.x/en/catalog/apps/?origin_team=T02RW4JDH#configuration-options

rancher/rancher:master-head bc3700f8

Reproduced in v2.2.7

Deploy wordpress app with a comma in the password
Wordpress fails to deploy

Deploy Rancher master
Create cluster
Deploy wordpress app with a comma in the password
The app deploys successfully

authors: Oats87 bmdepesa cjellick dramich fgeorgatos loganhz vincent99


text:
rancher-compose pull Unknown schema type [pullTask] error

I use rancher-compose up to deploy containers. There is 'cache' service in the docker-compose.yml,
...
cache:
  restart: always
  tty: true
  image: redis
  stdin_open: true
...

In case there is update for image redis:latest, I wanna pull that image and don't need to go through process of upgrade, like what command line rancher-compose upgrade does.
I tried to use rancher-compose pull cache, but get error
Unknown schema type [pullTask] error

Check source code, it uses docker libcompose pull, does that mean it actually uses docker-compose to pull? While I tested docker-compose pull, it works perfect.
rancher-compose version version v0.4.0

Do you have more services listed in your docker-compose.yml file? Can you share your entire docker-compose.yml file?
The rancher-compose pull command doesn't take in a service name as an argument, it automatically looks at all services inside the docker-compose.yml file and will pull new images for the images in any service.

What version is the Rancher that rancher-compose is pointed at?  It might be a red herring but the error message suggests that it's < v0.38 and the backend/api support for pull isn't there yet.

You are right, Rancher version
Rancher	v0.37.1
Cattle	v0.91.1
User Interface	v0.47.0
Rancher Compose	beta/latest
So pull isn't ready for that v0.37.1

rancher-compose pull was only added as of v0.38.0, but I'd recommend v0.39.0 as there were some bugs in v0.38.0 that have been fixed.
We are looking to implement https://github.com/rancher/rancher/issues/1725 and https://github.com/rancher/rancher/issues/2007 to ensure issues like yours are easier to spot.

authors: deniseschannon summerQLin vincent99


text:
Add cloudscale.ch driver

Add cloudscale.ch driver

The feature is verified with Rancher server rancher\rancher:master-head version master-3385-head
After enabling cloudscale in Node Drivers:

Able to deploy a cluster, scale up and down nodes, and deploy workloads:

authors: aaronRancher maggieliu


text:
EPIC: AKS Provisioner

Tracking our work for the aks-operator for Rancher.

[x] Follow up from PR1: https://github.com/rancher/rancher/issues/31648
[x] Cloud Creds: https://github.com/rancher/rancher/issues/31014
[x] Sync: https://github.com/rancher/rancher/issues/31015
[x] Handler: https://github.com/rancher/rancher/issues/31016
[x] Update Proxy calls: https://github.com/rancher/rancher/issues/32399
[x] Add new Proxy calls: https://github.com/rancher/rancher/issues/32587
[x] Register cluster: https://github.com/rancher/rancher/issues/31462
[x] Private cluster and private link: https://github.com/rancher/rancher/issues/25273
[x] Windows compatibility: https://github.com/rancher/rancher/issues/32586
[x] HTTP application routing: https://github.com/rancher/rancher/issues/32674
[x] Provide the resource groups to the UI: https://github.com/rancher/rancher/issues/32699
[x] Monitoring Azure Kubernetes Service: https://github.com/rancher/rancher/issues/32675
[x] Node pool autoscaling: https://github.com/rancher/rancher/issues/32956
[x] Make tenant optional: https://github.com/rancher/rancher/issues/32897
[x] Complex nodepools bug: https://github.com/rancher/rancher/issues/32960
[x] Update kev1 regions https://github.com/rancher/rancher/issues/32967
[x] Request to notify if RBAC disabled: https://github.com/rancher/rancher/issues/27670
[x] Request to notify if RBAC disabled - UI  https://github.com/rancher/rancher/issues/33307
[x] Fix Azure network policy: https://github.com/rancher/rancher/issues/33202
[x] Monitoring set to null: https://github.com/rancher/rancher/issues/33237
[x] logAnalyticsWorkspaceName shows wrong value https://github.com/rancher/rancher/issues/33238
[ ] updating k8s version of 'NP with autoscaling' from Azure, causes error https://github.com/rancher/rancher/issues/33446

External issues

[x] Add to resourceset for backupoperator: https://github.com/rancher/backup-restore-operator/issues/81
[ ] Update terraform: https://github.com/rancher/rancher/issues/31296
[x] UI: https://github.com/rancher/rancher/issues/31315
[ ] Docs: https://github.com/rancher/docs/issues/3104
[x] UI Monitoring: https://github.com/rancher/rancher/issues/33142

Throwing this one to test now. We only have one issue here not ready.

authors: cbron gaktive


text:
[Backport] Fix all hosted clusters proxy capabilities

EKS: https://github.com/rancher/rancher/issues/31834
GKE: https://github.com/rancher/rancher/issues/32410
AKS: TBD

After an extensive investigation, it seems that there is a problem with the websocket the cluster-agent uses to connect to Rancher in this case. It may be a misconfiguration with the proxy which does not properly upgrade an TCP connection (There were several "connection closed" errors). For example, even creating an EKS cluster with public access enabled, waiting for the cluster to become active, then editing the cluster to enable only private access did not work; the cluster eventually went into an error state with timeouts to the Kubernetes API.
Investigating this issue further would require an extensive deployment environment where the Rancher server could be run locally behind a proxy so the server and proxy could be configured in tandem to find a solution.

I was able to do a little bit more investigation.
Previously, I was unable to get any response from the Rancher websocket, even when connection manually. I forced the RemoteService to use the ProxyFromEnvironment, even when attempting to tunnel, and was able to get a response locally.
However, this did not turn into a solution for the private cluster to connect.

authors: cbron thedadams


text:
Rancher is not opening when installed in K3s with nginx-ingress-controller

Rancher Server Setup

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

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): Helm on K3s

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: v1.21.7+k3s1
Cluster Type (Local/Downstream): Local

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

Describe the bug
Rancher UI is not opening on K3s with nginx-ingress-controller
To Reproduce

Deploy a new K3s master without traefik.
Install Helm
Install nginx-ingress-controller using helm chart

Result
Expected Result

It should map the rancher service in nginx-ingress-controller as the default backend just like its works with K3s + traefik, instead of giving 404

I am trying the same setup Rancher on K3s with traefik disable and ingress-nginx installed as ingress controller. Anyone got this working? It works fine with Traefik. The reason I am trying to use ingress-nginx instead of Traefik is I have a few deployments that need TCP/UDP ports to be exposed. I'm having a hard time doing it with Traefik.

It's not possible to use Rancher on K3S with nginx-ingress-controller, at least no docs are there for same.
Finally deployed Rancher on different VM & imported the K3s cluster.

That's a shame, it is already working with Traefik on K3s. Also running fine on RKE2/ingress-nginx as well. So it's surprising to find it won't work on K3s with nginx.

I saw this same issue, but using this HelmChart was successful in my case so might help here as well:
apiVersion: v1
kind: Namespace
metadata:
  name: ingress-nginx
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: ingress-nginx
  namespace: kube-system
spec:
  chart: ingress-nginx
  repo: https://kubernetes.github.io/ingress-nginx
  targetNamespace: ingress-nginx
  version: v4.0.19
  set:
  valuesContent: |-
    fullnameOverride: ingress-nginx
    controller:
      kind: DaemonSet
      dnsPolicy: ClusterFirstWithHostNet
      watchIngressWithoutClass: true
      allowSnippetAnnotations: false
      hostNetwork: true
      hostPort:
        enabled: true
      publishService:
        enabled: false
      service:
        enabled: false

One of the key values here that I was initially missing is:
      watchIngressWithoutClass: true

since ingress-nginx requires an IngressClass set without this in v1.21+. Notice below that without this, my ingress resource was not getting any addresses:
$ k get ingress -A
NAMESPACE       NAME      CLASS    HOSTS                      ADDRESS   PORTS     AGE
cattle-system   rancher   <none>   <redacted>                           80, 443   18m

After setting this correctly, it did get addresses and my UI was accessible.

Dear rancher-max could you please give us an example of the command you used to deploy it with helm ?
Thanks a lot in advance. Kind regards

I saw this same issue, but using this HelmChart was successful in my case so might help here as well:
apiVersion: v1
kind: Namespace
metadata:
  name: ingress-nginx
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: ingress-nginx
  namespace: kube-system
spec:
  chart: ingress-nginx
  repo: https://kubernetes.github.io/ingress-nginx
  targetNamespace: ingress-nginx
  version: v4.0.19
  set:
  valuesContent: |-
    fullnameOverride: ingress-nginx
    controller:
      kind: DaemonSet
      dnsPolicy: ClusterFirstWithHostNet
      watchIngressWithoutClass: true
      allowSnippetAnnotations: false
      hostNetwork: true
      hostPort:
        enabled: true
      publishService:
        enabled: false
      service:
        enabled: false

One of the key values here that I was initially missing is:
      watchIngressWithoutClass: true

since ingress-nginx requires an IngressClass set without this in v1.21+. Notice below that without this, my ingress resource was not getting any addresses:
$ k get ingress -A
NAMESPACE       NAME      CLASS    HOSTS                      ADDRESS   PORTS     AGE
cattle-system   rancher   <none>   <redacted>                           80, 443   18m

After setting this correctly, it did get addresses and my UI was accessible.

I saw this same issue, but using this HelmChart was successful in my case so might help here as well:
apiVersion: v1
kind: Namespace
metadata:
  name: ingress-nginx
---
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: ingress-nginx
  namespace: kube-system
spec:
  chart: ingress-nginx
  repo: https://kubernetes.github.io/ingress-nginx
  targetNamespace: ingress-nginx
  version: v4.0.19
  set:
  valuesContent: |-
    fullnameOverride: ingress-nginx
    controller:
      kind: DaemonSet
      dnsPolicy: ClusterFirstWithHostNet
      watchIngressWithoutClass: true
      allowSnippetAnnotations: false
      hostNetwork: true
      hostPort:
        enabled: true
      publishService:
        enabled: false
      service:
        enabled: false

One of the key values here that I was initially missing is:
      watchIngressWithoutClass: true

since ingress-nginx requires an IngressClass set without this in v1.21+. Notice below that without this, my ingress resource was not getting any addresses:
$ k get ingress -A
NAMESPACE       NAME      CLASS    HOSTS                      ADDRESS   PORTS     AGE
cattle-system   rancher   <none>   <redacted>                           80, 443   18m

After setting this correctly, it did get addresses and my UI was accessible.

Dear rancher-max could you please give us an example of the command you used to deploy it with helm ?
Thanks a lot in advance. Kind regards

Hi @rancher-max Thanks for the update.
I was trying with https://docs.nginx.com/nginx-ingress-controller.
What else do I need to change for nginx-ingress-controller ?

For k3s, you can place that helmchart manifest directly in /var/lib/rancher/k3s/server/manifests in your server running k3s, or just kubectl apply -f /path/to/that/file after startup. In our testing, we found just that to be enough, so you shouldn't need to change any other values in the chart (other than any application specific values you might also desire).

Hey @rancher-max,
I placed the file into the folder, also ran kubectl apply. Its a fresh install.

But it doesnt show any ingresses:

Any idea?
Thanks.

authors: cyrilkhouri headwhacker rancher-max saggiyogesh timowevel1


text:
Variable queries in the Rancher / Pod (Containers) query all container metrics, resulting in a very large response and slow loading/timeout of Metrics tab on Pod view in Rancher UI

Internal reference: SURE-3855
Issue description:
The Metrics tab in the Pod view of the Rancher UI (in a cluster with Monitoring v2 installed) uses the Rancher / Pod (Containers) dashboard from rancher-monitoring grafana. The namespace and pod variable queries for this dashboard are label_values(\{__name__=~"container_.*|windows_container_.*", namespace!=""}, namespace) and label_values(\{__name__=~"container_.*|windows_container_.*", namespace="$namespace", pod!=""}, pod)
The namespace variable query will retrieve all container metrics in all Namespaces, resulting in a large response body (in the customer environment with many running Pods, the response is over 60MB and causes very slow loading of the metrics). The issue also affects the variables in the Rancher / Pod Grafana dashboard.
By comparison, the built-in upstream Kubernetes / Compute Resources / Pod dashboard uses the following variable queries for namespace and pod, which are significantly smaller label_values(kube_pod_info\{cluster="$cluster"}, namespace) and label_values(kube_pod_info\{cluster="$cluster", namespace="$namespace"}, pod)
Business impact:
Slow loading of metrics view for Pods in Rancher UI, and of the Rancher / Pod and Rancher / Pod (Containers) dashboards in Grafana
Troubleshooting steps:
N/A
Repro steps:

Install a Rancher v2.6.3 instance and a custom cluster with a few nodes (I used github.com/superseb/tf-do-rancher2)
Install rancher-monitoring in the custom cluster (I used latest 100.1.0+up19.0.3)
Navigate to the metrics tab of a Pod view and observe the request of the following format: https://IP_ADDRESS/k8s/clusters/c-sk95t/api/v1/namespaces/cattle-monitoring-system/services/http:rancher-monitoring-grafana:80/proxy/api/datasources/proxy/1/api/v1/series?match[]=\{__name__=~"container_.*|windows_container_.*", namespace!=""}&start=1640771440&end=1640771740
Observe similar for the Rancher / Pod and Rancher / Pod (Containers) dashboards directly within Grafana
Compare the variable queries and payload size / response time for these two dashboards versus the built-in upstream Kubernetes / Compute Resources / Pod dashboard

Workaround:
Is workaround available and implemented? No
Actual behavior:
Very large query for variables in Grafana dashboard results in slow loading of Pod metrics in the Rancher UI
Expected behavior:
Small query used for variables in Grafana dashboard to ensure fast loading times

Thanks @catherineluse - yes, this would be a team 3 thing. I don't want to assign it to @aiyengar2 because he might not have bandwidth for it. I'll leave that up to @MKlimuszka.

@geethub97 please check with @aiyengar2 for details around the required resolution for this issue.

Verified on v2.7-head ID: 4a9b7ba
The queries seem to be much faster as they're appearing nearly instantly upon page load and when accessing the queries directly - https://nick27testing.qa.rancher.space/k8s/clusters/c-576qr/api/v1/namespaces/cattle-monitoring-system/services/http:rancher-monitoring-grafana:80/proxy/api/dashboards/uid/rancher-pod-containers-1 - it's a pretty instant response. Looking at the graphs directly on Grafana also load pretty instantly.

It would appears that, With the introduction of this pull request in monitoring, can't see the Grafana Dashboard of "Rancher/pod(containers)" ... see this https://github.com/rancher/rancher/issues/42207

authors: Jono-SUSE-Rancher gaktive nickwsuse prachidamle skanakal


text:
in small browser the submenu should highlight when I mouse over them

Version - master 3/4
Steps to Reproduce:

make your browser small
Click on the ...
Move your mouse over Hosts or any other submenu

Results: The submenus do no highlight when I hover over them
Expected: They should do same thing as main menu items and highlight

resolved in https://github.com/rancher/ui/pull/507

resolved in https://github.com/rancher/ui/pull/507

Version - master 3/4
Verified fixed

authors: lvuch tfiduccia


text:
Can't view contiainers logs and execute shell from rancher web

I use rancher-server with ssl follow the instruction  in Rancher Documentation, but have a problem to view the contiainers logs and execute shell.
The pop up window display "Disconnected".
The brower dev tool inspect the requests below:
Request URL:https://rancher-server/v1/containers/1i181/?action=logs
Request Method:POST
Status Code:200 OK
Remote Address:xxx

Request URL:wss://rancher-server/v1/logs/?token=xxx
Request Method:GET
Status Code:101 Switching Protocols

but there is no more error.
My nginx config files are below:
upstream my_domain {
            server some_ip:8080;
}
server {
    server_name my_domain;
    listen 80 ;
    access_log /var/log/nginx/access.log vhost;
    return 301 https://$host$request_uri;
}
server {
    server_name my_domain;
    listen 443 ssl ;
    access_log /var/log/nginx/access.log vhost;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
    ssl_certificate /etc/nginx/certs/my_domain.crt;
    ssl_certificate_key /etc/nginx/certs/my_domain.key;
    include /etc/nginx/vhost.d/default;
    location / {
        proxy_pass http://my_domain;
        include /etc/nginx/vhost.d/my_domain_location;
    }
}

/etc/nginx/vhost.d/my_domain_location:
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# This allows the ability for the execute shell window to remain open for
# up to 15 minutes. Without this parameter, the default is 1 minute and
# will automatically close.
proxy_read_timeout 900s;

Useful
Info

Versions
Rancher v1.0.1 Cattle: v0.159.7 UI: v1.0.5

Access
Disabled

Route
authenticated.project.help

I try not to use nginx and ssl, but still can't view contiainers logs. All my hosts is centos7 of kvm and use docker 1.10.3.

I found out it ok if I use docker-machine as host on my macbook, but I can't find out the problem of the kvm.
Here is some of the kvm info:
uname -a:
Linux dev-docker-101-241 4.5.2-1.el7.elrepo.x86_64 #1 SMP Wed Apr 20 15:17:10 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

docker version:
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:39:25 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:39:25 2016
 OS/Arch:      linux/amd64

docker info:
Containers: 6
 Running: 4
 Paused: 0
 Stopped: 2
Images: 8
Server Version: 1.10.3
Storage Driver: devicemapper
 Pool Name: docker-253:0-202245113-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 3 GB
 Data Space Total: 107.4 GB
 Data Space Available: 36.75 GB
 Metadata Space Used: 5.411 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.142 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-10-14)
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 4.5.2-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.796 GiB
Name: dev-docker-101-241
ID: CXTY:V5KW:CMG3:YNTJ:XJ6J:RPLD:YAQ3:DLIP:YSD2:K75P:NBMC:CR3C
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

I think this is ralated rancher-server can't set up a swarm cluster. I found some information below, but I don't know how to fix it.
docker logs -f r-Swarm_swarm_2:
time="2016-04-29T15:27:43Z" level=error msg="Failed to handle connection: Post http://rancher-server/v1/hosts/1h15/?action=dockersocket: dial tcp 10.254.100.118:80: getsockopt: connection refused"
time="2016-04-29T15:27:53Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T15:27:53Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T15:30:33Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T15:30:33Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T15:33:13Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T15:33:13Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T19:48:19Z" level=error msg="ListenAndServe: 7bd78eae-ecc4-487e-9068-2f1b646a0371 :accept tcp 127.0.0.1:3002: use of closed network connection"
time="2016-04-29T19:48:19Z" level=info msg="Removed Engine "
time="2016-04-29T19:57:01Z" level=info msg="Found host: "
time="2016-04-29T19:57:03Z" level=error msg="Failed to handle connection: websocket: bad handshake"
time="2016-04-29T20:12:42Z" level=info msg="Found host: "
time="2016-04-29T20:12:43Z" level=error msg="Failed to handle connection: websocket: bad handshake"

docker exec -it r-Swarm_swarm_2 docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: swarm/1.1.3
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 3
 (unknown): localhost:3002
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ Error: (none)
  └ UpdatedAt: 2016-04-29T20:12:43Z
 (unknown): localhost:3000
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ Error: (none)
  └ UpdatedAt: 2016-04-28T21:43:25Z
 (unknown): localhost:3001
  └ Status: Pending
  └ Containers: 0
  └ Reserved CPUs: 0 / 0
  └ Reserved Memory: 0 B / 0 B
  └ Labels:
  └ Error: (none)
  └ UpdatedAt: 2016-04-29T19:57:03Z
Plugins:
 Volume:
 Network:
Kernel Version: 4.5.2-1.el7.elrepo.x86_64
Operating System: linux
Architecture: amd64
CPUs: 0
Total Memory: 0 B
Name: a2c8f9034c92

Just to confirm, these hosts are in a swarm environment? I have ubuntu 14.04 hosts in a swarm environment and no issues. I will try to spin up some CentOS hosts when I get a chance to see if I can reproduce.

Yes， all hosts are in a swarm environment.

After reading Troubleshooting FAQs and sshing to the host and viewing the rancher-agent container logs directly, I finally find out it was cause by the  date/time out of sync of the Rancher Server host and Rancher Agent host.

@kk17 I'm glad you were able to figure out.


text:
getting network error

This the error am getting  Removed (401 Client Error: Unauthorized ("Get https://registry-1.docker.io/v2/rancher/agent-instance/manifests/v0.8.3: unauthorized: incorrect username or password")

Useful
Info

Versions
Rancher v1.2.0-pre3 Cattle: v0.169.5 UI: v1.2.11

Access
github admin

Orchestration
Swarm

Route
container.ports

Like I said in previous bug - Can you please to to v1/projects//registrycredentials and tell me how many active credentials you have in there. There is currently a bug that will create multiple credentials and will give you a problem pulling the image.

Closing due to inactivity.

authors: mwaaas tfiduccia vincent99


text:
Script to retrieve the template versions of infra stacks and images/tags in those templates

The script Input should be the Rancher server version, e.g. v1.6.2
Minimum set of infra stacks to provide info:
healthcheck
network-services
ipsec
vxlan
scheduler
k8s
Potential Example Script Output:
Rancher Server Version: v1.6.2

network-services:v0.2.1
  - rancher/network-manager:v0.7.1
  - rancher/metadata:v0.9.1
  - rancher/dns:v0.15.1
healthcheck:v0.x.x
  - rancher/healthcheck:v0.x.x

**Notes: **
Pick the default version in config.yml of each template
Branches in Catalog
Rancher v1.6.0 and below use master branch
Rancher v1.6.1-v1.6.xx use v1.6-release branch
Rancher v2.0 will use v2.0-relesae branch

@deniseschannon could you effectively QA this by giving the script a try and seeing if it gives you what you want?

Verified this is working as expected.

authors: cjellick deniseschannon


text:
Add unit test for encrypted EBS volume-backed instance

This commit contains a unit test that ensures that the amazonec2 driver contains a flag for encrypting an EBS volume.
PR for the change this unit test is testing: https://github.com/rancher/machine/pull/63
Related Issue: https://github.com/rancher/rancher/issues/22691

On an upgraded rancher server from v2.3.5 to v2.3-head, Encrypt EBS Volume is not working. Created a bug https://github.com/rancher/rancher/issues/25546


text:
Add additional condition of badrequest to identify non oci repos

Fixes #47115
Please check the issue for more details
Summary

Adding additonal check "invalid repository name" to identify non oci repos.

If this is a fix for https://github.com/rancher/rancher/issues/47115 then it would make sense to clarify the message we provide to users?
https://github.com/rancher/dashboard/blob/14089aba62240aa4f7af9eb27511e343e2f352e0/shell/assets/translations/en-us.yaml#L1075
There's no hierarchy in repositories so it doesn't really make sense to point it at the registry.

@bigkevmcd I am sorry. I am unable to understand your point. What is the hirerarchy in repositories that is not preset and where ?

The help refers to oci://test.rancher.io/charts as an example URL for sourcing charts from.
Pointing it at oci://test.rancher.io/charts will usually not load all the charts in all the registries in the repository so it's a poor example.
There's no directory like hierarchy here, i.e. oci://test.rancher.io/charts will not necessarily find oci://test.rancher.io/charts/my-chart it doesn't work in the same way as Helm repositories do (index.yaml).

authors: bigkevmcd rohitsakala


text:
Add functional tfexec client

Issue: Closes rancher/qa-tasks#984
Problem
There was no method via the golang test framework to interact with terraform.
Solution
Added a tfexec client which wraps the tfexec library to provide easy-to-use wrapper functions around common operations.
Testing

Did various tests on local machine, not tested in Jenkins.
Adds additional dependencies to go.mod:

github.com/hashicorp/go-version
github.com/hashicorp/hc-install
github.com/hashicorp/terraform-exec
github.com/hashicorp/terraform-json

Example tfexec config:
tfexec:
  workspaceName: "workspaceToApplyModuleIn"
  workingDir: /path/to/a/terraform/module/
  execPath: /path/to/executable/terraform <--- if omitted, there is an InstallTfVersion() function to enable installing a specified terraform version
  varFilePath: /path/to/terraform/module.tfvars
  planFilePath: "/pre/existing/plan/file/to/use"
  planOpts:
    outDir: /path/to/output/planfile/to

Engineering Testing
Manual Testing

Automated Testing
QA Testing Considerations

Regressions Considerations

@caliskanugur Anything else I should modify before I squash?

@git-ival can squash your commits, and push up the back ports?

repo: rancher/shepherd


text:
kubernetes 1.18

the latest and greatest

Fixed via #53 thanks to @ibuildthecloud

repo: rancher/system-upgrade-controller


text:
Feature Request - Grid Filter mod filter support for 1.10 (SkyFactory 3)

Issue description:
Request Grid Filter mod filter support for 1.10 (SkyFactory 3)
What happens:
Option doesn't exist
Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: 12.18.2215
Refined Storage: 1.2.17

Maybe!

authors: KodiakJak raoulvdberge

repo: raoulvdberge/refinedstorage

license: mit


text:
Allow override text wrapping style inside api response

By editing in browser with these:
.m-markdown-small pre code, .m-markdown pre code {
    border: none;
    padding: 0;
    text-wrap-mode: wrap;
    overflow-wrap: anywhere;
}

Will result what I want:

But I can't find the way to override the style.
Please allow us to override code wrapping for api response.

Nvm, I decided to edit it on css style file and build it on my own.

repo: rapi-doc/RapiDoc


text:
[LOG-12179] TLS default; housekeeping

Description

Add tests to ensure TLS/SSL default.
Fix failing TravisCI build.
Fix warnings/testing.
Add versioning/documentation.
Pin versions.
Addressed two PRs from le_ruby as recommended by @rjacobs-r7 :
https://github.com/rapid7/le_ruby/pull/72
https://github.com/rapid7/le_ruby/pull/70
Testing

4 UTs.
Check data is being streamed from script and from build of locally installed package.
Also debugged to ensure correct TLS default path is taken.

require './lib/le.rb'
logger = Le.new('', 'eu')
logger.info('why do we fall?')
logger.debug('your anger gives you great power')
logger.error('everythings impossible until someone does it')

Let's find someone with Ruby experience to review this, if possible.


text:
Handle accessing properties when self.gpuData is empty

Handle accessing properties when self.gpuData is empty.
FIXME: add better description

Hi, is the commit still relevant and any further action on this? Thank you for the time.

repo: rapidsai/benchmark


text:
[DOC] Add developer documentation

Report needed documentation
Report needed documentation
There's currently no developer documentation. A new maintainer of the build repo will have to reverse engineer the sources in order to maintain them, which is not ideal and error prone.
Describe the documentation you'd like
Either an addition to the toplevel README.md, or additional README.md files in different subdirs, or both describing things like:

The directory layout and what files are where.
Description of the code generators.

Steps taken to search for needed documentation
This gap was uncovered as part of a design review.

Updated to better describe the various subdirs and the code generators.

repo: rapidsai/build


text:
Make generated find module targets global

Description

The targets created by the generated find modules should be made visible to all executing CMake.
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[ ] The documentation is up to date with these changes.
[ ] The cmake-format.json is up to date with these changes.
[ ] I have added new files under rapids-cmake/

[ ] I have added include guards (include_guard(GLOBAL))
[ ] I have added the associated docs/ rst file and update the api.rst

/merge

/merge

authors: robertmaynard vyasr

repo: rapidsai/rapids-cmake


text:
bump NCCL floor to 2.19

Follow-up to #218
This bumps the NCCL floor here slightly higher, to >=2.19. Part of a RAPIDS-wide update of that floor for the 24.10 release. See https://github.com/rapidsai/build-planning/issues/102#issuecomment-2375595743 for context.
cc @linhu-nv for awareness

/merge

repo: rapidsai/wholegraph


text:
Strange 403 errors

Lately I stumble across strange 403 errors for some media for some public users to scrap.
Example:
The scraper tries this URL
https://scontent-frt-3-2.cdninstagram.com/vp/5dde97....ecd/5B3A33BB/t50.2886-16/360...mp4
but I don't know where it gets the string/hash after the vp because when I open up the web browser and navigate to the user it shows me a different hash/string:  327b25....430
This now makes batch scraps real hard because for one, you have to use --retry-forever because of the 429 errors but this also makes the scraper try 403 errors forever ...
If fixing the main problem (wrong hash/string) is not possible, a workaround would be to handle 403 errors differently than 429 errors. Trying 403 errors for more than 1 hour is pointless but for 429 errors it's not.
@VasiliPupkin256 Maybe you can try to help again here?

What users it can be reproduced on?

@VasiliPupkin256 Sorry for not getting back to you earlier.
It seems, this error is a bit harder to reproduce than I thought it was. It first happened on a user I know personally but has a open profile so I was not so eager to share that account info. I didn't want some extensive testing a a account from a friend. I think you can understand that.
But now I found the 403 error on an account from a celebrity which should be safe to test on:
thereallacey
If you can't verify it on that account then I want to ask you to give me some hints as to where I can insert log informations so one can figure out what went wrong and where. I think it would be nice to know from which source it gets the wrong URL

@VasiliPupkin256 To make matters worse: I only get 403 errors on my older accounts. Accounts made about 1 months ago and earlier don't run into 403 errors!

@VasiliPupkin256
I can now confirm this strange behavior. I did a run on thereallacey on the same machine and just exchanged the username to login with and there are accounts it showed me constantly 403 errors and there are some that show no 403 errors at all. Some follow other users, others don't but I never follow thereallacey on any account so I can rule that out ...

I can't reproduce the error locally.
To find out where he got this wrong url we may dump all the responses it gets from instagram, add these lines in function get_json before the return resp.text statement:
        import tempfile
        with tempfile.NamedTemporaryFile(dir=".", delete=False) as f:
            f.write((args[0] + "\n").encode("utf-8"))
            f.write(resp.text.encode("utf-8"))
            f.flush()

and run the scraper. It will create a number of files in the same directory and then you'll be able to find which one has the wrong url in it and what exactly is happening there.

@VasiliPupkin256
Well, it's getting worse for me. Now 4-5 accounts I get these errors.
It really seems, the different URLs come from Instagram directely.
Everything is more or less equal, except when it comes to that URL. The field video_url differs much:
The OK one has only one parameter, efg with 36 characters
"video_url":"https://scontent-frx5-1.cdninstagram.com/vp/c65bdf982654fe331f5820c451807706/5B3EBED9/t50.2886-16/36635295_234732513793839_8145952538975407104_n.mp4?efg=eyJ1cmx....V9pZyJ9"
The failed one has four parameters, efg with 88 characters, vs with 64 characters, _nc_vs with 164 characters and _nc_rid with 32 characters
"video_url":"https://scontent-frx5-1.cdninstagram.com/vp/6b5e446606e94c8caf188466f829bbee/5B3EBED9/t50.2886-16/36635295_234732513793839_8145952538975407104_n.mp4?efg=eyJ2ZW5jb2RlX3RhZyI6....iOiJ1cmxnZW5fZnJvbV9pZyJ9&vs=b93ddf5bd28f951fb26....5de8343fb1e0033290483&_nc_vs=HBkcFQAYJEdLSHNLd0lvOENjWi1Yb0FBRm.......YFGRhc2hfYmFzZWxpbmVfNjQwX3YxAAA%3D&_nc_rid=b2a5592310....96419d"
I am totally clueless now ...

It strip those parameters when download the file. May be those parameters start matter something to instagram? Try to change these lines in the beginning of templatefilename to
        tmp = url.split('?')[0]
        filename, extension = os.path.splitext(os.path.split(tmp)[1])

but don't change yields in the end so the url will be passed to download function unchanged

@VasiliPupkin256
Sorry, I don't understand fully what you are trying to say. You mean the the def templatefilename(self, item):  block at around 931? Can you please give me the full block until  .... yield url, customfilename at line 957?

Change lines
        url = url.split('?')[0]
        filename, extension = os.path.splitext(os.path.split(url)[1])

to
        tmp = url.split('?')[0]
        filename, extension = os.path.splitext(os.path.split(tmp)[1])

@VasiliPupkin256
I'm afraid, that does not work. Not even on users that have no problems:
2018-07-07 12:58:10,557 - instagram_scraper.app - WARNING - Retry after exception PartialContentException('Partial response',) on https://scontent-frt3-2.cdninstagram.com/vp/4974133f4f102f494e0dfe3cbcd506e8/5BDBD6CE/t51.2885-15/e35/36147853_429989837410164_1113671641029672960_n.jpg?efg=eyJ1cmxnZW4iO........fZnJvbV9pZyJ9&se=7&ig_cache_key=MTgxODAw......2NzQ5Ng%3D%3D.2
2018-07-07 12:58:11,378 - instagram_scraper.app - WARNING - Retry after exception PartialContentException('Partial response',) on https://scontent-frt3-2.cdninstagram.com/vp/c95e0dc360450f1333d6214d2fc9b09d/5BC5DBDE/t51.2885-15/e35/35928215_236561827072890_1263927313783848960_n.jpg?efg=eyJ1cmxnZW4iO........fZnJvbV9pZyJ9&se=7&ig_cache_key=MTgxNjI1O.......jk2NjkxNA%3D%3D.2

Showing these errors in the log and it also does not download much, only the profile pics on 2 test users and it seems also a story on 1 of them

Ah ok, partial content exception is the other thing. It don't give you the file length in response.
Try change these lines in download function:
                                    if content_length is None:
                                        raise PartialContentException('Partial response')
                                    total_length = int(content_length)
                                    media_file.truncate(total_length)

to
                                    if content_length is None:
                                        #raise PartialContentException('Partial response')
                                    else:
                                        total_length = int(content_length)
                                        media_file.truncate(total_length)

this line
                            if downloaded != total_length:

to
                            if downloaded != total_length and total_length is not None:

and this line
            if downloaded == total_length:

to
            if downloaded == total_length or total_length is None:

That looks very promising. Running tests now but the first one already cleared out. It seems all are zero-lenght content. Inserted a logger message because # alone does not work.

@VasiliPupkin256
I just finished testing. All problematic  users went through now and the ones which worked before still work. I noticed however that they are indeed different files with different file sizes (but the same dimensions and I can't see any visual difference).
Maybe we should just use this fallback if there are 403 errors (more than 3 is a sure sign it won't work anymore) and leave the rest untoched? It would be also nice to mention the fallback in the logs?

@VasiliPupkin256
Are you working on a permanent fix for that? The matter is getting worse and worse for me. Now almost 30% of my scraped users have 403 errors on my older accounts
See also #245

Wait, but have the solution worked for you?
I've tried to see how to get a file size from instagram. Sometimes it allows to get it by doing a range request, sometimes it ignores the range request and return normal 200 response with no content-length. Ignoring the content length may result in partially downloaded files, instagram used to terminate connections periodically. So I need to figure out if I am doing the range requests correctly and how to force it to always make range responses on them.

@VasiliPupkin256
Yes, the solution worked for me. I thought I made that clear in my reply. The only 2 things I noticed were:

They are all content_length None. The else statement is never called for these ones.
The images are slightly smaller (maybe 5-10 KB) but I don't see any quality difference
I can see your point regarding partially downloaded files but it is far worse to have a 403 error which stops your batch runs completely until you remove the problematic user from the list and start anew. The problem is you have to use --retryforever because of the 429 errors but then you also retry those 403 errors forever.
This is why I suggesed: Download normally, most succeed anyway and only if you hit a 403 error try the new approach. And also to log them in the log so one could take a closer look at the files.
Oh, and please take also a look at #260 & #261. I think this will not take that much time and would be a very welcome improvement

@thewracl please test the code from this temporary branch http://github.com/VasiliPupkin256/instagram-scraper/blob/254fix/instagram_scraper/app.py and record the log it output, warnings etc

@VasiliPupkin256
Thanks for the quick reply and fix!
First observation. Your app.py still relies on STORIES_COOKIES so I also took your constants.py.
Starting tests now ...

@VasiliPupkin256
Well, I just finished the tests and it looks very good. Everything works again. There are only about 10-15 files that have errors, all MP4 files, example:
instagram_scraper.app - WARNING - The static url download failed for url https://scontent-frx5-1.cdninstagram.com/vp/a99bff4115160458f2b8ee614f8933f0/5B4DE819/t50.2886-16/36635295_234732513793839_8145952538975407104_n.mp4
There are no other log entries besides instagram_scraper.app - WARNING - The static url download failed for url https://scontent-... and the usual instagram_scraper.app - WARNING - The static url download failed for url https://scontent-...
Very good! Thanks again for your work!

repo: rarcega/instagram-scraper

license: unlicense


text:
Add support for percona mysql operator

Description
This PR adds support for the perconalab/percona-xtradb-cluster-operator docker image on ARM-based workloads.
Checklist

[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] All pre-commit hook validation passed successfully.
[x] All commits contain a well-written commit description including a title, description, and a Fixes: #XXX line if the commit addresses a particular GitHub issue.
[x] All workflow validation and compliance checks are passing.

Issue Ref (Optional)
No issue.
Notes
Not a whole lot to add here. If you have any questions, don't hesitate to ask them :)
Add special notes for your reviewer here.

/assign xUnholy

repo: raspbernetes/multi-arch-images


text:
UDP Stream + video record

I would like to know, how to use libcamera-apps, to stream video (udp/tcp) with specific resolution and record a video with different resolution and store it on my Raspi at the same time from one camera device

Hi, so are you wanting to encode two different resolution streams (as h.264, for example) at the same time? Currently libcamera-apps don't support that though it wouldn't be a huge job to add that kind of feature. If you were OK with the same resolution for both streams, and just wanted to output them twice, once over the network and once to a file, that would probably be an easier change. You could possibly even create a basic version of that by outputting to stdout (-o -) and using tee. Does that help at all?

It would be helpful if there is an example of making the same resolution for both streams, and just wanted to output them twice, once over the network and once to a file. In order to understand your explanation

So if the destination computer for the stream has IP address 1.2.3.4 you start something like
ffplay udp://1.2.3.4:12345

on it, and then on the Pi run
libcamera-vid --inline -o - | tee save.h264 | nc -u 1.2.3.4 123454

and this would both send to stream to the destination computer using udp, and save the file locally as save.h264.
If you wanted to make libcamera-vid do this all by itself then you'd have to get involved in C++ programming. You might want to create an Output class that "demultiplexes" the stream it's being given to several other Output objects. It could be an interesting feature so we'd certainly consider a pull request for something like that.

I think this can be closed now.  Feel free to re-open if there are any more queries.

authors: davidplowman naushir smababou

repo: raspberrypi/libcamera-apps


text:
build win wallet error

./build\bitcoin.o:bitcoin.cpp:(.text+0x2425): undefined reference to pwalletMain' ./build\bitcoingui.o:bitcoingui.cpp:(.text+0x39e2): undefined reference to pwalletMain'
./build\bitcoingui.o:bitcoingui.cpp:(.text+0x3a62): undefined reference to pwalletMain' ./build\bitcoingui.o:bitcoingui.cpp:(.text+0x3b09): undefined reference to pwalletMain'
./build\bitcoingui.o:bitcoingui.cpp:(.text+0x585c): undefined reference to pwalletMain' C:/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.exe: ./build\bitcoingui.o: bad reloc address 0xd60 in section .rdata'

wrong .pro modification my mistake issue is mistaked

Huge necro post @ssdpool but do you still remember how you caused./fixed that undefined reference to pwalletmain error? I'm also getting it for a wallet i'm trying to compile

For some reason I got a notification via emal. You might want to check src/qt/bitcoingui.cpp and see if there is an extern there for pwalletMain, if not, try adding one ;)

Just add this line:
extern CWallet* pwalletMain;

There is, so i dont really get why its not seeing it

Has it got the needed include?

I guess, i'm not sure..
My code is here: https://github.com/Crazyhead90/Linda
( cant seem to make a issue myself to chat there, but maybe you could start one, haha)
I'm using this guide:
https://bitcointalk.org/index.php?topic=1080289.0 to build it via mingw from linux to windows
running the compile-blk.sh which triggers the qt.pro

./build/bitcoin.o:bitcoin.cpp:(.text+0x218a): undefined reference to `pwalletMain'
./build/bitcoingui.o:bitcoingui.cpp:(.text+0xb4df): undefined reference to `pwalletMain'
./build/bitcoingui.o:bitcoingui.cpp:(.text+0xb543): undefined reference to `pwalletMain'
./build/bitcoingui.o:bitcoingui.cpp:(.text+0xb59e): undefined reference to `pwalletMain'
./build/bitcoingui.o:bitcoingui.cpp:(.text+0xbd54): undefined reference to `pwalletMain'
./build/bitcoingui.o:bitcoingui.cpp:(.text+0xbd5d): more undefined references to `pwalletMain' follow
./build/miner.o:miner.cpp:(.text+0x3d7d): undefined reference to `CBlock::SignBlock(CWallet&, long long)'
./build/rpcdump.o:rpcdump.cpp:(.text+0x1194): undefined reference to `pwalletMain'
./build/rpcdump.o:rpcdump.cpp:(.text+0x11dc): undefined reference to `pwalletMain'
./build/rpcdump.o:rpcdump.cpp:(.text+0x120b): undefined reference to `pwalletMain'
./build/rpcdump.o:rpcdump.cpp:(.text+0x1244): undefined reference to `pwalletMain'
./build/rpcdump.o:rpcdump.cpp:(.text+0x1250): undefined reference to `pwalletMain'
./build/rpcdump.o:rpcdump.cpp:(.text+0x1294): more undefined references to `pwalletMain' follow
/mnt/mxe/usr/i686-w64-mingw32.static/lib/libdb_cxx.a(os_pid.o):os_pid.c:(.text+0x25): undefined reference to `pthread_self'
collect2: error: ld returned 1 exit status
Makefile.Release:533: recipe for target 'release/Linda-qt.exe' failed
make: *** [release/Linda-qt.exe] Error 1
root@ubuntu:/mnt/Linda#

Is the full error code
(the pthread i can fix by adding -pthread in the qt.pro windows libs)

@Crazyhead90 any luck with this issue?

@volbil No, but i gave up and moved on a long time ago

@volbil No but i gave up and moved on a long time ago

I see, thanks anyway @Crazyhead90
Btw, have you figure out better way to make Windows build?

I went for a fork of the dash project chain which supports gitian building. With a simple command it compiles for Linux, windows and ios.

@Crazyhead90 I figure it out, for some reason ENABLE_WALLET flag cause problems with Windows build, so I just removed it from source code, and it worked lol

authors: Crazyhead90 Duality-CDOO ProjectHelixCoin ssdpool volbil


text:
fix issue where getrawtransaction RPC call does not work

This happens when a block is orphaned, the coinbase and coinstake transactions cannot be fetched with getrawtransaction.

can you guys help me in setting up server for quark pow algo with pos.?

authors: erasmospunk joshafest


text:
feat: impl Widget for &str and String

Currently, f.render_widget("hello world".bold(), area) works but f.render_widget("hello world", area) doesn't. This PR changes that my implementing Widget for &str and String. This makes it easier to render strings with no styles as widgets.
Example usage:
terminal.draw(|f| f.render_widget("Hello World!", f.size()))?;

Tests and docs

authors: joshka kdheepak

repo: ratatui-org/ratatui


text:
api-mode false pagination

Hi, how to do the pagination on local data mode using semantic-ui?
I have followed this but it's for bootstrap, thank you

Please follow the tutorial first.

authors: ratiw sherlyseptiani


text:
Attempted to remove more RCTKeyboardObserver listeners than added

I am using this library for displaying no connection screen on mobile. On iOS , I am getting red screen error when my keyboard is displaying on screen and I disconnect internet.
My configurations
"react-native": "^0.42.3",
"react-native-offline": "^3.4.1",

I think that because componentWillUnmount is not called when this library calls no connection screen, this error comes. Can anyone help me to have workaround for same.
Can anyone please suggest me or help me how to resolve this issue

Hi @gitpayal,
It may be cause you are using an incompatible version of the library. For RN < 0.47 you should install the version 3.2.0. It's stated here in the docs: https://github.com/rauliyohmc/react-native-offline#rn--v047-1.
Let me know if that solves the issue

Dear @rauliyohmc ,
Thank you for reaching out. In my react-native app, instead of using
Keyboard.removeAllListeners('keyboardWillShow')  for keyboard event,
I changed it to Keyboard.removeListener('keyboardWillShow')  and the issue is gone.
I think we can close this issue.

authors: gitpayal rauliyohmc

repo: rauliyohmc/react-native-offline


text:
llvm specific operations

getelementptr
extractvalue
insertvalue

Closed by #198, #215, #209, and #214 although they are not complete yet.

repo: raviqqe/melior


text:
Question: Next Tyre Compound

Getting the ideal and latest lap for the pit window is easy, but is there a way to get the tyre compound that's supposed to be put on?

struct TyreStintHistoryData{
    uint8     m_endLap;                // Lap the tyre usage ends on (255 of current tyre)
    uint8     m_tyreActualCompound;    // Actual tyres used by this driver
    uint8     m_tyreVisualCompound;    // Visual tyres used by this driver
};

uint8       m_numTyreStints;            // Number of tyre stints in the data

uint8       TyreStintHistoryData    m_tyreStintsHistoryData[8];

uint8       m_numTyreStints;            // Number of tyre stints in the data

uint8       m_actualTyreCompound;	   // F1 Modern - 16 = C5, 17 = C4, 18 = C3, 19 = C2, 20 = C1
                                                          // 7 = inter, 8 = wet
                                                          // F1 Classic - 9 = dry, 10 = wet
                                                          // F2 – 11 = super soft, 12 = soft, 13 = medium, 14 = hard
                                                          // 15 = wet
uint8       m_visualTyreCompound;   // F1 visual (can be different from actual compound)
                                                        // 16 = soft, 17 = medium, 18 = hard, 7 = inter, 8 = wet
                                                        // F1 Classic – same as above
                                                        // F2 ‘19, 15 = wet, 19 – super soft, 20 = soft
                                                        // 21 = medium , 22 = hard
uint8       m_tyresAgeLaps;             // Age in laps of the current set of tyres

float     m_tyresWear[4];                     // Tyre wear (percentage)

uint8     m_tyresDamage[4];                   // Tyre damage (percentage)

I don't think there is a reliable way of predicting what will be the next tire, since the tire sets do not have an id.

authors: PrimeGoose ReazerDev


text:
Duplicate entries in the list returned from completing-read-multiple when using C-j and trailing ,

Encounter this bug when testing out selectrum
If I have (selectrum-mode -1) (i.e. run emacs' implementation of completing-read-multiple), then run this code
(completing-read-multiple "Test: " '("foo" "bar" "baz"))

Type in baz, (note the trailing ,) hit C-j I get
("baz")

But when I enable selectrum (selectrum-mode +1), run the same code, with the same input and hit C-j I get
("baz" "baz")

I.e run the code, hit TAB and then C-j.
I get the expected behavior if I hit enter or remove the trailing , and hit C-j.
I tested this with version 3.0 (from guix), 20201216.1841 (from melpa) and f5f2329 (from master).

Thanks, should be fixed by #296?

That fixed it for me thanks!
Closing this issue.

authors: clemera plattfot