Using Tailscale as certificate resolvers

Welcome!

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

What version of the Traefik's Helm Chart are you using?
<IP_ADDRESS>
What version of Traefik are you using?
v3.0.0-beta3
What did you do?
copying this manifest into k3s watching directory /var/lib/rancher/k3s/server/manifests/traefik.yaml
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  repo: https://traefik.github.io/charts
  chart: traefik
  version: 26.0.0
  set:
    global.systemDefaultRegistry: ""
  valuesContent: |-
    tag: "v3.0.0-beta3"
    experimental:
      plugins:
        sablier:
          moduleName: github.com/acouvreur/sablier"
          version: v1.4.1-beta.3
    http3:
        enabled: true
    rbac:
      enabled: true
    ports:
      websecure:
        tls:
          enabled: true
        http3:
          enabled: true
    podAnnotations:
      prometheus.io/port: "8082"
      prometheus.io/scrap: "true"
    providers:
      kubernetesCRD:
        allowCrossNamespace: true
        allowExternalNameServices: true
      kubernetesIngress:
        publishedService:
          enabled: true
    priorityClassName: "system-cluster-critical"
    tolerations:
    - key: "CriticalAddonsOnly"
      operator: "Exists"
    - key: "node-role.kubernetes.io/control-plane"
      operator: "Exists"
      effect: "NoSchedule"
    - key: "node-role.kubernetes.io/master"
      operator: "Exists"
      effect: "NoSchedule"
    additionalArguments:
    - '--certificatesresolvers.myresolver.tailscale=true'

What did you see instead?
kubectl logs -n kube-system traefik-7b76d5b4ff-srg5v
2023/12/14 13:31:11 command traefik error: failed to decode configuration from flags: field not found, node: tailscale

What is your environment & configuration?
k3s v1.28.4+k3s2
ubuntu 22.04
Additional Information
I'm trying to replicate this blogpost from Traefik
https://traefik.io/blog/exploring-the-tailscale-traefik-proxy-integration/
Is tailscale supported in Traefik Helm Chart? Doesn't seem so when looking at values.yaml
https://github.com/traefik/traefik-helm-chart/blob/ed7e8bbdd56b852ef3163c579cbbba686a4f700c/traefik/values.yaml#L853
Thank you a lot in advance

As you noticed, tailscale is working only in v3.
You may be interested to replace
    tag: "v3.0.0-beta3"

with
    image:
      tag: "v3.0.0-beta3"

Thanks @mloiseleur
I've updated accordingly (using the latest image to be future-ready with apiversion naming changes) and mounted tailscaled.sock (undocumented step but apparently required, otherwise I get file not found).
Now facing permission denied and I'm unsure how to properly fix permission in the Helm chart values.yaml
here's the log from traefik pod
ERR github.com/traefik/traefik/v3/pkg/provider/tailscale/provider.go:249 > Unable to fetch certificate for domain "master.XXX.ts.net" error="Get \"http://local-tailscaled.sock/localapi/v0/cert/master.XXX.ts.net?type=pair\": dial unix /var/run/tailscale/tailscaled.sock: connect: permission denied" providerName=myresolver.tailscale

here's the ownership/permission of the tailscale.sock on the host
ls -la /run/tailscale/tailscaled.sock
srw-rw-rw- 1 root root 0 Dec 17 08:23 /run/tailscale/tailscaled.sock

here's the updated chart
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  repo: https://traefik.github.io/charts
  chart: traefik
  version: 26.0.0
  set:
    global.systemDefaultRegistry: ""
  valuesContent: |-
    image:
      tag: "v3.0.0-beta5"
    deployment:
      additionalVolumes:
      - name: tailscale
        hostPath:
          path: /run/tailscale/tailscaled.sock
    additionalVolumeMounts:
    - name: tailscale
      mountPath: /var/run/tailscale/tailscaled.sock
    experimental:
      plugins:
        sablier:
          moduleName: github.com/acouvreur/sablier
          version: v1.5.0
    http3:
        enabled: true
    rbac:
      enabled: true
    ports:
      websecure:
        tls:
          enabled: true
        http3:
          enabled: true
    podAnnotations:
      prometheus.io/port: "8082"
      prometheus.io/scrap: "true"
    providers:
      kubernetesCRD:
        allowCrossNamespace: true
        allowExternalNameServices: true
      kubernetesIngress:
        publishedService:
          enabled: true
    priorityClassName: "system-cluster-critical"
    tolerations:
    - key: "CriticalAddonsOnly"
      operator: "Exists"
    - key: "node-role.kubernetes.io/control-plane"
      operator: "Exists"
      effect: "NoSchedule"
    - key: "node-role.kubernetes.io/master"
      operator: "Exists"
      effect: "NoSchedule"
    additionalArguments:
    - '--certificatesresolvers.myresolver.tailscale=true'
    logs:
      general:
        level: DEBUG

here's my test setup
apiVersion: apps/v1
kind: Deployment
metadata:
  name: whoami
  namespace: tailscale
  labels:
    app: whoami
spec:
  replicas: 1
  selector:
    matchLabels:
      app: whoami
  template:
    metadata:
      labels:
        app: whoami
    spec:
      containers:
        - name: whoami
          image: traefik/whoami
          env:
            - name: WHOAMI_PORT_NUMBER
              value: "3000"
            - name: WHOAMI_NAME
              value: "testing"
          ports:
            - containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
  name: whoami-svc
  namespace: tailscale
spec:
  selector:
    app: whoami
  ports:
    - protocol: TCP
      port: 3000
      targetPort: 3000
  type: ClusterIP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
  name: whoami-tailscale-ingress
  namespace: tailscale
spec:
  entryPoints:
    - websecure
  routes:
    - match: Host(`master.XXX.ts.net`)
      kind: Rule
      services:
        - name: whoami-svc
          port: 3000
  tls:
    certResolver: myresolver

I've tested the ingressroute with entrypoint web and without tls, and was able to access whoami in the browser with http://master.XXX.ts.net
Thanks in advance
JP

The file /var/run/tailscale/tailscaled.sock is an IPC socket. It should not be created by the user.
It should come from a tailscale daemon, and this is the key to connect traefik to the tailscale daemon, by sharing this socket.

Thanks. the tailscaled.sock is already created from tailscale daemon.
I've updated the chart according to your advice and now there is an access denied issue. Hard to know where is the issue coming from (traefik or tailscale). I've tried to init /data/acme.json with persistence but it didn't help. After few failures, traefik fallbacks TRAEFIK DEFAULT CERT
logs
2023-12-19T09:44:49Z ERR github.com/traefik/traefik/v3/pkg/provider/tailscale/provider.go:249 > Unable to fetch certificate for domain "master.XXX.ts.net" error="Access denied: cert access denied" providerName=myresolver.tailscale

updated chart
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: kube-system
spec:
  repo: https://traefik.github.io/charts
  chart: traefik
  version: 26.0.0
  set:
    global.systemDefaultRegistry: ""
  valuesContent: |-
    image:
      tag: "v3.0.0-beta5"
    deployment:
      additionalVolumes:
      - name: tailscale-ipc
        hostPath:
          path: /var/run/tailscale
      initContainers:
      - name: adjust-tailscale-socket-permissions
        image: busybox
        command: ["sh", "-c", "chmod 666 /var/run/tailscale/tailscaled.sock"]
        securityContext:
          runAsNonRoot: false
          runAsGroup: 0
          runAsUser: 0
        volumeMounts:
          - name: tailscale-ipc
            mountPath: /var/run/tailscale
    additionalVolumeMounts:
    - name: tailscale-ipc
      mountPath: /var/run/tailscale
    experimental:
      plugins:
        sablier:
          moduleName: github.com/acouvreur/sablier
          version: v1.5.0
    http3:
        enabled: true
    rbac:
      enabled: true
    ports:
      websecure:
        tls:
          enabled: true
        http3:
          enabled: true
    podAnnotations:
      prometheus.io/port: "8082"
      prometheus.io/scrap: "true"
    providers:
      kubernetesCRD:
        allowCrossNamespace: true
        allowExternalNameServices: true
      kubernetesIngress:
        publishedService:
          enabled: true
    priorityClassName: "system-cluster-critical"
    tolerations:
    - key: "CriticalAddonsOnly"
      operator: "Exists"
    - key: "node-role.kubernetes.io/control-plane"
      operator: "Exists"
      effect: "NoSchedule"
    - key: "node-role.kubernetes.io/master"
      operator: "Exists"
      effect: "NoSchedule"
    additionalArguments:
    - '--certificatesresolvers.myresolver.tailscale=true'
    logs:
      general:
        level: DEBUG

