Better hide keyboard support

It'd be nice to see a hide keyboard method that uses hideSoftInputFromWindow. The back key isn't great.

it would be good to have something defined in the mobile spec for this -
https://code.google.com/p/selenium/source/browse/spec-draft.md?repo=mobile
I know appium currently has some ability to do this, but not in a very JSON wire kind of way. Let's get something defined and then we can implement it

Sounds good to me. /cc @jlipps
Here are some references to alternative implementations:

Espresso 2 close keyboard
Calabash Android close keyboard (based on old robotium)
Robotium close keyboard

@lukeis +1

+1


Adding Resource Property to MeterProvider

This PR adds the Resource property to MeterProvider. It also creates the test class tmetrics_sdk with one method to test the resource property.

Implemented issue #33


HTML that converts to markdown with # and ## lines is ignored by Tana

Have to eliminate heading formatting by the looks of it. Means a filter function is required on the turndown invocation.

Fixed.


Create astrochem benchmark

ERROR: LoadError: InitError: could not load library "/cache/julia-buildkite-plugin/depots/5b300254-1738-4989-ae0a-f4d2d937f953/artifacts/cb7fc2801ca0133a5bdea4bc4585d07c08284cfa/lib/libsundials_sunlinsolklu.so"

KLU is having build failures. @staticfloat is there something that might've changed in the SuiteSparse builds?

Not that I'm aware of; those should be pretty much locked down to the julia version under user in any case.


PHP 8.4 deprecation warnings

Introduction
To avoid PHP 8.4 deprecation warnings, introduce explicitly nullable types where null is used as a default value.
Background
PHP 8.4 will introduce a new deprecation  warning, where null is used as a default value, but the typehint is not explicitly nullable. See the PHP 8.4 approved RFC.
This is causing deprecation warnings in downstream projects - see this failing build in Composer.
Solution
Use nullable types in method signatures, wherever null is used as a default value.
Note on PHP versions
The nullable type feature was introduced in PHP 7.1. This pull request proposes a new version of justinrainbow/json-schema which explicitly requires PHP 7.1+. Users of PHP 5.3 - 7.0 would not get this version of the project.

Duplicate of https://github.com/justinrainbow/json-schema/pull/717 ?


Jenkins temporarily disable "PX4 ROS msgs" in master

re-enable once the python issues are resolved

FYI @TSC21 @julianoes

What exactly is generating this error? I can't reproduce this locally.

Python dependencies. This slipped through https://github.com/PX4/Firmware/pull/13008 because the job only runs in master. One way to prevent this kind of thing in the future would be to always run the job, but skip the actual push unless in master.

We can undo this as soon as the containers are updated.


Remove orphan babelify dep. See #35.

Looks like you have a babelify dep orphaned by #35.
Not sure what I'm supposed to do to run the tests -- on Ubuntu /<EMAIL_ADDRESS>I get the following, even on master:
fs.js:438
  return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
                 ^
Error: ENOENT, no such file or directory 'cloverfield-tools/universal-react-boilerplate/config/BUILD'
    at Object.fs.openSync (fs.js:438:18)
    at Object.fs.readFileSync (fs.js:289:15)
    at Object.<anonymous> (cloverfield-tools/universal-react-boilerplate/app/test/unit/healthcheck/index.js:13:14)
    at Module._compile (module.js:456:26)
    at normalLoader (cloverfield-tools/universal-react-boilerplate/node_modules/babel-core/lib/api/register/node.js:199:5)
    at Object.require.extensions.(anonymous function) [as .js] (cloverfield-tools/universal-react-boilerplate/node_modules/babel-core/lib/api/register/node.js:216:7)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)

I haven't looked at the build errors, but we should start by catching this up to the work we've done in cf-package.


Error in Running Flutter App

I updated the flutter and got this error when running my app
Exception in thread "main" java.net.UnknownHostException: services.gradle.org
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Exception: Gradle task assembleDebug failed with exit code 1

Hello @sami7568
https://stackoverflow.com/questions/31152406/exception-in-thread-main-java-net-unknownhostexception-services-gradle-org
can you please try this?

Hi @sami7568
Can you please provide your flutter doctor -v, your flutter run --verbose?
Thank you

[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version
10.0.18363.1379], locale en-US)
• Flutter version 1.22.6 at C:\src\flutter
• Framework revision 9b2d32b605 (8 weeks ago), 2021-01-22 14:36:39 -0800
• Engine revision 2f0af37152
• Dart version 2.10.5
[!] Android toolchain - develop for Android devices (Android SDK version
30.0.3)
• Android SDK at C:\Users\sa\AppData\Local\Android\sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build
1.8.0_242-release-1644-b01)
X Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/windows#android-setup
for more details.
[!] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
X Flutter plugin not installed; this adds Flutter specific
functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build
1.8.0_242-release-1644-b01)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
On Wed, 17 Mar 2021 at 12:50, Pedro Massango @.***>
wrote:

Hi @sami7568 https://github.com/sami7568
Can you please provide your flutter doctor -v, your flutter run --verbose?
Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/78390#issuecomment-800873732,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANAUJ6SUPXSK7HUGG4BJ47TTEBNL5ANCNFSM4ZJZTZFQ
.

didn't work
On Wed, 17 Mar 2021 at 09:09, Abhishek Ghaskata @.***>
wrote:

Hello @sami7568 https://github.com/sami7568
https://stackoverflow.com/questions/31152406/exception-in-thread-main-java-net-unknownhostexception-services-gradle-org
can you please try this?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/78390#issuecomment-800778450,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANAUJ6X646VO7AFOIYASFBLTEATONANCNFSM4ZJZTZFQ
.

Hi @sami7568
Can you please provide your flutter run --verbose (running on same device)?
Thank you

It was the same device
On Wed, Mar 17, 2021, 3:19 PM Pedro Massango @.***>
wrote:

Hi @sami7568 https://github.com/sami7568
Can you please provide your flutter run --verbose (running on same
device)?
Thank you
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/78390#issuecomment-800965708,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANAUJ6UXIGJZGWD2QSYHMT3TEB645ANCNFSM4ZJZTZFQ
.

Hi @sami7568
Can you please provide your flutter run --verbose?
Thank you

thank u all problem solved


Update index.astro

Duplicated posts section, updated paragraph

👷 Deploy Preview for famous-marshmallow-cfbd61 processing.

Name
Link

🔨 Latest commit
96794bb5ca5f1f79f29983513961660f99ad564d

🔍 Latest deploy log
https://app.netlify.com/sites/famous-marshmallow-cfbd61/deploys/64a4536ac987750008e1b423


Updated install script for Ubuntu/Mint

Signed-off-by: Jason Dossett<EMAIL_ADDRESS>

Current coverage is 98.39% (diff: 100%)

Merging #507 into master will not change coverage

@@             master       #507   diff @@
==========================================
  Files            39         39
  Lines           994        994
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            978        978
  Misses           16         16
  Partials          0          0

Powered by Codecov. Last update 60bc000...b1a8c45

Looks good!


fix setting today class

If highlight days are not set, still set the 'today' class on todays date.
Also, fix appending 'today' class onto highlightDay class if highlightDays includes today

@xtianus79 have you reviewed this?  We'd love to get this merged as we are using this for a contract that's nearing prod

ping

ping @xtianus79

@ryanrasmussen05 I merged your fix in. I really need to get back on top of this.


Text normalization in list_phones.py

In the Slovenian data, some of the vowels with tone marking (e.g. /é/) are transcribed using the precomposed characters (so here, U+00E9 instead of the sequence U+0065 U+0301). The module ipapy does not recognize the precomposed characters as valid IPA, so list_phones.py incorrectly rejects them. So, I thought it might make sense to normalize the phones as part of list_phones.py.

Does ipapy accept them in NKFD normalization? if so you could just use unicodedata.normalize to convert to NFKD, check against ipapy, and then convert back.

I tested with several languages and only found one problem with NKFD normalization: <ç> is a valid IPA symbol, but the cedilla is not, so ipapy.is_valid_ipa(unicodedata.normalize('NFKD', 'ç')) returns False. To solve this, I think we could just check the NFKC normalization in addition to the NFKD normalization. I don't think this will create any problems here, since we're just looking at individual phones.

That could work.

What happens if we use NFD instead of NFKD?
What if we check is_valid_ipa(nfkd_phone) or phone == "ç"? Do you think that's simpler than trying both normalizations?

I found two differences between the NFD and NFKD normalizations. First, if we use the NFKD normalization, then ipapy.is_valid_ipa will return False for anything with an alveolar click symbol <ǃ> in it, because that symbol gets converted to an exclamation point. Second, if we use NFKD normalization, then ipapy.is_valid_ipa will accept any superscript consonant or vowel symbols, including those that are not part of the standard IPA repertoire. On the other hand, the NFD normalization leads some valid IPA (e.g. /dⁿ/) to be erroneously rejected. On the whole, however, I think that the NFKD normalization leads bad superscripts to be accepted more often than NFD leads good superscripts to be rejected.
While I was working on this, I discovered that there are a number of instances where a character with a diacritic is included as a key in ipapy.UNICODE_TO_IPA, but the diacritic itself is not. For example, <t̼> is in ipapy.UNICODE_TO_IPA, but the linguolabial diacritic itself is not. Because of ipapy.is_valid_ipa works by checking to see if the individual characters in a string are in ipapy.UNICODE_TO_IPA, any string that contains the linguolabial marker will be rejected, even if it shouldn't be. While this isn't exactly the same as the case with <ç> (<◌̧> alone is not an IPA symbol), we can get around both these problems by defining the following set
OTHER_VALID_IPA = frozenset(
        phone
        for phone in ipapy.UNICODE_TO_IPA.keys()
        if not ipapy.is_valid_ipa(unicodedata.normalize('NFD', phone))
)

and then checking if a phone passes ipapy.is_valid_ipa OR is in OTHER_VALID_IPA. It's not a perfect solution, because, say, <t̼ː> would still be erroneously rejected, I think.

