Canonicalization of parametrized QP takes 30x as long as conic canonicalization

Describe the bug
The (first) canonicalization of a modest parametrized QP (200 variables, 60300 parameters) takes 165 seconds. Canonicalizing the same program as a cone program takes 5 seconds.
I consider this to be high-priority, since at least in this case, the QP code path is effectively unusable.
@SteveDiamond @bstellato
To Reproduce
import cvxpy as cp
import numpy as np
import time

m = 300
n = 200
np.random.seed(1)
A = cp.Parameter((m, n))
b = cp.Parameter((m,))

x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(A@x - b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)

start = time.time()
A.value = np.random.randn(m, n)
b.value = np.random.randn(m)
prob.solve(solver=cp.ECOS)
end = time.time()

print('Conic canonicalization')
print('(ECOS) solver time: ', prob.solver_stats.solve_time)
print('cvxpy time: ', (end - start) - prob.solver_stats.solve_time)

np.random.seed(1)
A = cp.Parameter((m, n))
b = cp.Parameter((m,))

x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(A@x - b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)

start = time.time()
A.value = np.random.randn(m, n)
b.value = np.random.randn(m)
prob.solve(solver=cp.OSQP)
end = time.time()

print('Quadratic canonicalization')
print('(OSQP) solver time: ', prob.solver_stats.solve_time)
print('cvxpy time: ', (end - start) - prob.solver_stats.solve_time)

Expected behavior
Comparable canonicalization time for both QPs and cone programs.
Output
Conic canonicalization
(ECOS) solver time:  0.345381136
cvxpy time:  4.745687847078003
Quadratic canonicalization
(OSQP) solver time:  0.131401126
cvxpy time:<PHONE_NUMBER>7849525

Version

OS: Linux
CVXPY Version: 1.1.1

Additional context
When the parameters are replaced with constants, the QP is canonicalized quickly.
np.random.seed(1)
A = np.random.randn(m, n)
b = np.random.randn(m)

x = cp.Variable(n)
objective = cp.Minimize(cp.sum_squares(A@x - b))
constraints = [0 <= x, x <= 1]
prob = cp.Problem(objective, constraints)

start = time.time()
prob.solve(solver=cp.OSQP)
end = time.time()

print('Quadratic canonicalization')
print('(OSQP) solver time: ', prob.solver_stats.solve_time)
print('cvxpy time: ', (end - start) - prob.solver_stats.solve_time)

prints
Quadratic canonicalization
(OSQP) solver time:  0.142753713
cvxpy time:  0.08563650382739257

Some more context:
cvxcore is not the culprit here. build_matrix is called twice, and it takes only 1.5 seconds total
Instead, the slowness seems to be coming from the Python code in coeff_extractor.py.
When run under cProfile, the QP code path (canonicalization and solving) takes 199 seconds on my machine. Of those 199 seconds, 197 are spent in coeff_extractor.py:quad_form (and again, only 1.5 seconds appear to be spent in cvxcore). Of those 197 seconds, 100 seconds are spent in 120,602 calls to scipy.sparse.block_diag.
In particular, I would guess that basically all the slowness can be attributed to the Python for loops in coeff_extractor.quad_form (lines 189-215) and coeff_extractor.extract_quadratic_coeffs (lines 118-165). These appear to be very inefficient ways to extract the coefficients, since they iterate over each component of the parameter vector (and perform expensive operations in each iteration).

That's not surprising. It was intended that those for loops be vectorized at some point, just was difficult enough to get the canonicalization working. I can take a look.

Started work in #1059


chore: update FUNDING

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 27.592%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3635

Relevant Lines:
13884

💛  - Coveralls


purefa_alerts_open not reporting correctly

We have pure-fa-openmetrics-exporter on 1.0.12 (think same issue might be on 1.0.13) and some alerts are not reporting the matching fields correctly. For example the last alert with code 5177 is reporting severity value on summary field, sounds like a hop mismatching
You can see below the difference of outputs between a well scrapped alert and the one with wrong matching of values

Thanks

Hi! Thank you for the issue.
I think this MAY be an issue with the JSON that's returned from the Purity API causing a major break in the string.
It would be very very helpful to get some of the raw output from /alerts from your array so I can test this further.
Can you please send us an email at<EMAIL_ADDRESS>to schedule a call to gather this debug information? Thanks!

@chrroberts-pure We are experiencing the same label value mismatching in the purefa_alerts_open metric.  Let me know if you need any additional information.

@imperatives , yes that would be very helpful to grab the Alerts endpoint from your array.
// Get API versions available
curl -k https://gse-array01/api/api_version

// Use latest API version (this example is 2.30) and paste in Array API token
curl -k -D --location --request POST 'https://<array-mgmt-vip>/api/2.30/login' --header 'api-token: <api-token>'

// From the headers of the login, grab the x-auth-token and query Alerts
curl -k -D - --location 'https://<array-mgmt-vip>/api/2.30/alerts' --header 'Accept: application/json' --header 'x-auth-token: <x-auth-token received from headers from the login>'

I would recommend NOT to paste the output from your array on here, but please email us the results. Thank you!

Hi @imperatives @BadrZef - I've just submitted PR #109 to help us resolve this issue. It will be included in the next release.


Added SelfSignedCertificate module to the test package

PR Summary
The test package is missing the SelfSignedCertificate module, which is downloaded from the gallery. This change adds that module to the appropriate location for packaging.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

I have verified by running the function New-TestPackage that the module is included.

make sure dependabot detects the new csproj after merging


chore: add Revolyssup in reviewers

Type of change:

[ ] Bugfix
[ ] New feature provided
[ ] Improve performance
[ ] Backport patches
[ ] Documentation
[ ] Refactor
[ ] Chore
[ ] CI/CD or Tests

What this PR does / why we need it:

Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[ ] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?
[ ] Is this PR backward compatible? If it is not backward compatible, please discuss on the mailing list first

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

Comparison is base (c111c12) 36.81% compared to head (83a861e) 36.81%.
 Consider uploading reports for the commit 0d55334 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2059   +/-   ##
=======================================
  Coverage   36.81%   36.81%
=======================================
  Files          93       93
  Lines        7863     7863
=======================================
  Hits         2895     2895
  Misses       4580     4580
  Partials      388      388

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


파이어베이스 인증이 간헐적으로 풀립니다