This error message is triggered here in traefik code:
		cert, key, err := tscert.CertPair(ctx, domain)
		if err != nil {
			logger.Error().Err(err).Msgf("Unable to fetch certificate for domain %q", domain)
			continue
		}

It does not seem to have reached the point where traefik tries to store it. It's triggered by tscert lib.
=> Maybe it's an authorization issue with tailscale

Without further information, I close this issue.
Feel free to re-open it if needed.

My answer, works fine(I have tried for the right answer for a half day😂).
The key is podSecurityContext and securityContext, make sure runAsUser(root):
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
  name: traefik
  namespace: traefik
spec:
  repo: https://traefik.github.io/charts
  chart: traefik
  targetNamespace: traefik
  valuesContent: |-
    namespaceOverride: traefik
    additionalArguments:
      - "--certificatesresolvers.tailscaleresolver.tailscale=true"
    experimental:
      kubernetesGateway:
        enabled: true
      namespacePolicy: All
      namespace: traefik
    deployment:
      additionalVolumes:
      - name: tailscale-socket
        hostPath:
          path: /run/tailscale/tailscaled.sock
          type: Socket
    additionalVolumeMounts:
    - name: tailscale-socket
      mountPath: /var/run/tailscale/tailscaled.sock
    ports:
      traefik:
        expose:
          default: true
      web:
        redirectTo:
          port: websecure
          priority: 10
          permanent: true
      websecure:
        tls:
          certResolver: "tailscaleresolver"
        http3:
          enabled: true
    tlsOptions:
      default:
        minVersion: VersionTLS13
    securityContext:
      runAsUser: 0
    podSecurityContext:
      runAsGroup: 0
      runAsNonRoot: false
      runAsUser: 0


man-pages: 4.15 -> 4.16

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/man-pages/versions.
These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
directory tree listing: https://gist.github.com/15b3577e7c69b230dc911f5a85a66cc8

Success on x86_64-linux (full log)
Attempted: man-pages
Partial log (click to expand)
	install -d -m 755 /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16/share/man/"$i" || exit $?; \
	install -m 644 "$i"/* /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16/share/man/"$i" || exit $?; \
done
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16
gzipping man pages under /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16/share/man/
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16
checking for references to /build in /nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16...
/nix/store/w4srpacqzg5sg2q97yc6k19fc2g8bvb4-man-pages-4.16

Success on aarch64-linux (full log)
Attempted: man-pages
Partial log (click to expand)
        install -d -m 755 /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16/share/man/"$i" || exit $?; \
        install -m 644 "$i"/* /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16/share/man/"$i" || exit $?; \
done
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16
gzipping man pages under /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16/share/man/
strip is /nix/store/gp7fylxwn18b7pl2c18ks89hsiaxyfvf-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16
checking for references to /build in /nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16...
/nix/store/gqmgazrngzkjmwknvl468jik05cfddca-man-pages-4.16

Success on x86_64-darwin (full log)
Attempted: man-pages
Partial log (click to expand)
install flags: install SHELL=/nix/store/r8bx3qf1bpncb14i9gzma4vr089pc3pv-bash-4.4-p19/bin/bash MANDIR=\$\(out\)/share/man
for i in man?; do \
        install -d -m 755 /nix/store/f0ipggb6p821dvjayzih63a5hjijw3yf-man-pages-4.16/share/man/"$i" || exit $?; \
        install -m 644 "$i"/* /nix/store/f0ipggb6p821dvjayzih63a5hjijw3yf-man-pages-4.16/share/man/"$i" || exit $?; \
done
post-installation fixup
gzipping man pages under /nix/store/f0ipggb6p821dvjayzih63a5hjijw3yf-man-pages-4.16/share/man/
strip is /nix/store/kdff2gim6417493yha769kh00n63lnrw-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/f0ipggb6p821dvjayzih63a5hjijw3yf-man-pages-4.16
/nix/store/f0ipggb6p821dvjayzih63a5hjijw3yf-man-pages-4.16


how to integrate firebase authentication in this ngx-admin???

Issue type
I'm submitting a ...  (check one with "x")

[x] bug report
[x] feature request
[x] question about the decisions made in the repository

Issue description
Current behavior:

Expected behavior:

Steps to reproduce:

Related code:

insert short code snippets here

Other information:
npm, node, OS, Browser
<!--
Node, npm: `node --version` and `npm --version`
OS: Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?)
Browser: Chrome/Safari/Firefox/etc?
-->

Angular, Nebular
<!--
Check your `package-lock.json` or locate a `package.json` in the `node_modules` folder.
-->

Duplicate of https://github.com/akveo/ngx-admin/issues/1352


jacktrip: 1.5.3 -> 1.10.1

Description of changes
Update to latest 1.x version, as requested by #247933
There's a 2.0 version just released, I looked a bit at building it but it depends on Qt6 and I couldn't figure out how to make it work.

Things done

Ran the app locally with a server and client.

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 252427 run on x86_64-linux 1

1 package built:

jacktrip


finalConfigure() comment improvement

Append () and convert to code block comment

@confile - for your pleasure...

thank you LGTM


Documentation package

Here's the updated documentation. I'll have to rebase before merging, but @zimbatm it would be nice if you could have a look.

@Nicowcow nice job !

Cherry-picked into the package branch


why  Server side getServerSession  return null when refresh the page useFetch call the api

// file: ~/pages/get
<template>
    <div>
    {{ user }}
    </div>
</template>

<script setup>
  //  fetch the user

  const { data: user } = await useFetch('/api/carrier/get')
</script>

// file: ~/server/api/get.ts
import { getServerSession } from '#auth'
export default eventHandler(async (event) => {
  const session = await getServerSession(event)

  if (!session) {
    return { status: 'unauthenticated!' }
  }
  return { status: 'authenticated!' }
})

Additional information
It return the session when using the nuxtlink go to the page but after refresh the page it would return null. why ?

Heya @skpnoes 👋
In the code you shared the endpoint does not actually return the user but instead only { status: 'authenticated' } or { status: 'unauthenticated' }. Furthermore your page fetches from /api/carrier/get but the api endpoint you show is at /api/get.
So I'm unsure how your code works in the first place. Can you clarify / update your code examples to help me better understand your problem?

Hey @BracketJohn I think I may be getting a similar issue.
I've got a /api/auth/me.ts which is a get, and using const session = await getServerSession(event); it is always returning null. Because it's on a redirect, it could be that it's SSR and not client side navigation?
Happy to share more info if needed.

Thanks for the information! I think I maybe figured out what is happening: If you useFetch directly to consume an endpoint that uses getServerSession you need to ensure, that the nuxt passes the cookies (that include the auth cookies!) along:
const headers = useRequestHeaders(['cookie'])
const { data: token } = await useFetch('/api/token', { headers: { cookie: headers.cookie } })

Example from docs: https://sidebase.io/nuxt-auth/server-side/jwt-access#application-side-jwt-token-access
Nuxt Docs on useRequestHeaders here: https://nuxt.com/docs/api/composables/use-request-headers
This will ensure that auth-cookies are present independent of the request coming from server / client side.
Can you check and let me know if this resolves your issue?

@BracketJohn awesome that works, thank you! Apologies, I did try looking for something like that in the docs, but apparently I didn't look hard enough!

No worries (: I've also learned from this issue and opened #124 to clarify this on the getServerSession docs page. It's easy to miss if it's only on the getToken page and a common enough gotcha!


Verify apt artifact building

This ensures that all the packages we need are included in either
ubuntu standard upstream or our mirror.
Connects https://github.com/rcbops/u-suk-dev/issues/1410

In testing.

Voila!

The first lookup (Packages file) didn't made it into 14.2.0, so we're gonna need to wait for 14.2.1.
The second is still blocked in master.

This needs a rebase now.

Rebased and drop old bump to 14.1 commit from this branch.

@evrardjp @odyssey4me Apologies, but I had to kill https://rpc.jenkins.cit.rackspace.net/job/RPC-Artifact-Build_artifacts-trusty-Apt-pr/32/ and delete the build as the console log was huge.  I tried having a peek to see what was in the log but it was a bit hard to decipher based on size and also raw formatting.  I did a quick grep of the TASKs in the log file (as they seemed to repeat over and over again) and here's a summary:
$ grep TASK log | sed -e 's/.*\[\(.*\)\].*/\1/g' | sort | uniq -c | sort -rn | head -40
    388 setup
    381 assert
    380 command
    191 list all the repos/mirrors for this distribution that arent in exclude list
    190 Publish snapshot into public/integrated/ folder
    190 Publish snapshot into public folder (no merge)
    190 Prepare re-building of snapshots (published snapshot list)
    190 Prepare re-building of snapshots (generated snapshots list)
    190 Poll async status
    190 Output the full list of tuples distribution/artifact version
    190 Merge the snapshots together
    190 Froze the mirrors/repos by snapshot creation
    190 Delete old snapshots for this distro/artifacts version
    190 Delete old publications for this distro/artifacts version
    190 Delete old merged snapshots for this distro/artifacts version
    105 infOpen.aptly : Remove temp archive gpg export
     97 Verify if rabbitmq is already there, in case of re-run for the same artifact version
     97 Upload Package
     97 infOpen.aptly : Upload custom gpg key
     97 infOpen.aptly : Update mirrors
     97 infOpen.aptly : System archive GPG keys management
     97 infOpen.aptly : Repo management
     97 infOpen.aptly : Remove repos
     97 infOpen.aptly : Remove mirrors
     97 infOpen.aptly : Remove custom gpg key file
     97 infOpen.aptly : Mirror management
     97 infOpen.aptly : List available repos
     97 infOpen.aptly : List available mirrors
     97 infOpen.aptly : Install aptly repository
     97 infOpen.aptly : Install aptly package
     97 infOpen.aptly : Include installation tasks
     97 infOpen.aptly : Include custom GPG key management tasks
     97 infOpen.aptly : Include configuration management tasks
     97 infOpen.aptly : Import system archive GPG keys
     97 infOpen.aptly : Import mirror target GPG keys
     97 infOpen.aptly : Import custom gpg key
     97 infOpen.aptly : Import aptly GPG key
     97 infOpen.aptly : Generate configuration
     97 infOpen.aptly : fail
     97 infOpen.aptly : Export system archive GPG keys