That seems like an improvement to me.
Given how much trouble this is, though, and how recently ipapy was added
to this approach, maybe we should just drop it and revert @agutkin's change
there.
On Mon, Nov 23, 2020 at 6:44 PM ajmalanoski<EMAIL_ADDRESS>wrote:

I found two differences between the NFD and NFKD normalizations. First, if
we use the NFKD normalization, then ipapy.is_valid_ipa will return False
for anything with an alveolar click symbol <ǃ> in it, because that symbol
gets converted to an exclamation point. Second, if we use NFKD
normalization, then ipapy.is_valid_ipa will accept any superscript
consonant or vowel symbols, including those that are not part of the
standard IPA repertoire. On the other hand, the NFD normalization leads
some valid IPA (e.g. /dⁿ/) to be erroneously rejected. On the whole,
however, I think that the NFKD normalization leads bad superscripts to be
accepted more often than NFD leads good superscripts to be rejected.
While I was working on this, I discovered that there are a number of
instances where a character with a diacritic is included as a key in
ipapy.UNICODE_TO_IPA, but the diacritic itself is not. For example, <t̼>
is in ipapy.UNICODE_TO_IPA, but the linguolabial diacritic itself is not.
Because of ipapy.is_valid_ipa works by checking to see if the individual
characters in a string are in ipapy.UNICODE_TO_IPA, any string that
contains the linguolabial marker will be rejected, even if it shouldn't be.
While this isn't exactly the same as the case with <ç> (<◌̧> alone is not
an IPA symbol), we can get around both these problems by defining the
following set
OTHER_VALID_IPA = frozenset(
    phone

    for phone in ipapy.UNICODE_TO_IPA.keys()

    if not ipapy.is_valid_ipa(unicodedata.normalize('NFD', phone))

)
and then checking if a phone passes ipapy.is_valid_ipa OR is in
OTHER_VALID_IPA. It's not a perfect solution, because, say, <t̼ː> would
still be erroneously rejected, I think.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/272#issuecomment-732490372,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OKADXEEUY6DUXYYQ5DSRLXW5ANCNFSM4T5QTWXA
.

It's up to you. I've already made the change on my local copy, though, so I could just push the changes and file a pull request.

Let's do the change for now.
On Mon, Nov 23, 2020 at 6:54 PM ajmalanoski<EMAIL_ADDRESS>wrote:

It's up to you. I've already made the change on my local copy, though, so
I could just push the changes and file a pull request.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/272#issuecomment-732493194,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OO76Z4ODC4366KT5LLSRLY3BANCNFSM4T5QTWXA
.

Yeah, do it.
But surely there must be some better packages out there?

Honestly I think I would just maintain a frozenset myself for this, if
that's the case.
On Mon, Nov 23, 2020 at 6:57 PM Alexander Gutkin<EMAIL_ADDRESS>wrote:

Yeah, do it.
But surely there must be some better packages out there?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/272#issuecomment-732494175,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OKAFGY26YX2VE6RQVTSRLZHJANCNFSM4T5QTWXA
.

Should this be closed @ajmalanoski or are there outstanding issues here?

I wasn't sure if you wanted me to look for a better package, like @agutkin was suggesting

Okay, not a crazy idea, if you want to. Let's keep it open then.
On Wed, Nov 25, 2020 at 1:59 PM ajmalanoski<EMAIL_ADDRESS>wrote:

I wasn't sure if you wanted me to look for a better package, like @agutkin
https://github.com/agutkin was suggesting
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kylebgorman/wikipron/issues/272#issuecomment-733894135,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABG4OMVRIL6KZ4ULWYFDATSRVHYVANCNFSM4T5QTWXA
.

But surely there must be some better packages out there?

I looked around for other IPA modules and I couldn't find any besides ipapy that allow you to easily check if a character is valid IPA. The closest other package is eng-to-ipa, but for whatever reason, it doesn't seem to realize that t̼ or t̼ː are valid IPA characters. Unless someone could find something else I didn't come across, I think it would be best to stick with ipapy.
If the only issue is with the "ː" at the end of characters preventing characters from being considered valid, I think the easiest solution might just be to add all the possible "ː"-suffixed versions of OTHER_VALID_IPA characters to OTHER_VALID_IPA, like so:
OTHER_VALID_IPA = set(
    phone
    for phone in ipapy.UNICODE_TO_IPA.keys()
    if not ipapy.is_valid_ipa(unicodedata.normalize("NFD", phone))
)

SUFFIXED_OTHER_VALID_IPA = set(
    phone + 'ː'
    for phone in OTHER_VALID_IPA
)

OTHER_VALID_IPA = frozenset(OTHER_VALID_IPA | SUFFIXED_OTHER_VALID_IPA)

