ERROR: (gcloud.run.deploy) PERMISSION_DENIED: Permission 'run.services.get' denied on resource

TL;DR

when I use github action , and Wrong report. I don't know how to solve it. Thank you
Expected behavior
No response
Observed behavior
No response
Action YAML
# This workflow build and push a Docker container to Google Artifact Registry and deploy it on Cloud Run when a commit is pushed to the "master" branch
#
# Overview:
#
# 1. Authenticate to Google Cloud
# 2. Authenticate Docker to Artifact Registry
# 3. Build a docker container
# 4. Publish it to Google Artifact Registry
# 5. Deploy it to Cloud Run
#
# To configure this workflow:
#
# 1. Ensure the required Google Cloud APIs are enabled:
#
#    Cloud Run            run.googleapis.com
#    Artifact Registry    artifactregistry.googleapis.com
#
# 2. Create and configure Workload Identity Federation for GitHub (https://github.com/google-github-actions/auth#setting-up-workload-identity-federation)
#
# 3. Ensure the required IAM permissions are granted
#
#    Cloud Run
#      roles/run.admin
#      roles/iam.serviceAccountUser     (to act as the Cloud Run runtime service account)
#
#    Artifact Registry
#      roles/artifactregistry.admin     (project or repository level)
#
#    NOTE: You should always follow the principle of least privilege when assigning IAM roles
#
# 4. Create GitHub secrets for WIF_PROVIDER and WIF_SERVICE_ACCOUNT
#
# 5. Change the values for the GAR_LOCATION, SERVICE and REGION environment variables (below).
#
# NOTE: To use Google Container Registry instead, replace ${{ env.GAR_LOCATION }}-docker.pkg.dev with gcr.io
#
# For more support on how to run this workflow, please visit https://github.com/marketplace/actions/deploy-to-cloud-run
#
# Further reading:
#   Cloud Run IAM permissions                 - https://cloud.google.com/run/docs/deploying
#   Artifact Registry IAM permissions         - https://cloud.google.com/artifact-registry/docs/access-control#roles
#   Container Registry vs Artifact Registry   - https://cloud.google.com/blog/products/application-development/understanding-artifact-registry-vs-container-registry
#   Principle of least privilege              - https://cloud.google.com/blog/products/identity-security/dont-get-pwned-practicing-the-principle-of-least-privilege

name: Build and Deploy to eks

on:
  push:
    branches: [ "master" ]

env:
  PROJECT_ID: ${{ secrets.GKE_PROJECT }} # TODO: update Google Cloud project id
  GAR_LOCATION: asia-southeast1 # TODO: update Artifact Registry location
  SERVICE: gke-goole-translation-service # TODO: update Cloud Run service name
  REGION: asia-southeast1 # TODO: update Cloud Run service region

jobs:
  deploy:
    # Add 'id-token' with the intended permissions for workload identity federation
    permissions:
      contents: 'read'
      id-token: 'write'

    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Google Auth
        id: auth
        uses: 'google-github-actions/auth@v0'
        with:
          token_format: 'access_token'
          workload_identity_provider: '${{ secrets.WIF_PROVIDER }}' # e.g. - projects/123456789/locations/global/workloadIdentityPools/my-pool/providers/my-provider
          service_account: '${{ secrets.WIF_SERVICE_ACCOUNT }}' # e.g. -<EMAIL_ADDRESS>
      # NOTE: Alternative option - authentication via credentials json
      # - name: Google Auth
      #   id: auth
      #   uses: 'google-github-actions/auth@v0'
      #   with:
      #     credentials_json: '${{ secrets.GCP_CREDENTIALS }}'

      # BEGIN - Docker auth and build (NOTE: If you already have a container image, these Docker steps can be omitted)

      # Authenticate Docker to Google Cloud Artifact Registry
      - name: Docker Auth
        id: docker-auth
        uses: 'docker/login-action@v1'
        with:
          username: 'oauth2accesstoken'
          password: '${{ steps.auth.outputs.access_token }}'
          registry: '${{ env.GAR_LOCATION }}-docker.pkg.dev'

      - name: Build and Push Container
        run: |-
          gcloud auth configure-docker asia-southeast1-docker.pkg.dev

          docker build -t "${{ env.GAR_LOCATION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/translation:${{ github.sha }}" ./
          docker push "${{ env.GAR_LOCATION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/translation:${{ github.sha }}"

      # END - Docker auth and build

      - name: Deploy to Cloud Run
        id: deploy
        uses: google-github-actions/deploy-cloudrun@v0
        with:
          service: ${{ env.SERVICE }}
          region: ${{ env.REGION }}
          # NOTE: If using a pre-built image, update the image name here
          image: ${{ env.GAR_LOCATION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.SERVICE }}/translation:${{ github.sha }}

      # If required, use the Cloud Run url output in later steps
      - name: Show Output
        run: echo ${{ steps.deploy.outputs.url }}

Log output
https://github.com/albin504/google-translation-api/actions/runs/4305510547/jobs/7508876491

Additional information
No response

Did you follow step 3 in the comment? You must grant the service account permissions to manage Cloud Run resources.

@sethvargo
thank you very much!
I don't understand the service account very well. My current configuration is as follows. Would you please help me see if it is wrong?
in step 2， My service account is<EMAIL_ADDRESS>

Why is there something wrong with the configuration, please tell me how to configure it?

Did you grant<EMAIL_ADDRESS>roles/run.admin permissions?

@sethvargo I don't know how to operate. Could you tell me how to configure it?

@sethvargo

Five minutes after authorization, still holding the wrong:

Did you grant<EMAIL_ADDRESS>roles/run.admin permissions?

In addition, how to operate this authorization is not found on the web interface? Last completed through the command line

Hi @albin504 - we cannot provide general GCP support. Please see the documentation for using a custom service account with Cloud Run: https://cloud.google.com/run/docs/securing/service-identity
I do not believe this is an issue with our GitHub Action.

thank you @sethvargo !
After I manually created a cloud run service on Google cloud and authorized the Cloud Run Admin role to allUser, now it's OK. I know it's a little risky, but I'm just testing it.

In addition, there are some problems with the action template:

docker push address must have image name，and it not in the template，This will report an error.
https://github.com/albin504/google-translation-api/blob/master/.github/workflows/gke.yml


Licensing issue

Pull requests are welcome. For major changes, please first either: ...

Contributions are encouraged, but the code is licensed under cc, which means it is a license infringement to modify the code and share it.
This should be fixed asap.

@Esinko and I just decided to license the main branch with the MIT license. Feel free to open a pull request to commit the LICENSE file.

Resolved in b4b1a027197b5c15d1051e31a713b3f68e8a0682


Resolve to the "nearest" version

Previously, when a dependency tree contained multiple versions of the same dependency we used the following rules to resolve the conflicts:

Prefer lexicographically greater revisions.
If there is a branch specification and a revision specification, try to use both and fail if the revision tag is not reachable from the specified branch head.

There are a few problems with these rules:

Rule 1 does not give user much control over transitive dependency versions. You can only override to a bigger revision.
Lexicographic comparison does not necessarily make sense for revision strings.
Rule 2 does not work with some git workflows.
There are some corner cases when transitive dependencies change depending on the version we choose.

I'd say the first problem is the most important one, as it makes it impossible to work around other.
This PR implements an alternative conflict resolution strategy — the dependencies nearest to the root win. This is, for example, similar to what Maven does. This makes it trivial to override any dependency by explicitly specifying the revision in the protofetch.toml.
Besides making version resolution more flexible (which I suppose is rarely a problem in practice, as dependency trees are usually relatively small), there is a second reason why I'd like to make this change. With the current rules, transitive dependencies affect the dependency resolution but are not recorded in the lock file, so while the lock file stores the resulting revisions, it is impossible to verify that the lock file corresponds to protofetch.toml. An alternative solution could be to write all transitive dependencies in the lock file, even if they are not a part of the final dependency set. This is however not backwards compatible, and in my opinion it'd be nice to changing the resolution strategy anyway.

Why is it important to be able to "verify that the lock file corresponds to protofetch.toml"?

@kolov This is related to #83. If you edit the protofetch.toml file, we should be able to detect this and update the lock file (ideally, only the parts that correspond to the toml file changes). This is how all other tools that have lock files work, but with protofetch you have to explicitly update the lock file with fetch -f, otherwise, the changes in the toml file are simply ignored.


963 dashboard blocked user still shows up in the list of contacts to share post

I thought we already discussed this yesterday that the filter on the backend is better then on the frontend. With suggested solution you filter 2 times in the backend(To get the blocked ones) and frontend(Use the blocked ones to filter the chats that includes everything). Now i filter only once in the backend and show them directly


Improvements for handling Maven / SBT projects

Please have a look at the individual commit messages for the details.

This change is

@RomanIakovlev, the second commit should fix your issue.


Modernize recent changes

Continue the porting process described in #818
Run futurize --stage1 -w . on the entire repo yet again.

@cooooo Anyone can review a pull request by:

Click Files changed near the top of this page
Click the Review changes button
Click the Approve button
Click the Submit review button

Instead of a 👍 on a pull request, it will help the maintainer (vnpy) if you give a positive review.  That way, it is clear that you have looked through the changes and approve them as both useful and safe.

@cclauss nice work,thx!


HTTP Upload via POST

Hello !
I need upload files via REST route, how i can do this ? I read package can process POST requests, but i dont find example here.

Hi @noris666, currently you cannot define the full path for file uploads/downloads.
The only thing you can change is the root path of the stores.
// This path will be appended to the site URL, be sure to not put a "/" as first character
// for example, a PNG file with the _id 12345 in the "photos" store will be available via this URL :
// http://www.yourdomain.com/uploads/photos/12345.png
UploadFS.config.storesPath = 'uploads';

@jalik ok thx 4 answer.
At the moment I realized uploading via POST request. Through these packages Picker, Multer and Meteor Files.

@jalik you can close my issue. I have solution at now.
If anybody need solutions. Can get here: https://github.com/noris666/Meteor-Files-POST-Example