$

Can you guys have a peek before this gets triggered again?


FindQuery empty symbol

I need to implement a get multiple api endpoint that can be searched by multiple properties like status, user, and so on. If one of those properties is omitted from the request query it should be ignored by the find query.
Currently if either undefined or null gets passed the column gets queried for null which is not the wanted behaviour for an omitted filter. Adding the option to pass an empty symbol would fix that issue.
Example:
const query = {
  status: "active",
};

em.find(Foo, { status: query.status, user: query.user })

currently returns
SELECT * FROM FOO WHERE status = "active" AND user is null

With an Empty symbol added the code could look like this:
const query = {
  status: "active",
};

em.find(Foo, { status: query.status || Symbols.Empty, user: query.user || Symbols.Empty })

would return
SELECT * FROM FOO WHERE status = "active"

Expanding this same behaviour to query conditions like $gt or $lte would also be amazing.

Numerous users were asking for undefined to be ignored this way, I am planning to have an option to trigger that behaviour. Do you think we really need some special symbol for that, or will it be enough if undefined behaves like that?


feature/svm

Reference Issues/PRs
#59
What does this implement/fix? Explain your changes.
add support for all sci-kit Support Vector Machine models
Any other comments?

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (85ed309) 87.40% compared to head (7027ce1) 87.40%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##              dev      #79   +/-   ##
=======================================
  Coverage   87.40%   87.40%
=======================================
  Files          31       31
  Lines        1142     1142
  Branches      201      201
=======================================
  Hits          998      998
  Misses         90       90
  Partials       54       54

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


change the function return as void, fixed #1599

Change the function as void return since it is same in linux adapter

感谢提交 Pull Requests！
Thanks for submitting a pull request.

auto build success,number:90


[Feat Req.] Website export just config.json

Hello,
On your website, you can import config.json from previous downloads. Since I use your API to deploy my project, all I really need is that config.json, but alas I have to wait for the entire font set to download. My idea is as follows, add a simple Export button below your already existing import button so that people that only need that json file can download just that json file.

I could also use this :+1:

I have such a low bandwidth, I might as well be on dailup :smile:! When I deploy the project, I have it setup on my server to download resources like this.


Compiled Carbonator require Visual Studio

I have a compiled Carbonator with nuget, and wish to put to other servers(Windows 2003), it was trying to look for VS just-in-time. I tried to run with or without console/verbose mode, it fails too.
Is there any way to disable just-in-time flag while compiling? Thanks.

I am not sure what you are trying to do exactly here (compile for Win2003?). I don't have a plan to support Windows XP/2003 (since they are not even officially supported by MS), and later versions of .NET may not be even supported on that platform. I haven't been maintaining the command-line build script as of lately, so I should probably get on that ;)

thanks for super fast response. I'm quite new about Windows servers. I would like to use Carbonator on production servers, which means not adding extra package would be best. I was hopping compiling Carbonator as EXE with required library would help.
Do I need .NET on W2003 to be able to run Carbonator? Whats the minimum version of .NET I should be using?

See pre-compiled releases here: https://github.com/CryptonZylog/carbonator/releases
Yes, you need .NET installed on Win2003 since it is not included with the OS. v1.5 requires .NET 4.0.

Thanks a lot, v1.6 work on W2003 testing server, it has .NET 4.0.
May I ask whats .NET min requirement for v2.x?

.NET 4.5.1

Thanks a lot.


Lack of compatibility with Jetty 9.4

I am using newest Spring Boot 1.5.1.RELEASE and experiencing problems with newest Jetties.
JettyFaultInjectors are using getSocket() method that is not present in the 9.4.1.v20170120

Are you using the standalone artifact?

@tomakehurst um, thanks :) it seems like I managed to move everything forward, closing.


[Fix-7083] [UI] The switch task is missing the else branch

fix #7083

LGTM

Codecov Report

Merging #7084 (b067c77) into dev (100a9ba) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #7084   +/-   ##
=========================================
  Coverage     32.86%   32.86%
  Complexity     1633     1633
=========================================
  Files           439      439
  Lines         14459    14459
  Branches       1447     1447
=========================================
  Hits           4752     4752
  Misses         9248     9248
  Partials        459      459

Continue to review full report at Codecov.

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


How to block https://wsrv.nl ?

We would like to entirely block the usage of https://wsrv.nl/ linking our images on other sites.
We have implemented an IP block already, but some images have already been cached; how can we get the cached images removed?
Also, I noticed the query param errorredirect - how can we effectively stop that from being useful? We've blocked wsrv.nl, and would want to stop the redirect happening as well.

We want to try and block initial attempts at hotlinking images as they are the IP of our clients. Various Chinese sites are using your service to hotlink the images. By blocking your service initially, a cached copy of the image can never be created.

Hotlink protection (based on the HTTP referer header) can be easily bypassed these days with a referrerpolicy of no-referrer, which can be set on the HTML document with:
<meta name="referrer" content="no-referrer" />

Or on specific images with:
<img src="https://example.com/images/myimage.jpg" referrerpolicy="no-referrer">

Therefore, there are no plans to make the &default= / &errorredirect= querystrings opt-out for some URLs.

Note that nowadays you could set the Cross-Origin-Resource-Policy: same-origin (CORP) header on the images you serve for enhanced hotlink protection, which is also effective even when referrerpolicy is used, see:
https://exact.realty/blog/posts/2022/10/09/hotlink-protection-in-2022/
I assumed that using the &default= / &errorredirect= query strings implies referrerpolicy="no-referrer", but this isn't the case. It looks like the original referrer is still retained.

We have implemented an IP block already, but some images have already been cached; how can we get the cached images removed?

If you want, you can send us an email with the images that are affected and need to be purged from cache.

I hope this information helped. Please feel free to re-open if questions remain.

how can we get the cached images removed?

Let's track this at #14.


pythonPackages.leb128: init at 1.0.4

Motivation for this change
resolves #130937
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 131012 at 31461fd4 run on x86_64-linux 1

2 packages built successfully:

python38Packages.leb128
python39Packages.leb128


✨ Restore deploy-docs and serve-docs make targets

Summary
This PR attempts to restore the deploy-docs Makefile target, so that the docs-gen-and-push.yml workflow will work again.
I am not sure how to safely test this. make serve-docs never worked for me, and I dared not try make deploy-docs for fear of messing up the website.
Related issue(s)
Fixes #

/cc @ezrasilvera
/cc @pdettori
/cc @clubanderson

I do not know how to test this, so haven't. I am going to rely on @clubanderson's LGTM and let it merge.
/approve


Raw query Statement enhancement request

Firstly, Thank you for making good library
Currently, i can get row with index while using raw query.
But i want to get the thing with Expression like row[VERSION].
Example :
            let sqlStr = "SELECT \(VERSION!) FROM  \(TABLE_SERVICE_VERSION!) "

            let stmt = try mDb!.prepare(sqlStr)

            for row in stmt
            {
                print("\(row[0])")    -----enhancement----> print("\(row[VERSION])")
            }