가끔 새로고침 할 때 권한이 없다고 나옵니다
콘솔에 나오는 에러 첨부합니다
Error retrieving document: FirebaseError: Missing or insufficient permissions.
    at new t (https://veryslide.com/bundle.js:831:524)
    at e.fromRpcStatus (https://veryslide.com/bundle.js:1220:455)
    at e.fromWatchChange (https://veryslide.com/bundle.js:1220:8850)
    at t.onMessage (https://veryslide.com/bundle.js:1122:5848)
    at https://veryslide.com/bundle.js:1122:4591
    at https://veryslide.com/bundle.js:1122:5409
    at https://veryslide.com/bundle.js:896:8994

트위터에서 개발과정 잘보고있습니다 👍

Thank you for using Veryslide.
I'd failed to reproduce this issue, could you describe more about the environment and situation?


Rate limit exceeded with Anthropic - lacks appropriate backoff

Issue
Aider v0.43.4
Models: claude-3-5-sonnet-20240620 with diff edit format, weak model claude-3-haiku-20240307
Git repo: .git with 20 files
Repo-map: using 1024 tokens
Made a request to resolve and issue with the code and received these messages:
litellm.RateLimitError: AnthropicException - {"type":"error","error":{"type":"rate_limit_error","message":"Number of request tokens has exceeded your per-minute rate limit
(https://docs.anthropic.com/en/api/rate-limits); see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later. You may also
contact sales at https://www.anthropic.com/contact-sales to discuss your options for a rate limit increase."}}
Retry in 0.7 seconds.
litellm.RateLimitError: AnthropicException - {"type":"error","error":{"type":"rate_limit_error","message":"Number of request tokens has exceeded your per-minute rate limit
(https://docs.anthropic.com/en/api/rate-limits); see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later. You may also
contact sales at https://www.anthropic.com/contact-sales to discuss your options for a rate limit increase."}}
Retry in 0.5 seconds.
litellm.RateLimitError: AnthropicException - {"type":"error","error":{"type":"rate_limit_error","message":"Number of request tokens has exceeded your per-minute rate limit
(https://docs.anthropic.com/en/api/rate-limits); see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later. You may also
contact sales at https://www.anthropic.com/contact-sales to discuss your options for a rate limit increase."}}
Retry in 3.6 seconds.
litellm.RateLimitError: AnthropicException - {"type":"error","error":{"type":"rate_limit_error","message":"Number of request tokens has exceeded your per-minute rate limit
(https://docs.anthropic.com/en/api/rate-limits); see the response headers for current usage. Please reduce the prompt length or the maximum tokens requested, or try again later. You may also
contact sales at https://www.anthropic.com/contact-sales to discuss your options for a rate limit increase."}}
Retry in 6.1 seconds.

Notice the retry wait keeps increasing
Have been using aider without issue with Anthropic for the last 3 days on the repo up until I run out of daily tokens, but first time I have run into this issue. Nothing that I am aware of is special about the change/issue that I am attempting to resolve.
Version and model info
Aider v0.43.4
Models: claude-3-5-sonnet-20240620 with diff edit format, weak model claude-3-haiku-20240307
Git repo: .git with 20 files
Repo-map: using 1024 tokens

Thanks for trying aider and filing this issue.
This is a standard exponential backoff strategy.
FYI, you can use Sonnet through OpenRouter to avoid rate limits.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.

https://unify.ai/ looks to be an interesting alternative to OpenRouter - is there any likelihood that services other than OpenRouter might be supported for dealing with reducing LLM token costs?


Error on matrix determinant calculation

Hi!
I was reading the instructions to install Calcpad on Linux and I noticed an error on matrix determinant calculation shown in CLI screenshot example. The correct determinant answer should be -2.
After doing some calculations, I found out that Calcpad is calculating $\det(A) = \det(L)\det(U)$, as I later verified it in GetDeterminant(Matrix lu) function in Calcpad.Core/Matrix/Matrix.cs source code. However, the correct calculation should be $\det(A) = \det(P)\det(L)\det(U)$, where $P$ is the permutation matrix used in LU decomposition.

Hi!
Thank you so much for reporting this. You are absolutely right.
I checked and I found that I have missed to account for the determinant sign flips during pivot row interchanges. I will fix this now and issue and update soon. No need to build the P matrix implicitly, there is another way to do this much easier as recommended in the "Numerical Recipes in C" book.

Hi!
You absolutely right. You really don't need to build the P matrix.

Hi!
This is now fixed in version 7.1.3:
https://github.com/Proektsoftbg/Calcpad/releases/tag/v7.1.3
The updated Linux packages are available here:
https://github.com/Proektsoftbg/Calcpad/tree/main/Setup/Linux


[WIP] h5py dataset

@dwf @bartvm I addressed all comments.
Regarding the split concatenation, I think it's pretty straightforward to implement unit tests that verify that the splits you get out of the HDF5 version of the dataset and the splits you get when you download the data are the same.

@bartvm Your comments have been addressed.

I just rebased on top of master.

Okay, let's merge and take it from there with fuel-convert and converting the existing databases. We probably need to write a kind of "HDF5 dataset specification" that shows how to create a dataset that can be interpreted by this class.

I can write the documentation. I'll make a PR when it's ready.


Crop area not square but rectangle despite area-type="square"

Hi there
have you ever experienced this issue that even though you defined the area-type as square the interactive crop area is rectangle when the image used has a portrait or landscape ratio?
Best,
Daniel

I've been working with a similar library but I'd like to test this one.
In the one I tried before I fixed that issue:
https://github.com/Foliotek/Croppie/issues/153
I think it could be what you mean. Anyway, I'm interested in this new feature as well.


fix should not generate same exprId for diff column when sink (#30501)

pick from master #30501
commit id 608fede57a78f77933a7b4ebd80b523cbccc0848
Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0


TSDoc @example indentation not working

VSCode Version: 1.30.2
OS Version: macOS High Sierra

Steps to Reproduce:
I've created a TSDoc comment on one of my functions like this
/**
 * Test an object to match the `shape` partially.
 *
 * @param shape Shape to test the object against.
 *
 * @example
 *
 * ow({unicorn: '🦄'}, ow.object.partialShape({
 * 	rainbow: ow.string,
 * 	stars: {
 * 		value: ow.number
 * 	}
 * }));
 */

The indentation of the example is not taken into account. I tried using tabs, spaces, basically everything, but the output looks like this.

I've tried wrapping it in backticks, and then the indentation works, but the * of my comments are also shown.

Do I miss something?
@mjbvz I think you already helped me out with something regarding TSDoc, so tagging you just in case :).

Thanks. I believe that https://github.com/Microsoft/TypeScript/issues/15749 is already tracking this upstream. We've marked it as a priority for the TS team to investigate


Swagger - UI is not showing the API Docs as expected

Hello Swagger team,
I started the project with out any problem.  below link works fine,
http://localhost:8002/api/pet/1
http://localhost:8002/api/swagger.json
but swagger-ui is failing to list our API and its methods.
http://localhost:8002/#, just displays html bar with swagger.io, two text boxes and explore button.
Is something missing.

Some of the JS versions were wrong. Please resolve and push the new code.

Go update your index.html from that in the project.  https://github.com/swagger-api/swagger-ui/blob/master/dist/index.html


How to get the full taxa of predicted hosts

Hey developer,
I noted that the Cherry gives hosts of phage sequences. However, it only lists the species names. How can I get the full taxa? Is there any taxa list?
Thanks.
PS: there are two files (virus.csv & prokaryote.csv) in the './database/cherry' file. Which one should I use?

Hi,
Thanks for using our tools. the full taxa can be found in the file "prokaryote.csv"
You can also search for it with the ETE3 toolkit: http://etetoolkit.org/docs/latest/tutorial/tutorial_ncbitaxonomy.html
Best,
Jiayu

Thanks Jiayu,
One more suggestion here: you may note that the gtdbtk has updated its database, which has a new taxa name system. Is it possible for you to update phabox and assign the phage-host names in alignment with gtdbtk (such as v2.3 release 214)

Thanks, Jiayu,
Here is the taxa table (v2.3.0 release 214):

Hi there,
I am sorry, but it seems the provided taxa table cannot be used to convert RefSeq into GTDB. I found that many of the sequences in the RefSeq taxa cannot find their corresponding taxa in the provided file (missing many accession maps).
However, I suddenly found that my provided scripts in the GTDB folder had some problems in the previous release. I have fixed the problems with a readme file. Hope it can help you to convert the RefSeq into the wanted GTDB. The GTDB taxa are also downloaded from the official website.
Best,
Jiayu

Hi there,
The PhaBOX is upgraded to a 2.0 version with more powerful usage. Besides, it can handle all kinds of viruses now. Feel free to check!
Best,
Jiayu


Screenrecorder

Is your feature request related to a problem? Please describe.
The lack of screen recording functionality in the Chrome extension. Adding this feature would greatly enhance the extension's capabilities by allowing users to record their screens directly from the browser.
Describe the solution you'd like
I would like to add a screen recorder feature to the Chrome extension, allowing users to capture their screen activity within the browser.
Describe alternatives you've considered
One alternative could be to instruct users to use third-party screen recording software outside of the browser. However, integrating a screen recorder directly into the extension would provide a more seamless and user-friendly experience.
Additional context
This feature aims to enhance the functionality of the Chrome extension by adding screen recording capabilities. Users may want to record their screen for various purposes such as creating tutorials, capturing gameplay, or demonstrating software features.
What problem is this feature trying to solve?
This feature is trying to solve the problem of the absence of screen recording functionality within the Chrome extension.
How do we know when the feature is complete?
The feature will be considered complete when users can successfully initiate, record, and save their screen recordings using the Chrome extension. I will make a PR when it's complete.

Assign it to me under gssoc'24

Hey @Sulagna-Dutta-Roy, I think developing this screen recorder extension might require more time. It could be more efficient if you assign it to label2 or label3.

Sure. Changed the level2

Closing this as PR received before


Translate error messages

Hi,
Is it possible to modify (translate) the error messages that are generated, for example when not receiving a token?

Not directly, but you could use the error handler. Let's assume you have created a translating function translate_error($locale, $message) then the error handler would be something like:
$app = new Slim\App;

$app->add(new Tuupola\Middleware\JwtAuthentication([
    "secret" => "supersecretkeyyoushouldnotcommittogithub",
    "error" => function ($response, $arguments) {
        $data["status"] = "error";
        $data["message"] = translate_error("et_EE", $arguments["message"]);
        return $response
            ->withHeader("Content-Type", "application/json")
            ->getBody()->write(json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
    }
]));

Problem with translating the message, is that when the message in english changes, there will be no translation and the developer will not know.
When a token expires Firebase\JW\ExpiredException is thrown. From a user(other developer)-view would it not be better to be able to catch the Firebase\JW\ExpiredException instead of handling the "error"-function( "error" => function ($response, $arguments) { ... } )?


jenkins: add example pipeline to run 2 stages in parallel

Pipeline script location: https://github.com/tungbq/devops-basic/tree/main/topics/jenkins/helloworld
DoD:

Similar to the current example: https://github.com/tungbq/devops-basic/blob/main/topics/jenkins/helloworld/MyFirstPipeline.groovy
Create the new file PipelineWithParralellStages.groovy (or you can propose a better name with similar meaning to that one)
Add example pipeline to run 2 stages in parallel
The example pipeline could be simple, no need too complicated (just print message is acceptable)
New pipeline works fine on Jenkins

I'm happy to report that I have completed the following tasks:
Created a new pipeline script file called PipelineWithParallelStages.groovy in the https://github.com/tungbq/devops-basic/tree/main/topics/jenkins/helloworld directory. 🚀
Added an example pipeline to the file that runs two stages in parallel, ParallelStage1 and ParallelStage2. 👯♀
Each stage simply prints a message to the console. 🗣
Tested the new pipeline script on Jenkins and confirmed that it works fine. ✅
Please let me know if you have any questions or feedback.

I'm happy to report that I have completed the following tasks:
Created a new pipeline script file called PipelineWithParallelStages.groovy in the https://github.com/tungbq/devops-basic/tree/main/topics/jenkins/helloworld directory. 🚀 Added an example pipeline to the file that runs two stages in parallel, ParallelStage1 and ParallelStage2. 👯♀ Each stage simply prints a message to the console. 🗣 Tested the new pipeline script on Jenkins and confirmed that it works fine. ✅ Please let me know if you have any questions or feedback.

Wao!! I really happy and appreciated for your effort on this repository.
I'll review all of your PR now. Thanks a lot 😍


Contributors with the "content editor" role can edit code for blocks, pages, and the site.

I noticed that contributors with the "content editor" role can access the code editor. The ideal is that only the "developers" access the code of the site, page and blocks.

Okay @LucasGabrielBravo should be fixed now - mind checking? I've also gone ahead and hidden the 'Page' and 'Site' fields when there aren't any fields for content editors to edit

It worked, but it didn't work.
I logged in with an "EDITOR" user and the interface remained the same as a "DEV". I noticed that the "DEV" or "EDITOR" is stored in $userRole, so I did a $: console.log($userRole) and the output was DEV.
In the /src/lib/Primo.svelte file on line 23 there is
export let role = 'DEV'

$: $userRole = role

Changing to export let role = 'EDITOR' hides the code editor buttons.
I also logged in with the admin user by holding export let role="EDITOR' and doing that the admin also runs out of code editor buttons.
I believe that the "role" is not being passed to the store when creating the <Primo {data} /> component in /src/routes/[site]/+layout.svelte, but I don't know how to resolve it

@LucasGabrielBravo hmm, did you pull down the latest changes? See here, the role is being passed down.

My mistake!
It's working perfectly.
I synced Builder but forgot to sync Primo.
Thank you very much

@LucasGabrielBravo ah okay, great!


Create new application for every API call

I have an endpoint http://localhost:8444/api/fileProcess which corresponds to 'fp' namespace
For each API endpoint hit, I need a new spark application to be started. As per my understanding, this feature can be enabled by adding mist.context.fp.disposable = true in the default.conf file. But that doesn't happen. At the first endpoint call, a new worker for 'fp' is created & it runs continuously.

You can use exclusive mode. For that mode, mist is spawning workers for every call
See more details
For example:
curl --header "Content-Type: application/json" \
     -X POST "http://localhost:2004/v2/api/endpoints/simple-context/jobs?mode=exclusive&force=true"
     -d '{"numbers": [1, 2, 3]}'

I think I have to upgrade to v0.12.2+ to check this feature.
Do you have any page to clear out the differences between v1 & v2 API ?
I have one more question. Is it possible to define endpoints at run time ? Or, I'll have a single endpoint http://localhost:8444/api/jobs & pass the jar_path & className parameters along with the endpoint so that updating router.conf for each new use case can be avoided.

Do you have any page to clear out the differences between v1 & v2 API ?

No, we have only documentation for new api page
One important thing it is that by default job is running in async mode and returns only its id.
Then you can you that id to check status. Or if your job is really quick you can you use force=true parameter to obtain job result at one call.

Is it possible to define endpoints at run time

Currently no. But we working on it right now.


How to detect when new markers have been added to the map?

Hello,
May i ask how to I add a event listener to the map to detect when a marker has been added to the map?
In the docs, it says that we can use the "add" event, but how do I actually use it?
http://leafletjs.com/reference.html#marker
I have tried:
map.on(marker,'add', function() { // Throws a error "marker is not defined"
    console.log('marker added')
});

map.on(marker,'add', function() { // doesn't do anything
    console.log('marker added')
});

Any help?

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.
If you are really sure that this is a bug in leaflet, or a feature request, please change the wording to make it look like a bug report.


[Add]search content files

Coverage decreased (-0.004%) to 83.045% when pulling 818868acf0fa39f2c96f2396927d24708d1928fe on ShinjiTanimoto:file into 5326e377d71db21ae7aa40684d94de379ad496fb on shirasagi:master.


[Draft] Implemented dedicated shader editor

I've decided to attempt to implement: https://github.com/godotengine/godot/issues/26229 (gradually) since it is accepted in UI proposals:

The result will look almost exactly like in the proposal:

ToDo List:

[x] Basic layout
[x] Spatial preview options
[ ] Canvas Item preview options
[ ] Dynamic switch possible previews for each shader type
[ ] Shaders list (recent list)
[ ] Vertical dock option
[ ] File menu
[ ] Sky preview options
[ ] Particles preview options
[ ] Dedicated Visual Shader Editor (?) - maybe later, in other PR

Show GIF Presentation

Here's an alternate proposal:
With Godot 4.0, we will have the ability to use multiple windows in the editor. Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window? This would be simpler, and in many ways nicer. You could arrange the windows however you like, on multiple screens, or side by side like in the image in OP:

Here's an alternate proposal:
With Godot 4.0, we will have the ability to use multiple windows in the editor. Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window? This would be simpler, and in many ways nicer. You could arrange the windows however you like, on multiple screens, or side by side like in the image in OP:

Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window?

+1 on this. This would actually allow some quite nice stuff too, such as multi-script editing (I don't know if there's already a way to do it, but I didn't find it when I needed it)

Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window?

+1 on this. This would actually allow some quite nice stuff too, such as multi-script editing (I don't know if there's already a way to do it, but I didn't find it when I needed it)

Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window?

From the look of the image in the OP, the preview part of the right is not the same as a 2d/3d viewport. It's a part of this new editor, only shows the object that is being edited, doesn't allow modifications (because it doesn't preview a scene) and has several preview modes.

Why not allow opening the shader in the regular script editor, then allow popping out the script editor to a separate window?

From the look of the image in the OP, the preview part of the right is not the same as a 2d/3d viewport. It's a part of this new editor, only shows the object that is being edited, doesn't allow modifications (because it doesn't preview a scene) and has several preview modes.

I am not sure where you got this spreadsheet from, I don't remember this was discussed. Personally, I don't understand why a resource editor would have a dedicated tab at the top, making it more privileged than any other editor. If we start to allow this, why does the TileSet editor, the UV polygon editor or the Theme editor don't have their own tabs then?
Aside from that, I am not against adding a preview of the shader next to the editor, but for now, it should be kept at the bottom.

I am not sure where you got this spreadsheet from, I don't remember this was discussed. Personally, I don't understand why a resource editor would have a dedicated tab at the top, making it more privileged than any other editor. If we start to allow this, why does the TileSet editor, the UV polygon editor or the Theme editor don't have their own tabs then?
Aside from that, I am not against adding a preview of the shader next to the editor, but for now, it should be kept at the bottom.

Personally, I don't understand why a resource editor would have a dedicated tab at the top, making it more privileged than any other editor.

If you look at it this way, a script editor is a resource editor. And it's on the top bar. As a user I don't see much reason for some of those tools to appear at the bottom panel. It just feels like a gutter for things we didn't find another place for. And a shader editor, among other editors, definitely needs more space than the bottom panel provides. Yes, I know you can extend it. But as the nature of the bottom panel is to be shared with other tools, you don't necessarily need it extended for those as well. So it is a constant game of adjusting its size when switching tools.
But maybe we should solve this with a dedicated UI relocation PR.

Personally, I don't understand why a resource editor would have a dedicated tab at the top, making it more privileged than any other editor.

If you look at it this way, a script editor is a resource editor. And it's on the top bar. As a user I don't see much reason for some of those tools to appear at the bottom panel. It just feels like a gutter for things we didn't find another place for. And a shader editor, among other editors, definitely needs more space than the bottom panel provides. Yes, I know you can extend it. But as the nature of the bottom panel is to be shared with other tools, you don't necessarily need it extended for those as well. So it is a constant game of adjusting its size when switching tools.
But maybe we should solve this with a dedicated UI relocation PR.

Editing shaders would fit right at home in the Script editor (including visual shaders), the only problem is that we are missing the ability to view the object while the shader is being edited (which will not be a problem in Godot 4.0 if you pop out the script editor).

Editing shaders would fit right at home in the Script editor (including visual shaders), the only problem is that we are missing the ability to view the object while the shader is being edited (which will not be a problem in Godot 4.0 if you pop out the script editor).

If you look at it this way, the Script editor is a resource editor

Yes, and to be honest, I don't like this either being here.
What I mean is that moving every editor lacking space to a new tab is not a viable solution to me (that's why I mentioned the TileSet editor, which is a little bit cramped too). I understand all the problem the current situation causes, especially to the shader editor, but I don't want to allow for a workaround-ish specific solution, while the problem is common to a lot of resources editors.
So for now, I'd keep everything at the bottom, and wait for a good proposal solving the space problem for all cramped resources editors first.

If you look at it this way, the Script editor is a resource editor

Yes, and to be honest, I don't like this either being here.
What I mean is that moving every editor lacking space to a new tab is not a viable solution to me (that's why I mentioned the TileSet editor, which is a little bit cramped too). I understand all the problem the current situation causes, especially to the shader editor, but I don't want to allow for a workaround-ish specific solution, while the problem is common to a lot of resources editors.
So for now, I'd keep everything at the bottom, and wait for a good proposal solving the space problem for all cramped resources editors first.

I don't see why we should be blocking this proposal over the location of the entry ui. The shader editor is a good proposal.
Why can't the shader editor have its own editor? It makes sense to use additional space to display the most amount of workspace for the purpose of a task. Phones and other space constrained uis have solved this problem.

I don't see why we should be blocking this proposal over the location of the entry ui. The shader editor is a good proposal.
Why can't the shader editor have its own editor? It makes sense to use additional space to display the most amount of workspace for the purpose of a task. Phones and other space constrained uis have solved this problem.

This is a very bad UI proposal. It agraves even more the lack of meaningful in the top bar mixing 2 viewport options a browser (asset lib) and two script views. It's a mess.
Here's my long explanation why:
https://github.com/godotengine/godot-proposals/issues/1508#issuecomment-734022502

This is a very bad UI proposal. It agraves even more the lack of meaningful in the top bar mixing 2 viewport options a browser (asset lib) and two script views. It's a mess.
Here's my long explanation why:
https://github.com/godotengine/godot-proposals/issues/1508#issuecomment-734022502

We discussed in chat about the dock.
It's not how many options are on the top menu, but it's a matter of the consistency of what is there on the menu.
There are also two inconsistent separate menus—one at the top and one at the bottom.
We also noted that each editor could scale from a smaller size to full-screen.

I don't think this proposal needed to change except by making ensuring there is only one editor that can expand to full screen.
I propose to enhance the dock via ribbon style or progressively collapsing navigation. We can also make the dock more consistent by forcing the grouping of separated items and removing the second menu at the bottom.
Sources:

https://kyusuf.com/post/completely-css-progressively-collapsing-navigation/
https://en.wikipedia.org/wiki/Ribbon_(computing)

We discussed in chat about the dock.
It's not how many options are on the top menu, but it's a matter of the consistency of what is there on the menu.
There are also two inconsistent separate menus—one at the top and one at the bottom.
We also noted that each editor could scale from a smaller size to full-screen.

I don't think this proposal needed to change except by making ensuring there is only one editor that can expand to full screen.
I propose to enhance the dock via ribbon style or progressively collapsing navigation. We can also make the dock more consistent by forcing the grouping of separated items and removing the second menu at the bottom.
Sources:

https://kyusuf.com/post/completely-css-progressively-collapsing-navigation/
https://en.wikipedia.org/wiki/Ribbon_(computing)

As for solving the shader editor real estate issue, see https://github.com/godotengine/godot/pull/36040.

As for solving the shader editor real estate issue, see https://github.com/godotengine/godot/pull/36040.

I think the @Calinou proposal is compact and better and lost interest to develop this PR futher. Thanks for the discussion. Closed.

I think the @Calinou proposal is compact and better and lost interest to develop this PR futher. Thanks for the discussion. Closed.


Stats won't update if drinks are added manually

I noticed when adding drinks from the Django admin interface, the stats are not all updated, only some. Even the recent activity isn't updated unless you regen stats.

this issue has been discussed previously... the proper way to manually add a drink is by using the api...
i have a script i use that works pretty well
#!/bin/bash -x
USER=$1
OZ=$2
TICKS=`echo "$OZ/0.01545" | bc -q`
curl -F 'api_auth_token=AUTHTOKEN' \
-F "ticks=$TICKS" \
-F "username=$USER" \
http://kegbot.goliathonline.com/api/tap/kegboard.flow0

Yup, @szechyjs is right! -- You want to add a drink using the API.  I should probably incorporate such a feature into kegadmin, eventually..


PhantomJS test error code ELIFECYCLE

When I run ng test, I get following error on console:
23 03 2020 11:41:21.478:INFO [launcher]: Launching browsers PhantomJS with concurrency unlimited
23 03 2020 11:41:21.492:INFO [launcher]: Starting browser PhantomJS
23 03 2020 11:41:39.809:INFO [PhantomJS 2.1.1 (Windows 8.0.0)]: Connected on socket Meki6io93QzxgckCAAAA with id 84600467
PhantomJS 2.1.1 (Windows 8.0.0): Executed 0 of 0 ERROR (0.017 secs / 0 secs)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>test: `ng test`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      C:\Users\meuser\AppData\Roaming\npm-cache\_logs\2020-03-23T06_11_40_831Z-debug.log

The debug.log file contains:
10 silly lifecycle<EMAIL_ADDRESS>~ test: Args: [ '/d /s /c', 'ng test' ]
11 silly lifecycle<EMAIL_ADDRESS>~ test: Returned: code: 1  signal: null
12 info lifecycle<EMAIL_ADDRESS>~ test: Failed to exec test script
13 verbose stack Error<EMAIL_ADDRESS>test: ng test
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:223:5)
13 verbose stack     at ChildProcess. (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:223:5)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
14 verbose pkgid<EMAIL_ADDRESS>15 verbose cwd C:\Code\UserPortal
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\Program Files\nodejs\node.exe" "C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "run" "test"
18 verbose node v12.14.1
19 verbose npm  v6.13.4
20 error code ELIFECYCLE
21 error errno 1
22 error<EMAIL_ADDRESS>test: ng test
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>test script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]
karma.conf.js is:
process.env.CHROME_BIN = require('puppeteer').executablePath();

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-phantomjs-launcher'),
      require('karma-jasmine-html-reporter'),
      require('karma-coverage-istanbul-reporter'),
      require('@angular-devkit/build-angular/plugins/karma'),
    ],
    client: {
      jasmine: {
        random: true,
      },
      clearContext: false, // leave Jasmine Spec Runner output visible in browser
    },
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, 'coverage'),
      reports: ['html', 'lcovonly'],
      fixWebpackSourcePaths: true,
    },

    reporters: ['progress', 'kjhtml'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    customLaunchers: {
      ChromeHeadless: {
        base: 'chrome',
        flags: ['--headless', '--disable-gpu', '--no-sandbox'],
      },
    },
    // browsers: ['Chrome'],
    browsers: ['PhantomJS'],
    singleRun: true,
  });
};

package.json is:
{
  "name": "my-app",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --proxy-config proxy.config.json",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "code-coverage": "ng test --watch=false --code-coverage"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "8.1.0",
    "@angular/cdk": "^8.2.3",
    "@angular/cli": "^8.3.23",
    "@angular/common": "8.1.0",
    "@angular/compiler": "8.1.0",
    "@angular/core": "8.1.0",
    "@angular/flex-layout": "^8.0.0-beta.27",
    "@angular/forms": "8.1.0",
    "@angular/http": "7.2.15",
    "@angular/material": "^8.2.3",
    "@angular/platform-browser": "8.1.0",
    "@angular/platform-browser-dynamic": "8.1.0",
    "@angular/router": "8.1.0",
    "@avaya/neo": "^2.82.1",
    "@ngrx/effects": "^8.6.0",
    "@ngrx/store": "^8.6.0",
    "@ngrx/store-devtools": "^8.6.0",
    "@ngx-translate/core": "^11.0.1",
    "@ngx-translate/http-loader": "^4.0.0",
    "angular-user-idle": "^2.2.1",
    "angular2-cookie": "^1.2.6",
    "bootstrap": "^4.4.1",
    "buffer": "^5.4.3",
    "codelyzer": "^5.2.1",
    "core-js": "^2.6.11",
    "font-awesome": "^4.7.0",
    "jquery": "^3.4.1",
    "js-sha1": "^0.6.0",
    "lodash": "^4.17.15",
    "material-design-icons": "^3.0.1",
    "ng-pick-datetime": "^7.0.0",
    "ngx-avatar": "^3.7.0",
    "ngx-bootstrap": "^5.3.2",
    "ngx-clipboard": "^12.3.0",
    "ogv": "^1.6.1",
    "opus-recorder": "^6.1.1",
    "protobufjs": "^6.8.8",
    "rxjs": "6.5.2",
    "rxjs-compat": "^6.5.4",
    "rxjs-tslint": "^0.1.5",
    "stream": "0.0.2",
    "timers": "^0.1.1",
    "typescript": "^3.4.5",
    "xml2js": "^0.4.23",
    "xmlbuilder": "^13.0.2",
    "zone.js": "^0.9.1"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.801.3",
    "@angular/compiler-cli": "8.1.0",
    "@angular/language-service": "8.1.0",
    "@types/jasmine": "^3.3.16",
    "@types/jasminewd2": "^2.0.8",
    "@types/node": "^12.6.9",
    "jasmine-core": "~3.4.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~4.1.0",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^2.1.1",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.5.1",
    "karma-phantomjs-launcher": "^1.0.4",
    "node-sass": "^4.13.0",
    "protractor": "~5.4.2",
    "puppeteer": "^1.20.0",
    "susy": "^3.0.5",
    "ts-node": "~8.3.0",
    "tslint": "~5.18.0"
  },
  "prettier": {
    "singleQuote": true
  }
}

polyfills.ts is:
/***************************************************************************************************
 * BROWSER POLYFILLS
 */

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/weak-map';
import 'core-js/es6/set';

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
// import 'classlist.js';  // Run `npm install --save classlist.js`.

/** IE10 and IE11 requires the following for the Reflect API. */
import 'core-js/es6/reflect';

/** Evergreen browsers require these. **/
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
import 'core-js/es7/reflect';

/**
 * Required to support Web Animations `@angular/platform-browser/animations`.
 * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
 **/
// import 'web-animations-js';  // Run `npm install --save web-animations-js`.

/**
 * By default, zone.js will patch all possible macroTask and DomEvents
 * user can disable parts of macroTask/DomEvents patch by setting following flags
 */

 // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
 // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
 // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames

 /*
 * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
 * with the following flag, it will bypass `zone.js` patch for IE/Edge
 */
(window as any).__Zone_enable_cross_context_check = true;

/***************************************************************************************************
 * Zone JS is required by default for Angular itself.
 */
(window as any).__Zone_enable_cross_context_check = true;
import 'zone.js/dist/zone';  // Included with Angular CLI.

/***************************************************************************************************
 * APPLICATION IMPORTS
 */

In karma.conf.js browsers, if I use Chrome instead of used PhantomJS, it works fine. But I get issue with PhantomJS.
What could be going wrong?

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.

I had posted this on stackoverflow some days ago and did not get any response (https://stackoverflow.com/questions/60411923/npm-code-coverage-elifecycle-error-with-phantomjs). Hence, posted here. Where can I ask this question?

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.
If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.

I had posted this on stackoverflow some days ago and did not get any response (https://stackoverflow.com/questions/60411923/npm-code-coverage-elifecycle-error-with-phantomjs). Hence, posted here. Where can I ask this question?

Let me reply to that!


Unauthorized access in non-localhost environment

StatusPageViewModel.cs contains:
        public override Task Init()
        {
            // ToDo: implement your own authorization logic
            if (!Context.HttpContext.Request.Url.IsLoopback)

Because of this I'm not able to use status page in any environment except localhost.
I'm suggesting to add Func<HttpContext, Task<bool>> delegate to StatusPageOptions to let user implement their own authorization logic. The localhost authorization logic can be set as default.

Fixed in 3a2ef40cbdbc9068f06968a4f31a912048d51f18


feat: remove eslint support

Let's remove eslint support on alpha channel. I will remove unnecessary abstractions in the next PRs.
The goal of the 7.0.0 release is to drop support for Node 10 (as is no longer supported), webpack 4 (this will fix types issues), and old versions of TypeScript (2+ years old).
I will still try to maintain version 6 by fixing bugs :)
BREAKING CHANGE: 🧨 ESLint no longer supported by the plugin

:tada: This PR is included in version 7.0.0-alpha.3 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

I couldn't find any discussion about this, so I'm curious: what is the rationale behind removing ESLint support. And what is the recommended replacement for projects that use this now?

:tada: This PR is included in version 7.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error [ERR_REQUIRE_ESM]: require() of ES Module inside quasar-app-extension-ssg's server-entry.js

I get the following error
Error [ERR_REQUIRE_ESM]: require() of ES Module /home/tamy/DD_ECO/qfrontend/node_modules/query-string/index.js from /home/tamy/DD_ECO/qfrontend/node_modules/.cache/quasar-app-extension-ssg/server/server-entry.js not supported. Instead change the require of index.js in /home/tamy/DD_ECO/qfrontend/node_modules/.cache/quasar-app-extension-ssg/server/server-entry.js to a dynamic import() which is available in all CommonJS modules.     at Module.<anonymous> (/home/tamy/DD_ECO/qfrontend/node_modules/.cache/quasar-app-extension-ssg/server/server-entry.js:16:19)     at createRenderFn (/home/tamy/DD_ECO/qfrontend/node_modules/quasar-app-extension-ssg/src/vite/ssg-create-render-fn.js:30:7)     at SsgBuilder.generatePages (/home/tamy/DD_ECO/qfrontend/node_modules/quasar-app-extension-ssg/src/vite/ssg-builder.js:88:64)     at run (/home/tamy/DD_ECO/qfrontend/node_modules/quasar-app-extension-ssg/src/vite/cmd/generate.js:126:20) {   code: 'ERR_REQUIRE_ESM' } and I'm not sure how to fix it since it seems like it's inside the quasar-app-extension's generated file? Is it a problem with the query-string library? How do I fix this?

When running quasar build -m ssr or quasar ssg generate command, it compiles both client-side and server-side outputs. The server-side compiled code is in CommonJs format.
The query-string package is a pure ESM since its version 8.0.0.
So you need to transpile this library to commonJs. To do this, try adding this to your quasar.config.js file:
// quasar.config file

build: {
  extendViteConf (viteConf, { isServer }) {
    if(isServer) {
       // see https://v2.vitejs.dev/config/#ssr-noexternal

       viteConf.ssr = viteConf.ssr || { };
       viteConf.ssr.noExternal = viteConf.ssr.noExternal || [];
       viteConf.ssr.noExternal.push(/query-string/);
    }
  }
}

Thank you for the explanation, and that solution worked for me! Thank you~


Update __repr__ of DatasetDataSource

Codecov Report
Patch coverage is 100.00% of modified lines.

Files Changed
Coverage

src/gravitorch/creators/core/advanced.py
ø

src/gravitorch/creators/core/base.py
ø

src/gravitorch/creators/core/vanilla.py
ø

src/gravitorch/creators/datasource/base.py
ø

src/gravitorch/creators/datasource/vanilla.py
ø

src/gravitorch/datasources/base.py
ø

src/gravitorch/engines/base.py
ø

src/gravitorch/datasources/dataset.py
100.00%

:loudspeaker: Thoughts on this report? Let us know!.


Update manifests' policy and autoscale versions

Please provide a description of this PR:
For new releases we don't need to detect the k8s versions since they are not supported anyways.
However the actual old versions of resources will be supported until they are deprecated in 1.25/1.26.

Sorry I don't get it. Doesn't this break support for K8s 1.22, which we still support?

@howardjohn I checked the supported versions at https://istio.io/latest/docs/releases/supported-releases/#support-status-of-istio-releases. So, according to the table, does Tested, but not supported mean we still maintain compatibility with those versions?

Yes, we just are not committing that we 100% will support every feature on
those versions and will never break it. But we still try to support as
much as we can typically unless it's very expensive
On Thu, Jul 6, 2023, 7:04 PM Xiaopeng Han @.***> wrote:

Sorry I don't get it. Doesn't this break support for K8s 1.22, which we
still support?
@howardjohn https://github.com/howardjohn I checked the supported
versions at
https://istio.io/latest/docs/releases/supported-releases/#support-status-of-istio-releases.
So, according to the table, does Tested, but not supported mean we still
maintain compatibility with those versions?
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/45836#issuecomment-1624536384, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXL5VVTTQEVO4OLCBZTXO5VCHANCNFSM6AAAAAAZ7ZEVJY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Yes, we just are not committing that we 100% will support every feature on those versions and will never break it. But we still try to support as much as we can typically unless it's very expensive
…
On Thu, Jul 6, 2023, 7:04 PM Xiaopeng Han @.> wrote: Sorry I don't get it. Doesn't this break support for K8s 1.22, which we still support? @howardjohn https://github.com/howardjohn I checked the supported versions at https://istio.io/latest/docs/releases/supported-releases/#support-status-of-istio-releases. So, according to the table, does Tested, but not supported mean we still maintain compatibility with those versions? — Reply to this email directly, view it on GitHub <#45836 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEYGXL5VVTTQEVO4OLCBZTXO5VCHANCNFSM6AAAAAAZ7ZEVJY . You are receiving this because you were mentioned.Message ID: @.>

I see, thanks


🚀 Feature Request: Share d1 database locally

Describe the solution
I have two workers that access the same D1 database. Unfortunately, each worker has its own database locally in the development environment under .wrangler/state/v3/d1. I would like to have an option that allows both workers to access the same database locally.
I had initially expected that the databases would be saved in the Users directory and that I could select the same database for several workers via preview_database_id. But unfortunately this did not work.

Thank you so much!

@robingenz  did you find a solution? if i set --persist-to ./shared-state this create a fodler in the same project

@lucaspieran I use the --persist-to flag:
wrangler dev src/index.ts --port 9150  --persist-to ../../.wrangler/state


Auto tracking regression in +3.28

I have narrowed down a regression in our application to Ember Data Model Fragments, we notice this since upgrading to 3.28 in certain scenarios.
I have tried debugging, but can't seem to figure out where the regression occurs.
It happens in a context the moment we try to call model.get('address'). Where address is a fragment.
We often see this as a warning, but in some specific scenario's it causes an outright error, crashing the application.
We are seeing this error:
index.js:129 Uncaught (in promise) Error: Assertion Failed: You attempted to update `_tracking` on `Tag`, but it had already been used previously in the same computation.  Attempting to update a value after using it in a computation can cause logical errors, infinite revalidation bugs, and performance issues, and is not supported.

Seeing something similar here: https://github.com/emberjs/ember.js/issues/18613#issuecomment-1029901855
And thanks to the explanation of @NullVoxPopuli I kind of understand what is going on. Unfortunately, the solution presented await Promise.resolve(); does not fix the issue.
I will try to create a reproduction application, in the coming days.

Thanks @pjcarly. When you say 3.28 do you mean ember-source or ember-data? But yeah a reproduction of some sort would be good 👍

Both at 3.28, I have been trying to reproduce it the entire week, no luck so far. Still investigating.

By using msw.js instead of ember-cli-mirage I was able to reproduce the issue in this repository:
https://github.com/pjcarly/autotracking-regression-repro

Any updates on this ? We're hitting the same issue on our way to 4...

Have you tried the betas?

@knownasilya No I haven't, will try and let you know... Thank you!

@ptgamr did you have luck?

@knownasilya @ptgamr Any luck here? I'd love to get up to 4!

I'll be releasing a new patch version today or tomorrow, so watch out for that as well.

I'm on<EMAIL_ADDRESS>and I'm getting the same issue 🤔
It seems to happen whenever I do a createRecord on the store which contains a fragment / fragment array

I'm on<EMAIL_ADDRESS>and I had the same issue (before 6.0.0) but it's working now. I'm still checking but I think this is fixed

@VincentMolinie any chance you can look into it?

I am facing the same issue in our app. using
ember-data-model-fragment: 6.0.5
ember-data: 3.28.13
ember-source: 3.28.12
i do not have ember-data-change-tracker addon as my dependency though. Noticed that removing the defaultValue set for some attributes in the model seem to fix the issue, but unfortunately we need those defaults. any fix/workaround available?

Most of my errors are gone. I saw it once last week if I tried to save a record that has fragment inside, I had to wait for the next run loop and then save my record and in that case it works correctly. But not sure it was linked to ember-data-model-fragments 🤷


Is the library abandoned?

Last commit was in February 2017. Is the library abandoned? More than two years passed.
Can you recommend up to date library for Java which can replace keyczar?

Yes. You should try Tink.

Yes, this library is abandoned.


Organizational profiles: acronyms

When adding organizational profiles I'm noticing that a lot of the organizations that have an often-used acronym, have just the acronym as a title or between brackets behind the full name, e.g.: Global Land Tool Network (GLTN) -> https://landportal.info/organization/global-land-tool-network-gltn-0
Ideally, the field of the acronym when adding an organizational profile would contain the acronym and the title would be the full title, to avoid any confusion.
However, when you do it this way, the organization doesn't show up in the search results on Drupal if you search for the acronym only. Or, for example, when you try to fill in a Provider when adding a LL resource and you use the autofill.
Is there any way that we can expand the search options that it also includes the added acronyms field in the organizational profile?

fixed in production (needs to be baked in the CT features)
now you can update the organization profiles :)


update instructions to set fleet telemetry config

Description
Update documentation to share client config
Fixes # (issue)
https://github.com/teslamotors/fleet-telemetry/issues/41
Type of change
Please select all options that apply to this change:

[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Documentation update

Checklist:
Confirm you have completed the following steps:

[X] My code follows the style of this project.
[X] I have performed a self-review of my code.
[X] I have made corresponding updates to the documentation.
[ ] I have added/updated unit tests to cover my changes.
[ ] I have added/updated integration tests to cover my changes.

In fleet-api docs, the "Exhaustive list of <field_to_stream> is present here." links to a specific commit. Should be updated to reference main.
It would also be great to include how to unenroll a vehicle before the exp.

In fleet-api docs, the "Exhaustive list of <field_to_stream> is present here." links to a specific commit. Should be updated to reference main.
It would also be great to include how to unenroll a vehicle before the exp.

will update documentation.
we will be adding unenrolling support soon.


Checked in config/scripts

This is a proposal about checking in config and scripts files for #10 and #11

N.B.: One problem with this PR as-is is that given the current zip uploaded to http://www.cs.cmu.edu/~pengchey/tranx.0.2.0.zip, running pull_data.sh will over-write the scripts included in the repo if you don't select "don't ovewrite". I've created a new version of the zip file without the scripts directory and put it here: htttp://www.phontron.com/data/tranx.0.2.1.zip
So if this could be put on @pcyin's CMU web site, and the version number could be bumped in pull_data.sh that would resolve the problem.


CassandraRequest is misspelled

[The entry in the table CassandraRequest here https://learn.microsoft.com/en-us/azure/cosmos-db/monitor-resource-logs?tabs=azure-portal#:~:text=retryCount%2C piiCommandText-,Ca/ssandraRequests,-Cassandra has a Slash]

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e65b6971-ea56-5e85-b199-d357fbc97580
Version Independent ID: 219058ac-5460-a33f-bec1-810f40cd2be7
Content: Monitor Azure Cosmos DB data by using Azure Diagnostic settings
Content Source: articles/cosmos-db/monitor-resource-logs.md
Service: cosmos-db
GitHub Login: @seesharprun
Microsoft Alias: sidandrews

@DavideDelVecchio
Thanks for your feedback! We will investigate and update as appropriate.

It looks like someone else opened a PR to resolve this: #108262


html用感叹号没法声明骨架

html用感叹号没法声明骨架

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

I believe this refer to the emmet feature ! followed by tab.
Duplicate of https://github.com/microsoft/vscode/issues/154375


support polygons label

Like your job for data label. Thank you!
Is it possible to support polygons label?

Hi @trihook, I'm glad you liked it! For now I don't plan to add support for polygon-based labeling, as I'm working on improving the actual box labeling, but maybe in the future I can work on it.


New cluster stuck in provisioning state

Hi
I did search on this forum but could not find a working solution.
Rancher version: 2.4.8   HA
Cluster type: Custom hosted on AWS,
Docker version: 1.13.1
Kubectl version:
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:41:02Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}
I deployed Rancher with self certificates with a private CA option. The Rancher GUI came up and when I try to create a new cluster, it is stuck in provisioning state with an error ‘check etcd logs’. The etcd logs says:
tls: failed to verify client’s certificate: x509: certificate signed by unknown authority (possibly because of “crypto/rsa: verification error” while trying to verify candidate authority certificate “kube-ca”)", ServerName “”
Steps to reproduce:
cluster.yml:
cluster_name: Ram-Kube
ssh_key_path: /home/ec2-user/.ssh/id_rsa
nodes:
address: <IP_ADDRESS>
internal_address: <IP_ADDRESS>
user: ec2-user
role: [controlplane,worker,etcd]
address: <IP_ADDRESS>
internal_address: <IP_ADDRESS>
user: ec2-user
role: [worker]
address: <IP_ADDRESS>
internal_address: <IP_ADDRESS>
user: ec2-user
role: [worker]
services:
etcd:
snapshot: true
creation: 6h
retention: 24h
network:
plugin: weave
ingress:
provider: nginx
options:
use-forwarded-headers: ‘true’
rke up --config ./cluster.yml
kubectl create namespace cattle-system
kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key
kubectl -n cattle-system create secret generic tls-ca --from-file=cacerts.pem=./cacerts.pem
kubectl -n cattle-system create secret generic tls-ca-additional --from-file=ca-additional.pem=./ca-additional.pem
helm install rancher rancher-stable/rancher --namespace cattle-system --set hostname=rancher-draco.asc-dev.io --set ingress.tls.source=secret --set privateCA=true --kubeconfig ./kube_config_cluster.yml --set additionalTrustedCAs=true
Do you see the incorrect configuration parameter in the steps above?
Thanks in advance.
Ram

The error usually indicates that the node(s) that you are adding to the cluster created in Rancher have old files from a previous try (another setup or cluster). Is the node you are trying to add newly created and not previously used? Are you using the custom cluster (from existing nodes) or are you using a node driver to create nodes from a cloud provider (EC2/DigitalOcean/etc)?

Please share the output of the following commands from the node you are trying to add to the created custom cluster:

docker ps -a
docker logs etcd (full logs)
ls -la /etc/kubernetes/ssl
ls -ld /var/lib/etcd

The custom cluster created in Rancher is totally separate from the cluster running Rancher, so not sure what This command got rid of etcd's error exactly means. Can you also confirm that the custom cluster is newly created, and hasn't been created earlier then when you were testing.

'rke cert rotate --rotate-ca' has thrown my installation into an unstable one. I will terminate all Ec2 instances, recreate them, and run the install steps described in my first post and then provide the clean logs you requested. Since I have done this process now about 8 times, shouldn't take that long.

docker ps -a output:
CONTAINER ID        IMAGE                                                                                COMMAND                  CREATED              STATUS                      PORTS               NAMES a00b8657d43f        rancher/coreos-etcd:v3.4.3-rancher1                                                                        "/usr/local/bin/et..."   About a minute ago   Up About a minute                               etcd eb2926b850cb        rancher/rancher-agent:v2.4.8                                                                               "run.sh --server h..."   2 minutes ago        Up 2 minutes                                    thirsty_agnesi c8381660d07d        rancher/rancher-agent@sha256:c8a111e6250a313f1dd5d34696ddbef9068f70ddf4b15ab4c9cefd0ea39b76c1              "run.sh"                 3 minutes ago        Up 3 minutes                                    k8s_cluster-register_cattle-cluster-agent-7967f8544d-22mdv_cattle-system_0ff1661b-e51e-46ba-9423-9f03a0e3e339_0 a1aef2320782        rancher/rancher-agent@sha256:c8a111e6250a313f1dd5d34696ddbef9068f70ddf4b15ab4c9cefd0ea39b76c1              "run.sh"                 3 minutes ago        Up 3 minutes                                    k8s_agent_cattle-node-agent-5nmvg_cattle-system_86f4548d-fe76-4939-a35b-ec3716612ad9_0 3668b52ebbd7        rancher/pause:3.1                                                                                "/pause"                 3 minutes ago        Up 3 minutes                                    k8s_POD_cattle-node-agent-5nmvg_cattle-system_86f4548d-fe76-4939-a35b-ec3716612ad9_0 5adaa897e57a        rancher/pause:3.1                                                                                "/pause"                 3 minutes ago        Up 3 minutes                                    k8s_POD_cattle-cluster-agent-7967f8544d-22mdv_cattle-system_0ff1661b-e51e-46ba-9423-9f03a0e3e339_0 e953ed61be38        rancher/rancher@sha256:5a16a6a0611e49d55ff9d9fbf278b5ca2602575de8f52286b18158ee1a8a5963                    "entrypoint.sh --h..."   5 minutes ago        Up 5 minutes                                    k8s_rancher_rancher-76d84f5d78-ggxxq_cattle-system_9ca3e63f-8dfc-408f-9713-a7dd73f7cb91_0 ed150bc9223d        rancher/pause:3.1                                                                                "/pause"                 6 minutes ago        Up 6 minutes                                    k8s_POD_rancher-76d84f5d78-ggxxq_cattle-system_9ca3e63f-8dfc-408f-9713-a7dd73f7cb91_0 92459dc4cc54        rancher/coredns-coredns@sha256:e70c936deab8efed89db66f04847fec137dbb81d5b456e8068b6e71cb770f6c0            "/coredns -conf /e..."   8 minutes ago        Up 8 minutes                                    k8s_coredns_coredns-849545576b-nm7bg_kube-system_84496dab-e4b0-4838-b49d-d00dd5f5e8c2_0 76f9036ee1b9        rancher/nginx-ingress-controller@sha256:a476350cfec645f316b1bf56de0240db7f81e85e97dbcb0a6d0984308c252d72   "/usr/bin/dumb-ini..."   8 minutes ago        Up 8 minutes                                    k8s_nginx-ingress-controller_nginx-ingress-controller-fkzbj_ingress-nginx_399763f3-6d02-45bd-b373-ca055420d1ac_0 4c6f1712530f        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Up 8 minutes                                    k8s_POD_coredns-849545576b-nm7bg_kube-system_84496dab-e4b0-4838-b49d-d00dd5f5e8c2_0 d20e7bcaadd5        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Up 8 minutes                                    k8s_POD_nginx-ingress-controller-fkzbj_ingress-nginx_399763f3-6d02-45bd-b373-ca055420d1ac_0 9ffbafee59f3        3f74dabda6a0                                                                                "kubectl apply -f ..."   8 minutes ago        Exited (0) 8 minutes ago                        k8s_rke-ingress-controller-pod_rke-ingress-controller-deploy-job-kn2pr_kube-system_215b93c0-730f-4d22-95a5-7445584e64ab_0 d56b46142e8e        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Exited (0) 8 minutes ago                        k8s_POD_rke-ingress-controller-deploy-job-kn2pr_kube-system_215b93c0-730f-4d22-95a5-7445584e64ab_0 104c6c3b1d14        1df47b3cc6ea                                                                                "/opt/rke-tools/we..."   8 minutes ago        Up 8 minutes                                    k8s_weave-plugins_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0 e0e0b90bf954        weaveworks/weave-npc@sha256:9055fee731a5e902cf6f793af498d66ccf7442a7fe2e9fdf2f0f2401df538690               "/usr/bin/launch.sh"     8 minutes ago        Up 8 minutes                                    k8s_weave-npc_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0 8005adaaf751        3f74dabda6a0                                                                                "kubectl apply -f ..."   8 minutes ago        Exited (0) 8 minutes ago                        k8s_rke-metrics-addon-pod_rke-metrics-addon-deploy-job-jjshd_kube-system_6e18e111-c904-4a4e-85a3-6e2c03f2a6e3_0 0f0e65e66f9c        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Exited (0) 8 minutes ago                        k8s_POD_rke-metrics-addon-deploy-job-jjshd_kube-system_6e18e111-c904-4a4e-85a3-6e2c03f2a6e3_0 0f36bdb3674e        weaveworks/weave-kube@sha256:0176bd9994ddfd7ebacc95ae4885c2178a964c206ccd77bcc6c2fb0be53fe638              "/home/weave/launc..."   8 minutes ago        Up 8 minutes                                    k8s_weave_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0 08a65130c47d        3f74dabda6a0                                                                                "kubectl apply -f ..."   8 minutes ago        Exited (0) 8 minutes ago                        k8s_rke-coredns-addon-pod_rke-coredns-addon-deploy-job-24g8w_kube-system_041c3808-058f-4db8-84df-1d0ea46fe54b_0 f22e9c6560ee        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Exited (0) 8 minutes ago                        k8s_POD_rke-coredns-addon-deploy-job-24g8w_kube-system_041c3808-058f-4db8-84df-1d0ea46fe54b_0 3b9fa7482ce5        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Up 8 minutes                                    k8s_POD_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0 0e85dbebe904        3f74dabda6a0                                                                                "kubectl apply -f ..."   8 minutes ago        Exited (0) 8 minutes ago                        k8s_rke-network-plugin-pod_rke-network-plugin-deploy-job-dt866_kube-system_86b426ba-d6fd-492d-bf6e-80567c5ce576_0 3c5f083c8413        rancher/pause:3.1                                                                                "/pause"                 8 minutes ago        Exited (0) 8 minutes ago                        k8s_POD_rke-network-plugin-deploy-job-dt866_kube-system_86b426ba-d6fd-492d-bf6e-80567c5ce576_0 3e4ee34175fe        rancher/hyperkube:v1.18.9-rancher1                                                                         "/opt/rke-tools/en..."   8 minutes ago        Up 8 minutes                                    kube-proxy a703ed729b9c        rancher/hyperkube:v1.18.9-rancher1                                                                         "/opt/rke-tools/en..."   9 minutes ago        Up 2 minutes                                    kubelet 0d8a85acec2c        rancher/hyperkube:v1.18.9-rancher1                                                                         "/opt/rke-tools/en..."   9 minutes ago        Up 9 minutes                                    kube-scheduler cbf11fce0c9c        rancher/hyperkube:v1.18.9-rancher1                                                                         "/opt/rke-tools/en..."   9 minutes ago        Up 9 minutes                                    kube-controller-manager 8362cabd680e        rancher/hyperkube:v1.18.9-rancher1                                                                         "/opt/rke-tools/en..."   9 minutes ago        Up 9 minutes                                    kube-apiserver 4a6128d8a0b3        rancher/rke-tools:v0.1.65                                                                                "/bin/bash"              9 minutes ago        Created                                         service-sidekick 0e4027050186        rancher/rke-tools:v0.1.65                                                                                "/docker-entrypoin..."   10 minutes ago       Exited (0) 10 minutes ago                       cluster-state-deployer
docker logs etcd:
2020-10-30 20:39:51.069065 W | pkg/flags: unrecognized environment variable ETCD_UNSUPPORTED_ARCH=x86_64 [WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead 2020-10-30 20:39:51.069161 I | etcdmain: etcd Version: 3.4.3 2020-10-30 20:39:51.069175 I | etcdmain: Git SHA: 3cf2f69b5 2020-10-30 20:39:51.069188 I | etcdmain: Go Version: go1.12.12 2020-10-30 20:39:51.069201 I | etcdmain: Go OS/Arch: linux/amd64 2020-10-30 20:39:51.069214 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2 2020-10-30 20:39:51.069305 N | etcdmain: the server is already initialized as member before, starting as etcd member... [WARNING] Deprecated '--logger=capnslog' flag is set; use '--logger=zap' flag instead 2020-10-30 20:39:51.069348 I | embed: peerTLS: cert = /etc/kubernetes/ssl/kube-etcd-10-0-11-223.pem, key = /etc/kubernetes/ssl/kube-etcd-10-0-11-223-key.pem, trusted-ca = /etc/kubernetes/ssl/kube-ca.pem, client-cert-auth = true, crl-file = 2020-10-30 20:39:51.070226 I | embed: name = etcd-ip-10-0-11-223 2020-10-30 20:39:51.070244 I | embed: data dir = /var/lib/rancher/etcd/ 2020-10-30 20:39:51.070258 I | embed: member dir = /var/lib/rancher/etcd/member 2020-10-30 20:39:51.070271 I | embed: heartbeat = 500ms 2020-10-30 20:39:51.070283 I | embed: election = 5000ms 2020-10-30 20:39:51.070296 I | embed: snapshot count =<PHONE_NUMBER>-10-30 20:39:51.070315 I | embed: advertise client URLs = https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:4001 2020-10-30 20:39:51.070329 I | embed: initial advertise peer URLs = https://<IP_ADDRESS>:2380 2020-10-30 20:39:51.070343 I | embed: initial cluster = 2020-10-30 20:39:51.124318 I | etcdserver: restarting member e6f27406986f4bd2 in cluster f6ed3aa5735e535b at commit index 4603 raft2020/10/30 20:39:51 INFO: e6f27406986f4bd2 switched to configuration voters=() raft2020/10/30 20:39:51 INFO: e6f27406986f4bd2 became follower at term 2 raft2020/10/30 20:39:51 INFO: newRaft e6f27406986f4bd2 [peers: [], term: 2, commit: 4603, applied: 0, lastindex: 4603, lastterm: 2] 2020-10-30 20:39:51.140547 W | auth: simple token is not cryptographically signed 2020-10-30 20:39:51.142506 I | etcdserver: starting server... [version: 3.4.3, cluster version: to_be_decided] raft2020/10/30 20:39:51 INFO: e6f27406986f4bd2 switched to configuration voters=(16641491144763460562) 2020-10-30 20:39:51.144512 I | embed: ClientTLS: cert = /etc/kubernetes/ssl/kube-etcd-10-0-11-223.pem, key = /etc/kubernetes/ssl/kube-etcd-10-0-11-223-key.pem, trusted-ca = /etc/kubernetes/ssl/kube-ca.pem, client-cert-auth = true, crl-file = 2020-10-30 20:39:51.144557 I | etcdserver/membership: added member e6f27406986f4bd2 [https://<IP_ADDRESS>:2380] to cluster f6ed3aa5735e535b 2020-10-30 20:39:51.144684 N | etcdserver/membership: set the initial cluster version to 3.4 2020-10-30 20:39:51.144748 I | etcdserver/api: enabled capabilities for version 3.4 2020-10-30 20:39:51.144887 I | embed: listening for peers on [::]:2380 raft2020/10/30 20:39:58 INFO: e6f27406986f4bd2 is starting a new election at term 2 raft2020/10/30 20:39:58 INFO: e6f27406986f4bd2 became candidate at term 3 raft2020/10/30 20:39:58 INFO: e6f27406986f4bd2 received MsgVoteResp from e6f27406986f4bd2 at term 3 raft2020/10/30 20:39:58 INFO: e6f27406986f4bd2 became leader at term 3 raft2020/10/30 20:39:58 INFO: raft.node: e6f27406986f4bd2 elected leader e6f27406986f4bd2 at term 3 2020-10-30 20:39:58.627364 I | etcdserver: published {Name:etcd-ip-10-0-11-223 ClientURLs:[https://<IP_ADDRESS>:2379 https://<IP_ADDRESS>:4001]} to cluster f6ed3aa5735e535b 2020-10-30 20:39:58.627596 I | embed: ready to serve client requests 2020-10-30 20:39:58.628978 I | embed: serving client requests on [::]:2379 2020-10-30 20:39:58.839060 I | embed: rejected connection from "<IP_ADDRESS>:55148" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:40:03.868089 I | embed: rejected connection from "<IP_ADDRESS>:55490" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:40:08.887993 I | embed: rejected connection from "<IP_ADDRESS>:55576" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:40:21.021257 I | embed: rejected connection from "<IP_ADDRESS>:38455" (error "EOF", ServerName "") 2020-10-30 20:40:28.966778 I | embed: rejected connection from "<IP_ADDRESS>:55408" (error "read tcp <IP_ADDRESS>:2379-><IP_ADDRESS>:55408: read: connection reset by peer", ServerName "") 2020-10-30 20:40:28.966863 I | embed: rejected connection from "<IP_ADDRESS>:55406" (error "read tcp <IP_ADDRESS>:2379-><IP_ADDRESS>:55406: read: connection reset by peer", ServerName "") 2020-10-30 20:40:33.625030 I | embed: rejected connection from "<IP_ADDRESS>:55964" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:40:38.641513 I | embed: rejected connection from "<IP_ADDRESS>:56036" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:40:43.656338 I | embed: rejected connection from "<IP_ADDRESS>:56062" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:41:55.428194 I | embed: rejected connection from "<IP_ADDRESS>:39280" (error "EOF", ServerName "") 2020-10-30 20:42:07.067192 I | embed: rejected connection from "<IP_ADDRESS>:56452" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:42:12.084309 I | embed: rejected connection from "<IP_ADDRESS>:56538" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:42:17.099335 I | embed: rejected connection from "<IP_ADDRESS>:56620" (error "tls: failed to verify client's certificate: x509: certificate signed by unknown authority (possibly because of \"crypto/rsa: verification error\" while trying to verify candidate authority certificate \"kube-ca\")", ServerName "") 2020-10-30 20:42:19.111571 I | mvcc: store.index: compact 3368 2020-10-30 20:42:19.162858 I | mvcc: finished scheduled compaction at 3368 (took 50.532099ms)
[root@ip-10-0-11-223 ec2-user]# ls -la /etc/kubernetes/ssl
total 108
drwxr-xr-x. 3 root root 4096 Oct 30 20:38 .
drwxr-xr-x. 3 root root   77 Oct 30 20:44 ..
drwx------. 2 root root   22 Oct 30 20:38 certs
-rw-------. 1 root root 1679 Oct 30 20:31 kube-apiserver-key.pem
-rw-------. 1 root root 1241 Oct 30 20:31 kube-apiserver.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-apiserver-proxy-client-key.pem
-rw-------. 1 root root 1107 Oct 30 20:31 kube-apiserver-proxy-client.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-apiserver-requestheader-ca-key.pem
-rw-------. 1 root root 1082 Oct 30 20:31 kube-apiserver-requestheader-ca.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-ca-key.pem
-rw-------. 1 root root 1017 Oct 30 20:31 kube-ca.pem
-rw-------. 1 root root  517 Oct 30 20:31 kubecfg-kube-apiserver-proxy-client.yaml
-rw-------. 1 root root  533 Oct 30 20:31 kubecfg-kube-apiserver-requestheader-ca.yaml
-rw-------. 1 root root  501 Oct 30 20:31 kubecfg-kube-controller-manager.yaml
-rw-------. 1 root root  445 Oct 30 20:31 kubecfg-kube-node.yaml
-rw-------. 1 root root  449 Oct 30 20:31 kubecfg-kube-proxy.yaml
-rw-------. 1 root root  465 Oct 30 20:31 kubecfg-kube-scheduler.yaml
-rw-------. 1 root root 1679 Oct 30 20:31 kube-controller-manager-key.pem
-rw-------. 1 root root 1062 Oct 30 20:31 kube-controller-manager.pem
-rw-------. 1 root root 1675 Oct 30 20:31 kube-etcd-10-0-11-223-key.pem
-rw-------. 1 root root 1233 Oct 30 20:31 kube-etcd-10-0-11-223.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-node-key.pem
-rw-------. 1 root root 1070 Oct 30 20:31 kube-node.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-proxy-key.pem
-rw-------. 1 root root 1046 Oct 30 20:31 kube-proxy.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-scheduler-key.pem
-rw-------. 1 root root 1050 Oct 30 20:31 kube-scheduler.pem
-rw-------. 1 root root 1679 Oct 30 20:31 kube-service-account-token-key.pem
-rw-------. 1 root root 1241 Oct 30 20:31 kube-service-account-token.pem
[root@ip-10-0-11-223 ec2-user]# ls -ld /var/lib/etcd
drwx------. 3 root root 20 Oct 30 20:39 /var/lib/etcd
The custom cluster is newly created. I installed everything from scratch including brand new EC2 instances.

[ec2-user@ip-10-0-11-223 ~]$ docker ps -a | awk {'print $10'}
etcd
19
k8s_cluster-register_cattle-cluster-agent-7967f8544d-22mdv_cattle-system_0ff1661b-e51e-46ba-9423-9f03a0e3e339_0
k8s_agent_cattle-node-agent-5nmvg_cattle-system_86f4548d-fe76-4939-a35b-ec3716612ad9_0
k8s_POD_cattle-node-agent-5nmvg_cattle-system_86f4548d-fe76-4939-a35b-ec3716612ad9_0
k8s_POD_cattle-cluster-agent-7967f8544d-22mdv_cattle-system_0ff1661b-e51e-46ba-9423-9f03a0e3e339_0
minutes
k8s_POD_rancher-76d84f5d78-ggxxq_cattle-system_9ca3e63f-8dfc-408f-9713-a7dd73f7cb91_0
25
k8s_nginx-ingress-controller_nginx-ingress-controller-fkzbj_ingress-nginx_399763f3-6d02-45bd-b373-ca055420d1ac_0
k8s_POD_coredns-849545576b-nm7bg_kube-system_84496dab-e4b0-4838-b49d-d00dd5f5e8c2_0
k8s_POD_nginx-ingress-controller-fkzbj_ingress-nginx_399763f3-6d02-45bd-b373-ca055420d1ac_0
Exited
minutes
k8s_weave-plugins_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0
k8s_weave-npc_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0
Exited
minutes
k8s_weave_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0
Exited
minutes
k8s_POD_weave-net-lvn8t_kube-system_3859ad02-ebf7-4782-afba-9c8f35bb1530_0
Exited
minutes
kube-proxy
kubelet
kube-scheduler
kube-controller-manager
kube-apiserver

Part of the issue is this line: 2020-10-30 20:39:51.069305 N | etcdmain: the server is already initialized as member before, starting as etcd member...  which indicates this is not a new node as it finds old data. I guess we need the output of find /var/lib/etcd -ls.

[root@ip-10-0-11-223 ec2-user]# find /var/lib/etcd -ls
13160834    0 drwx------   3 root     root           20 Oct 30 20:39 /var/lib/etcd
121660915    0 drwx------   4 root     root           29 Oct 30 20:39 /var/lib/etcd/member
125875024    0 drwx------   2 root     root          108 Oct 31 12:40 /var/lib/etcd/member/snap
125875025 12764 -rw-------   1 root     root     13070336 Oct 31 14:21 /var/lib/etcd/member/snap/db
126034741    8 -rw-r--r--   1 root     root         7652 Oct 31 04:28 /var/lib/etcd/member/snap/0000000000000003-00000000000186a1.snap
126034743    8 -rw-r--r--   1 root     root         7652 Oct 31 12:40 /var/lib/etcd/member/snap/0000000000000003-0000000000030d42.snap
1091028    0 drwx------   2 root     root          199 Oct 31 10:03 /var/lib/etcd/member/wal
1091044 62504 -rw-------   1 root     root     64003048 Oct 31 00:36 /var/lib/etcd/member/wal/0000000000000000-0000000000000000.wal
1091047 62504 -rw-------   1 root     root     64001624 Oct 31 05:19 /var/lib/etcd/member/wal/0000000000000001-000000000000ce4b.wal
1301023 62504 -rw-------   1 root     root     64000560 Oct 31 10:03 /var/lib/etcd/member/wal/0000000000000002-000000000001af78.wal
1091045 62500 -rw-------   1 root     root     64000000 Oct 31 10:03 /var/lib/etcd/member/wal/1.tmp
1885557 62500 -rw-------   1 root     root     64000000 Oct 31 14:21 /var/lib/etcd/member/wal/0000000000000003-00000000000290c1.wal

And can be include the log from the rancher/rancher, the timestamp from some etcd files are way before the time the cluster got provisioned? (/etc/kubernetes/ssl)

Timestamp on /etc/kubernetes/ssl is        Oct 30 20:31
Timestamp on the first line of etcd log is Oct 30 20:39:51
The rancher/rancher container log file is huge. I do not see any way of attaching a file to this comment. The last few lines say this:
{"log":"2020/10/31 15:04:18 [WARNING] [etcd] host [<IP_ADDRESS>] failed to check etcd health: failed to get /health for host [<IP_ADDRESS>]: Get https://<IP_ADDRESS>:2379/health: remote error: tls: bad certificate\n","stream":"stdout","time":"2020-10-31T15:04:18.266226022Z"}
{"log":"2020/10/31 15:04:18 [ERROR] cluster [c-xtg22] provisioning: [etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [<IP_ADDRESS>] failed to report healthy. Check etcd container logs on each host for more information\n","stream":"stdout","time":"2020-10-31T15:04:18.266576597Z"}
{"log":"2020/10/31 15:04:18 [INFO] kontainerdriver rancherkubernetesengine stopped\n","stream":"stdout","time":"2020-10-31T15:04:18.283491148Z"}
{"log":"2020/10/31 15:04:18 [ERROR] ClusterController c-xtg22 [cluster-provisioner-controller] failed with : [etcd] Failed to bring up Etcd Plane: etcd cluster is unhealthy: hosts [<IP_ADDRESS>] failed to report healthy. Check etcd container logs on each host for more information\n","stream":"stdout","time":"2020-10-31T15:04:18.371748949Z"}

Get https://<IP_ADDRESS>:2379/health: remote error: tls: bad certificate\n"
is referenced in another issue here: https://github.com/rancher/rke/issues/1244
Do I need to do the following:
Remove your <file>.rkestate file
Remove kube_config_cluster.yml
Log into all of your control plane nodes and run:
rm -f /etc/kubernetes/ssl/kube-service-account-token-key.pem
rm -f /etc/kubernetes/ssl/kube-service-account-token.pem
cp /etc/kubernetes/ssl/kube-apiserver-key.pem /etc/kubernetes/ssl/kube-service-account-token-key.pem
cp /etc/kubernetes/ssl/kube-apiserver.pem /etc/kubernetes/ssl/kube-service-account-token.pem
and then try to add a cluster on Rancher GUI?

Look at the timestamps of the files/directories in /var/lib/etcd. Also, the outputs seem incorrect as on some docker ps outputs I see rancher_rancher containers which is the container from the pods that run Rancher on Kubernetes. The error is solely coming from the node that you are trying to add to the custom cluster. All outputs requested are from that node, not the nodes in the RKE installation for Rancher HA. The only way this can be related to the RKE installation for Rancher HA is if the cluster state stored in that cluster is wrong but that shouldnt happen if you create a new custom cluster every time.
So every action given around cleaning the node or recycling it, was regarding ip-10-0-11-223. Basically anything listed on https://rancher.com/docs/rancher/v2.x/en/cluster-admin/cleaning-cluster-nodes/ should be removed before creating a new cluster in Rancher and adding that node to the cluster. The etcd logging can be explained if cluster provisioning was kicked off a second time from Rancher, but for that we need the logs. Also, the timestamps are still confusing but that depends on what time the cluster was first provisioned from Rancher (which can also be retrieved from the logs)

Additional information:

I have a bootstrap node from where I run rke and helm commands. This bootstrap node (<IP_ADDRESS>) is not part of the cluster.
In the cluster created by rke, there are one Master and 2 Worker nodes. Once the cluster is ready using rke command, I run helm commands to install Rancher on top of this Kubernetes cluster.
Once I have access to the Rancher GUI, I log in as Admin, and click on 'Add cluster' button, and choose 'Existing Nodes' option and keep everything else as a default.
The <IP_ADDRESS> is a Master node and the etcd log output is retrieved from the Master node.
Confusion: why do I need to clean the Master node? When I create a new cluster using Rancher GUI, does it need to be on a "brand new" node?

I think I finally got it. I need brand new EC2 instances to create a new cluster on (the wording 'Existing Nodes' is confusing though).
The new cluster got created successfully and I was so happy, which lasted only a minute to see that Rancher GUI disappeared.
From the bootstrap node: kubectl get pods --all-namespaces returns
==> The connection to the server <IP_ADDRESS>:6443 was refused - did you specify the right host or port?

Bringing up a cluster with a node does not influence the RKE cluster running Rancher HA. The steps provided on https://rancher.com/docs/rancher/v2.x/en/troubleshooting/ should be enough to check the status of the RKE cluster running Rancher HA.
Based on your outputs, <IP_ADDRESS> is not part of the Rancher HA cluster based on the cluster.yml from above, I also don't understand how this is being tested with kubectl.
This is how its supposed to be (in case of RKE):

3 Linux nodes with Docker installed, added to rancher-cluster.yml, provisioned using rke up
DNS name pointing to a load balancer which load balances across those 3 nodes
Install Rancher using Helm on this 3 node RKE cluster with hostname set to the DNS name pointing to the load balancer
Login to Rancher using the configured hostname
In the UI, create a new custom cluster, in the final screen, check all roles, and you get a command (docker run) to add nodes to your cluster
Provision a new Linux node with Docker and run this command to add the node to the cluster
Wait for Rancher to provision the cluster

RKE CLI and the created kubeconfig is how to interact (retrieve info/upgrade etc) with the RKE cluster running Rancher HA, the embedded kubectl shell or kubeconfig created with Rancher is how to interact with the custom cluster.

Please ignore the private ip addresses. Every single time I terminate the nodes and bring up the new nodes, just to have a clean slate.

I have 3 Linux nodes with a docker installed. In addition, I have a bootstrap node from where I run 'rke up' command. Do these 3 nodes need to have roles of [controlplane,worker,etcd] ?
DNS is all good.
The helm command to install Rancher is issued from the bootstrap node.
Rest of the commands are same.
The bootstrap node has a cluster.yml. It also gets kube_config_cluster.yml in the process. I run kubectl command from this bootstrap node:
kubectl get pods --all-namespaces --kubeconfig ./kube_config_cluster.yml

Question: Is it correct to have a separate bootstrap node to issue 'rke up' and helm commands?

For Rancher HA, yes it is advised to have 3 nodes with all roles. Its not technically required to have a bootstrap node, usually people use the machine they already work on (workstation or maybe a jumphost/admin server), but in this case it helps to keep everything separated and clear for the diagnosing the issue.
From the error The connection to the server <IP_ADDRESS>:6443 was refused, log in to <IP_ADDRESS> and check node status and Docker status. The container running on here should be kube-apiserver, if it is running, check the logging. This is all covered in https://rancher.com/docs/rancher/v2.x/en/troubleshooting/

Let me know if this still needs investigating


Remove outdated SQL auditing documentation

Removing documentation for feature that is not supported
Modifying author/owner of article as I'm taking SQL auditing work from ronitr.

Microsoft authors of articles need to make updates through the private repository so the updates can be staged and validated by the current validation rules. After you review staging and fix all validation issues, you can add the sign-off comment to let the PR reviewers know the updates are ready to be merged.It's easy to access the private repo version of your articles in GitHub. Just add -pr to the URL, as follows:
Public repo URL: https://github.com/Microsoft/azure-docs/blob/master/articles/azure-portal-overview.md
Private repo URL: https://github.com/Microsoft/azure-docs-pr/blob/master/articles/azure-portal-overview.md
We have closed this pull request. Please resubmit the updates through the private repo. If you need perms to the private repo, see the contributor guide instructions


fix: partially SettingWithCopyWarning

This is a partial fix for #122
See https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy

Lint is failing, and I can't figure out why :/

Closing and reopening, because circleci didn't trigger correctly.


Added user-list REST API endpoint and supporting code

Production code:

Added edx_figures.filters.UserFilter
Added edx_figures.serializers.UserIndexSerializer
Added edx_figures.views.UserIndexView

Test code:

Added factory_boy fixture support for the User model, UserProfile, and
CourseTeam membership
Added serializer test for UserIndexSerializer
Added test for UserFilter
Added view tests for UserIndexView
Added force_authenticate to the CourseIndexViewTest

Other:

Some minor cleanup/formatting to existing code

@grozdanowski I added you to the review just so you can skim over the code I'm writing to make the REST API happen

@bryanlandia Addressed your comments, thanks for reviewing. I think the only thing that is outstanding is whether we're recommending or mandating absolute imports in the edx-figures tests code

Codecov Report

Merging #11 into develop will increase coverage by 4.49%.
The diff coverage is 97.81%.

@@             Coverage Diff             @@
##           develop      #11      +/-   ##
===========================================
+ Coverage    88.53%   93.03%   +4.49%
===========================================
  Files           17       20       +3
  Lines          157      287     +130
===========================================
+ Hits           139      267     +128
- Misses          18       20       +2

Impacted Files
Coverage Δ

edx_figures/urls.py
0% <ø> (ø)
:arrow_up:

devsite/devsite/test_settings.py
100% <ø> (ø)
:arrow_up:

edx_figures/serializers.py
100% <100%> (ø)
:arrow_up:

tests/test_filters.py
100% <100%> (ø)
:arrow_up:

tests/helpers.py
100% <100%> (ø)
:arrow_up:

edx_figures/views.py
93.75% <100%> (+3.75%)
:arrow_up:

edx_figures/filters.py
100% <100%> (ø)
:arrow_up:

tests/test_views.py
100% <100%> (ø)
:arrow_up:

tests/test_serializers.py
100% <100%> (ø)

tests/mocks/student/models.py
100% <100%> (ø)

... and 7 more

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 cda7a2b...dd46374. Read the comment docs.


Add syntax candy to easily validate arguments

Thinking would be nice to be able to write the following at many of our methods that take string enumerations, or closures to test and throw if an argument is not of the right type.
function sniff(mode, numb) {
ensureArg('mode', mode, ['all', 'last'])
ensureArg('numb', numb, isNumber)
}
Obviously super easy to write these -- trick is to come up with the most compact and useful API
Kind of like a poor-man's prop-types or type script. We could use for critical arguments in critical non-component APIS.

We'll come back to this idea when we start feeling pain associated with it!