...so now OTHER_VALID_IPA contains both "t̼" and "t̼ː".
The only problem I could see with this is if there are any characters which cannot be suffixed with an "ː" which would be falsely considered valid, or if there's any other suffix characters that aren't accounted for by ipapy (of which I haven't seen any). I don't have a strong phonology background so I'm not sure whether this is the case or not.

Thanks for looking into this. I think I am fine with:

generating a set in which ː has been appended to every character
or, doing so on the fly. That is, when checking whether a string is valid, check each element, and if a lookup fails and the element ends with ː, strip it off and look up the remaining character.

This seems like it would scale to other issues that might come up. It may be true that not all IPA characters (including the "chunks" produced by the segments model) can have ː after them. Every singleton vowel and consonant has, but I have no idea whether [lʲː] is valid (does that mean that it's a long palatalized lateral? Not sure.) I actually don't know though nor do I know whether the IPA (the organization) takes a stance on it either.

Cool, I made a PR.

It may be true that not all IPA characters (including the "chunks" produced by the segments model) can have ː after them. Every singleton vowel and consonant has, but I have no idea whether [lʲː] is valid (does that mean that it's a long palatalized lateral? Not sure.)

I did a Google search but couldn't find an answer to this. I'd say it's probably best to leave it as is for now because it seems to work well enough.

Long laterals are definitely a thing phonetically, e.g. see here. As for the palatalized version thereof - perhaps it's realisable acoustically in some dialects of Indo-European languages?

Long laterals are definitely a thing phonetically, e.g. see here.

The question for me is whether one would transcribe a palatalized lateral with the length mark or something like [lʲlʲ].

I personally would! It's very visually appealing.

Should this issue be closed? Idt there's anything else needed to be done here

@kylebgorman Should this issue be closed? Idt there's anything else needed to be done here


Insert fail with unicode string "μg"

Please first make sure you have looked at:

Documentation: https://github.com/mkleehammer/pyodbc/wiki
Other issues

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python: 3.8.6 64-bit
pyodbc: 4.0.32
OS: Ubuntu 18.04
DB: Azure SQL
driver: ODBC Driver 17 for SQL Server

Issue
For example, a table was created with this statement.
CREATE TABLE [product] ([id] int NOT NULL PRIMARY KEY IDENTITY (1, 1), [price] int NULL, [unit] nvarchar(15) NULL, CONSTRAINT [unicode_unit_list] CHECK (([unit] IS NULL OR [unit] IN ('μg/mL', 'ng/mL'))))

Insert with pyODBC
import pyodbc

conn = pyodbc.connect('DRIVER=ODBC Driver 17 for SQL Server...')
with conn.cursor() as cursor:
    sql = "INSERT INTO [product] ([price], [unit]) VALUES (?, ?);"
    cursor.execute(sql, (10, 'μg/mL'))

pyodbc.IntegrityError: ('23000', '[23000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The INSERT statement conflicted with the CHECK constraint "unicode_unit_list". The conflict occurred in database "test_unicode", table "dbo.product", column \'unit\'. (547) (SQLExecDirectW)')
The insert will be executed successfully with UTF-8 collation like Latin1_General_100_CI_AI_KS_SC_UTF8. But it may not work for SQL Server < 2019, since those don't have UTF-8 collation.

Could you post an ODBC trace?

I am able to reproduce the issue
platform: Linux
Python version: 3.8.10 (default, Jun  2 2021, 10:49:15) [GCC 9.4.0]
pyodbc version: 4.0.32
ODBC driver: libmsodbcsql-17.8.so.1.1 (17.08.0001)
import platform
import sys

import pyodbc

print(f"platform: {platform.system()}")
sys_version = sys.version.replace("\n", "")
print(f"Python version: {sys_version}")
print(f"pyodbc version: {pyodbc.version}")

table_name = "product"

cnxn = pyodbc.connect(
    "DRIVER=ODBC Driver 17 for SQL Server;"
    "SERVER=<IP_ADDRESS>;"
    "DATABASE=test;"
    "UseFMTONLY=yes;"
    "UID=scott;PWD=tiger^5HHH;",
    autocommit=True
)
print(
    f"ODBC driver: {cnxn.getinfo(pyodbc.SQL_DRIVER_NAME)}"
    f" ({cnxn.getinfo(pyodbc.SQL_DRIVER_VER)})"
)

crsr = cnxn.cursor()
crsr.execute(f"DROP TABLE IF EXISTS {table_name}")
crsr.execute(f"""\
CREATE TABLE [{table_name}] (
[id] int NOT NULL PRIMARY KEY IDENTITY (1, 1),
[price] int NULL,
[unit] nvarchar(15) NULL,
CONSTRAINT [unicode_unit_list] CHECK (
    ([unit] IS NULL OR [unit] IN ('μg/mL', 'ng/mL'))
    )
)
""")

crsr.execute(
    f"INSERT INTO [{table_name}] ([price], [unit]) VALUES (?, ?);",
    (10, 'μg/mL')
)

odbctrace.log

… and the fix is to declare the CHECK constraint using N'literals'
crsr.execute(f"""\
CREATE TABLE [{table_name}] (
[id] int NOT NULL PRIMARY KEY IDENTITY (1, 1),
[price] int NULL,
[unit] nvarchar(15) NULL,
CONSTRAINT [unicode_unit_list] CHECK (
    ([unit] IS NULL OR [unit] IN (N'μg/mL', N'ng/mL'))
    )
)
""")

Yes, without the N the character constants will be interpreted in what the current narrow encoding - on the _server- - happens to be, regardless what it appears as on the client.
		Entry:
			Statement = 0x1a2def0
			Param Number = 2
			Param Type = 1
			C Type = -8 SQL_C_WCHAR
			SQL Type = -9 SQL_WVARCHAR
			Col Def = 10
			Scale = 0
			Rgb Value = 0x7f8a3bcc9fe0
			Value Max = 10
			StrLen Or Ind = 0x1a8e6b0
[ODBC][15542][1630510425.866893][SQLBindParameter.c][434]
		Exit:[SQL_SUCCESS]

pyODBC and driver is behaving as expected - parameter is being sent as Unicode.


handle empty arrays

Overview image writing will fail if there is all nodata in a band. This fixes it.

Thanks Alex! It looks like it just needs a black format to pass the checks.

Install pre-commit to make it automatic: https://github.com/GeoscienceAustralia/eo-datasets#pre-commit-setup

... hm, I'm guessing you did, but a new version of Black changed the formatting slightly. We're pinned to stable, not a specific version.

Black issue addressed in #67

Now it's a test failure
>   # Check if there's a non-empty array first
>   if the_data:
E   ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

I think the tests pass now @jeremyh :-)


Fixing typo in TESTING.md

Signed-off-by: Vacha Shah<EMAIL_ADDRESS>Description
Fixes some typos. Creating this PR to test the auto-backport workflow from PR #1845
Issues Resolved
[List any issues this PR will resolve]
Check List

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

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

start gradle check

Was it supposed to create a backport PR for this?

Was it supposed to create a backport PR for this?

Yes it was supposed to, the workflow still fails with the branch permission issues. I will look into why it is still failing since the branch protection rules are fine now.


error after deploying to BM :  "Cannot GET /"

I couldn't find:
app.get ( '/', auth, function (req, res) {
only
app.get ( '/chats', auth, function (req, res) {
Logs:
App/0scripts/start: line 60: 398 Killed ${NODE_EXECUTABLE} ${NODE_OPTS} ${BOOT_SCRIPT} ${NODE_ARGS}2016-07-27T05:52:30.194+0200
App/0Debugger listening on port 58582016-07-27T05:52:31.628+0200
App: https://car-dashboard-jps-2218.mybluemix.net/

I have the same issue too.Kindly help with the same.

Hi @Peter99084 , @JeevithaSelvaraj , Please redeploy the application with the latest code, the issue should be fixed and you should be able to access the application.


Fix 2075 removable list menu closing when clicked 3

Fixes #2075 by making 2 changes:

passing exclude toggle state down in a store rather than as props. I don't know why exactly this workaround is needed, but it seems like there might be something complicated happening with the interplay of the Portal and Menu elements used by the chip menu, and the that svelte compiler is not able to correctly invalidate the props passed to the RemovableListMenu. See https://github.com/rilldata/rill-developer/pull/2197 for more details on the non-working behavior.

Removing the focusin listener fixes the Menu component closing immediately when clicking something within the menu. I clicked around in every menu I could find in the app, and removing this didn't seem to break anything. I'm not sure why this listener was here in the first place. @hamilton do you know of any specific need for that listener?

@djbarnwal can you review?


add a missed requirement

Due to this issue I added this requirement in your setup.py to solve this requirement with only pip install present.

This shouldn't be needed with 0.5.1. I've yanked older releases from PyPI, which means users get a warning if they install present on older Pythons.


missing docs for record renaming

type t = {
  @as("X") x: int,
  @as("Y") y: string,
}

and a special case for encoding array
type t = {
  @as("0") x : int,
  @as("1") y : int
}

huh? i swear this was in the docs... will add that back.

huh? i swear this was in the docs... will add that back.

It is mentioned here: https://rescript-lang.org/syntax-lookup#as-decorator
type action = {
  @as("type") type_: string
}

The references link to Constrain Arguments Better and Fixed Arguments.
It is not mentioned at Bind Using ReScript Record, which is where I would expect it too.


Is there a bug in flight AddWritableBuffer

https://github.com/apache/arrow/blob/9bab12f03ac486bb8270f031b83f0a0411766b3e/java/flight/flight-core/src/main/java/org/apache/arrow/flight/grpc/AddWritableBuffer.java#L94
is this line redundant？
this will copy the data from buf to OutputStream, which can not realize zero-copy.

Can you please open a Jira issue?

ok, I open a jira issue: https://issues.apache.org/jira/browse/ARROW-11066

Closing the issue here, follow-up can be done on the JIRA.

Closing the issue here, follow-up can be done on the JIRA.


improve test coverage and test assertions

Codecov Report

Merging #133 into master will increase coverage by 1.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #133      +/-   ##
==========================================
+ Coverage   98.48%   99.49%   +1.01%
==========================================
  Files          10       10
  Lines         990      990
==========================================
+ Hits          975      985      +10
+ Misses         15        5      -10

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 809a4f3...02e5b36. Read the comment docs.

@wikkiewikkie Please, add action that will remove downloaded image elizabeth_1.png (tear_down). Thanks.


Making Gravatar optional in config

Added ability to disable Gravatar via config. Because including of the gravatar has moved from _secondary_navigation.html.haml to application_helper.rb disabling of the Gravatar icon in the Navbar has become very uncomfortable. So I have added config.show_gravatar which allows disabling the Gravatar via config.
#1073

Thanks!


UI Explorer: Failed to build DependencyGraph: @providesModule naming collision:

I've tried to run the UIExplorer demo.
When trying to build the project I get the following error:
Failed to build DependencyGraph: @providesModule naming collision:
  Duplicate module name: AppEventsTest
  Paths: /Users/USERNAME/Programming/devnull/react-native-macos/Examples/UIExplorer/react-native/IntegrationTests/AppEventsTest.js collides with /Users/USERNAME/Programming/devnull/react-native-macos/IntegrationTests/AppEventsTest.js

This error is caused by a @providesModule declaration with the same name across two different files.
Error: @providesModule naming collision:
  Duplicate module name: AppEventsTest
  Paths: /Users/USERNAME/Programming/devnull/react-native-macos/Examples/UIExplorer/react-native/IntegrationTests/AppEventsTest.js collides with /Users/USERNAME/Programming/devnull/react-native-macos/IntegrationTests/AppEventsTest.js

This error is caused by a @providesModule declaration with the same name across two different files.
    at HasteMap._updateHasteMap (/Users/USERNAME/Programming/devnull/react-native-macos/packager/react-packager/src/node-haste/DependencyGraph/HasteMap.js:155:13)
    at module.getName.then.name (/Users/USERNAME/Programming/devnull/react-native-macos/packager/react-packager/src/node-haste/DependencyGraph/HasteMap.js:115:31)
~
Process terminated. Press <enter> to close the window

I haven't made any modifications to the code, so I wouldn't know what might be causing this issue.
Would you know if there's any dependencies missing that I need to install?

It looks you have react-native folder in UIExplorer (/Users/USERNAME/Programming/devnull/react-native-macos/Examples/UIExplorer/react-native/). Can you confirm that? If that's true try to delete it.

Hey @ptmt I was just about to reply - you are totally correct, I have deleted the folder and it's now working!
I was quite confused as the README.md in Examples/UIEXplorer says to clone and install react-native.
Thank you for your help by the way!

@axsauze Thanks for pointing out. I see now https://github.com/ptmt/react-native-macos/tree/master/Examples/UIExplorer
this is an untouched copy from the original Facebook repository.

Ah I see! I was a bit confused with those instructions, I was wondering why on earth would I want to run this on Android and IOS haha - Thanks!


Cannot receive bitcoin with LNURL

I scanned LNURL from https://lightningnetworkstores.com/faucet to receive payment. After clicking Redeem for a while, the website showed success but the app screen did not change. And I do not receive any bitcoin in the wallet.
When I use another wallet like Wallet of Satoshi, it works properly.

This is probably an issue with the faucet and not Phoenix. In any case we can investigate but this is not the right place for that. Please send an email to<EMAIL_ADDRESS>with the payment hash (or the invoice), we'll take a look and see if that payment actually went through.


Update Unbound Host Override throws error "Invalid unbound host override IP address" when sending multiple ip-addresses

API-Call Update Unbound Host Override throws error "Invalid unbound host override IP address" when sending multiple ip-addresses as suggested in pfSense-webConfigurator
IPv4 or IPv6 comma-separated addresses to be returned for the host
e.g.: <IP_ADDRESS> or fd00:abcd::
or list <IP_ADDRESS>,<IP_ADDRESS>,fc00:123::3
Workaround:
Create individual Host-Overrides per IP-Address, all with the same host- and domain-name.

pfSense-pkg-API-1.1_7
Name           : pfSense-pkg-API
Version        : 1.1_7
Installed on   : Mon Mar 15 20:48:21 2021 CET
Origin         : sysutils/pfSense-pkg-API
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : sysutils
Licenses       : APACHE20
Maintainer<EMAIL_ADDRESS>WWW            : https://github.com/jaredhendrickson13/pfsense-api
Comment        : pfSense API package
Annotations    :
FreeBSD_version: 1200086
Flat size      : 1.65MiB

Hey!
Thanks for reporting this. This is actually expected behavior at the moment. This was briefly mentioned in #73, but the comma separated values for host overrides is a new feature in pfSense 2.5 that is not allowed in pfSense 2.4. To keep things backwards compatible and avoid cluttering the codebase with version specific conditions, I have held off on implementing pfSense 2.5 specific features for now. As you mentioned, you are able to create one IPv4 and one IPv6 host override with the same host/domain combination which is supported in both pfSense 2.4 and pfSense 2.5.
That being said, v1.2.0 of the API should be released within the next week which will be last release supporting pfSense 2.4 (excluding patches of course). I will then start planning for the v1.3.0 release and will be sure to add this one to the project board.
Thanks!


bevy_reflect: Remove ReflectSerialize and ReflectDeserialize registrations from most glam types

Objective

Part of #6573

When serializing a DynamicScene we end up treating almost all non-value types as though their type data doesn't exist. This is because when creating the DynamicScene we call Reflect::clone_value on the components, which generates a Dynamic type for all non-value types.
What this means is that the glam types are treated as though their ReflectSerialize registrations don't exist. However, the deserializer does pick up the registration and attempts to use that instead. This results in the deserializer trying to operate on "malformed" data, causing this error:
WARN bevy_asset::asset_server: encountered an error while loading an asset: Expected float

Solution
Ideally, we should better handle the serialization of possibly-Dynamic types. However, this runs into issues where the ReflectSerialize expects the concrete type and not a Dynamic representation, resulting in a panic:
https://github.com/bevyengine/bevy/blob/0aa4147af6d583c707863484d6a8ad50ed0ed984/crates/bevy_reflect/src/type_registry.rs#L402-L413
Since glam types are so heavily used in Bevy (specifically in Transform and GlobalTransform), it makes sense to just a quick fix in that enables them to be used properly in scenes while a proper solution is found.
This PR simply removes all ReflectSerialize and ReflectDeserialize registrations from the glam types that are reflected as structs.

Changelog

Remove ReflectSerialize and ReflectDeserialize registrations from most glam types

Migration Guide
This PR removes ReflectSerialize and ReflectDeserialize registrations from most glam types. This means any code relying on either of those type data existing for those glam types will need to not do that.
This also means that some serialized glam types will need to be updated. For example, here is Affine3A:
// BEFORE
(
  "glam::f32::affine3a::Affine3A": (1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0),

// AFTER
  "glam::f32::affine3a::Affine3A": (
    matrix3: (
      x_axis: (
        x: 1.0,
        y: 0.0,
        z: 0.0,
      ),
      y_axis: (
        x: 0.0,
        y: 1.0,
        z: 0.0,
      ),
      z_axis: (
        x: 0.0,
        y: 0.0,
        z: 1.0,
      ),
    ),
    translation: (
      x: 0.0,
      y: 0.0,
      z: 0.0,
    ),
  )
)

This feels like it might break semver... Are we sure it's OK to do in a patch release?

Can we add more tests to catch this sort of issue better in the future?

Yes! I actually meant to create an issue for this but forgot lol. Basically we should probably have a more "real world" scene that contains usages of Transform, Visibility, and other common (or uncommon) components. I imagine we can create this in the repo's tests folder and ensure any changes to reflection/scenes doesn't break that test(s).

This feels like it might break semver... Are we sure it's OK to do in a patch release?

I’m not sure what does or doesn't break semver tbh. Why might this be problematic? Isn't fixing an unintended behavior okay for a patch release?

bors r+

bors retry


Fix filtering not available in block magnification

The following changes are implemented
When you configure a block (filter list) to be magnified the filter is present but it is not working, it is not clickable. It looks like the problem is with the z-index and the popoverTarget being the same as the record list not in modal.
Changes in the user interface:
TODO: Add screenshots, recordings or remove this section
Checklist when submitting a final (!draft) PR

[ ] Commits are tidied up, squashed if needed and follow guidelines in CONTRIBUTING.md
[ ] Code builds
[ ] All existing tests pass
[ ] All new critical code is covered by tests
[x] PR is linked to the relevant issue(s)
[x] Rebased with the target branch


Support conditions related to IO

It should be possible to only run a test if a folder or a file exists.

Beta available in 1.22.0-beta.0061


BT_DEBUG is not defined in debug builds

Godot 3.1 ab843b16984d8b62a1100d9b77d8b0dcdc4252bb
I found out that in debug builds of Godot, Bullet may be asserting with btAssert, except it expands to no-op, because BT_DEBUG is not defined.
It seems only iOS builds (so far) keep the asserts defined regardless (due to how Bullet was written rather than the SCons script).
The result is, for example, someone testing on iOS found crashes that may be happening silently in general with heightmap terrains, where parameters are sent as garbage because set_shape_data was not called yet. There was garbage because like every other shape, the heightmap one doesn't initialize any of its members in its constructor...
Is there a reason why BT_DEBUG was not defined?

Temporarily disabled by #25500 as it exposed bugs and we're too close to the 3.1 release to handle them :)
Will be fixed anew after 3.1, when we'll revert #25500.

While working on #34210 I noticed that this requires DEBUG to be enabled not just BT_DEBUG.


[Bug] changeExtensionTo does not account for multiple dots in file name in jssrc

The changeExtensionTo method (part of better.files.File) splits file names on the first occurrence of a dot and hence will incorrectly rename any file with multiple extensions, resulting in a java.io.FileNotFoundException when trying to read the file.
To Reproduce
Steps to reproduce the behavior:

importCode the attached example in joern
example.zip

Observe the following error:

java.io.FileNotFoundException: /home/pr0me/Documents/code/phd/xample/script.ejs (No such file or directory)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
	at scala.io.Source$.fromFile(Source.scala:94)
	at scala.io.Source$.fromFile(Source.scala:79)
	at io.shiftleft.utils.IOUtils$.readLinesInFile(IOUtils.scala:77)
	at io.joern.jssrc2cpg.parser.BabelJsonParser$.readFile(BabelJsonParser.scala:35)
	at io.joern.jssrc2cpg.passes.AstCreationPass.$anonfun$runOnPart$1(AstCreationPass.scala:48)

The original file name is script.js.ejs.
Expected behavior
File renaming should account for the possibility of multiple file extensions.
Desktop (please complete the following information):

OS: Linux pop-os 6.0.12-76060006-generic 22.04
Joern Version: 1.1.1646
javac 11.0.17

Additional context
I confirmed that the error is due to changeExtensionTo.
This
val test_file_0 = File("./xx.js.md")
val altered_0 = test_file_0.changeExtensionTo(".js")
logger.error(s"TEST 0: ${test_file_0} -> ${altered_0}")
val test_file_1 = File("./xx.md.md")
val altered_1 = test_file_0.changeExtensionTo(".js")
logger.error(s"TEST 1: ${test_file_1} -> ${altered_1}")

will result in
TEST 0: ./xx.js.md -> ./xx.js
TEST 1: ./xx.md.md -> ./xx.js

meaning that is also not only due to the extension and the replacement being the same.
From what I saw, changeExtensionTo is only used once in joern but I still was not sure what the best place to fix this would be.

Nice find. Might be something for their bug tracker: https://github.com/pathikrit/better-files/issues
I will look for a quick fix next week. Or we could simply rename it ourselves and do a simple copy.

Good point, I've opened an issue for better-files: https://github.com/pathikrit/better-files/issues/603
Thanks!


[Question] Retrofitting TS to vanilla create-react-app proj

Can someone tell me if there is a resource out there to explain the process of bringing this in to an existing project?
I have just stumbled across this and would like to bring this into my current js app that has been built off the vanilla create-react-app template. I have run through your docs and created a new ts app and from what I can see there is nothing more than a few tsconfig.* and tslint files, react-scripts-ts dependency and updated scripts commands to point to react-scripts-ts.
Is it just the above and then simply updating jsx file extensions to .tsx. Would this assumption be correct?
I will give this a try this evening and if successful will create a pull request with additional docs documenting the process.
Thanks.

That is somewhat cumbersome. First of all, you need to change both webpack.config.dev.js and webpack.config.prod.js. This is not a problem, but since they are located physically inside node_modules and are always fetched from npm, you can see how this is a problem.


Code Quality: Added empty view models of Widgets

Summary
As the title. This is 0st stage of introduction of view models to Widgets.
PR Checklist

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #14760
[ ] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[ ] Are there any other steps that were used to validate these changes?
None

Screenshots
None

Should we also register the ViewModels to the views?

Done.

This phased approach will allow us to review each change separately, making code review faster and hopefully reduce the risk of new issues.


Optimize polyfills

We should remove duplicate polyfills and remove those that are not actually used.

Still needs more testing, but closed by https://github.com/Kentico/kentico-cloud-js/commit/677c2b906d06cd3abe901a4899caa08abee91343


Feature Toggle - update toggle to allow for more flexibility

Description

remove hardcoded switch to allow for flexible component usage

Steps for testing

Verify the implementation to now use raw html instead of a predefined child switch component

I'm seeing some odd behavior on my local. The switch is outputting twice on the second example. Almost as if the content_for on the first example is picked up again:

@monkeypox8 used a different approach to resolve.


Mind to bump pypi due to soon Django 1.10 release?

Hi!
Please bump pypi version. Django 1.10 is almost out.
Thanks!

I agree, some bug fixes have been merged into master for Django 1.10 (#220, for example) and not released on Pypi.

The tests don't currently pass on Django 1.10 and I don't have time to investigate or fix it. I don't mind making a release with the fixes that are in so far, but it'll remain officially not-supported on Django 1.10.

2.5.1 is released.


 We don't use that anymore to build anything.

Closing as an obsolete


Tag this as MTR-W

[Enter feedback here]
Just curious if this should be tagged for MTR-W's specifically.  Had a customer looking for when we started supporting GCCH on A and all they found was this page.

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

ID: 1365f9b8-001c-daa7-592e-d88b9bb3a10e
Version Independent ID: ffba1b4d-1f19-4dac-0b55-053d98fe26b7
Content: Release notes for Microsoft Teams Rooms (Windows) - Microsoft Teams
Content Source: Teams/rooms/rooms-release-note.md
Service: msteams
GitHub Login: @dstrome
Microsoft Alias: dstrome

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

I missed that this was closed.  Can we get the first sentence changed from this:
This article discusses cumulative improvements in Microsoft Teams Rooms.
To this:
This article discusses cumulative improvements in Microsoft Teams Rooms on Windows.
This makes is clearer for the distinction that this is Windows MTR's not Android.
Also I am not a customer. :)


High node count after upgrading eks to 1.23

Version

Karpenter Version: v0.26.1

Kubernetes Version: v1.23
Expected Behavior
After upgrading we would expect our node count to remain relatively unchanged (8-15 nodes).
Actual Behavior
After upgrading our node count jumped to between 50-55
Steps to Reproduce the Problem

Upgrade eks cluster from 1.22 to 1.23
Drain the karpenter nodes

Resource Specs and Logs
karpenter_controller_logs.log
Provisioner:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: provisioners.karpenter.sh
  uid: 2f2c64c0-5470-44fb-8c2e-5988add4b5ba
  resourceVersion: '642176275'
  generation: 3
  creationTimestamp: '2022-08-26T15:42:25Z'
  annotations:
    controller-gen.kubebuilder.io/version: v0.11.3
  selfLink: >-
    /apis/apiextensions.k8s.io/v1/customresourcedefinitions/provisioners.karpenter.sh
status:
  conditions:
    - type: NamesAccepted
      status: 'True'
      lastTransitionTime: '2022-08-26T15:42:25Z'
      reason: NoConflicts
      message: no conflicts found
    - type: Established
      status: 'True'
      lastTransitionTime: '2022-08-26T15:42:25Z'
      reason: InitialNamesAccepted
      message: the initial names have been accepted
  acceptedNames:
    plural: provisioners
    singular: provisioner
    kind: Provisioner
    listKind: ProvisionerList
    categories:
      - karpenter
  storedVersions:
    - v1alpha5
spec:
  group: karpenter.sh
  names:
    plural: provisioners
    singular: provisioner
    kind: Provisioner
    listKind: ProvisionerList
    categories:
      - karpenter
  scope: Cluster
  versions:
    - name: v1alpha5
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          description: Provisioner is the Schema for the Provisioners API
          type: object
          properties:
            apiVersion:
              description: >-
                APIVersion defines the versioned schema of this representation
                of an object. Servers should convert recognized schemas to the
                latest internal value, and may reject unrecognized values.  Servers may infer this from the endpoint the
                client submits requests to. Cannot be updated. In CamelCase.
                More info:
                https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
              type: string
            metadata:
              type: object
            spec:
              description: >-
                ProvisionerSpec is the top level provisioner specification.
                Provisioners launch nodes in response to pods that are
                unschedulable. A single provisioner is capable of managing a
                diverse set of nodes. Node properties are determined from a
                combination of provisioner and pod scheduling constraints.
              type: object
              properties:
                annotations:
                  description: Annotations are applied to every node.
                  type: object
                  additionalProperties:
                    type: string
                consolidation:
                  description: Consolidation are the consolidation parameters
                  type: object
                  properties:
                    enabled:
                      description: Enabled enables consolidation if it has been set
                      type: boolean
                kubeletConfiguration:
                  description: >-
                    KubeletConfiguration are options passed to the kubelet when
                    provisioning nodes
                  type: object
                  properties:
                    clusterDNS:
                      description: >-
                        clusterDNS is a list of IP addresses for the cluster DNS
                        server. Note that not all providers may use all
                        addresses.
                      type: array
                      items:
                        type: string
                    containerRuntime:
                      description: >-
                        ContainerRuntime is the container runtime to be used
                        with your worker nodes.
                      type: string
                    cpuCFSQuota:
                      description: >-
                        CPUCFSQuota enables CPU CFS quota enforcement for
                        containers that specify CPU limits.
                      type: boolean
                    evictionHard:
                      description: >-
                        EvictionHard is the map of signal names to quantities
                        that define hard eviction thresholds
                      type: object
                      additionalProperties:
                        type: string
                    evictionMaxPodGracePeriod:
                      description: >-
                        EvictionMaxPodGracePeriod is the maximum allowed grace
                        period (in seconds) to use when terminating pods in
                        response to soft eviction thresholds being met.
                      type: integer
                      format: int32
                    evictionSoft:
                      description: >-
                        EvictionSoft is the map of signal names to quantities
                        that define soft eviction thresholds
                      type: object
                      additionalProperties:
                        type: string
                    evictionSoftGracePeriod:
                      description: >-
                        EvictionSoftGracePeriod is the map of signal names to
                        quantities that define grace periods for each eviction
                        signal
                      type: object
                      additionalProperties:
                        type: string
                    imageGCHighThresholdPercent:
                      description: >-
                        ImageGCHighThresholdPercent is the percent of disk usage
                        after which image garbage collection is always run. The
                        percent is calculated by dividing this field value by
                        100, so this field must be between 0 and 100, inclusive.
                        When specified, the value must be greater than
                        ImageGCLowThresholdPercent.
                      type: integer
                      format: int32
                      maximum: 100
                      minimum: 0
                    imageGCLowThresholdPercent:
                      description: >-
                        ImageGCLowThresholdPercent is the percent of disk usage
                        before which image garbage collection is never run.
                        Lowest disk usage to garbage collect to. The percent is
                        calculated by dividing this field value by 100, so the
                        field value must be between 0 and 100, inclusive. When
                        specified, the value must be less than
                        imageGCHighThresholdPercent
                      type: integer
                      format: int32
                      maximum: 100
                      minimum: 0
                    kubeReserved:
                      description: >-
                        KubeReserved contains resources reserved for Kubernetes
                        system components.
                      type: object
                      additionalProperties:
                        pattern: >-
                          ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        anyOf:
                          - type: integer
                          - type: string
                        x-kubernetes-int-or-string: true
                    maxPods:
                      description: >-
                        MaxPods is an override for the maximum number of pods
                        that can run on a worker node instance.
                      type: integer
                      format: int32
                      minimum: 0
                    podsPerCore:
                      description: >-
                        PodsPerCore is an override for the number of pods that
                        can run on a worker node instance based on the number of
                        cpu cores. This value cannot exceed MaxPods, so, if
                        MaxPods is a lower value, that value will be used.
                      type: integer
                      format: int32
                      minimum: 0
                    systemReserved:
                      description: >-
                        SystemReserved contains resources reserved for OS system
                        daemons and kernel memory.
                      type: object
                      additionalProperties:
                        pattern: >-
                          ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        anyOf:
                          - type: integer
                          - type: string
                        x-kubernetes-int-or-string: true
                labels:
                  description: >-
                    Labels are layered with Requirements and applied to every
                    node.
                  type: object
                  additionalProperties:
                    type: string
                limits:
                  description: Limits define a set of bounds for provisioning capacity.
                  type: object
                  properties:
                    resources:
                      description: >-
                        Resources contains all the allocatable resources that
                        Karpenter supports for limiting.
                      type: object
                      additionalProperties:
                        pattern: >-
                          ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                        anyOf:
                          - type: integer
                          - type: string
                        x-kubernetes-int-or-string: true
                provider:
                  description: Provider contains fields specific to your cloudprovider.
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                providerRef:
                  description: >-
                    ProviderRef is a reference to a dedicated CRD for the chosen
                    provider, that holds additional configuration options
                  type: object
                  required:
                    - name
                  properties:
                    apiVersion:
                      description: API version of the referent
                      type: string
                    kind:
                      description: >-
                        Kind of the referent; More info:
                        https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds"
                      type: string
                    name:
                      description: >-
                        Name of the referent; More info:
                        http://kubernetes.io/docs/user-guide/identifiers#names
                      type: string
                requirements:
                  description: >-
                    Requirements are layered with Labels and applied to every
                    node.
                  type: array
                  items:
                    description: >-
                      A node selector requirement is a selector that contains
                      values, a key, and an operator that relates the key and
                      values.
                    type: object
                    required:
                      - key
                      - operator
                    properties:
                      key:
                        description: The label key that the selector applies to.
                        type: string
                      operator:
                        description: >-
                          Represents a key's relationship to a set of values.
                          Valid operators are In, NotIn, Exists, DoesNotExist.
                          Gt, and Lt.
                        type: string
                      values:
                        description: >-
                          An array of string values. If the operator is In or
                          NotIn, the values array must be non-empty. If the
                          operator is Exists or DoesNotExist, the values array
                          must be empty. If the operator is Gt or Lt, the values
                          array must have a single element, which will be
                          interpreted as an integer. This array is replaced
                          during a strategic merge patch.
                        type: array
                        items:
                          type: string
                startupTaints:
                  description: >-
                    StartupTaints are taints that are applied to nodes upon
                    startup which are expected to be removed automatically
                    within a short period of time, typically by a DaemonSet that
                    tolerates the taint. These are commonly used by daemonsets
                    to allow initialization and enforce startup ordering.
                    StartupTaints are ignored for provisioning purposes in that
                    pods are not required to tolerate a StartupTaint in order to
                    have nodes provisioned for them.
                  type: array
                  items:
                    description: >-
                      The node this Taint is attached to has the "effect" on any
                      pod that does not tolerate the Taint.
                    type: object
                    required:
                      - effect
                      - key
                    properties:
                      effect:
                        description: >-
                          Required. The effect of the taint on pods that do not
                          tolerate the taint. Valid effects are NoSchedule,
                          PreferNoSchedule and NoExecute.
                        type: string
                      key:
                        description: Required. The taint key to be applied to a node.
                        type: string
                      timeAdded:
                        description: >-
                          TimeAdded represents the time at which the taint was
                          added. It is only written for NoExecute taints.
                        type: string
                        format: date-time
                      value:
                        description: The taint value corresponding to the taint key.
                        type: string
                taints:
                  description: >-
                    Taints will be applied to every node launched by the
                    Provisioner. If specified, the provisioner will not
                    provision nodes for pods that do not have matching
                    tolerations. Additional taints will be created that match
                    pod tolerations on a per-node basis.
                  type: array
                  items:
                    description: >-
                      The node this Taint is attached to has the "effect" on any
                      pod that does not tolerate the Taint.
                    type: object
                    required:
                      - effect
                      - key
                    properties:
                      effect:
                        description: >-
                          Required. The effect of the taint on pods that do not
                          tolerate the taint. Valid effects are NoSchedule,
                          PreferNoSchedule and NoExecute.
                        type: string
                      key:
                        description: Required. The taint key to be applied to a node.
                        type: string
                      timeAdded:
                        description: >-
                          TimeAdded represents the time at which the taint was
                          added. It is only written for NoExecute taints.
                        type: string
                        format: date-time
                      value:
                        description: The taint value corresponding to the taint key.
                        type: string
                ttlSecondsAfterEmpty:
                  description: >-
                    TTLSecondsAfterEmpty is the number of seconds the controller
                    will wait before attempting to delete a node, measured from
                    when the node is detected to be empty. A Node is considered
                    to be empty when it does not have pods scheduled to it,
                    excluding daemonsets.
                     Termination due to no utilization is disabled if this field is not set.
                  type: integer
                  format: int64
                ttlSecondsUntilExpired:
                  description: >-
                    TTLSecondsUntilExpired is the number of seconds the
                    controller will wait before terminating a node, measured
                    from when the node is created. This is useful to implement
                    features like eventually consistent node upgrade, memory
                    leak protection, and disruption testing.
                     Termination due to expiration is disabled if this field is not set.
                  type: integer
                  format: int64
                weight:
                  description: >-
                    Weight is the priority given to the provisioner during
                    scheduling. A higher numerical weight indicates that this
                    provisioner will be ordered ahead of other provisioners with
                    lower weights. A provisioner with no weight will be treated
                    as if it is a provisioner with a weight of 0.
                  type: integer
                  format: int32
                  maximum: 100
                  minimum: 1
            status:
              description: ProvisionerStatus defines the observed state of Provisioner
              type: object
              properties:
                conditions:
                  description: >-
                    Conditions is the set of conditions required for this
                    provisioner to scale its target, and indicates whether or
                    not those conditions are met.
                  type: array
                  items:
                    description: >-
                      Condition defines a readiness condition for a Knative
                      resource. See:
                      https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties
                    type: object
                    required:
                      - status
                      - type
                    properties:
                      lastTransitionTime:
                        description: >-
                          LastTransitionTime is the last time the condition
                          transitioned from one status to another. We use
                          VolatileTime in place of metav1.Time to exclude this
                          from creating equality.Semantic differences (all other
                          things held constant).
                        type: string
                      message:
                        description: >-
                          A human readable message indicating details about the
                          transition.
                        type: string
                      reason:
                        description: The reason for the condition's last transition.
                        type: string
                      severity:
                        description: >-
                          Severity with which to treat failures of this type of
                          condition. When this is not specified, it defaults to
                          Error.
                        type: string
                      status:
                        description: Status of the condition, one of True, False, Unknown.
                        type: string
                      type:
                        description: Type of condition.
                        type: string
                lastScaleTime:
                  description: >-
                    LastScaleTime is the last time the Provisioner scaled the
                    number of nodes
                  type: string
                  format: date-time
                resources:
                  description: >-
                    Resources is the list of resources that have been
                    provisioned.
                  type: object
                  additionalProperties:
                    pattern: >-
                      ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                    anyOf:
                      - type: integer
                      - type: string
                    x-kubernetes-int-or-string: true
      subresources:
        status: {}
  conversion:
    strategy: None

Pod:
apiVersion: v1
kind: Pod
metadata:
  name: karpenter-7cbd8cc459-dqsmr
  generateName: karpenter-7cbd8cc459-
  namespace: karpenter
  uid: 98d21a14-6466-4dbe-ba24-2c6929138acb
  resourceVersion: '667131737'
  creationTimestamp: '2023-04-05T04:30:36Z'
  labels:
    app.kubernetes.io/instance: karpenter
    app.kubernetes.io/name: karpenter
    linkerd.io/control-plane-ns: linkerd
    linkerd.io/proxy-deployment: karpenter
    linkerd.io/workload-ns: karpenter
    pod-template-hash: 7cbd8cc459
    tags.datadoghq.com/env: prod-east
    tags.datadoghq.com/service: karpenter
    tags.datadoghq.com/version: 0.26.1
  annotations:
    ad.datadoghq.com/controller.checks: |
      {
        "openmetrics": {
          "instances": [{
            "openmetrics_endpoint": "http://%%host%%:8080/metrics",
            "namespace": "karpenter",
            "metrics": [
             "karpenter.*"
            ]
          }]
        }
      }
    checksum/settings: bc030f73e049043a8686814b3f5ad2204c66637c87420e131769d17c4a47b0c3
    kubectl.kubernetes.io/restartedAt: '2022-08-30T18:54:48Z'
    kubernetes.io/psp: eks.privileged
    linkerd.io/created-by: linkerd/proxy-injector stable-2.12.4
    linkerd.io/inject: enabled
    linkerd.io/proxy-version: stable-2.12.4
    viz.linkerd.io/tap-enabled: 'true'
  ownerReferences:
    - apiVersion: apps/v1
      kind: ReplicaSet
      name: karpenter-7cbd8cc459
      uid: f24f393a-764f-4c98-9d0f-f7350f01950b
      controller: true
      blockOwnerDeletion: true
  selfLink: /api/v1/namespaces/karpenter/pods/karpenter-7cbd8cc459-dqsmr
status:
  phase: Running
  conditions:
    - type: Initialized
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2023-04-05T04:30:59Z'
    - type: Ready
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2023-04-05T04:31:04Z'
    - type: ContainersReady
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2023-04-05T04:31:04Z'
    - type: PodScheduled
      status: 'True'
      lastProbeTime: null
      lastTransitionTime: '2023-04-05T04:30:36Z'
  hostIP: <IP_ADDRESS>
  podIP: <IP_ADDRESS>
  podIPs:
    - ip: <IP_ADDRESS>
  startTime: '2023-04-05T04:30:36Z'
  initContainerStatuses:
    - name: linkerd-init
      state:
        terminated:
          exitCode: 0
          reason: Completed
          startedAt: '2023-04-05T04:30:58Z'
          finishedAt: '2023-04-05T04:30:58Z'
          containerID: >-
            docker://d9e742d7a6f7fabb99a2d1276a14e4d6304efa9eaafb63a7119be651e810cb99
      lastState: {}
      ready: true
      restartCount: 0
      image: cr.l5d.io/linkerd/proxy-init:v2.0.0
      imageID: >-
        docker-pullable://cr.l5d.io/linkerd/proxy-init@sha256:7d5e66b9e176b1ebbdd7f40b6385d1885e82c80a06f4c6af868247bb1dffe262
      containerID: >-
        docker://d9e742d7a6f7fabb99a2d1276a14e4d6304efa9eaafb63a7119be651e810cb99
  containerStatuses:
    - name: controller
      state:
        running:
          startedAt: '2023-04-05T04:31:01Z'
      lastState: {}
      ready: true
      restartCount: 0
      image: >-
        public.ecr.aws/karpenter/controller@sha256:5dfe506624961f386b68556dd1cc850bfe3a42b62d2dd5dcb8b21d1a89ec817c
      imageID: >-
        docker-pullable://public.ecr.aws/karpenter/controller@sha256:5dfe506624961f386b68556dd1cc850bfe3a42b62d2dd5dcb8b21d1a89ec817c
      containerID: >-
        docker://07a1d45ea98bf00b466db68b3dbca8badb12d6aae943a96b8bf6081c142611f0
      started: true
    - name: linkerd-proxy
      state:
        running:
          startedAt: '2023-04-05T04:30:59Z'
      lastState: {}
      ready: true
      restartCount: 0
      image: cr.l5d.io/linkerd/proxy:stable-2.12.4
      imageID: >-
        docker-pullable://cr.l5d.io/linkerd/proxy@sha256:9d277c72488a214bb467f90b9f32ee7eb4cb4b12f2ad0827f486e98469095666
      containerID: >-
        docker://1260cd5bb66c989f6f4c6447961b25cf9ca0c3c7d86abc12379d1b68c8193f4e
      started: true
  qosClass: Burstable
spec:
  volumes:
    - name: aws-iam-token
      projected:
        sources:
          - serviceAccountToken:
              audience: sts.amazonaws.com
              expirationSeconds: 86400
              path: token
        defaultMode: 420
    - name: kube-api-access-pm7fx
      projected:
        sources:
          - serviceAccountToken:
              expirationSeconds: 3607
              path: token
          - configMap:
              name: kube-root-ca.crt
              items:
                - key: ca.crt
                  path: ca.crt
          - downwardAPI:
              items:
                - path: namespace
                  fieldRef:
                    apiVersion: v1
                    fieldPath: metadata.namespace
        defaultMode: 420
    - name: linkerd-proxy-init-xtables-lock
      emptyDir: {}
    - name: linkerd-identity-end-entity
      emptyDir:
        medium: Memory
    - name: linkerd-identity-token
      projected:
        sources:
          - serviceAccountToken:
              audience: identity.l5d.io
              expirationSeconds: 86400
              path: linkerd-identity-token
        defaultMode: 420
  initContainers:
    - name: linkerd-init
      image: cr.l5d.io/linkerd/proxy-init:v2.0.0
      args:
        - '--incoming-proxy-port'
        - '4143'
        - '--outgoing-proxy-port'
        - '4140'
        - '--proxy-uid'
        - '2102'
        - '--inbound-ports-to-ignore'
        - 4190,4191,4567,4568
        - '--outbound-ports-to-ignore'
        - '3306'
        - '--log-format'
        - json
      env:
        - name: DD_ENV
          value: prod-east
        - name: DD_VERSION
          value: 0.26.1
        - name: DD_SERVICE
          value: karpenter
        - name: DD_ENTITY_ID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: DD_AGENT_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: AWS_STS_REGIONAL_ENDPOINTS
          value: regional
        - name: AWS_DEFAULT_REGION
          value: us-east-1
        - name: AWS_REGION
          value: us-east-1
        - name: AWS_ROLE_ARN
          value: >-
            arn:aws:iam::911070201873:role/KarpenterIRSA-prod-east-brief-bluegill
        - name: AWS_WEB_IDENTITY_TOKEN_FILE
          value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
      resources:
        limits:
          cpu: 100m
          memory: 20Mi
        requests:
          cpu: 100m
          memory: 20Mi
      volumeMounts:
        - name: linkerd-proxy-init-xtables-lock
          mountPath: /run
        - name: kube-api-access-pm7fx
          readOnly: true
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        - name: aws-iam-token
          readOnly: true
          mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: FallbackToLogsOnError
      imagePullPolicy: IfNotPresent
      securityContext:
        capabilities:
          add:
            - NET_ADMIN
            - NET_RAW
        privileged: false
        runAsUser: 0
        runAsNonRoot: false
        readOnlyRootFilesystem: true
        allowPrivilegeEscalation: false
  containers:
    - name: linkerd-proxy
      image: cr.l5d.io/linkerd/proxy:stable-2.12.4
      ports:
        - name: linkerd-proxy
          containerPort: 4143
          protocol: TCP
        - name: linkerd-admin
          containerPort: 4191
          protocol: TCP
      env:
        - name: DD_ENV
          value: prod-east
        - name: DD_VERSION
          value: 0.26.1
        - name: DD_SERVICE
          value: karpenter
        - name: DD_ENTITY_ID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: DD_AGENT_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: _pod_name
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: _pod_ns
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: _pod_nodeName
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: LINKERD2_PROXY_LOG
          value: warn,linkerd=info
        - name: LINKERD2_PROXY_LOG_FORMAT
          value: json
        - name: LINKERD2_PROXY_DESTINATION_SVC_ADDR
          value: linkerd-dst-headless.linkerd.svc.cluster.local.:8086
        - name: LINKERD2_PROXY_DESTINATION_PROFILE_NETWORKS
          value: <IP_ADDRESS>/8,<IP_ADDRESS>/10,<IP_ADDRESS>/12,<IP_ADDRESS>/16
        - name: LINKERD2_PROXY_POLICY_SVC_ADDR
          value: linkerd-policy.linkerd.svc.cluster.local.:8090
        - name: LINKERD2_PROXY_POLICY_WORKLOAD
          value: $(_pod_ns):$(_pod_name)
        - name: LINKERD2_PROXY_INBOUND_DEFAULT_POLICY
          value: all-unauthenticated
        - name: LINKERD2_PROXY_POLICY_CLUSTER_NETWORKS
          value: <IP_ADDRESS>/8,<IP_ADDRESS>/10,<IP_ADDRESS>/12,<IP_ADDRESS>/16
        - name: LINKERD2_PROXY_INBOUND_CONNECT_TIMEOUT
          value: 100ms
        - name: LINKERD2_PROXY_OUTBOUND_CONNECT_TIMEOUT
          value: 1000ms
        - name: LINKERD2_PROXY_CONTROL_LISTEN_ADDR
          value: <IP_ADDRESS>:4190
        - name: LINKERD2_PROXY_ADMIN_LISTEN_ADDR
          value: <IP_ADDRESS>:4191
        - name: LINKERD2_PROXY_OUTBOUND_LISTEN_ADDR
          value: <IP_ADDRESS>:4140
        - name: LINKERD2_PROXY_INBOUND_LISTEN_ADDR
          value: <IP_ADDRESS>:4143
        - name: LINKERD2_PROXY_INBOUND_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: LINKERD2_PROXY_INBOUND_PORTS
          value: 8080,8081,8443
        - name: LINKERD2_PROXY_DESTINATION_PROFILE_SUFFIXES
          value: svc.cluster.local.
        - name: LINKERD2_PROXY_INBOUND_ACCEPT_KEEPALIVE
          value: 10000ms
        - name: LINKERD2_PROXY_OUTBOUND_CONNECT_KEEPALIVE
          value: 10000ms
        - name: LINKERD2_PROXY_INBOUND_PORTS_DISABLE_PROTOCOL_DETECTION
          value: 25,587,3306,4444,5432,6379,9300,11211
        - name: LINKERD2_PROXY_DESTINATION_CONTEXT
          value: |
            {"ns":"$(_pod_ns)", "nodeName":"$(_pod_nodeName)"}
        - name: _pod_sa
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: _l5d_ns
          value: linkerd
        - name: _l5d_trustdomain
          value: cluster.local
        - name: LINKERD2_PROXY_IDENTITY_DIR
          value: /var/run/linkerd/identity/end-entity
        - name: LINKERD2_PROXY_IDENTITY_TOKEN_FILE
          value: /var/run/secrets/tokens/linkerd-identity-token
        - name: LINKERD2_PROXY_IDENTITY_SVC_ADDR
          value: linkerd-identity-headless.linkerd.svc.cluster.local.:8080
        - name: LINKERD2_PROXY_IDENTITY_LOCAL_NAME
          value: $(_pod_sa).$(_pod_ns).serviceaccount.identity.linkerd.cluster.local
        - name: LINKERD2_PROXY_IDENTITY_SVC_NAME
          value: >-
            linkerd-identity.linkerd.serviceaccount.identity.linkerd.cluster.local
        - name: LINKERD2_PROXY_DESTINATION_SVC_NAME
          value: >-
            linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local
        - name: LINKERD2_PROXY_POLICY_SVC_NAME
          value: >-
            linkerd-destination.linkerd.serviceaccount.identity.linkerd.cluster.local
        - name: LINKERD2_PROXY_TAP_SVC_NAME
          value: tap.linkerd-dashboard.serviceaccount.identity.linkerd.cluster.local
        - name: AWS_STS_REGIONAL_ENDPOINTS
          value: regional
        - name: AWS_DEFAULT_REGION
          value: us-east-1
        - name: AWS_REGION
          value: us-east-1
        - name: AWS_ROLE_ARN
          value: >-
            arn:aws:iam::911070201873:role/KarpenterIRSA-prod-east-brief-bluegill
        - name: AWS_WEB_IDENTITY_TOKEN_FILE
          value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
      resources:
        limits:
          memory: 250Mi
        requests:
          cpu: 100m
          memory: 20Mi
      volumeMounts:
        - name: linkerd-identity-end-entity
          mountPath: /var/run/linkerd/identity/end-entity
        - name: linkerd-identity-token
          mountPath: /var/run/secrets/tokens
        - name: kube-api-access-pm7fx
          readOnly: true
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        - name: aws-iam-token
          readOnly: true
          mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
      livenessProbe:
        httpGet:
          path: /live
          port: 4191
          scheme: HTTP
        initialDelaySeconds: 10
        timeoutSeconds: 1
        periodSeconds: 10
        successThreshold: 1
        failureThreshold: 3
      readinessProbe:
        httpGet:
          path: /ready
          port: 4191
          scheme: HTTP
        initialDelaySeconds: 2
        timeoutSeconds: 1
        periodSeconds: 10
        successThreshold: 1
        failureThreshold: 3
      lifecycle:
        postStart:
          exec:
            command:
              - /usr/lib/linkerd/linkerd-await
              - '--timeout=2m'
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: FallbackToLogsOnError
      imagePullPolicy: IfNotPresent
      securityContext:
        runAsUser: 2102
        readOnlyRootFilesystem: true
        allowPrivilegeEscalation: false
    - name: controller
      image: >-
        public.ecr.aws/karpenter/controller:v0.26.1@sha256:5dfe506624961f386b68556dd1cc850bfe3a42b62d2dd5dcb8b21d1a89ec817c
      ports:
        - name: http-metrics
          containerPort: 8080
          protocol: TCP
        - name: http
          containerPort: 8081
          protocol: TCP
        - name: https-webhook
          containerPort: 8443
          protocol: TCP
      env:
        - name: DD_VERSION
          value: 0.26.1
        - name: DD_SERVICE
          value: karpenter
        - name: DD_ENV
          value: prod-east
        - name: DD_ENTITY_ID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: DD_AGENT_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KUBERNETES_MIN_VERSION
          value: 1.19.0-0
        - name: KARPENTER_SERVICE
          value: karpenter
        - name: WEBHOOK_PORT
          value: '8443'
        - name: METRICS_PORT
          value: '8080'
        - name: HEALTH_PROBE_PORT
          value: '8081'
        - name: SYSTEM_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: MEMORY_LIMIT
          valueFrom:
            resourceFieldRef:
              containerName: controller
              resource: limits.memory
              divisor: '0'
        - name: AWS_STS_REGIONAL_ENDPOINTS
          value: regional
        - name: AWS_DEFAULT_REGION
          value: us-east-1
        - name: AWS_REGION
          value: us-east-1
        - name: AWS_ROLE_ARN
          value: >-
            arn:aws:iam::911070201873:role/KarpenterIRSA-prod-east-brief-bluegill
        - name: AWS_WEB_IDENTITY_TOKEN_FILE
          value: /var/run/secrets/eks.amazonaws.com/serviceaccount/token
      resources: {}
      volumeMounts:
        - name: kube-api-access-pm7fx
          readOnly: true
          mountPath: /var/run/secrets/kubernetes.io/serviceaccount
        - name: aws-iam-token
          readOnly: true
          mountPath: /var/run/secrets/eks.amazonaws.com/serviceaccount
      livenessProbe:
        httpGet:
          path: /healthz
          port: http
          scheme: HTTP
        initialDelaySeconds: 30
        timeoutSeconds: 30
        periodSeconds: 10
        successThreshold: 1
        failureThreshold: 3
      readinessProbe:
        httpGet:
          path: /readyz
          port: http
          scheme: HTTP
        timeoutSeconds: 30
        periodSeconds: 10
        successThreshold: 1
        failureThreshold: 3
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      imagePullPolicy: IfNotPresent
  restartPolicy: Always
  terminationGracePeriodSeconds: 30
  dnsPolicy: ClusterFirst
  nodeSelector:
    kubernetes.io/os: linux
  serviceAccountName: karpenter
  serviceAccount: karpenter
  nodeName: ip-10-14-40-205.ec2.internal
  securityContext:
    fsGroup: 1000
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: karpenter.sh/provisioner-name
                operator: DoesNotExist
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        - labelSelector:
            matchExpressions:
              - key: app.kubernetes.io/instance
                operator: In
                values:
                  - karpenter
          topologyKey: kubernetes.io/hostname
  schedulerName: default-scheduler
  tolerations:
    - key: CriticalAddonsOnly
      operator: Exists
    - key: node.kubernetes.io/not-ready
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
    - key: node.kubernetes.io/unreachable
      operator: Exists
      effect: NoExecute
      tolerationSeconds: 300
  priorityClassName: system-cluster-critical
  priority:<PHONE_NUMBER>
  enableServiceLinks: true
  preemptionPolicy: PreemptLowerPriority
  topologySpreadConstraints:
    - maxSkew: 1
      topologyKey: topology.kubernetes.io/zone
      whenUnsatisfiable: ScheduleAnyway
      labelSelector:
        matchLabels:
          app.kubernetes.io/instance: karpenter
          app.kubernetes.io/name: karpenter

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Do your pods have preferred topology spreads or anti-affinities that is causing the large number of nodes?  Are the nodes under-utilized?

@tzneal We don't really have anti-affinities or preferred topology spreads setup. The nodes look pretty underutilized to me.

Can you run kubectl describe node node-name and paste the events that are output at the bottom?

Not seeing anything suspicious in your logs. Do you have dashboards setup that track utilization and pods/nodes over time? Hard to make any statements about your binpacking without more rich data.

The nodes look pretty underutilized to me.

Can we formalize this a little bit?

Karpenter seems to spin up a new node right after performing a consolidation.

Karpenter can replace nodes will smaller ones, so you'll see a new smaller node spun up before the consolidated node is terminated.

@tzneal put the events from several karpenter nodes below:
Events:
  Type     Reason                   Age                From             Message
  ----     ------                   ----               ----             -------
  Normal   Starting                 16m                kube-proxy
  Normal   RegisteredNode           17m                node-controller  Node ip-10-14-26-179.ec2.internal event: Registered Node ip-10-14-26-179.ec2.internal in Controller
  Normal   Starting                 16m                kubelet          Starting kubelet.
  Warning  InvalidDiskCapacity      16m                kubelet          invalid capacity 0 on image filesystem
  Normal   NodeAllocatableEnforced  16m                kubelet          Updated Node Allocatable limit across pods
  Normal   NodeHasSufficientMemory  16m (x3 over 16m)  kubelet          Node ip-10-14-26-179.ec2.internal status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    16m (x3 over 16m)  kubelet          Node ip-10-14-26-179.ec2.internal status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     16m (x3 over 16m)  kubelet          Node ip-10-14-26-179.ec2.internal status is now: NodeHasSufficientPID
  Normal   NodeReady                15m                kubelet          Node ip-10-14-26-179.ec2.internal status is now: NodeReady
  Normal   Unconsolidatable         15m                karpenter        pdb lake-front/s3-imp-creative-gar-pdb prevents pod evictions
  Normal   Unconsolidatable         27s                karpenter        pdb master-company/master-company-ta-mc-add-pdb prevents pod evictions

Events:
Type    Reason            Age                   From       Message
----    ------            ----                  ----       -------
Normal  Unconsolidatable  48m (x83 over 4d20h)  karpenter  can't remove without creating 2 nodes
Normal  Unconsolidatable  25m (x112 over 5d8h)  karpenter  can't replace with a cheaper node
Normal  Unconsolidatable  10m (x224 over 5d8h)  karpenter  not all pods would schedule

Events:
  Type    Reason            Age                   From       Message
  ----    ------            ----                  ----       -------
  Normal  Unconsolidatable  11m (x344 over 4d1h)  karpenter  not all pods would schedule

We need to improve observability here:  Normal  Unconsolidatable  11m (x344 over 4d1h)  karpenter  not all pods would schedule . Let me work on a PR.


v7.2.0

Refactor some parts to run on deno, bun and tsnode
Add some examples for each platform
Remove some rarely used configuration methods

Coverage remained the same at 100.0% when pulling f2ee351bc40fc712374db0ac91ef6a05b731c7f1 on 7.2.0 into d896abd9bffa6df3702631046e9f5a05903d6407 on main.

Coverage remained the same at 100.0% when pulling f2ee351bc40fc712374db0ac91ef6a05b731c7f1 on 7.2.0 into d896abd9bffa6df3702631046e9f5a05903d6407 on main.


OQS OpenSSL fails to run after build.

 Use ldd on the OpenSSL binary to confirm, and if so, either set an LD_LIBRARY_PATH environment variable, or use chrpath or patchelf to point the binary itself at the correct path, which should be /opt/PQCrypto-VPN/openvpn/build/scratch/pq-openvpn-linux/oqs-openssl-output/openssl/lib in this case.

That works. It was pointing to the system-installed dynamic libs, I used the 'patchelf' utility to change the binary to look for the libs that were built with OS and it works.
patchelf --set-rpath <path to oqs libs>  <openssl executable>


Clustering dendrogram y-axis off

Dale do you want to take a crack since you made the images? Perhaps it could be addressed with a caption or something instead?

Hi Andrew,
I am getting an error when I try to respond on github.  This example is from our multivariate textbook, "methods of multivariate analysis" by Rencher and Christensen.  In their dendrogram plot the axis goes from 0 to 700+ and so it makes more sense to compare the numbers directly with the distances.  I created the dendrogram using a package in R and it cut off the values between 0 and 350 which is misleading.  I wonder if you could add a comment to the effect that the graphs is for illustration only to see which groups were combined at each level.
Best,
Dale

From: Andrew M Olney @.>
Sent: Monday, May 31, 2021 11:53 AM
To: memphis-iis/datawhys-content-notebooks @.>
Cc: Dale D Bowman (ddbowman) @.>; Assign @.>
Subject: Re: [memphis-iis/datawhys-content-notebooks] Clustering dendrogram y-axis off (#99)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and trust the content is safe.
Dale do you want to take a crack since you made the images? Perhaps it could be addressed with a caption or something instead?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/memphis-iis/datawhys-content-notebooks/issues/99#issuecomment-851596532, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOUET7W73WHVK6XXSUT24HLTQO5KFANCNFSM4RVZGZ4Q.

@ddbowman That would work; if regenerating the figure isn't easy, what do you think about me editing the image so the top horizontal line is at 590 (approximately marked in green below)? I think that's what the student was asking (the comment was from the online course)

Hi Andrew,
That sounds fine to me.   The dendrogram program I used was not very flexible.  I think a commment that the y-axis might be misleading as far as the actual distances might be appropriate as well.
Best,
Dale

From: Andrew M Olney @.>
Sent: Monday, May 31, 2021 2:40 PM
To: memphis-iis/datawhys-content-notebooks @.>
Cc: Dale D Bowman (ddbowman) @.>; Mention @.>
Subject: Re: [memphis-iis/datawhys-content-notebooks] Clustering dendrogram y-axis off (#99)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and trust the content is safe.
@ddbowmanhttps://github.com/ddbowman That would work; if regenerating the figure isn't easy, what do you think about me editing the image so the top horizontal line is at 590 (approximately marked in green below)? I think that's what the student was asking (the comment was from the online course)
[image]https://user-images.githubusercontent.com/4432084/120234626-03978080-c21e-11eb-93ab-c1b807cfc963.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/memphis-iis/datawhys-content-notebooks/issues/99#issuecomment-851650069, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOUET7VVMRSVJ32RYDXTUBDTQPQ2PANCNFSM4RVZGZ4Q.

Or, I could change the y axis to go from 0 to 700, with 590 lining up with the original horizontal line - that seems like the best if you think it would no longer be misleading

That would be optimal, I think.
Best,
Dale

From: Andrew M Olney @.>
Sent: Monday, May 31, 2021 5:27 PM
To: memphis-iis/datawhys-content-notebooks @.>
Cc: Dale D Bowman (ddbowman) @.>; Mention @.>
Subject: Re: [memphis-iis/datawhys-content-notebooks] Clustering dendrogram y-axis off (#99)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and trust the content is safe.
Or, I could change the y axis to go from 0 to 700, with 590 lining up with the original horizontal line - that seems like the best if you think it would no longer be misleading
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/memphis-iis/datawhys-content-notebooks/issues/99#issuecomment-851703736, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOUET7THKHENKCVNU6ILNWLTQQEMHANCNFSM4RVZGZ4Q.

Ended up implementing the spirit of this, but not with 0 and 700 axis labels, because the figure wouldn't support it.
However the new labels are consistent with the distances in the preceding tables
Closing with https://github.com/memphis-iis/datawhys-content-notebooks/commit/f5f84bedb6ded11d96130a8784e82d1e0bee8787


"this.field" is undefined inside a function provided as a part of config in "defaultOptions"

Description

there is a custom formly component with custom directive in a template
directive accepts configuration object
a function, for example, onClick is a part of this configuration object
I provide this function in custom component's defaultOptions

Trying to access this.field inside the function results in "undefined", accessing this.to, this.formControl etc. results in "ERROR TypeError: Cannot read property 'templateOptions' of undefined".
Temporary workaround is to re-assign the function before providing configuration object to a directive, see minimal reproduction.
Minimal Reproduction
https://stackblitz.com/edit/angular-dpnvyp
Your Environment

Angular version: 7.2.16
Formly version: 5.5.15

Additional context
Originally problem was found when I was working with flatpickr library, so I thought this may be bug in their code also, but then I got rid of it and the problem still remained.
Access to this.to is needed to retrieve dateFormat string, which is provided by backend as a part of field configuration in JSON format.
The minimal reproduction is completely made up, flatpickr actually expects a return value from a provided function, so it can't be simply moved to @Output in a binding directive.

I've figured out the issue that was introduced since 5.5.11 version, for now, use 5.5.10 version until I find a fix.

Seems the issue exist in the old versions too but occurs only when the field is re-rendered, the only solution for that is to assign functions) that rely on this in onInit instead of defaultOptions:
export class CustomComponent extends FieldType {
  ...

  ngOnInit() {
    this.to.some = {
      onClick: this.onClick
    };
  }
}


Remove sentence

The fact that the root site can't be group connected is already mentioned in the previous bullet
closes https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/issues/3404

@MikePlumleyMSFT