Such thing is available in Android java.
Following is Android code and search_cursor is kind of stmt in your library.
String ver = search_cursor.getString(search_cursor.getColumnIndex(VERSION));
Thanks in advance

please use stackoverflow


Submit issue on intake-esm about incorrect interpretation of compression in to_csv_kwargs

See https://github.com/intake/intake-esm/blob/main/intake_esm/cat.py#L212
"compression" should be specified in a dict as {"method": method} https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html

On further investigation, it does actually seem to work to just pass, e.g. compression = "zip", also this is not actually documented in the Pandas documentation. Possibly the approach has been depreciated but still works?


Adding Oujda

Could you add Oujda, Morocco to the list of african cities, thx

Hi @pborreli . From what i've understood, by going through the code, the africa_data.json file isn't automatically generated ( guys correct me if i'm wrong). I think you can fork the project, add Oujda in
africa_data.json ( while respecting the data format ) and then submit a megre request.


Concurrency does not work as expected

For just two solar panels attached to two end-points, the concurrency setting has no effect:

and

I would expect that one of the two profiles would be changed. The concurrency should be minimised across the whole network, not only on the same end-point.

UPDATE: I think the whole concurrency calculation is broken at the moment :fearful:


Fix tests listing text generation models

Should fix CI now that bloom model is not served anymore.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

test_add_commit_push_non_blocking_process_killed is failing and the test is unpredictable, sometimes it succeeds, sometimes not. I'm not sure but I think the process seems to be failing before the sigkill 😕

That's a bit of an annoying test. Since it's a test about the legacy Repository class, it's more than fine to just flag it as flaky (done in https://github.com/huggingface/huggingface_hub/pull/2593/commits/24e7d2c20bc1e181b8f1fb937264c533645df215). Let's hope it fixes the CI :crossed_fingers:

Well it did not work so I reverted. Let's merge this PR as test_add_commit_push_non_blocking_process_killed is unrelated


Works great but won't play YouTube Shorts

Context: I'm working in WordPress. I created a custom post type called YouTube with a custom field for the URL of the video.
I add a new "YouTube", paste in the URL and then I have an archive page using a simple loop to display each YouTube post type.
Here's my implementation:

		<?php
		 $youtube_url = get_post_meta( get_the_ID(), 'youtube_url', true );
		 ?>

			<iframe
				src='<?php echo $youtube_url; ?>'
				allowtransparency
				hideControls
			>

As you can see, the URL is being pulled from the custom field I mentioned and stored in the variable $youtube_url
This works perfectly, with one exception:
Expected behaviour
I expect it to display a little iFrame for each video
Actual behaviour
This works for every YouTube video except for YouTube Shorts
Short screencast showing the issue:

Steps to reproduce
Try playing the short, and you get this error: An error occurred. Please try again later. (Playback iID: x5i_kFJFaDnmnC0z) Learn More
Environment

Browser: Chrome
Version:
Operating System: Windows
Version: 10

Console errors (if any)
Failed to load resource: the server responded with a status of 404 () https://i.ytimg.com/vi/https://www.youtube.com/shorts/16dms8D5qhs/maxresdefault.jpg
Refused to display 'https://www.youtube.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.youtube.com') does not match the recipient window's origin ('https://apexbranding.design'). q.sendMessage	@	www-widgetapi.js:1118
Link to where the bug is happening
https://apexbranding.design/youtubes/

So changing the video URL from youtube.com/shorts/blahblahblah to youtube.com/embed/blahblahblah fixed the issue.
I'll just have to remember to do that every time I add a video that's a short.

Maybe y'all could do something like WordPress core did: https://core.trac.wordpress.org/changeset/53106

So changing the video URL from youtube.com/shorts/blahblahblah to youtube.com/embed/blahblahblah fixed the issue.
I'll just have to remember to do that every time I add a video that's a short.

Thanks!

When trying to display the video, the poster is still landscape, instead of portrait.

So the poster image should be set manually.
And you have to hijack the layout by adding 9/16 aspect ratio instead of 16/9


Spark 2.0.0 update

Update mango to spark2.0.0

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/mango-prb/260/
Test FAILed.


lxc move/copy is doing additional certificate validation

Required information

Distribution: ubuntu
Distribution version: 16.04
The output of "lxc info"

source:
$ lxc info
apiextensions: []
apistatus: stable
apiversion: "1.0"
auth: trusted
environment:
  addresses:
  - <IP_ADDRESS>:8443
  - <IP_ADDRESS>:8443
  - x.x.x.12:8443
  architectures:
  - x86_64
  - i686
  certificate: <<SNIP>>
  certificatefingerprint: 7095f7d0fd17589f7cda34cdb7a10cfff94f49bd227826687155ade9cde3a18a
  driver: lxc
  driverversion: 2.0.5
  kernel: Linux
  kernelarchitecture: x86_64
  kernelversion: 4.4.0-45-generic
  server: lxd
  serverpid: 1935
  serverversion: 2.0.5
  storage: btrfs
  storageversion: "4.4"
config:
  core.https_address: '[::]:8443'
  core.trust_password: true
public: false

target:
$ lxc info
apiextensions: []
apistatus: stable
apiversion: "1.0"
auth: trusted
environment:
  addresses:
  - <IP_ADDRESS>:8443
  - x.x.x.16:8443
  - <IP_ADDRESS>:8443
  architectures:
  - x86_64
  - i686
  certificate: <<SNIP>>
  certificatefingerprint: 65388fe1a619787d8e3783c11c3d56ce93a09979b2f90659a80e19d570037f0c
  driver: lxc
  driverversion: 2.0.5
  kernel: Linux
  kernelarchitecture: x86_64
  kernelversion: 4.4.0-45-generic
  server: lxd
  serverpid: 6576
  serverversion: 2.0.5
  storage: dir
  storageversion: ""
config:
  core.https_address: '[::]:8443'
  core.trust_password: true
public: false

Issue description
"move" and "copy" commands are giving certificate validation errors, when other commands talking to the remote machine like lxc list <remote>: work fine
Steps to reproduce
The source machine has some private IP addresses, a public IP address x.x.x.12, and system hostname "brian"
On this machine, there is a stopped container "foo" (lxc launch ubuntu:16.04 foo; lxc stop foo) which I want to copy to the target machine.
The target machine has some private IP addresses, a public IP address x.x.x.16, and system hostname "brian-kit". It is also known as remote "nuc" on the source machine:
$ lxc remote list
+-----------------+------------------------------------------+---------------+--------+--------+
|      NAME       |                   URL                    |   PROTOCOL    | PUBLIC | STATIC |
+-----------------+------------------------------------------+---------------+--------+--------+
...
+-----------------+------------------------------------------+---------------+--------+--------+
| nuc             | https://x.x.x.16:8443                    | lxd           | NO     | NO     |
+-----------------+------------------------------------------+---------------+--------+--------+

Regular commands from the source to the target work fine, e.g. lxc list nuc:
However when I try a "move" or "copy", it fails with the following error:
$ lxc copy foo nuc:foo
error: x509: certificate is valid for brian-kit, <IP_ADDRESS>/22, fe80::a6d:41ff:fee6:8ba8/64, x.x.x.16/24, fe80::a6d:41ff:fee6:8ba8/64, fe80::48a:30ff:feb0:79c5/64, <IP_ADDRESS>/24, fe80::a0d5:33ff:fe75:3621/64, fe80::1/64, not brian

This occurs after a pause, so I think the container contents are being copied.
Since the target container is copied, it also needs deleting before you can retry:
$ lxc move foo nuc:foo
error: The container already exists
$ lxc delete nuc:foo
$

It seems strange to me that "lxc delete nuc:foo" works without problem, but using "nuc:foo" as a target for move or copy fails with a certificate error.
(Note: you will see that the two machines have the same internal IP address <IP_ADDRESS>.  That's why I'm using the public IP address as the target)
Information to attach
[ ] any relevant kernel output (dmesg)
N/A
[ ] container log (lxc info NAME --show-log)
Source
$ lxc info foo --show-log
Name: foo
Remote: unix:/var/lib/lxd/unix.socket
Architecture: x86_64
Created: 2016/10/31 20:14 UTC
Status: Stopped
Type: persistent
Profiles: default