Clarifying and cleaning up root filesystem section

Making the root filesystem examples match the implementation (which is cleaner) and disambiguating the notion of read-only.
https://github.com/opencontainers/specs/issues/23#issuecomment-115429350

On Thu, Jun 25, 2015 at 04:41:48PM -0700, Taylor Brown wrote:

Adding placeholder for Windows configuration
Manifest version should be platform agnostic.
…
Revert "Adding placeholder for Windows configuration"

You probably want to rebase these out of this PR to avoid pulling
these in (they're from #22?).

cleaning up example for filesystem to better match runc example and improve clarity.
Attempting to clarify read-only FS.  (Issue 23)

These look pretty good to me.  Only suggestion is to change:
“Some platforms may not support read-only file systems or read-only
container file systems.”
to:
“Some platforms may not support read-only root filesystems, and some
may not support read-only file systems at all.”
I think that's what you were saying, and it seems like a useful
distinction to draw.

Or maybe you're saying that the filesystem containing the OC container
definition (vs. the filesystems mounted into running containers) must
be read-write?  So we have three filesystem cases:

The filesystem specifying the container (the “image” in Docker's
lingo).
The filesystems mounted into a created container (the “container”
in Docker's lingo).
i. The root of the created container.
ii. Additional filesystems mounted into the created container.

My understanding is that Windows requires 2.i to be writable 1.  In
my previous comment here, I felt like you were distinguishing between
2.i and 2.ii, but it's possible you were talking about 1?
I guess I'm not clear on how container creation is going to handle
these filesystems.  Are they just bind-mounted from their current
locations (in which case a writable 2.i requires a writable 1)?  Are
they copied off (hopefully via CoW) to some special location for the
running containers (like Docker does when launching images now)?  I
think I like the bind approach better (leaving CoW copies up to the
user and avoiding the “how do I get information out of a volume” issue
that Docker sometimes struggles with), but I'm not sure which way this
project will go.  I guess I'll spin up runc to find out ;).

On Thu, Jun 25, 2015 at 05:42:09PM -0700, W. Trevor King wrote:

I guess I'm not clear on how container creation is going to handle
these filesystems.  Are they just bind-mounted from their current
locations (in which case a writable 2.i requires a writable 1)?

This is how runc seems to work (yay :).

I'll update the PR and include the clarification you suggested, I'm new to git so apologies for the learning curve...
To your second question - I am trying to clarify between 2.i and 2.ii.  Windows (today) can not boot off of a read only volume, it can (though rarely used directly) support secondary/additional read-only volumes.  As currently being implemented in the Windows OS the root file system (as were referring to it in this discussion) is always COW, with the express ability to mount additional file system locations (directories or volumes) from the host into the container read/write.


deepspeed-chat: calculate loss in fp32 when using bf16

Using loss in fp32 improved accuracy for bf16 training for all 3 stages. By default, all 3 stages will calculate loss in fp32 when using bf16. This can be disabled by using --no_bf16_to_fp32_loss.
While at it, fix stage2 reward model creation: pass zero_stage to create_critic_model.
Change-Id: I9c8e95d4886cdb44aaa6c14c4aee738e133ae405

@misland-habana, this is great! But I am curious, is there any reason that this cannot be enable for fp16 as well (even fp8)? I think other dtypes could benefit from fp32 loss computation.

@mosheisland, in that case do you mind changing the cli to something like --compute_fp32_loss and enabling it for other low-precision dtypes. For now, I think it would be sufficient to remove all the bf16 guards.

@tjruwase - sure, I will do it.

@tjruwase, I have uploaded a new commit with --compute_fp32_loss.
While testing it, I encountered an issue in upstream that happens when you use bf16 and tensorboard.
The issue is that in stage3 we log actor and critic loss to tensorboard.
Then, if the scalar is a tensor, tensorboard converts it to numpy.
The issue is that when using bf16 without --compute_fp32_loss, the loss will be a bf16 tensor.
However, numpy does not support conversion from bf16 tensor.
I fixed this issue as part of this commit.
I only discovered this issue now since up till now I forced bf16 loss to fp32...


Add Support to add prefix/suffix to Tasks

Issue
Currently there is no way to add custom prefix/suffix to task names. It can be useful to have the support to add prefix/suffix support for the tasks.
Changes

Add config keys TASK_NAME_PREFIX_KEY and TASK_NAME_SUFFIX_KEY in BatchConfigProperties.
Add support for prefix/suffix in PinotHelixTaskResourceManager.

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

Project coverage is 0.00%. Comparing base (59551e4) to head (1808a98).
Report is 1343 commits behind head on master.

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (1808a98). Click for more details.
HEAD has 53 uploads less than BASE

Flag
BASE (59551e4)
HEAD (1808a98)

integration
7
1

integration2
3
1

temurin
12
1

java-21
7
1

skip-bytebuffers-true
3
0

skip-bytebuffers-false
7
1

unittests
5
0

unittests1
2
0

java-11
5
0

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #14478       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436        3     -2433
  Lines        133233        6   -133227
  Branches      20636        0    -20636
=============================================
- Hits          82274        0    -82274
+ Misses        44911        6    -44905
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <ø> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <ø> (ø)

java-11
?

java-21
0.00% <ø> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <ø> (-61.75%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <ø> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

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

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


Template output parameters

Support the ability for templates to have output values which can be referenced by other resources.
e.g.,
resources:

name: r1
type: replicatedservice.py
name: r2
type: repliatedservice.py
properties:
env:
r1Port: $(ref.r1.port)

Duplicate of #54.


move pager resources under strings/en-us folder

Move PagerControl resources to strings/en-us folder to match others. This should also fix the loc pipeline which is failing to find this file.

/azp run


Is this a bug?

Steps to Reproduce

int pay = 120000;
num payDivided = pay/10000;
var discountRate = 20;
print('${(payDivided * ((100 - discountRate) * 0.01))}');

Expected results:
9.6
Actual results:
9.600000000000001

Code sample

Logs

This is not a bug, it is correct to within the precision of a double. Per Dart docs:

Dart doubles are 64-bit floating-point numbers as specified in the IEEE 754 standard.

and this is the standard's behavior.


koordlet: report kubelet reserved cpus

Signed-off-by: Joseph<EMAIL_ADDRESS>Ⅰ. Describe what this PR does

Refactor the implementation of parsing kubelet command parameters and configuration files. Reuse some of the existing code in kubelet to implement complete parameter parsing logic. can be reused directly.
Report the reserved CPUs by kubelet. Support reserved by scalar or  specified.
Add reservedCPUs in protocol KubeletCPUManagerPolicy.

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm
/approve


We don't have a full list of Berkeley integrations required for stubbed views

Relates to https://github.com/Granola-Team/mina-indexer/issues/902

How to view the stubbed pages
To view the stubbed pages locally, add the following to your .env file
BERKELEY_FEATURES_ENABLED=true

and run just clean dev
The additional stubbed views for Berkeley will be apparent.
Tokens

Tokens list is a addresses page for listing all the tokens. It will require the following columns

Token Name (searchable)
Token ID (searchable)
Supply
Token Owner
Token Holders (count)
Total Transactions (count)
Locked Status

ZK Apps

ZK Apps is a page listing zk apps independently of other accounts. It is an address listing page for zk Apps. It will require the following columns

Account (searchable)
Balance
Command (count)
Delegate

NOTE: We will also need to distinguish these pages from the existing accounts. The accounts list must not load tokens or zk apps, as these are presented on separate tabs
Zk App Commands

ZK Apps Commands is page for listing all commands from all zk apps. It requires the following columns:

Hash
Prover
Age
Updates made within the command (count)
Updated accounts (pks)
Any transacted amounts (mina or other token)

Zk App Spotlight

Zk App Spotlight page is for inspecting a zk app transaction (or token transaction). It will require the following information

Block height
Fee payer
Txn Hash
Block Hash
Type (zk or not)
Number of accounts updated within the app command
Balance change (if any)
Token ID (if any token was involved)
App State (json array)
Permissions of the app (json object)

@Isaac-DeFrain


MicroPython: Pico W Bluetooth Support

Bluetooth support for Pico W, Inky and Enviro builds.

Dear All,
I have a Badger Pico 2040W upon which I added the latest FW (with bluetooth):
MicroPython 856e08b1931b88271816a2f60648f6ff332235b2, picow v1.20.3 on 2023-06-19; Raspberry Pi Pico W with RP2040
but when I try to run launcher.py (from Thonny), I get the error:

%Run -c $EDITOR_CONTENT
Traceback (most recent call last):
File "", line 1, in
File "launcher.py", line 5, in
File "/lib/badger2040w.py", line 10, in
ImportError: no module named 'wakeup'

Your help is appreciated,
Duane


Replace comma delimiter with a semicolon

On the Private Modules and Repositories page, the example for specifying multiple authentication tokens has one semicolon delimiter and one comma delimiter.
This PR simply replaces the comma with a semicolon.

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


Need Assassin's Creed® Syndicate more fps

Please describe your issue as accurately as possible.
If you use Windows, please check the following page: https://github.com/doitsujin/dxvk/wiki/Windows
Software information
Name of the game, settings used etc.
System information

GPU: GTX-1650
Driver: 528.49
Wine version: Nope
DXVK version: 2.1

Apitrace file(s)

Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace
Log files

d3d9.log:
d3d11.log:
dxgi.log:

I'm gonna give you the benefit of doubt here and just tell you this is not how you should make an issue. If you have problems with something then please fill out the issue with proper information and describe what the actual issue is 🙂

You didn't even try...

The game when using the default DX11, sometimes the game frame is jerked from 70fps to 30fps even down to 5fps on window 11 22h2. and using vulkan ( dxvk ) it is stable at 40fps with no frame lag but i need a higher and more stable fps than DX11

What is your GPU and driver.
Post the dxvk logs that appear next to the games exe or in it's root folder.

ACS_d3d11.log
ACS_dxgi.log

I notice you also have a iGPU.
If you make a file called dxvk.conf (.conf is the extension so make sure it isn't just a text file called dxvk.conf.txt) next to where you found the logs and then insert dxvk.hud = full can you then verify your Nvidia GPU shows up in the hud?

We can't just make games run 75% faster. Nvidia's D3D11 driver in particular is known and expected to significantly outperform DXVK especially on older systems.

Has the problem been solved? If yes, what did you do to solve it?


what value to use for 3.2.3 position mixin to ignore?

I am using node-sass, so I can only choose 3.2.3.
I've noticed that mixin @include position(0px null null 100px) doesn’t work.
It will raise the error:
"position:21: error: argument $number of unitless($number) must be a number"
In addition, I’ve tried null, false. It will raise error. If I try 0, it will put 0 into the CSS like top: 0;
I am wondering what value I can use to make position() to ignore the value like the current doc? The current doc is: @include position(relative, 0px null null 100px);

Bourbon gem v3.2.4 is up.


Errors building Lanelet2 on Windows platform

Hello,
I have some errors while trying to build the Lanelet2 lib in Windows.
I have tested with several versions of the lib (lastest commit 1e659dab3cade16ab8aebc62af1f44126ed525a7j, or in 1.1.1) but it gives the same error when following the steps in the documentation.
Precisely, when I execute the conan install as shown in the following code, it does not work.
conan install lanelet2/1.1.1@lanelet2/stable --build=missing
I attach the console output after executing those commands to share with you the errors, hoping that someone has faced the same issue. In this case, it fails due to "permission denied for user 'None'. [Reomte: bincracters]".
X:\Lanelet2>conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
ERROR: Remote 'bincrafters' already exists in remotes (use update to modify)

X:\Lanelet2>conan source .
conanfile.py (lanelet2/1.1.1): Configuring sources in X:\Lanelet2

X:\Lanelet2>conan create . lanelet2/stable --build=missing
Exporting package recipe
lanelet2/1.1.1@lanelet2/stable exports: Copied 1 '.xml' file: package.xml
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 34 files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 9 '.yml' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 21 '.txt' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 63 '.py' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 47 '.cmake' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.vcxproj' file: lanelet2_0_8.vcxproj
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.filters' file: lanelet2_0_8.vcxproj.filters
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 52 '.md' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 4 '.yaml' files: rosdoc.yaml, clang-tidy-fixes.yaml, rosdoc.yaml, cmake.yaml
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.check_cache' file: cmake.check_cache
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.bazel' files: BUILD.bazel, BUILD.bazel, BUILD.bazel
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 2 '.sh' files: linux-presubmit.sh, macos-presubmit.sh
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 2 '.scss' files: style.scss, main.scss
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 5 '.html' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 14 '.in' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 143 '.h' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.cppclean' file: README.cppclean
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 101 '.cc' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 11 '.rst' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.json' file: codeclimate.json
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 14 '.xml' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 26 '.png' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 79 '.cpp' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.mapcss' files: lanelets.mapcss, lines.mapcss, routing.mapcss
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.zip' file: style_images.zip
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.osm' files: mapping_example-debug.osm, mapping_example.osm, mapping_example.osm
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 5 '.svg' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.jpg' file: lanelet_map_route_oststadtkreisel_small.jpg
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.inv' file: objects.inv
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 10 '.js' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.gif' file: ajax-loader.gif
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 4 '.css' files: basic.css, graphviz.css, pygments.css, sphinxdoc.css
lanelet2/1.1.1@lanelet2/stable: The stored package has not changed
lanelet2/1.1.1@lanelet2/stable: Using the exported files summary hash as the recipe revision: a86c7f5a9b3dddf085770dbce461acbf
lanelet2/1.1.1@lanelet2/stable: Exported revision: a86c7f5a9b3dddf085770dbce461acbf
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=14
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

python_dev_config/0.6@bincrafters/stable: Not found in local cache, looking in remotes...
python_dev_config/0.6@bincrafters/stable: Trying with 'conancenter'...
python_dev_config/0.6@bincrafters/stable: Trying with 'conan-center'...
python_dev_config/0.6@bincrafters/stable: Trying with 'bincrafters'...
ERROR: Failed requirement 'python_dev_config/0.6@bincrafters/stable' from 'lanelet2/1.1.1@lanelet2/stable'
ERROR: Permission denied for user: 'None'. [Remote: bincrafters]

For information, my current conan user are the following (I cleaned them since it was not working even with my username in current user and in bincrafters user):
X:\Lanelet2>conan user
Current user of remote 'conancenter' set to: 'None' (anonymous)
Current user of remote 'conan-center' set to: 'None' (anonymous)
Current user of remote 'bincrafters' set to: 'None' (anonymous)

When updated, the output of conan user is the following (but the errors are still present):
X:\Lanelet2>conan user
Current user of remote 'conancenter' set to: 'fgarrid2'
Current user of remote 'conan-center' set to: 'fgarrid2'
Current user of remote 'bincrafters' set to: 'fgarrid2'

I have just seen the following info:

Since the beginning of Bincrafters, our packages were hosted on Bintray. In February, JFrog announced the sunset of Bintray (see also this Conan blog post). On May 1, 2021, Bintray will shut down forever and with it our current Conan repository at https://api.bintray.com/conan/bincrafters/public-conan.
That explains the error from bincrafters
source: https://bincrafters.github.io/2017/06/06/using-bincrafters-conan-repository/

Short update about the build in windows:
I changed the conanfile.py after installing some of the modules in conan and now I think I am arriving to the last compilation errors:
X:\Lanelet2>conan create . lanelet2/stable --build=missing
Exporting package recipe
lanelet2/1.1.1@lanelet2/stable exports: Copied 1 '.xml' file: package.xml
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 34 files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 9 '.yml' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 21 '.txt' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 63 '.py' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 47 '.cmake' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.vcxproj' file: lanelet2_0_8.vcxproj
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.filters' file: lanelet2_0_8.vcxproj.filters
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 52 '.md' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 4 '.yaml' files: rosdoc.yaml, clang-tidy-fixes.yaml, rosdoc.yaml, cmake.yaml
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.check_cache' file: cmake.check_cache
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.bazel' files: BUILD.bazel, BUILD.bazel, BUILD.bazel
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 2 '.sh' files: linux-presubmit.sh, macos-presubmit.sh
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 2 '.scss' files: style.scss, main.scss
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 5 '.html' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 14 '.in' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 143 '.h' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.cppclean' file: README.cppclean
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 101 '.cc' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 11 '.rst' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.json' file: codeclimate.json
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 14 '.xml' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 26 '.png' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 79 '.cpp' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.mapcss' files: lanelets.mapcss, lines.mapcss, routing.mapcss
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.zip' file: style_images.zip
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 3 '.osm' files: mapping_example-debug.osm, mapping_example.osm, mapping_example.osm
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 5 '.svg' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.jpg' file: lanelet_map_route_oststadtkreisel_small.jpg
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.inv' file: objects.inv
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 10 '.js' files
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 1 '.gif' file: ajax-loader.gif
lanelet2/1.1.1@lanelet2/stable exports_sources: Copied 4 '.css' files: basic.css, graphviz.css, pygments.css, sphinxdoc.css
lanelet2/1.1.1@lanelet2/stable: The stored package has not changed
lanelet2/1.1.1@lanelet2/stable: Using the exported files summary hash as the recipe revision: c5ba6bea2aac078181bea26880f7e83d
lanelet2/1.1.1@lanelet2/stable: Exported revision: c5ba6bea2aac078181bea26880f7e83d
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=14
os=Windows
os_build=Windows
[options]
[build_requires]
[env]

WARN: boost/1.71.0: requirement zlib/1.2.11 overridden by lanelet2/1.1.1@lanelet2/stable to zlib/1.2.11@conan/stable
WARN: boost/1.71.0: requirement bzip2/1.0.8 overridden by lanelet2/1.1.1@lanelet2/stable to bzip2/1.0.8@conan/stable
python_dev_config/0.6@bincrafters/stable: running "python3" -c "from __future__ import print_function; import sys; print(sys.executable)"
python_dev_config/0.6@bincrafters/stable: (failed)
python_dev_config/0.6@bincrafters/stable: running "None" -c "from __future__ import print_function; import sys; print('%s.%s' % (sys.version_info[0], sys.version_info[1]))"
python_dev_config/0.6@bincrafters/stable: (failed)
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sys; print('%s.%s' % (sys.version_info[0], sys.version_info[1]))"
boost/1.71.0: WARN: Package binary is corrupted, removing: 486110b8fa71562c722f2e02a50362a10d5e48d5
Installing package: lanelet2/1.1.1@lanelet2/stable
Requirements
    boost/1.71.0 from 'conancenter' - Cache
    bzip2/1.0.8@conan/stable from 'conan-center' - Cache
    eigen/3.3.7 from 'conancenter' - Cache
    geographiclib/1.52 from 'conancenter' - Cache
    lanelet2/1.1.1@lanelet2/stable from local cache - Cache
    pugixml/1.10 from 'conancenter' - Cache
    python_dev_config/0.6@bincrafters/stable from 'bincrafters' - Cache
    zlib/1.2.11@conan/stable from 'conan-center' - Cache
Packages
    boost/1.71.0:486110b8fa71562c722f2e02a50362a10d5e48d5 - Build
    bzip2/1.0.8@conan/stable:d9d4b222f9e8db0529bc4a08685d8a80c5b6eadb - Cache
    eigen/3.3.7:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    geographiclib/1.52:f31e931548a037247cb33ff47b6f4e7d900b35e7 - Cache
    lanelet2/1.1.1@lanelet2/stable:b7b657472fd4659c6337c7bf06d8aa0da2aadc5b - Build
    pugixml/1.10:63da998e3642b50bee33f4449826b2d623661505 - Cache
    python_dev_config/0.6@bincrafters/stable:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    zlib/1.2.11@conan/stable:63da998e3642b50bee33f4449826b2d623661505 - Cache
Build requirements
    b2/4.5.0 from 'conancenter' - Cache
Build requirements packages
    b2/4.5.0:ca33edce272a279b24f87dc0d4cf5bbdcffbc187 - Cache

Installing (downloading, building) binaries...
b2/4.5.0: Already installed!
bzip2/1.0.8@conan/stable: Already installed!
eigen/3.3.7: Already installed!
geographiclib/1.52: Already installed!
geographiclib/1.52: Appending PATH environment variable: C:\Users\fgarrid2\.conan\data\geographiclib\1.52\_\_\package\f31e931548a037247cb33ff47b6f4e7d900b35e7\bin
pugixml/1.10: Already installed!
python_dev_config/0.6@bincrafters/stable: Already installed!
zlib/1.2.11@conan/stable: Already installed!
boost/1.71.0: Applying build-requirement: b2/4.5.0
boost/1.71.0: WARN: Build folder is dirty, removing it: C:\.conan\2811c2\1
boost/1.71.0: Building your package in C:\.conan\2811c2\1
boost/1.71.0: Generator txt created conanbuildinfo.txt
boost/1.71.0: Calling build()
WARN: replace_in_file didn't find pattern '/* thread_local */' in 'C:\.conan\4c6191\1\source_subfolder\boost\stacktrace\detail\libbacktrace_impls.hpp' file.
WARN: replace_in_file didn't find pattern '/* static __thread */' in 'C:\.conan\4c6191\1\source_subfolder\boost\stacktrace\detail\libbacktrace_impls.hpp' file.
boost/1.71.0: WARN: Patching user-config.jam
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sys; print('%s.%s' % (sys.version_info[0], sys.version_info[1]))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_path('include'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_path('platinclude'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('INCLUDEPY'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('INCLUDEDIR'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('INCLUDEDIR'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_python_inc())"
boost/1.71.0: (failed)
boost/1.71.0: checking C:\Programs\Python\Python36\Include\Python.h
boost/1.71.0: found Python.h: C:\Programs\Python\Python36\Include\Python.h
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('LIBRARY'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('LIBRARY'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('LDLIBRARY'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('LDLIBRARY'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('LIBDIR'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('LIBDIR'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('MULTIARCH'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('MULTIARCH'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('multiarchsubdir'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('multiarchsubdir'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('WITH_DYLD'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import distutils.sysconfig as du_sysconfig; print(du_sysconfig.get_config_var('WITH_DYLD'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sysconfig; print(sysconfig.get_config_var('LIBDEST'))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sys; print('%s.%s' % (sys.version_info[0], sys.version_info[1]))"
boost/1.71.0: running "c:/programs/python/python36/python.exe" -c "from __future__ import print_function; import sys; print(getattr(sys, 'abiflags', ''))"
boost/1.71.0: checking C:\Programs\Python\Python36\libs\python.lib
boost/1.71.0: checking C:\Programs\Python\Python36\libs\python3.6.lib
boost/1.71.0: checking C:\Programs\Python\Python36\libs\python36.lib
boost/1.71.0: found python library: C:\Programs\Python\Python36\libs\python36.lib
boost/1.71.0: WARN:
using zlib : 1.2.11 : <include>"C:/Users/fgarrid2/.conan/data/zlib/1.2.11/conan/stable/package/63da998e3642b50bee33f4449826b2d623661505/include" <search>"C:/Users/fgarrid2/.conan/data/zlib/1.2.11/conan/stable/package/63da998e3642b50bee33f4449826b2d623661505/lib" <name>zlib ;
using bzip2 : 1.0.8 : <include>"C:/Users/fgarrid2/.conan/data/bzip2/1.0.8/conan/stable/package/d9d4b222f9e8db0529bc4a08685d8a80c5b6eadb/include" <search>"C:/Users/fgarrid2/.conan/data/bzip2/1.0.8/conan/stable/package/d9d4b222f9e8db0529bc4a08685d8a80c5b6eadb/lib" <name>bz2 ;
using python : 3.6 : "c:/programs/python/python36/python.exe" : "C:/Programs/Python/Python36/Include" : "C:/Programs/Python/Python36/libs/python36.lib" ;
using "msvc" : 14.0 :  "" :
 ;
boost/1.71.0: WARN: b2.exe -q target-os=windows architecture=x86 address-model=64 binary-format=pe abi=ms --layout=system --user-config=C:\.conan\4c6191\1\source_subfolder\tools\build\user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv runtime-link=shared runtime-debugging=off threading=multi visibility=hidden link=shared variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-locale --with-log --with-math --with-program_options --with-python --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=msvc pch=on  cxxflags="-fPIC" install --prefix=C:\.conan\aa074a\1 -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="C:\.conan\2811c2\1"
notice: found boost-build.jam at C:/.conan/4c6191/1/source_subfolder/boost-build.jam
notice: loading B2 from C:/.conan/4c6191/1/source_subfolder/tools/build/src/bootstrap.jam
warning: mismatched versions of Boost.Build engine and core
warning: Boost.Build engine (b2.exe) is 4.5.0
warning: Boost.Build core (at C:/.conan/4c6191/1/source_subfolder/tools/build/src) is 4.0-git
notice: Searching 'C:\Users\fgarrid2' 'C:\Users\fgarrid2' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/kernel' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/util' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/build' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/tools' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/contrib' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/.' for site-config configuration file 'site-config.jam'.
notice: Configuration file 'site-config.jam' not found in 'C:\Users\fgarrid2' 'C:\Users\fgarrid2' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/kernel' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/util' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/build' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/tools' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/contrib' 'C:/.conan/4c6191/1/source_subfolder/tools/build/src/.'.
notice: Loading explicitly specified user configuration file:
    C:\.conan\4c6191\1\source_subfolder\tools\build\user-config.jam
notice: Searching 'C:\.conan\4c6191\1\source_subfolder\tools\build' for user-config configuration file 'user-config.jam'.
notice: Loading user-config configuration file 'user-config.jam' from 'C:/.conan/4c6191/1/source_subfolder/tools/build'.
notice: [zlib] Using pre-installed library
notice: [zlib] Condition
notice: [bzip2] Using pre-installed library
notice: [bzip2] Condition
notice: [python-cfg] Configuring python...
notice: [python-cfg]   user-specified version: "3.6"
notice: [python-cfg]   user-specified cmd-or-prefix: "c:/programs/python/python36/python.exe"
notice: [python-cfg]   user-specified includes: "C:/Programs/Python/Python36/Include"
notice: [python-cfg]   user-specified libraries: "C:/Programs/Python/Python36/libs/python36.lib"
notice: [python-cfg] Checking interpreter command "c:/programs/python/python36/python.exe"...
notice: [python-cfg] running command 'DIR /-C /A:S "C:\Programs\Python\Python36\python.exe" 2>&1'
notice: [python-cfg] running command 'c:/programs/python/python36/python.exe -c "from sys import *; print('version=%d.%d\nplatform=%s\nbase_prefix=%s\nbase_exec_prefix=%s\nexecutable=%s' % (version_info[0],version_info[1],platform,base_prefix,base_exec_prefix,executable))" 2>&1'
notice: [python-cfg] ...requested configuration matched!
notice: [python-cfg] Details of this Python configuration:
notice: [python-cfg]   interpreter command: "c:/programs/python/python36/python.exe"
notice: [python-cfg]   include path: "C:/Programs/Python/Python36/Include"
notice: [python-cfg]   library path: "C:/Programs/Python/Python36/libs/python36.lib"
notice: [python-cfg]   DLL search path: "C:\Programs\Python\Python36"
notice: [python-cfg] Checking for NumPy...
notice: [python-cfg] running command 'c:/programs/python/python36/python.exe -c "import sys; sys.stderr = sys.stdout; import numpy; print(numpy.get_include())"'
notice: [python-cfg] NumPy enabled
notice: [msvc-cfg] msvc-14.0 detected, command: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe'
notice: will use 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe' for msvc, condition <toolset>msvc-14.0
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>/<address-model>', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>/<address-model>32', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>x86/<address-model>', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>x86/<address-model>32', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>/<address-model>64', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat amd64'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>x86/<address-model>64', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat amd64'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>ia64/<address-model>', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_ia64'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>ia64/<address-model>64', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_ia64'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>arm/<address-model>', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_arm'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>arm/<address-model>32', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_arm'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>arm/<address-model>', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_arm64'
notice: [msvc-cfg] condition: '<toolset>msvc-14.0/<architecture>arm/<address-model>64', setup: 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_arm64'
notice: [zlib] zlib is already configured
notice: [bzip2] bzip is already configured
notice: iostreams: not using lzma compression
notice: iostreams: not using zstd compression
Performing configuration checks

    - default address-model    : 32-bit
    - default architecture     : x86
    - C++11 mutex              : yes
    - Boost.Config Feature Check: cxx11_auto_declarations : yes
    - Boost.Config Feature Check: cxx11_constexpr : yes
    - Boost.Config Feature Check: cxx11_defaulted_functions : yes
    - Boost.Config Feature Check: cxx11_final : yes
    - Boost.Config Feature Check: cxx11_hdr_mutex : yes
    - Boost.Config Feature Check: cxx11_hdr_tuple : yes
    - Boost.Config Feature Check: cxx11_lambdas : yes
    - Boost.Config Feature Check: cxx11_noexcept : yes
    - Boost.Config Feature Check: cxx11_nullptr : yes
    - Boost.Config Feature Check: cxx11_rvalue_references : yes
    - Boost.Config Feature Check: cxx11_template_aliases : yes
    - Boost.Config Feature Check: cxx11_thread_local : yes
    - Boost.Config Feature Check: cxx11_variadic_templates : yes
    - has_icu builds           : no
    - zlib                     : yes
    - bzip2                    : yes
    - native-atomic-int32-supported : yes
    - message-compiler         : yes
    - native-syslog-supported  : no
    - pthread-supports-robust-mutexes : no
    - compiler-supports-ssse3  : yes
    - compiler-supports-avx2   : yes
    - gcc visibility           : no
    - long double support      : yes
    - libbacktrace builds      : no
    - addr2line builds         : no
    - WinDbg builds            : yes
    - WinDbgCached builds      : yes
    - BOOST_COMP_GNUC >= 4.3.0 : no

Component configuration:

    - atomic                   : building
    - chrono                   : building
    - container                : building
    - context                  : building
    - contract                 : building
    - coroutine                : building
    - date_time                : building
    - exception                : building
    - fiber                    : building
    - filesystem               : building
    - graph                    : building
    - graph_parallel           : not building
    - headers                  : not building
    - iostreams                : building
    - locale                   : building
    - log                      : building
    - math                     : building
    - mpi                      : not building
    - program_options          : building
    - python                   : building
    - random                   : building
    - regex                    : building
    - serialization            : building
    - stacktrace               : building
    - system                   : building
    - test                     : building
    - thread                   : building
    - timer                    : building
    - type_erasure             : building
    - wave                     : building

...skipped <pC:\.conan\aa074a\1\lib>boost_python36.dll for lack of <pC:\.conan\2811c2\1\boost\bin.v2\libs\python\build\msvc-14.0\rls\adrs-mdl-64\pythn-3.6\thrd-mlt>boost_python36.dll...
...failed updating 1 target...
boost/1.71.0:
boost/1.71.0: ERROR: Package '486110b8fa71562c722f2e02a50362a10d5e48d5' build failed
boost/1.71.0: WARN: Build folder C:\.conan\2811c2\1
ERROR: boost/1.71.0: Error in build() method, line 801
        self.run(full_command, run_environment=True)
        ConanException: Error 1 while executing b2.exe -q target-os=windows architecture=x86 address-model=64 binary-format=pe abi=ms --layout=system --user-config=C:\.conan\4c6191\1\source_subfolder\tools\build\user-config.jam -sNO_ZLIB=0 -sNO_BZIP2=0 -sNO_LZMA=1 -sNO_ZSTD=1 boost.locale.icu=off --disable-icu boost.locale.iconv=off --disable-iconv runtime-link=shared runtime-debugging=off threading=multi visibility=hidden link=shared variant=release --with-atomic --with-chrono --with-container --with-context --with-contract --with-coroutine --with-date_time --with-exception --with-fiber --with-filesystem --with-graph --with-iostreams --with-locale --with-log --with-math --with-program_options --with-python --with-random --with-regex --with-serialization --with-stacktrace --with-system --with-test --with-thread --with-timer --with-type_erasure --with-wave toolset=msvc pch=on  cxxflags="-fPIC" install --prefix=C:\.conan\aa074a\1 -j8 --abbreviate-paths -d0 --debug-configuration --build-dir="C:\.conan\2811c2\1"

I had to change the boost version to 1.71 instead of 1.75 since the 1.75 was not included in conan remote server.

PS: I closed it by mistake

You are right, seems like the bincrafters repository url has changed. We will update the docs on this. With that, everything is working (with conan on linux).
Regarding your last error: I have really no idea what is wrong there, but it seems there are issues with boost 1.71 and python3. Maybe you should try to find a boost version where conan is able to build boost::python before moving on to lanelet2.

You are right, seems like the bincrafters repository url has changed. We will update the docs on this. With that, everything is working (with conan on linux).
Regarding your last error: I have really no idea what is wrong there, but it seems there are issues with boost 1.71 and python3. Maybe you should try to find a boost version where conan is able to build boost::python before moving on to lanelet2.

Hello again, I've tried again and I face the same issue (ERROR: boost/1.71.0: Error in build() method, line 801...) building with different versions of boost (1.77, 1.75, 1.71). That is, I changed the conanfile.py requires in order to modify the boost version there.
Could you give me some more tip regarding your last comment of searching a boost version that builds boost::python? What did you mean with that? I am not sure if you mean what I have tested or another thing.
Thanks in adance for your time.

I succeeded to solve the error with boost, but now I have an error in the build() process with cmake.
It comes from the get_filename_component  call in:  C:/Users/fgarrid2/.conan/data/lanelet2/1.1.1/lanelet2/stable/source/mrt_cmake_modules/cmake/mrt_cmake_modules-macros.cmake:1356 (get_filename_component)
CMake Error at C:/Users/fgarrid2/.conan/data/lanelet2/1.1.1/lanelet2/stable/source/mrt_cmake_modules/cmake/mrt_cmake_modules-macros.cmake:1356 (get_filename_component):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  C:/Users/fgarrid2/.conan/data/lanelet2/1.1.1/lanelet2/stable/source/mrt_cmake_modules/cmake/mrt_cmake_modules-macros.cmake:1475 (_mrt_install_python)
  C:/Users/fgarrid2/.conan/data/lanelet2/1.1.1/lanelet2/stable/source/mrt_cmake_modules/cmake/mrt_cmake_modules-macros.cmake:1488 (mrt_install_program)
  lanelet2_examples/CMakeLists.txt:50 (mrt_install)

I don't know how to fix it or if it can be fixed.
The build in windows seems really really difficult...


Chrome still show connection not private error after cert is added into key chain access

Proxy Setting:

Cert in trusted

I used this command to start
hoverctl start --certificate cert.pem --key key.pem

but still the console gives

and browser gives

Please help

not sure if it's related to this: https://community.sophos.com/products/unified-threat-management/f/web-protection-web-filtering-application-visibility-control/115345/issue-with-ios-13-mac-os-10-15-ssl-certificate-requirements-for-transparent-proxy
The error in Chrome is actually: ERR_CERT_WEAK_KEY which makes me think that the hoverfly tls key needs reviewing.

thanks for reply! so does it mean hoverfly's 1024 key is too weak? Do we have options to generate 2048 bit key using  hoverfly -generate-ca-cert?

I googled some and found this https://podtech.io/os/mac-osx/chrome-catalina-certificate-issue/

check your code on generating the cert, looks like you are making 5 years expiration: https://github.com/SpectoLabs/hoverfly/blob/e523f31338156dfad2d187c4f7f527c41fff4ee0/core/cmd/hoverfly/main.go#L240
The article I posted said The validity period may not be longer than 825 days. could this be the reason?

any suggestion avoiding this?

thanks for reply! so does it mean hoverfly's 1024 key is too weak? Do we have options to generate 2048 bit key using hoverfly -generate-ca-cert?

seems it's a 2048 key...

looks like hoverfly used sha1 to sign the cert. apple's new policy drops support for sha1:

TLS server certificates and issuing CAs must use a hash algorithm from the SHA-2 family in the signature algorithm. SHA-1 signed certificates are no longer trusted for TLS.

the code is here  https://github.com/SpectoLabs/hoverfly/blob/0afeecee42db659440291cade4f94098c5ef0a06/core/certs/certs.go#L87
and here
https://github.com/SpectoLabs/hoverfly/blob/0afeecee42db659440291cade4f94098c5ef0a06/core/certs/certs.go#L137
@tommysitu I'm new to go and I don't know if my finding is right or not

probably related to https://github.com/SpectoLabs/hoverfly/issues/898

Just tested @ns3777k 's fix. It works! 🎉  @wunaidage  You can try using the latest build for Mac OS: https://storage.googleapis.com/hoverfly-master-builds/latest/hoverfly_bundle_OSX_amd64.zip

thank you so much!!

looks good. when will you release?

will do a bug fix release this week

fix released in v1.1.5

thanks!


Replace ParseFuncOrArgument with type-safer alternative.

In the process, document consequences of implementation
details that make type-safety difficult to implement.
Towards #892.
This one might spawn a bit of a discussion. ;) (Well, perhaps not so after the second commit.)

Added another commit to resolving the TODO in the first code. This results in some of the errors changing from "$ within math mode" to, e.g. "Unexpected $ at position 3: a^$". This resolves the type-safety issues mentioned in the first commit's TODOs.

@kevinbarabash

It feels like things are getting more complicated, but I think that's a function of making implicitly complicated things more explicit. Any ideas of how we might simplify args vs. fn vs. $ parsing in the future?

There's no new complexity added here; only documentation of existing assumptions and an adherence to type strictness that wasn't there before -- for various inputs, we actually got "$" (string) where a ParseNode was expected, only to throw an error later. If you haven't, please read the massive and detailed TODO at the bottom of the first commit (which I removed in the second commit) about the unintuitive way the Parser behaved before the second commit.
I can't think of any obvious way to fix this without actually rethinking parts of the Parser.
Let's first get static typechecking in place. ;)

Rebased.


Allow configuring docker runner

I develop on a mac but run all playwright tests inside a docker container using mcr.microsoft.com/playwright:vx.x.x-focal.
It would be great if this extension was able to run in docker instead of the local browser executables, and lookup the @playwright/test version to select the correct docker image.
Reference ➡ https://playwright.dev/docs/docker

I was just thinking this same thing. I am in the same boat. I would love this!

I need it in screenshot tests, Linux(CI)'s text rendering is different from mac.
I would appreciate it if it supports custom Docker image for intranet using.

This could be possible with https://code.visualstudio.com/docs/remote/containers, haven't tested yet.


externalTrafficPolicy=Local not working as expected with ebpf dataplane and kube-vip as LB

Hello,
I'm facing a strange problem on a fresh install of calico with ebpf dataplane.
Maybe i've missed something in the configuration of ebpf dataplane ...
I give you all the info i have and i'm available to give you more trace if needed.
Thansks for your help !
Expected Behavior
with "externalTrafficPolicy: Cluster" set on service, source IP must be SNAT with ip of k8s node.
with "externalTrafficPolicy: Local" set on service, source IP must be preserved and most of all, service must be reachable from outside the cluster.
Current Behavior
When "externalTrafficPolicy: Cluster" set on service, source IP is preserved and not replaced with those of k8s node.
Customer can reach external IP of the service from outside the k8s cluster.
When "externalTrafficPolicy: Local" set on service, source IP.  Customer can't reach external IP of the service. The customer network traffc ends on k8s node which have the external IP.
Steps to Reproduce (for bugs)

Create a basic nginx deployment with a replica=2 (the replica count has no incidence on the problem. For exemple with replica=1 problem  happens

$ kubectl -n jax get deployments.apps nginx-jax -oyaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-jax
  name: nginx-jax
  namespace: jax
spec:
  progressDeadlineSeconds: 600
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx-jax
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx-jax
    spec:
      containers:
      - image: nginx:latest
        imagePullPolicy: Always
        name: nginx-jax
        ports:
        - containerPort: 80
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30

Create a k8s LoadBalancer service with externalTrafficPolicy set to Local

$ kubectl -n jax get svc nginx-jax -oyaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-jax
    implementation: kube-vip
  name: nginx-jax
  namespace: jax
spec:
  allocateLoadBalancerNodePorts: false
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  externalTrafficPolicy: Local
  healthCheckNodePort: 30726
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  loadBalancerIP: <IP_ADDRESS>
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-jax
  sessionAffinity: None
  type: LoadBalancer

Curl on external service IP with Local mode.
Curl done from outside the k8s cluster. client IP = <IP_ADDRESS>
Curl timeout and traffic is stopped on worker node with external P configured on it

$ curl http://<IP_ADDRESS>/
curl: (7) Failed to connect to <IP_ADDRESS> port 80: Connexion refused

Go on k8s node named "k8sw1" with external IP configured on int ens192 (<IP_ADDRESS>)
$ ip a s dev ens192
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:b5:4a:a0 brd ff:ff:ff:ff:ff:ff
    altname enp11s0
    inet <IP_ADDRESS>/26 brd <IP_ADDRESS> scope global noprefixroute ens192   <=== MAIN IP
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global ens192
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global ens192
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global ens192
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global ens192
       valid_lft forever preferred_lft forever
    inet <IP_ADDRESS>/32 scope global ens192  <===== LOADBALANCER SERVICE IP
       valid_lft forever preferred_lft forever
    inet6 fe80::3b6:5392:c340:9c45/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

We don't see dnat done in any tcpdump output done on all worker nodes !!
$ tcpdump -nni any host <IP_ADDRESS> and port 80
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes

15:31:10.220141 ens192 In  IP <IP_ADDRESS>.47456 > <IP_ADDRESS>.80: Flags [S], seq 541190242, win 29200, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
^C
1 packet captured
2 packets received by filter
0 packets dropped by kernel

NAT rule from calico-node on "k8sw1" node. Pod IP are correct into nat rules. Don't know if the rule has the expected output.
$ kubectl get pods -owide -n kube-system | grep calico-node | grep k8sw1
calico-node-c29m8                           1/1     Running   0              89m   <IP_ADDRESS>   tstt9-d1-co-k8sw1   <none>           <none>

$ kubectl exec -n kube-system calico-node-c29m8 -- calico-node -bpf nat dump |grep -b3 "<IP_ADDRESS> port 80"
Defaulted container "calico-node" out of: calico-node, upgrade-ipam (init), install-cni (init), flexvol-driver (init)
4541:<IP_ADDRESS> port 80 proto 6 id 36 count 2 local 0 flags external-local
4614-    36:0     <IP_ADDRESS>:80
4639-    36:1     <IP_ADDRESS>:80

$ kubectl -n jax get pods -owide
NAME                         READY   STATUS    RESTARTS      AGE   IP               NODE                NOMINATED NODE   READINESS GATES
nginx-jax-7fbcfcdf8f-79fvt   1/1     Running   2 (87m ago)   29h   <IP_ADDRESS>    tstt9-d1-co-k8sw3   <none>           <none>
nginx-jax-7fbcfcdf8f-8h6fj   1/1     Running   0             1h    <IP_ADDRESS>   tstt9-d1-co-k8sw2   <none>           <none>

I've got here a first problem. When externalTrafficPolicy is set to Local, it's impossible to reach the service via its external IP.
If i just replace externalTrafficPolicy from "Local" to "Cluster", service is reachable. See debug below.

Update the k8s LoadBalancer service with externalTrafficPolicy set to Cluster

$ kubectl -n jax get svc nginx-jax -oyaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-jax
    implementation: kube-vip
  name: nginx-jax
  namespace: jax
spec:
  allocateLoadBalancerNodePorts: false
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  externalTrafficPolicy: Cluster
  healthCheckNodePort: 30726
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  loadBalancerIP: <IP_ADDRESS>
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-jax
  sessionAffinity: None
  type: LoadBalancer

Curl on external service IP with Cluster mode.
Curl done from outside the k8s cluster. client IP = <IP_ADDRESS>

Got answer from curl.
$ curl http://<IP_ADDRESS>/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...
</body>
</html>

Go on k8s node named "k8sw1" with external IP configured on int ens192 (<IP_ADDRESS>)
We observed http traffic.
We do not see response packet because of DSR
$ tcpdump -nni any host <IP_ADDRESS> and port 80
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes

15:53:53.390402 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [S], seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
15:53:53.408214 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 220191716, win 229, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.408239 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [P.], seq 0:77, ack 1, win 229, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 77: HTTP: GET / HTTP/1.1
15:53:53.426190 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 239, win 237, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426213 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 854, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426235 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [F.], seq 77, ack 854, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.444202 ens192 In  IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 855, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
^C
7 packets captured
8 packets received by filter
0 packets dropped by kernel

I follow the HTTP traffic on k8s node named "k8sw3" with one of the nginx pod
We observe the response is sent directly thanks to DSR.
The problem here is that the source IP is not replaced with the IP of k8sw1 node despite the Cluster mode of the service. Normal ?
$ tcpdump -nni any host <IP_ADDRESS> and port 80
tcpdump: data link type LINUX_SLL2
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes

15:53:53.390496 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [S], seq<PHONE_NUMBER>, win 29200, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr 0,nop,wscale 7], length 0
15:53:53.390524 cali41c5c8c6b53 In  IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [S.], seq 220191715, ack<PHONE_NUMBER>, win 31856, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0
15:53:53.390539 ens192 Out IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [S.], seq 220191715, ack<PHONE_NUMBER>, win 31856, options [mss 1460,sackOK,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>,nop,wscale 7], length 0
15:53:53.408311 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 1, win 229, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.408315 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [P.], seq 1:78, ack 1, win 229, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 77: HTTP: GET / HTTP/1.1
15:53:53.408361 cali41c5c8c6b53 In  IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [.], ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.408371 ens192 Out IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [.], ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.408606 cali41c5c8c6b53 In  IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [P.], seq 1:239, ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 238: HTTP: HTTP/1.1 200 OK
15:53:53.408630 ens192 Out IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [P.], seq 1:239, ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 238: HTTP: HTTP/1.1 200 OK
15:53:53.408704 cali41c5c8c6b53 In  IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [P.], seq 239:854, ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 615: HTTP
15:53:53.408708 ens192 Out IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [P.], seq 239:854, ack 78, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 615: HTTP
15:53:53.426260 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 239, win 237, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426265 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 854, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426290 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [F.], seq 78, ack 854, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426338 cali41c5c8c6b53 In  IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [F.], seq 854, ack 79, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.426346 ens192 Out IP <IP_ADDRESS>.80 > <IP_ADDRESS>.57802: Flags [F.], seq 854, ack 79, win 249, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
15:53:53.444275 cali41c5c8c6b53 Out IP <IP_ADDRESS>.57802 > <IP_ADDRESS>.80: Flags [.], ack 855, win 247, options [nop,nop,TS val<PHONE_NUMBER> ecr<PHONE_NUMBER>], length 0
^C
17 packets captured
23 packets received by filter
0 packets dropped by kernel

NAT rule from calico-node on "k8sw1" & "k8sw3" nodes. Pod IP are correct into nat rules. Don't know if the rules have the expected output.
$ kubectl get pods -owide -n kube-system | grep calico-node | egrep "k8sw1|k8sw3"
calico-node-c29m8                           1/1     Running   0               119m   <IP_ADDRESS>   tstt9-d1-co-k8sw1   <none>           <none>
calico-node-zlvrk                           1/1     Running   0               109m   <IP_ADDRESS>   tstt9-d1-co-k8sw3   <none>           <none>

$ kubectl exec -n kube-system calico-node-c29m8 -- calico-node -bpf nat dump |grep -b3 "<IP_ADDRESS> port 80"
Defaulted container "calico-node" out of: calico-node, upgrade-ipam (init), install-cni (init), flexvol-driver (init)

4624:<IP_ADDRESS> port 80 proto 6 id 37 count 2 local 0
4676-    37:0     <IP_ADDRESS>:80
4701-    37:1     <IP_ADDRESS>:80

$ kubectl exec -n kube-system calico-node-zlvrk -- calico-node -bpf nat dump |grep -b3 "<IP_ADDRESS> port 80"
Defaulted container "calico-node" out of: calico-node, upgrade-ipam (init), install-cni (init), flexvol-driver (init)

178:<IP_ADDRESS> port 80 proto 6 id 37 count 2 local 1
230-    37:0     <IP_ADDRESS>:80
254-    37:1     <IP_ADDRESS>:80

$ kubectl -n jax get pods -owide
NAME                         READY   STATUS    RESTARTS      AGE   IP               NODE                NOMINATED NODE   READINESS GATES
nginx-jax-7fbcfcdf8f-79fvt   1/1     Running   2 (87m ago)   29h   <IP_ADDRESS>    tstt9-d1-co-k8sw3   <none>           <none>
nginx-jax-7fbcfcdf8f-8h6fj   1/1     Running   0             1h    <IP_ADDRESS>   tstt9-d1-co-k8sw2   <none>           <none>

It works but there is no SNAT done on client source IP despite the Cluster setting for externalTrafficPolicy on the service.
Context
Quite simple.
Just want to have the choice to preserve or not the client IP source with ebpf dataplace and DSR activated.
Just honor the value of the externalTrafficPolicy configured into the service.
Your Environment
Setup of calico using Kubespray v2.26.0 with traditionnal Linux dataplane.
Following Calico docs, activation of ebpf dataplane manually without using kubespray.
k8s cluster is not production.
OS : Rocky Linux 9 with supported kernel
$ uname -r
5.14.0-427.37.1.el9_4.x86_64

k8s version : 1.29.6
$ kubectl version
Client Version: v1.30.4
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.6

kube-proxy is disabled as suggested into calico documentation
calico version : 3.28.1 and then upgraded to 3.28.2. Same problem in both versions
$ kubectl -n calico-apiserver get deployments.apps calico-apiserver -oyaml | grep "image:"
        image: quay.io/calico/apiserver:v3.28.2

$ kubectl -n kube-system get deployments.apps calico-kube-controllers -oyaml | grep "image:"
        image: quay.io/calico/kube-controllers:v3.28.2

$ kubectl -n kube-system get ds calico-node -oyaml | grep "image:"
        image: quay.io/calico/node:v3.28.2
        image: quay.io/calico/cni:v3.28.2
        image: quay.io/calico/cni:v3.28.2
      - image: quay.io/calico/pod2daemon-flexvol:v3.28.2

Calico Bpf External Service Mode : "DSR" ==> Same problem with "Tunnel". Note that both mode are working as expected regarding the network path used for response packets
$ kubectl -n kube-system describe felixconfigurations.projectcalico.org default
Name:         default
Namespace:
Labels:       <none>
Annotations:  <none>
API Version:  projectcalico.org/v3
Kind:         FelixConfiguration
Metadata:
  Creation Timestamp:  2024-09-17T07:19:17Z
  Resource Version:    15999845
  UID:                 85254b13-7f32-44ab-9600-49dcbbc82ab5
Spec:
  Bpf Connect Time Load Balancing:      TCP
  Bpf Disable Unprivileged:             true
  Bpf Enabled:                          true
  Bpf External Service Mode:            DSR
  Bpf Host Networked NAT Without CTLB:  Enabled
  Bpf Log Level:
  Floating I Ps:                        Disabled
  Ipip Enabled:                         false
  Log Severity Screen:                  Info
  Reporting Interval:                   0s
  Vxlan Enabled:                        false
  Wireguard Enabled:                    false
Events:                                 <none>

Kube-vip is used to allocate external IP for service type LoadBalancer and configure IP on worker node.
Note thant even without kube-vip the problem happens.
$ kubectl -n kube-system get pods kube-vip-tstt9-d1-co-k8sw1 -oyaml | grep "image:"
    image: ghcr.io/kube-vip/kube-vip:v0.8.0
    image: ghcr.io/kube-vip/kube-vip:v0.8.0

$ kubectl -n kube-system get pods kube-vip-cloud-provider-85fd9b9cf7-v4fbr -oyaml | grep "image:"
    image: ghcr.io/kube-vip/kube-vip-cloud-provider:v0.0.10
    image: ghcr.io/kube-vip/kube-vip-cloud-provider:v0.0.10

@jaxklag

When "externalTrafficPolicy: Cluster" set on service, source IP is preserved and not replaced with those of k8s node.
Customer can reach external IP of the service from outside the k8s cluster.

That is not a bug, that is a feature! That make writing policies much simpler for you!

with "externalTrafficPolicy: Cluster" set on service, source IP must be SNAT with ip of k8s node.

Nope, there is no such requirement. It is just that kube-proxy in iptables mode does not have much options to do it better and thus does it this way. And thus they had to come up the the externalTrafficPolicy mode to fix this issue and it also only select local pod so it saves the extra hop. If yo set it in ebpf dp, we also save the extra hop.

Hello @tomastigera
Thansk for your answer.
I agree with you.
What about the fact that setting "Local" for externalTrafficPolicy cause the service to be unreachable ? Is it epexcted behaviour ?
I understand that this config parameter is not usefull with calico + ebpf dataplane but what about customers which can still use the externalTrafficPolicy parameter and as a consequence cause the service to be unreachble ?
Couldn't be ignored by Calico when ebpf is activated ?
Regards,

@jaxklag I think it missed the Local part. Could you open a new ticket with that issue so that we do not have too many things in a single one, pls? Also there is some DSR in play, which may be a separate problem as your network must allow that.
With Local you may get service unreachable if your connections land on a node which does not have the backing pod. That would happen if your LB does not take this into account.

Seems like the kube-vip might the problem. I am not expert on that. What does it do exactly? All I know is that it may not play exacly well with ebpf dataplanes. https://github.com/kube-vip/kube-vip/issues/594

I'd turn off the DSR mode to start with not to introduce more variables into this.
It would be good to se a tcpdump of traffic within the host that has the pod.
In one of the tcpdump you provided it seems like you are making a connection from a pod. Note that externalTrafficPolicy does not apply to local traffic. There is internalTrafficPolicy option as well.
It would be good to see routing tables within that node
Eventually we may want to see debug logs from ebpf (BPFLogLevel=Debug)

@tomastigera
Thanks for your replies.
I will study that Monday and come back to you with some information.
Does sysctl parameters still apply/ have incidence on network traffic handle by ebpf ?
I remember that i must set some specific sysctl config with DSR on standard linux traffic without k8s.
Actually, i didn't configured any sysctl for DSR on ens192 interface.
Regards,

Seems like the kube-vip might the problem. I am not expert on that. What does it do exactly? All I know is that it may not play exacly well with ebpf dataplanes. kube-vip/kube-vip#594

I'd turn off the DSR mode to start with not to introduce more variables into this.
It would be good to se a tcpdump of traffic within the host that has the pod.
In one of the tcpdump you provided it seems like you are making a connection from a pod. Note that externalTrafficPolicy does not apply to local traffic. There is internalTrafficPolicy option as well.
It would be good to see routing tables within that node
Eventually we may want to see debug logs from ebpf (BPFLogLevel=Debug)

I don't think so because even without kube-vip i had the same results.
Cf. my previous answer which spots that the problem was no pod replica was running on the worker node with the LoadBalancer IP.
Regards

"Local" prevents load-balancing on all the replicas of the pod since only the replica present on the node carrying the IP of the LoadBlancer service will receive traffic.
Is Calico-node responsible of that decision ? Why this choice with ebpf backend ?

That is how it is specified by k8s and its kube-proxy. We just follow the same behaviour.

@tomastigera
Yes i agree.
Thanks for your help and clarifications
Case can be closed.
Regards,


adds unit tests for consul client

Tests consul client by mocking consul http api

Codecov Report

Merging #184 (1191d32) into master (b343ff0) will increase coverage by 4.61%.
The diff coverage is 71.42%.

@@            Coverage Diff             @@
##           master     #184      +/-   ##
==========================================
+ Coverage   23.31%   27.93%   +4.61%
==========================================
  Files          92       92
  Lines        3852     3863      +11
==========================================
+ Hits          898     1079     +181
+ Misses       2880     2698     -182
- Partials       74       86      +12

Flag
Coverage Δ

unittests
27.93% <71.42%> (+4.61%)
:arrow_up:

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

Impacted Files
Coverage Δ

internal/topic/core.go
23.21% <ø> (ø)

pkg/registry/registry.go
100.00% <ø> (+100.00%)
:arrow_up:

pkg/registry/consul.go
85.63% <71.42%> (+83.28%)
:arrow_up:

pkg/registry/consulwatch.go
81.25% <0.00%> (+81.25%)
:arrow_up:

pkg/registry/helper.go
100.00% <0.00%> (+100.00%)
:arrow_up:

Continue to review full report at Codecov.

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


Install.sh does not support neovim

Should check for neovim and set instalment to .confg/neovim if it exist.

https://github.com/Shougo/neobundle.vim/pull/481

#481 is merged.


Add more metrics for backend plugin

Signed-off-by: Joshua Li<EMAIL_ADDRESS>Description
Add more metrics to backend, follow up PR for #1306
{
  "saved_visualization": {
    "create": {
      "count": 0,
      "total": 0
    },
    "update": {
      "total": 0,
      "count": 0
    }
  },
  "permission_user_error": 0,
  "observability": {
    "update": {
      "total": 0,
      "user_error": 0,
      "count": 0,
      "system_error": 0
    },
    "delete": {
      "user_error": 0,
      "total": 0,
      "system_error": 0,
      "count": 0
    },
    "get": {
      "user_error": 0,
      "system_error": 0,
      "total": 0,
      "count": 0
    },
    "create": {
      "user_error": 0,
      "system_error": 0,
      "total": 0,
      "count": 0
    }
  },
  "request_total": 0,
  "saved_query": {
    "create": {
      "total": 0,
      "count": 0
    },
    "update": {
      "total": 0,
      "count": 0
    }
  },
  "timestamp": {
    "create": {
      "total": 0,
      "count": 0
    },
    "update": {
      "count": 0,
      "total": 0
    }
  },
  "application": {
    "update": {
      "count": 0,
      "total": 0
    },
    "create": {
      "total": 0,
      "count": 0
    }
  },
  "exception": {
    "illegal_state": 0,
    "illegal_argument": 0,
    "opensearch_status": 0,
    "io": 0,
    "version_conflict_engine": 0,
    "opensearch_security": 0,
    "invalid_index_name": 0,
    "index_not_found": 0,
    "internal_server_error": 0
  },
  "notebook": {
    "create": {
      "count": 0,
      "total": 0
    },
    "update": {
      "total": 0,
      "count": 0
    }
  },
  "operational_panel": {
    "update": {
      "total": 0,
      "count": 0
    },
    "create": {
      "total": 0,
      "count": 0
    }
  },
  "failed_request_count_system_error": 0,
  "security_permission_error": 0,
  "success_count": 0,
  "request_count": 0,
  "failed_request_count_user_error": 0
}

Issues Resolved
[List any issues this PR will resolve]
Check List

[x] New functionality includes testing.

[x] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1323 (fe06f8c) into 2.x (17b8771) will increase coverage by 29.05%.
The diff coverage is 92.30%.

@@              Coverage Diff              @@
##                2.x    #1323       +/-   ##
=============================================
+ Coverage     41.82%   70.88%   +29.05%
  Complexity      315      315
=============================================
  Files           302       46      -256
  Lines         17840     2559    -15281
  Branches       4285      254     -4031
=============================================
- Hits           7462     1814     -5648
+ Misses        10205      602     -9603
+ Partials        173      143       -30

Flag
Coverage Δ

dashboards-observability
?

opensearch-observability
70.88% <92.30%> (+0.78%)
:arrow_up:

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

Impacted Files
Coverage Δ

...ervability/action/GetObservabilityObjectRequest.kt
93.25% <0.00%> (-1.06%)
:arrow_down:

...rg/opensearch/observability/model/SearchResults.kt
93.33% <0.00%> (-2.13%)
:arrow_down:

...ability/action/UpdateObservabilityObjectRequest.kt
91.37% <75.00%> (+0.81%)
:arrow_up:

...ability/action/CreateObservabilityObjectRequest.kt
96.22% <85.71%> (+0.39%)
:arrow_up:

...bility/action/CreateObservabilityObjectResponse.kt
100.00% <100.00%> (ø)

...ability/action/DeleteObservabilityObjectRequest.kt
93.93% <100.00%> (+0.39%)
:arrow_up:

...bility/action/DeleteObservabilityObjectResponse.kt
91.17% <100.00%> (+0.55%)
:arrow_up:

...bility/action/UpdateObservabilityObjectResponse.kt
100.00% <100.00%> (ø)

...in/org/opensearch/observability/metrics/Metrics.kt
93.42% <100.00%> (+11.27%)
:arrow_up:

...ervability/resthandler/ObservabilityRestHandler.kt
86.59% <100.00%> (+1.20%)
:arrow_up:

... and 256 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Issue with brew upgrade and brew doctor failing

Please always follow these steps:

[X] Confirmed this is a problem with running a brew command and not brew installing or the post-install behaviour of one or more formulae? If it's a formulae-specific problem please file this issue at the relevant tap e.g. for Homebrew/homebrew-core https://github.com/Homebrew/homebrew-core/issues/new
[X] Ran brew update and retried your prior step?
[X] Ran brew doctor, fixed all issues and retried your prior step?
[X] Ran brew config and brew doctor and included their output with your issue?

Haven't messed with homebrew on this computer in awhile, and was attempting to update and upgrade things to the latest when I encountered these errors. I have no idea what's going on, so any help would be much appreciated.
When trying to brew upgrade, received this error:
$ brew upgrade
Error: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/git.rb:190: syntax error, unexpected $undefined, expecting keyword_end
      \thelper = osxkeychain
       ^
Please report this bug:
  https://git.io/brew-troubleshooting
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `module_eval'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `load_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:42:in `load_formula_from_path'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:97:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:212:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:88:in `klass'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:84:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:206:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:253:in `factory'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:284:in `from_keg'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:267:in `from_rack'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1406:in `block in installed'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1404:in `map'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1404:in `installed'
/usr/local/Homebrew/Library/Homebrew/cmd/upgrade.rb:37:in `upgrade'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Re-ran brew update and confirmed up-to-date.
$ brew update
Already up-to-date.

Tried brew doctor and even that is failing:
$ brew doctor
Error: /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:73: syntax error, unexpected <<
  def caveats; <<~EOS
                 ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:77: syntax error, unexpected tIDENTIFIER, expecting keyword_end
    can add a "gnubin" directory to your PATH from your bashrc like:
                                ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:77: syntax error, unexpected ':', expecting keyword_end
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:79: dynamic constant assignment
        PATH="#{opt_libexec}/gnubin:$PATH"
             ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:81: dynamic constant assignment
    Additionally, you can access their man pag...
                 ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:81: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '('
    Additionally, you can access their man pages with ...
                         ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:82: syntax error, unexpected tIDENTIFIER, expecting keyword_end
    the "gnuman" directory to your MANPATH from your bashrc as well:
                          ^
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:82: syntax error, unexpected ':', expecting keyword_end
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/coreutils.rb:84: dynamic constant assignment
        MANPATH="#{opt_libexec}/gnuman:$MANPATH"
                ^
Please report this bug:
  https://git.io/brew-troubleshooting
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `module_eval'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:25:in `load_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:42:in `load_formula_from_path'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:97:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:88:in `klass'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:84:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:253:in `factory'
/usr/local/Homebrew/Library/Homebrew/formula.rb:1460:in `[]'
/usr/local/Homebrew/Library/Homebrew/diagnostic.rb:969:in `check_for_non_prefixed_coreutils'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:43:in `block in doctor'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:35:in `each'
/usr/local/Homebrew/Library/Homebrew/cmd/doctor.rb:35:in `doctor'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Here is the output of brew config:
$ brew config
HOMEBREW_VERSION: 1.1.5
ORIGIN: https://github.com/Homebrew/brew
HEAD: 9cd5a21b473f0271b162bbe7f77f7d1468c0cfa1
Last commit: 12 months ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 8540ca1f6f9cb199099ea52f4506e1ce099f7c6d
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: quad-core 64-bit haswell
Homebrew Ruby: 2.0.0-p648
Clang: 9.0 build 900
Git: 2.11.0 => /usr/local/bin/git
Perl: /usr/local/bin/perl => /usr/local/Cellar/perl/5.24.0_1/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/local/bin/ruby => /usr/local/Cellar/ruby/2.3.3/bin/ruby
Java: 1.8.0_112
macOS: 10.12.6-x86_64
Xcode: 9.1
CLT: <IP_ADDRESS>.1.1508540944
X11: 2.7.11 => /opt/X11

Nevermind, I figured out it was the update bug and fixed it by running:
cd $(brew --repo); git fetch; git reset --hard origin/master; brew update


[Bug]: Map Generation fails for some combinations of Number of Teams and Symmetry type

Describe the Bug

With a configuration like the above the map generation fails silently.
Log file or Error Message
Silently fails
Reproduce the bug
Some combinations I tried that dont work:

2 teams, POINT5 symmetry
3 teams, POINT5 symmetry
4 teams, POINT3 symmetry

Expected Behavior
Granted I don't expect for example 2 teams with 5 symmetry to generate a balanced map, so if its impossible the map gen dialog should disable the 'incompatible' options or disappear them, similar to how Spawns and Teams are linked.
If they should be generating then the underlying issue should be fixed.
Screenshots
No response
Additional context
No response
Which Operating System are you using?
Linux

The map generator can only generate maps when the number of teams is a factor of the number of symmetry points.
Really the symmetry setting is an advanced option that shouldn't really be shown by default because of this.

The issue is that the client only knows the name of the symmetries not their compatibility with the number of trams


[9.x] Prevent triggering belongs to query if there are no relations to load

References issue #42493

At this moment add the protection only for BelongsTo relation (can be added to Relation if more use cases are found)
Prevents a query with empty whereIn value which reduces queries to DB.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.

Hi @taylorotwell, I truly believe this is a bug that bothers me from L5.4. Why would framework want to trigger a query on database that will return "nothing". This is a quite simple fix.
Of course I can make my "own" belongs to relation and use it, but I believe that hurts the quality of the framework that all the people like.
Here is a copy of explanation from issue. Thank you for your time.

Laravel Version: 9.13.0
PHP Version: 8.1.2

Description:

While using belongsTo relations (with/load) there can be situations when  there are no relations (nullable relations) to be loaded and query is "invalid". -> select `id`, `name`, `public_name` from `options` where 0 = 1 .
This similar issue can be potentially found on other relations
This bug is not noticeable if the results contains at least 1 value in the relation (if you have pagination, some pages can contain this error).

Steps To Reproduce:

Create a table with optional belongsTo relations
Build a query to get the results (all results should contain null)
Here a screenshot of a real queries


perform auto-version and release on push

This PR introduces auto-versioning and auto-releases on every atomic push to the main branch.
The version lives in the new VCS version.txt root file, and follows the YYYY.MM.X format, where:

YYYY is the year of release
MM is the month of release
X is the release counter (offset) within the month

e.g., 2023.03.0 would be the first version for Mar 2023, the subsequent release would be 2023.03.1 if that happened within Mar 2023, and so on. If the next following release was Sept 2024 then the release would be 2024.09.0.
Rather than use main or a commit SHA, clients of the workflow can now do so with the specific version e.g.,
jobs:
  refresh_lockfiles:
    uses<EMAIL_ADDRESS>    secrets: inherit

Additionally, if a client repo has dependabot configured, then they should be notified of the latest available release version auto-magically.
Also, in the event of a bad workflows release, client repos can easily pin back to the last good know operational version. Pinning back will also be useful when client repos don't have the resource to maintain compliance with any breaking changes.

@lbdreyer This PR needs #14 to be merged first (as I've already enabled the pre-commit.ci service for the workflows repo) if you want pre-commit.ci CI check to pass (then I'll rebase)
Otherwise, merge with the pre-commit.ci failure

@lbdreyer Okay, fixed the pre-commit CI failures... interestingly it prevents auto-fixes to any workflow files, which once you think about it is a pretty good practice, security-wise :+1:


Remix Deploy Regression

It looks like the remix adapter regressed and is no longer deploying properly.
Steps:

Create new remix project using remix 2.9.1
Using a new aws account use sst deploy (sst version 0.0.353)

Result:

See that the root call on cloudfront doesn't properly respond

Expected:

Given that dev works and has various hello-world ish content, I would expect this to be deployed and for cloudfront to respond at the root.

Note:
This has previously worked for me. In previous issues around dev mode, I have been able to deploy the remix example site without issue.

This is manually work-around able by going to the Lambda settings and changing Invoke Mode to RESPONSE_STREAM
Server Lambda -> Configuration -> Function URL -> Edit -> Invoke Mode = RESPONSE_STREAM

fixed in v0.0.354