Log:

            lxc<PHONE_NUMBER>1412.070 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 3
            lxc<PHONE_NUMBER>1412.070 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 8
            lxc<PHONE_NUMBER>1412.072 INFO     lxc_container - lxccontainer.c:do_lxcapi_start:797 - Attempting to set proc title to [lxc monitor] /var/lib/lxd/containers foo
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 8
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_lsm - lsm/lsm.c:lsm_init:48 - LSM security driver AppArmor
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .reject_force_umount  # comment this to allow umount -f;  not recommended.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for reject_force_umount action 0.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:do_resolve_add_rule:251 - Setting Seccomp rule to reject force umounts.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for reject_force_umount action 0.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:do_resolve_add_rule:251 - Setting Seccomp rule to reject force umounts.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .[all].
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .kexec_load errno 1.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for kexec_load action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for kexec_load action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .open_by_handle_at errno 1.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for open_by_handle_at action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for open_by_handle_at action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .init_module errno 1.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for init_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for init_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .finit_module errno 1.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for finit_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for finit_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:402 - processing: .delete_module errno 1.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:567 - Adding native rule for delete_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:570 - Adding compat rule for delete_module action 327681.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_seccomp - seccomp.c:parse_config_v2:580 - Merging in the compat Seccomp ctx into the main one.
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/bin/lxd callhook /var/lib/lxd 12 start' for container 'foo', config section 'lxc'
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 3
            lxc<PHONE_NUMBER>1412.073 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 8
            lxc<PHONE_NUMBER>1412.075 INFO     lxc_monitor - monitor.c:lxc_monitor_sock_name:178 - using monitor sock name lxc/d78a9d7e97b4b375//var/lib/lxd/containers
            lxc<PHONE_NUMBER>1412.176 DEBUG    lxc_start - start.c:setup_signal_fd:290 - sigchild handler set
            lxc<PHONE_NUMBER>1412.177 DEBUG    console - console.c:lxc_console_peer_default:469 - no console peer
            lxc<PHONE_NUMBER>1412.177 INFO     lxc_start - start.c:lxc_init:489 - 'foo' is initialized
            lxc<PHONE_NUMBER>1412.177 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1412.177 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1412.177 DEBUG    lxc_start - start.c:__lxc_start:1327 - Not dropping cap_sys_boot or watching utmp
            lxc<PHONE_NUMBER>1412.177 INFO     lxc_start - start.c:resolve_clone_flags:1014 - Cloning a new user namespace
            lxc<PHONE_NUMBER>1412.179 INFO     lxc_conf - conf.c:instantiate_veth:2582 - Retrieved mtu 1500 from lxdbr0
            lxc<PHONE_NUMBER>1412.179 DEBUG    lxc_conf - conf.c:instantiate_veth:2623 - instantiated veth 'vethOAKBEL/veth0BR9M0', index is '27'
            lxc<PHONE_NUMBER>1412.179 INFO     lxc_cgroup - cgroups/cgroup.c:cgroup_init:68 - cgroup driver cgroupfs-ng initing for foo
            lxc<PHONE_NUMBER>1412.251 DEBUG    lxc_conf - conf.c:lxc_assign_network:3066 - move 'eth0' to '17411'
            lxc<PHONE_NUMBER>1412.252 NOTICE   lxc_start - start.c:do_start:778 - switching to gid/uid 0/0 in new user namespace
            lxc<PHONE_NUMBER>1412.252 DEBUG    lxc_conf - conf.c:setup_rootfs:1215 - mounted '/var/lib/lxd/containers/foo/rootfs' on '/usr/lib/x86_64-linux-gnu/lxc'
            lxc<PHONE_NUMBER>1412.252 INFO     lxc_conf - conf.c:setup_utsname:843 - 'foo' hostname has been setup
            lxc<PHONE_NUMBER>1412.275 DEBUG    lxc_conf - conf.c:setup_hw_addr:2146 - mac address '00:16:3e:07:4b:0e' on 'eth0' has been setup
            lxc<PHONE_NUMBER>1412.275 DEBUG    lxc_conf - conf.c:setup_netdev:2373 - 'eth0' has been setup
            lxc<PHONE_NUMBER>1412.275 INFO     lxc_conf - conf.c:setup_network:2394 - network has been setup
            lxc<PHONE_NUMBER>1412.275 INFO     lxc_conf - conf.c:mount_autodev:1072 - Mounting container /dev
            lxc<PHONE_NUMBER>1412.275 INFO     lxc_conf - conf.c:mount_autodev:1095 - Mounted tmpfs onto /usr/lib/x86_64-linux-gnu/lxc/dev
            lxc<PHONE_NUMBER>1412.275 INFO     lxc_conf - conf.c:mount_autodev:1113 - Mounted container /dev
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /dev/fuse on /usr/lib/x86_64-linux-gnu/lxc/dev/fuse to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /dev/fuse was 4098, required extra flags are 2
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/dev/fuse' on '/usr/lib/x86_64-linux-gnu/lxc/dev/fuse', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /dev/net/tun on /usr/lib/x86_64-linux-gnu/lxc/dev/net/tun to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /dev/net/tun was 4098, required extra flags are 2
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/dev/net/tun' on '/usr/lib/x86_64-linux-gnu/lxc/dev/net/tun', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /proc/sys/fs/binfmt_misc on /usr/lib/x86_64-linux-gnu/lxc/proc/sys/fs/binfmt_misc to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /proc/sys/fs/binfmt_misc was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/proc/sys/fs/binfmt_misc' on '/usr/lib/x86_64-linux-gnu/lxc/proc/sys/fs/binfmt_misc', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/firmware/efi/efivars on /usr/lib/x86_64-linux-gnu/lxc/sys/firmware/efi/efivars to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/firmware/efi/efivars was 4110, required extra flags are 14
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/firmware/efi/efivars' on '/usr/lib/x86_64-linux-gnu/lxc/sys/firmware/efi/efivars', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/fs/fuse/connections on /usr/lib/x86_64-linux-gnu/lxc/sys/fs/fuse/connections to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/fs/fuse/connections was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/fs/fuse/connections' on '/usr/lib/x86_64-linux-gnu/lxc/sys/fs/fuse/connections', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/fs/pstore on /usr/lib/x86_64-linux-gnu/lxc/sys/fs/pstore to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/fs/pstore was 4110, required extra flags are 14
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/fs/pstore' on '/usr/lib/x86_64-linux-gnu/lxc/sys/fs/pstore', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/kernel/debug on /usr/lib/x86_64-linux-gnu/lxc/sys/kernel/debug to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/kernel/debug was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/kernel/debug' on '/usr/lib/x86_64-linux-gnu/lxc/sys/kernel/debug', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /sys/kernel/security on /usr/lib/x86_64-linux-gnu/lxc/sys/kernel/security to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /sys/kernel/security was 4110, required extra flags are 14
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/sys/kernel/security' on '/usr/lib/x86_64-linux-gnu/lxc/sys/kernel/security', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /dev/mqueue on /usr/lib/x86_64-linux-gnu/lxc/dev/mqueue to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /dev/mqueue was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 20480, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/dev/mqueue' on '/usr/lib/x86_64-linux-gnu/lxc/dev/mqueue', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /var/lib/lxd/devlxd on /usr/lib/x86_64-linux-gnu/lxc/dev/lxd to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /var/lib/lxd/devlxd was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/var/lib/lxd/devlxd' on '/usr/lib/x86_64-linux-gnu/lxc/dev/lxd', type 'none'
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1657 - remounting /var/lib/lxd/shmounts/foo on /usr/lib/x86_64-linux-gnu/lxc/dev/.lxd-mounts to respect bind or remount options
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1672 - (at remount) flags for /var/lib/lxd/shmounts/foo was 4096, required extra flags are 0
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1681 - mountflags already was 4096, skipping remount
            lxc<PHONE_NUMBER>1412.276 DEBUG    lxc_conf - conf.c:mount_entry:1707 - mounted '/var/lib/lxd/shmounts/foo' on '/usr/lib/x86_64-linux-gnu/lxc/dev/.lxd-mounts', type 'none'
            lxc<PHONE_NUMBER>1412.276 INFO     lxc_conf - conf.c:mount_file_entries:1927 - mount points have been setup
            lxc<PHONE_NUMBER>1412.277 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/share/lxcfs/lxc.mount.hook' for container 'foo', config section 'lxc'
            lxc<PHONE_NUMBER>1412.295 INFO     lxc_conf - conf.c:fill_autodev:1141 - Creating initial consoles under container /dev
            lxc<PHONE_NUMBER>1412.295 INFO     lxc_conf - conf.c:fill_autodev:1152 - Populating container /dev
            lxc<PHONE_NUMBER>1412.295 INFO     lxc_conf - conf.c:fill_autodev:1189 - Populated container /dev
            lxc<PHONE_NUMBER>1412.295 INFO     lxc_conf - conf.c:setup_dev_console:1437 - console has been setup
            lxc<PHONE_NUMBER>1412.295 INFO     lxc_utils - utils.c:mount_proc_if_needed:1776 - I am 1, /proc/self points to '1'
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_rootfs_pivot_root:1050 - pivot_root syscall to '/usr/lib/x86_64-linux-gnu/lxc' successful
            lxc<PHONE_NUMBER>1412.323 INFO     lxc_conf - conf.c:setup_tty:995 - 0 tty(s) has been setup
            lxc<PHONE_NUMBER>1412.323 INFO     lxc_conf - conf.c:setup_personality:1393 - set personality to '0x0'
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_time' (25)
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_module' (16)
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'sys_rawio' (17)
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'mac_admin' (33)
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2057 - drop capability 'mac_override' (32)
            lxc<PHONE_NUMBER>1412.323 DEBUG    lxc_conf - conf.c:setup_caps:2066 - capabilities have been setup
            lxc<PHONE_NUMBER>1412.323 NOTICE   lxc_conf - conf.c:lxc_setup:3858 - 'foo' is setup.
            lxc<PHONE_NUMBER>1412.324 INFO     lxc_apparmor - lsm/apparmor.c:apparmor_process_label_set:238 - changed apparmor profile to lxd-foo_</var/lib/lxd>
            lxc<PHONE_NUMBER>1412.324 NOTICE   lxc_start - start.c:start:1436 - exec'ing '/sbin/init'
            lxc<PHONE_NUMBER>1412.329 NOTICE   lxc_start - start.c:post_start:1447 - '/sbin/init' started with pid '17411'
            lxc<PHONE_NUMBER>1412.329 WARN     lxc_start - start.c:signal_handler:338 - invalid pid for SIGCHLD
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.329 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1412.335 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.435 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1656.435 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1656.437 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.437 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.437 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.469 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1656.469 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.471 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.474 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.475 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.476 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.480 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.481 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.481 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.481 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.481 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1656.485 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.252 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1700.252 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1700.254 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.254 INFO     lxc_container - lxccontainer.c:do_lxcapi_shutdown:1615 - Using signal number '37' as halt signal.
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 3
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 4
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 5
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 6
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 7
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 8
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 9
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 10
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 11
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 12
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 13
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 14
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 15
            lxc<PHONE_NUMBER>1700.256 INFO     lxc_start - start.c:lxc_check_inherited:252 - closed inherited fd 17
            lxc<PHONE_NUMBER>1700.273 INFO     lxc_monitor - monitor.c:lxc_monitor_sock_name:178 - using monitor sock name lxc/d78a9d7e97b4b375//var/lib/lxd/containers
            lxc<PHONE_NUMBER>1700.273 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.273 DEBUG    lxc_commands - commands.c:lxc_cmd_handler:893 - peer has disconnected
            lxc<PHONE_NUMBER>1700.273 DEBUG    lxc_commands - commands.c:lxc_cmd_get_state:579 - 'foo' is in 'RUNNING' state
            lxc<PHONE_NUMBER>1700.524 DEBUG    lxc_start - start.c:signal_handler:342 - container init process exited
            lxc<PHONE_NUMBER>1700.524 DEBUG    lxc_start - start.c:__lxc_start:1382 - Container halting
            lxc<PHONE_NUMBER>1700.524 DEBUG    lxc_start - start.c:__lxc_start:1397 - Pushing physical nics back to host namespace
            lxc<PHONE_NUMBER>1700.524 DEBUG    lxc_start - start.c:__lxc_start:1400 - Tearing down virtual network devices used by container
            lxc<PHONE_NUMBER>1700.524 WARN     lxc_conf - conf.c:lxc_delete_network:2927 - failed to remove interface 27 'eth0'
            lxc<PHONE_NUMBER>1700.524 INFO     lxc_error - error.c:lxc_error_set_and_log:55 - child <17411> ended on signal (2)
            lxc<PHONE_NUMBER>1700.524 WARN     lxc_conf - conf.c:lxc_delete_network:2927 - failed to remove interface 27 'eth0'
            lxc<PHONE_NUMBER>1700.564 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/share/lxcfs/lxc.reboot.hook' for container 'foo', config section 'lxc'
            lxc<PHONE_NUMBER>1701.066 INFO     lxc_conf - conf.c:run_script_argv:367 - Executing script '/usr/bin/lxd callhook /var/lib/lxd 12 stop' for container 'foo', config section 'lxc'
            lxc<PHONE_NUMBER>1701.163 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1701.163 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.527 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.527 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.681 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.681 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.689 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>1710.689 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.420 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.420 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.553 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.553 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.561 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2120.561 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.526 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.526 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.641 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.641 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.649 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2129.650 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.358 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.358 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.476 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.476 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.484 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2443.485 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2451.574 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2451.574 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2451.686 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2451.686 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2601.940 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2601.940 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2602.065 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2602.065 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2602.073 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2602.073 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.778 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.778 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.885 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.885 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2944.173 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2944.173 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2944.183 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2944.183 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536

Target (with the failed container):
$ lxc info foo --show-log
Name: foo
Remote: unix:/var/lib/lxd/unix.socket
Architecture: x86_64
Created: 2016/10/31 20:28 UTC
Status: Stopped
Type: persistent
Profiles: default

Log:

            lxc<PHONE_NUMBER>2821.908 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.908 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.926 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2821.926 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2834.778 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2834.778 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2839.745 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2839.745 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2839.750 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type u nsid 0 hostid 100000 range 65536
            lxc<PHONE_NUMBER>2839.750 INFO     lxc_confile - confile.c:config_idmap:1500 - read uid map: type g nsid 0 hostid 100000 range 65536

[ ] main daemon log (/var/log/lxd.log)
Source
t=2016-10-31T20:09:46+0000 lvl=info msg="Starting container" creation date=2016-10-18T23:10:46+0100 ephemeral=false stateful=false name=unifi action=start
t=2016-10-31T20:09:46+0000 lvl=info msg="Started container" action=start creation date=2016-10-18T23:10:46+0100 ephemeral=false stateful=false name=unifi
t=2016-10-31T20:13:40+0000 lvl=info msg="Downloading image" alias=16.04 server=https://cloud-images.ubuntu.com/releases trigger=/1.0/operations/c9ee5fb7-91b4-4d9a-877a-0f46539e6d81 image=315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039 operation=c9ee5fb7-91b4-4d9a-877a-0f46539e6d81
t=2016-10-31T20:14:10+0000 lvl=info msg="Image downloaded" trigger=/1.0/operations/c9ee5fb7-91b4-4d9a-877a-0f46539e6d81 image=315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039 operation=c9ee5fb7-91b4-4d9a-877a-0f46539e6d81 alias=16.04 server=https://cloud-images.ubuntu.com/releases
t=2016-10-31T20:14:12+0000 lvl=info msg="Starting container" name=foo action=start creation date=2016-10-31T20:14:10+0000 ephemeral=false stateful=false
t=2016-10-31T20:14:12+0000 lvl=info msg="Started container" name=foo action=start creation date=2016-10-31T20:14:10+0000 ephemeral=false stateful=false
t=2016-10-31T20:17:00+0000 lvl=info msg="Shutting down container" creation date=2016-10-31T20:14:10+0000 ephemeral=false timeout=-1s name=foo action=shutdown
t=2016-10-31T20:17:01+0000 lvl=info msg="Shut down container" action=shutdown creation date=2016-10-31T20:14:10+0000 ephemeral=false timeout=-1s name=foo

Target
t=2016-10-31T19:50:05+0000 lvl=info msg="Deleting container" name=unifi creation date=2016-10-31T19:47:39+0000 ephemeral=false
t=2016-10-31T19:50:05+0000 lvl=info msg="Deleted container" creation date=2016-10-31T19:47:39+0000 ephemeral=false name=unifi
t=2016-10-31T19:50:43+0000 lvl=info msg="Deleting container" creation date=2016-10-31T19:50:22+0000 ephemeral=false name=unifi
t=2016-10-31T19:50:43+0000 lvl=info msg="Deleted container" name=unifi creation date=2016-10-31T19:50:22+0000 ephemeral=false
t=2016-10-31T20:21:23+0000 lvl=info msg="Deleting container" name=foo creation date=2016-10-31T20:17:10+0000 ephemeral=false
t=2016-10-31T20:21:23+0000 lvl=info msg="Deleted container" ephemeral=false name=foo creation date=2016-10-31T20:17:10+0000
t=2016-10-31T20:24:45+0000 lvl=info msg="Deleting container" name=foo creation date=2016-10-31T20:21:29+0000 ephemeral=false
t=2016-10-31T20:24:46+0000 lvl=info msg="Deleted container" name=foo creation date=2016-10-31T20:21:29+0000 ephemeral=false
t=2016-10-31T20:26:06+0000 lvl=info msg="Deleting container" name=foo creation date=2016-10-31T20:24:51+0000 ephemeral=false
t=2016-10-31T20:26:06+0000 lvl=info msg="Deleted container" name=foo creation date=2016-10-31T20:24:51+0000 ephemeral=false

[ ] output of the client with --debug
Source:
$ lxc copy foo nuc:foo --debug
DBUG[10-31|20:31:23] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"api_extensions":[],"api_status":"stable","api_version":"1.0","auth":"trusted","config":{"core.https_address":"[::]:8443","core.trust_password":true},"environment":{"addresses":["<IP_ADDRESS>:8443","<IP_ADDRESS>:8443","x.x.x.12:8443"],"architectures":["x86_64","i686"],"certificate":"-----BEGIN CERTIFICATE-----\nSNIP\n-----END CERTIFICATE-----\n","driver":"lxc","driver_version":"2.0.5","kernel":"Linux","kernel_architecture":"x86_64","kernel_version":"4.4.0-45-generic","server":"lxd","server_pid":1935,"server_version":"2.0.5","storage":"btrfs","storage_version":"4.4"},"public":false}}

DBUG[10-31|20:31:23] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"architecture":"x86_64","config":{"volatile.base_image":"315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039","volatile.eth0.hwaddr":"00:16:3e:07:4b:0e","volatile.last_state.idmap":"[{\"Isuid\":true,\"Isgid\":false,\"Hostid\":100000,\"Nsid\":0,\"Maprange\":65536},{\"Isuid\":false,\"Isgid\":true,\"Hostid\":100000,\"Nsid\":0,\"Maprange\":65536}]"},"created_at":"2016-10-31T20:14:10Z","devices":{"root":{"path":"/","type":"disk"}},"ephemeral":false,"expanded_config":{"environment.http_proxy":"http://[fe80::1%eth0]:13128","user.network_mode":"link-local","volatile.base_image":"315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039","volatile.eth0.hwaddr":"00:16:3e:07:4b:0e","volatile.last_state.idmap":"[{\"Isuid\":true,\"Isgid\":false,\"Hostid\":100000,\"Nsid\":0,\"Maprange\":65536},{\"Isuid\":false,\"Isgid\":true,\"Hostid\":100000,\"Nsid\":0,\"Maprange\":65536}]"},"expanded_devices":{"eth0":{"name":"eth0","nictype":"bridged","parent":"lxdbr0","type":"nic"},"root":{"path":"/","type":"disk"}},"name":"foo","profiles":["default"],"stateful":false,"status":"Stopped","status_code":102}}

DBUG[10-31|20:31:23] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":["/1.0/profiles/default","/1.0/profiles/docker","/1.0/profiles/br-lan"]}

DBUG[10-31|20:31:23] Posting {"migration":true}
 to http://unix.socket/1.0/containers/foo
DBUG[10-31|20:31:23] Raw response: {"type":"async","status":"Operation created","status_code":100,"metadata":{"id":"1ab03d8b-aa28-46f6-80b2-72a2ac40f4b7","class":"websocket","created_at":"2016-10-31T20:31:23.500613917Z","updated_at":"2016-10-31T20:31:23.500613917Z","status":"Running","status_code":103,"resources":{"containers":["/1.0/containers/foo"]},"metadata":{"control":"4aece794f15c7ed1d0c71db29b2238ac25fb2c488f1f8b6efc38387a2a9d748b","fs":"10de224a45c493bd056a6b0d27bb2d595ea9e5593d663e7713cb8ebbf8aa946f"},"may_cancel":false,"err":""},"operation":"/1.0/operations/1ab03d8b-aa28-46f6-80b2-72a2ac40f4b7"}

DBUG[10-31|20:31:23] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"api_extensions":[],"api_status":"stable","api_version":"1.0","auth":"trusted","config":{"core.https_address":"[::]:8443","core.trust_password":true},"environment":{"addresses":["<IP_ADDRESS>:8443","<IP_ADDRESS>:8443","x.x.x.12:8443"],"architectures":["x86_64","i686"],"certificate":"-----BEGIN CERTIFICATE-----\nSNIP\n-----END CERTIFICATE-----\n","driver":"lxc","driver_version":"2.0.5","kernel":"Linux","kernel_architecture":"x86_64","kernel_version":"4.4.0-45-generic","server":"lxd","server_pid":1935,"server_version":"2.0.5","storage":"btrfs","storage_version":"4.4"},"public":false}}

DBUG[10-31|20:31:23] Posting {"architecture":"x86_64","config":{},"devices":{"root":{"path":"/","type":"disk"}},"ephemeral":false,"name":"foo","profiles":["default"],"source":{"base-image":"315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039","certificate":"-----BEGIN CERTIFICATE-----\nSNIP\n-----END CERTIFICATE-----\n","mode":"pull","operation":"https://<IP_ADDRESS>:8443/1.0/operations/1ab03d8b-aa28-46f6-80b2-72a2ac40f4b7","secrets":{"control":"4aece794f15c7ed1d0c71db29b2238ac25fb2c488f1f8b6efc38387a2a9d748b","fs":"10de224a45c493bd056a6b0d27bb2d595ea9e5593d663e7713cb8ebbf8aa946f"},"type":"migration"}}
 to https://x.x.x.16:8443/1.0/containers
DBUG[10-31|20:31:36] Raw response: {"type":"async","status":"Operation created","status_code":100,"metadata":{"id":"26389c85-f067-4cd7-946f-4a7368666484","class":"task","created_at":"2016-10-31T20:31:36.508314263Z","updated_at":"2016-10-31T20:31:36.508314263Z","status":"Running","status_code":103,"resources":{"containers":["/1.0/containers/foo"]},"metadata":null,"may_cancel":false,"err":""},"operation":"/1.0/operations/26389c85-f067-4cd7-946f-4a7368666484"}

DBUG[10-31|20:31:36] 1.0/operations/26389c85-f067-4cd7-946f-4a7368666484/wait
DBUG[10-31|20:31:36] Raw response: {"type":"sync","status":"Success","status_code":200,"metadata":{"id":"26389c85-f067-4cd7-946f-4a7368666484","class":"task","created_at":"2016-10-31T20:31:36.508314263Z","updated_at":"2016-10-31T20:31:36.508314263Z","status":"Failure","status_code":400,"resources":{"containers":["/1.0/containers/foo"]},"metadata":null,"may_cancel":false,"err":"x509: certificate is valid for brian-kit, <IP_ADDRESS>/22, fe80::a6d:41ff:fee6:8ba8/64, x.x.x.16/24, fe80::a6d:41ff:fee6:8ba8/64, fe80::48a:30ff:feb0:79c5/64, <IP_ADDRESS>/24, fe80::a0d5:33ff:fe75:3621/64, fe80::1/64, not brian"}}

error: x509: certificate is valid for brian-kit, <IP_ADDRESS>/22, fe80::a6d:41ff:fee6:8ba8/64, x.x.x.16/24, fe80::a6d:41ff:fee6:8ba8/64, fe80::48a:30ff:feb0:79c5/64, <IP_ADDRESS>/24, fe80::a0d5:33ff:fe75:3621/64, fe80::1/64, not brian

[ ] output of the daemon with --debug
DBUG[10-31|21:00:02] Found cert                               k=0
DBUG[10-31|21:00:02] handling                                 method=GET url=/1.0/profiles ip=x.x.x.12:48514
DBUG[10-31|21:00:02]
        {
                "type": "sync",
                "status": "Success",
                "status_code": 200,
                "metadata": [
                        "/1.0/profiles/default",
                        "/1.0/profiles/docker",
                        "/1.0/profiles/br-lan"
                ]
        }
DBUG[10-31|21:00:03] Found cert                               k=0
DBUG[10-31|21:00:03] handling                                 url=/1.0/containers ip=x.x.x.12:48514 method=POST
DBUG[10-31|21:00:03]
        {
                "architecture": "x86_64",
                "config": {},
                "devices": {
                        "root": {
                                "path": "/",
                                "type": "disk"
                        }
                },
                "ephemeral": false,
                "name": "foo",
                "profiles": [
                        "default"
                ],
                "source": {
                        "base-image": "315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039",
                        "certificate": "-----BEGIN CERTIFICATE-----\nSNIP\n-----END CERTIFICATE-----\n",
                        "mode": "pull",
                        "operation": "https://<IP_ADDRESS>:8443/1.0/operations/e604c24b-c0be-49c8-9edc-0af5d2a014a7",
                        "secrets": {
                                "control": "f9a1ee329033bc62f5d4dda320ae772e1ede937e86dbe88c82867bdef3cb3798",
                                "fs": "7cb42af480a7721721dbf62c3a5a75e2b7974175a6d8bad417d1c4418b100e77"
                        },
                        "type": "migration"
                }
        }
DBUG[10-31|21:00:03] Responding to container create
DBUG[10-31|21:00:03] ContainerCreateFromImage                 driver=storage/dir imageFingerprint=315bedd32580c3fb79fd2003746245b9fe6a8863fc9dd990c3a2dc90f4930039 name=foo isPrivileged=false
DBUG[10-31|21:00:15] Shifting root filesystem                 container=foo rootfs=/var/lib/lxd/containers/foo/rootfs
DBUG[10-31|21:00:15] New task operation: 6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20
DBUG[10-31|21:00:15] Started task operation: 6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20
DBUG[10-31|21:00:15]
        {
                "type": "async",
                "status": "Operation created",
                "status_code": 100,
                "metadata": {
                        "id": "6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20",
                        "class": "task",
                        "created_at": "2016-10-31T21:00:15.690175012Z",
                        "updated_at": "2016-10-31T21:00:15.690175012Z",
                        "status": "Running",
                        "status_code": 103,
                        "resources": {
                                "containers": [
                                        "/1.0/containers/foo"
                                ]
                        },
                        "metadata": null,
                        "may_cancel": false,
                        "err": ""
                },
                "operation": "/1.0/operations/6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20"
        }
DBUG[10-31|21:00:15] ContainerStart                           driver=storage/dir container=foo
DBUG[10-31|21:00:15] ContainerStop                            driver=storage/dir container=foo
DBUG[10-31|21:00:15] Failure for task operation: 6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20: x509: certificate is valid for brian-kit, <IP_ADDRESS>/22, fe80::a6d:41ff:fee6:8ba8/64, x.x.x.16/24, fe80::a6d:41ff:fee6:8ba8/64, fe80::48a:30ff:feb0:79c5/64, <IP_ADDRESS>/24, fe80::a0d5:33ff:fe75:3621/64, fe80::1/64, not brian
DBUG[10-31|21:00:15] Found cert                               k=0
DBUG[10-31|21:00:15] handling                                 method=GET url=/1.0/operations/6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20/wait ip=x.x.x.12:48514
DBUG[10-31|21:00:15]
        {
                "type": "sync",
                "status": "Success",
                "status_code": 200,
                "metadata": {
                        "id": "6c27d5ca-ba0c-4edf-9bfd-7f161f77ca20",
                        "class": "task",
                        "created_at": "2016-10-31T21:00:15.690175012Z",
                        "updated_at": "2016-10-31T21:00:15.690175012Z",
                        "status": "Failure",
                        "status_code": 400,
                        "resources": {
                                "containers": [
                                        "/1.0/containers/foo"
                                ]
                        },
                        "metadata": null,
                        "may_cancel": false,
                        "err": "x509: certificate is valid for brian-kit, <IP_ADDRESS>/22, fe80::a6d:41ff:fee6:8ba8/64, x.x.x.16/24, fe80::a6d:41ff:fee6:8ba8/64, fe80::48a:30ff:feb0:79c5/64, <IP_ADDRESS>/24, fe80::a0d5:33ff:fe75:3621/64, fe80::1/64, not brian"
                }
        }
2016/10/31 21:00:15 http: TLS handshake error from <IP_ADDRESS>:47924: remote error: bad certificate

All makes perfect sense actually and there's not much we can do about this kind of setup until we're done rewriting our client code to support #553.
The way copy/move works is by sending temporary credentials and source information to the target server and then have that server connect to the source to download the container.
Because your source and destination hosts have the same IP, your client is effectively asking the target host to connect to ITSELF to download the container, rather than to the actual source server.
This then fails regular certificate validation (since you're not talking to the right server) and fallbacks to the system CA validation code, which fails with the error you're getting.
To make your setup work, you need to have your remotes in the client use IPs which will also work between the two remote servers.
As mentioned, that's not super intuitive and it's something I've mentioned in a number of my LXD related articles. The relay code that @brauner landed a little while back in the daemon will allow us to workaround such broken setups in the future by having the client itself relay the data (at the cost of potentially slowing down transfer significantly due to said relaying).

The way copy/move works is by sending temporary credentials and source information to the target server and then have that server connect to the source to download the container.

That's reasonable, but if the source has multiple IP addresses, how does it tell the destination which one to use?  The topology in my case is like this:
----+-----------------------+-----
    | x.x.x.12              | x.x.x.16
  brian                  brian-kit
 (source)                (target)
    | <IP_ADDRESS>          | <IP_ADDRESS>
----+----               ----+----

So, if the source told the target to connect back to x.x.x.12 it would be fine.
Note that when the source connects to the target, it sends packets with a source IP address of x.x.x.12 (naturally, by means of the kernel choosing the interface address of the outgoing interface).  Hence if the target were to look at the source IP address of the original connection, it would know the right address to connect back to.
Alternatively, when the source connects to the target, it might be able to ask the kernel which source address the kernel bound to, via some socket option - I'm not sure of the details of that approach.

Thanks to your explanation, I now have a usable workaround: on the source, bind explicitly to the external address.
lxc config set core.https_address x.x.x.12:8443

It's not perfect, because actually the external address is DHCP and will change when this device is moved to another network. But it allowed me to migrate the container, and I reset it to [::]:8443 afterwards.

Hmm, so in a few places we actually have the client iterate over all the IPs that the target advertises, trying each of them one by one. It could be that the fact that the IP technically responded but with the wrong certificate confused that logic somehow.
Anyway, yes, I'd always recommend setting https_address to a unique address, even in the scenario where the retry logic works properly, it'll still save you some time by not having it try every address one by one.

I just ran in the same problem. after reading this it is clear why. I set up the new host with the same lxd network.
lxc network create testbr0 ipv6.address=none ipv4.address=<IP_ADDRESS>/24 ipv4.nat=true
when setting the listen ip to all addresses, the lxd network address is used too.
lxc config set core.https_address [::]:8443
This could be better communicated than with a "TLS handshake error"
Now that I set the core.https_address to the public IP, I can transfer stopped containers. For running containers I get a "Error transferring container data: websocket: bad handshake"  and --debug debug shows:
"err":"Error transferring container data: migration dump failed\n(00.154674) Error (criu/cr-dump.c:1210): Collect mappings (pid: 22611) failed with -1\n(00.166103) Error (criu/cr-dump.c:1628): Dumping FAILED."

The same for me:  I can transfer stopped containers, but get an "websocket: bad handshake" if running.


Implement /dev/sbl_srv file

If there is a way to avoid making dev mod pub, let me know in suggestions.

We should probably initialize all the /dev devices somewhere inside the module.

We should probably initialize all the /dev devices somewhere inside the module.

Better to split each device into a separated module like dev/dmem0 will be a responsible of DmemManager.

All of the devices in the src/kernel/src/fs/dev are legacy ones. It is a remnant of the old FS system. That means we are going to move all of them to the outside like TtyManager.

@ultimaweapon I think I already asked this somewhere, but you may have overlooked it. Aren't all the Cdevsws static in FreeBSD?

@ultimaweapon I think I already asked this somewhere, but you may have overlooked it. Aren't all the Cdevsws static in FreeBSD? I don't really see a reason for Arc here

I can't remember why I was chosen for the current solution. But I already thought about static but decided to use Arc instead. Maybe we can try converted to a static version and see if we hit any problems.

@SuchAFuriousDeath can you check if your issues has been fixed?

Depends on whether you're fine with merging this

I think @mikusp already fixed that.

Oh :eyes:

Superseded by #729


[Enhancement]: UI of  Click the Circle game and  adding some new features such as increasing time, button position etc.

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
I  was finding a game for improvement and I saw that in "Click the circle game" the UI is so boring that it makes the user feel not to play it as it has only white background and black letters . Also there is only time limit of 15 seconds which is very less and the start button and letters are overlapping.
Describe the solution you'd like
Firstly, I would like to change its UI so as it becomes dashing , I will use a nice background, change the fonts and colors as well as the position of text and buttons . Then I will increase the time limit to 30 seconds . I will try to add some more features and make necessary changes in it.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @Changingthegame !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @Changingthegame ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