Support ALREADY_EXISTS status of ContainerPut

Context
In current version NeoFS system does not give a feedback on the creation of an already existing container (Container.Put). There are some need of PutIfNotExists operation, which is not supported in NeoFS API V2 protocol (originally posted by @KirillovDenis @masterSplinter01 @realloc in NeoFS S3 Gateway project).
Overview
We can support using current behavior of PUT and GET ops:

call GET, return on error;
compare binary formats of current and already stored containers, and return ErrAlreadyExists if they are similar (*);
call PUT.

* we can also compare owners (for some need of S3 mentioned by @KirillovDenis).
P.S.
Since containers are content-addressed, there can be a surprise in 2. when we received container by its ID and it differs binary. In NeoFS API V2 protocol it is impossible and this can only occur in the case of a malicious server, so it is worth considering such a case as an error, too.
According to NeoFS API V2 protocol, the client immediately receives the identifier of the container being created, even though it is written asynchronously. It implicitly follows from this that the structure of the container, formed by the user, must not be changed. We've decided with @realloc  that this fact should be emphasized in the NeoFS specification.

We can support using current behavior of PUT and GET ops:

What about implementing existence check in container contract during test invoke?

Call container.Put
Receive well-known panic message (like NotFoundError
Parse and return ErrAlreadyExist status code.

Receive well-known panic message

This is an argument for native support in protocol of Container.Put.

I'd suggest not to change regular Put bahaviour. It should be an upsert-like warapper.

I'd suggest not to change regular Put bahaviour. It should be an upsert-like warapper.

Upserting will be possible only in case of hash collision between two different containers with the same ID (which is extremely unlikely). You sure want to have two RPCs (Get, Put) instead of one?

I mean normal Put has to return OK if container already exists. Additional PutIfNotExists(name is random, may be a flag) has to make additional Get to check. But that's up to the developer to decide what call does he need according to application logic.

I mean normal Put has to return OK if container already exists. Additional PutIfNotExists(name is random, may be a flag) has to make additional Get to check. But that's up to the developer to decide what call does he need according to application logic.

Just to be clear: on the protocol level container.Put returns ALREADY_EXIST status if container exists. Client (pool) library can ignore this error if specific flag is set \ unset (or invoked additional method).

It seems that we can't solve this issue with preliminary container.Get request. The reason is that main source of collisions in application is not container ID, but nicename. With random nonce it is highly unlikely that we will get the same container ID.
NeoFS API does not provide nicename lookup. And it should not, I believe. We will have an error during container.Put that can be parsed by library or application.
I think it should not be parsed on library level, because it is not a part of protocol. Also nicename storage technically can be tied with other external domain controllers.
@cthulhu-rider can we close this issue?

We can work with container IDs only, so for now it's not actual.


How to color a label?

I want to make my link and my link label have the same color.
It seems like if I want to do this, I'll need to specify the label as html and format it myself. Any tips? I'm entering uncharted territory.

Nvm:
.link(to(vizNodeEnd).with(Label.of("$frequency"), color, color.font()))

Using color.labelFont() doesn't work.

Hm. I tried this
Graph g=graph().with(node("a").link(to(node("b")).with(Label.of("red"),Color.RED,Color.RED.font())));
and it renders a red link and a red label...
This does not work for you?

This did work for me. Thanks!
.link(to(vizNodeEnd).with(Label.of("$frequency"), color, color.font()))


[BUG] Remote images take precedence over localhost images

Version
redhat-actions/push-to-registry@v2 (pointing to<EMAIL_ADDRESS>Describe the bug
push-to-registry currently does not support manually specifying the local image to push to the registry (also see #58, suggesting a local input). It rather uses the (unqualified) image name as reference. This will cause issues when Podman's registry search path (i.e. Podman's default registries.conf) doesn't resolve the unqualified image name to the local storage, but a registry. push-to-registry might end up pushing the wrong image...
Steps to reproduce, workflow links, screenshots
See https://github.com/SGSGermany/debian/runs/6995305321?check_suite_focus=true#step:8:113
Here I'm building a base image for Debian-based containers. The source is docker.io/debian:bullseye (digest sha256:ea4b2132c62e73f34156f416e5e21247b58f5cb4ab23105071ca94472f78d02d) and the image built (digest sha256:9b831a98b2faed194c86234c8f4e9111eb38c44652530a40601b698056315453) is tagged with debian:bullseye (among others, e.g. debian:v11). I'm trying to push this image with all its tags to ghcr.io/sgsgermany/debian.
As you can see, push-to-registry pushes docker.io/debian:bullseye for the bullseye tag, and not the expected localhost/debian:bullseye (compare digests; digests of the pushed debian:bullseye and debian:v11 don't match, even though localhost/debian:bullseye and localhost/debian:v11 match).
push-to-registry should always use a fully-qualified image name for the local image (i.e. /usr/bin/podman push --quiet --digestfile debian-v11.3_digest.txt localhost/debian:bullseye ghcr.io/sgsgermany/debian:bullseye --tls-verify=true). Another solution might be to set CONTAINERS_REGISTRIES_CONF=/dev/null for podman push, but this needs verification.

Any updates on this? push-to-registry still pushes the wrong images.
There should at least be some warning that the image name is ambiguous and push-to-registry should perform some basic problem resolution. This doesn't necessarily mean to always choose the localhost image; another solution might be to choose the image matching the first given tag (just be careful not to re-introduce #57), and fail if the image matching the first given tag is not among the image alternatives; yet another solution is to add a local input to specify the local image to push manually.
Since this is open for about a year now, the workflow logs were deleted. Here's a new one: https://github.com/SGSGermany/debian/actions/runs/5062208592/jobs/9087436977#step:9:115

I think I've had a similar issue in https://github.com/redhat-actions/buildah-build/issues/129, which I "solved" via https://github.com/travier/quay-containerfiles/commit/637860497a26555986ec17d1859ba0db754b81ff.


Update ripple.proto

High Level Overview of Change
Remove vestigial comments from not implemented Proof Of Work scheme for peer connections.
Type of Change

[X] Documentation Updates

@nbougalis One for you maybe.

Had  a quick look, but my knowledge of CMake is zero and there's an awful lot of it in Protobuf.cmake! Not sure if it just as trivial as changing the filename in the protogen input parameter as can't see where the output file name is decided.

Had a quick look, but my knowledge of CMake is zero and there's an awful lot of it in Protobuf.cmake! Not sure if it just as trivial as changing the filename in the protogen input parameter as can't see where the output file name is decided.

I think it's really just that simple. Rename the file, update the parameter to the new filename....

Done :-)

Not quite so simple in the end...
Searching 35953 files for "ripple.pb.h"

/Users/donovanhide/rippled/src/ripple/overlay/Message.h:
   40  // VFALCO NOTE If we forward declare Message and write out shared_ptr
   41  //             instead of using the in-class type alias, we can remove the
   42: //             entire ripple.pb.h from the main headers.
   43  //
   44

/Users/donovanhide/rippled/src/ripple/overlay/Slot.h:
   29  #include <ripple/overlay/Squelch.h>
   30  #include <ripple/protocol/PublicKey.h>
   31: #include <ripple.pb.h>
   32
   33  #include <algorithm>

/Users/donovanhide/rippled/src/ripple/overlay/impl/ProtocolMessage.h:
   33  #include <memory>
   34  #include <optional>
   35: #include <ripple.pb.h>
   36  #include <type_traits>
   37  #include <vector>

/Users/donovanhide/rippled/src/ripple/protocol/messages.h:
   32  #endif
   33
   34: #include "ripple.pb.h"
   35
   36  #endif

/Users/donovanhide/rippled/src/test/overlay/compression_test.cpp:
   40  #include <boost/endian/conversion.hpp>
   41  #include <algorithm>
   42: #include <ripple.pb.h>
   43  #include <test/jtx/Account.h>
   44  #include <test/jtx/Env.h>

/Users/donovanhide/rippled/src/test/overlay/reduce_relay_test.cpp:
   24  #include <ripple/overlay/impl/Handshake.h>
   25  #include <ripple/protocol/SecretKey.h>
   26: #include <ripple.pb.h>
   27  #include <test/jtx/Env.h>
   28

6 matches across 6 files


cacheDir path is missing the root path

Hello. Looks like the cacheDir option in Vite config file is broken. I feel like the root option has been forgotten.
{
  root: "./packages/application",
  cacheDir: ".cache"
}

It does save the certificate into /.cache instead of ./packages/application/.cache.
Thanks.

Hello. Looks like the cacheDir option in Vite config file is broken. I feel like the root option has been forgotten.
{
  root: "./packages/application",
  cacheDir: ".cache"
}

It does save the certificate into /.cache instead of ./packages/application/.cache. Thanks.
this plugin compute cacheDir itself  which is different from the rule of vite, I think the hook used in this plugin is a little early


Subscriptions are not received with pubnub 4.0.7

PubNub's Ruby SDK was updated from 3.x to 4.x to use Celluloid in lieu of EventMachine. While the API remains the same and events are executed, something is preventing the subscription callbacks from being executed. This code is in the RingCentralSdk::REST::Subscription class.
Examined two approaches so far:

Pubnub#subscribe now returns a Celluloid::Future object. Did some initial tests such as saving the Celluloid::Future as an object property so it doesn't go out of scope but that didn't solve the issue.
Changed the .subscribe call from using the callback: parameter to the tutorial style, but that also didn't address the issue:

pubnub.subscribe(
  channel: 'my_channel'
) do |envelope|
  puts envelope.message
end

Will do more testing later.
For now, this can be an issue when using RingCentral 1.3.0 and 1.2.3 which use the latest PubNub, e.g. 4.0.7.
RingCentral 1.3.1 handles this by locking to PubNub 3.8 for now.

v4 SDKs use a single listener for all subscribe/presence and subscribe status messages. You can see example here in the docs
https://www.pubnub.com/docs/ruby/pubnub-ruby-sdk-v4#ruby-sdk-usage

@pubnubcraig Thanks. That looks like it will help.
It may be useful to update the SDK README.md which says the following:

PubNub Gem version 4.0.0
[...]
Upgrading from PubNub 3.6.x / 3.7.x
Main change is that we're no longer using EventMachine. Right now Celluloid is used. Public API remain unchanged. If you encounter any issues while upgrading from EventMachine version, please contact us at<EMAIL_ADDRESS>you can also find eventmachine version in "eventmachine" branch of this repo.

Updated to 4.0.16 in master branch.


Figure out data storage method (API vs Database)

Not sure which is better because we can make a local API or a database with react? But I am not sure what is better for our case, as well as what is realistically easier for us

End result was using Database as API would require making a database along with calls. End result was CRUD functions using Firebase


Resend tx when it fails on ethereum

Checklist

[ ]  A link to the issue/user story that the pull request relates to
[ ]  How to recreate the problem without the fix
[ ]  Design of the fix
[ ]  How to prove that the fix works
[ ]  Automated tests that prove the fix keeps on working
[ ]  Documentation - any JSDoc, website, or Stackoverflow answers?

Issue/User story

Steps to Reproduce

Existing issues

[ ] Stack Overflow issues
[ ] GitHub Issues
[ ] Discord history

Design of the fix

Validation of the fix

Automated Tests

What documentation has been provided for this pull request

Closing as no response from submitter


HTTP Ext Auth Redirection

Describe the feature
HTTP External Auth should be capable of returning 301/302 redirections to a new stream paths
Description
I am trying to make a twitch alike service, While I know twitch uses "/app/key" I'm trying to do something similiar with "/username/streamkey" where the user will input "rtmps://serv:port/username" then in the stream key section input the hidden key. which would return a stream path of "username/streamkey" this would be fine if I could strip the /streamkey and tell the server via EXT Auth to 301/302 the path to a new location.
I've tried a few different ways to try to handle this situation but I'm at a loss at the moment, and don't think its fully possible without further assistance and requesting 301/302 redirect support.

You need to use a reverse proxy and/or jwt authentication

As far as I can tell redirection only works internally, and not via external auth or JWT at all. I'm asking for something like the on_play directive for NGINX RTMP.
HTTP 2xx code continues RTMP session
HTTP 3xx redirects RTMP to another stream whose name is taken from Location HTTP response header. If new stream name is started with rtmp:// then remote relay is created instead.

You may be right. I was able to redirect and perform checks before starting streaming using WHIP/WHEP that works via http. I don't know if you can do the same with RTMP.

I am having the same problem right now. Did you find a solution?

No, I was never able to resolve this. I simply check on auth/stream that the username/stream path match exactly, and if they try to stream to any other path than the username with the key, its rejected just like any other invalid stream.
I was never able to force redirection to the correct path. A twitch-alike solution ( e.g. rtmp://<IP_ADDRESS>/app/streamkey ) is not doable as far as I can tell.


Japanese in ja.cdnjs.com is incorrect

I found a Japanese translated cdnjs. It is good to Japanese speaker!
However, I think Japanese word is incorrect. So I want to fix it.
I searched translation file in this repository, but I can not found. How to contribute this?
Thanks

Sorry that we are using Google translate, so we can not manually fix the wording.

It is very unfortunate...
Do you have any plan to foreign languages? (ex: i18n)

Should ask @thomasdavis, ha.

thanks @PeterDaveHello , waiting for @thomasdavis .

We've had so many requests for different languages to be manual now that I should probably implement it. Maybe we should setup a translations yaml file...

That is in favor. I know setup is hard, but I will try.

Alright, are you familiar with yaml?

Yes, I written yaml in travis.yml, circle.yml and Rails project.

Maybe we can use Transifex fo help manage translations.

@thomasdavis sorry I am late. Please review :arrow_up: PR

@e-jigsaw sorry that we are too busy so didn't review it yet, this PR can't not be merged now, would you please rebase your branch with our latest master branch to make sure it can be merged, then I'll review it, sorry for the inconvenience.

@PeterDaveHello ok

@PeterDaveHello I was fixed locations had been changed so far. Please review again, Thanks.

Okay, I'll do it within a week.

Close due to no response on #35, sorry.


3.0.0: CLI generator for adding routes does not update the file.

I'm loving the CLI tools in the 3.0.0 version and they work, except for the routes option. I've created a TestPage component with the CLI and was trying to hook it up with the routes by using the CLI like this:
? [PLOP] Please choose a generator. route - Add a route
? [ROUTE] Which component should the route show? TestPage
? [ROUTE] Enter the path of the route. /test
[SUCCESS] modify C:\my\path\react-boilerplate\app\routes.js
but the file did not get updated. Using Windows 10 and npm 3.8.1

Will check it out asap, thanks for reporting this!

This also works fine for me on OS X. I'm pretty sure both of those issues are due to some local env problems!

@mxstbr Just as with the linting error, I've retried this using a freshly pulled version of v3.0.0. The routes.js file does not get updated (using Windows 10, NVM 3.8.1, Node 4.4.0)


"Șoimari" is listed in the drop-down menu

The commune is  listed in the drop-down menu alongside its corresponding county, according to the law
Preconditions : the website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Șoimari"
Expected results
The location appears in the drop-down menu as "Comuna Șoimari, PRAHOVA"


Add DNS A-Record to CAF Deployment for PowerBI.com

Based on the following JIRA ticket (Unable to Connect to PowerBI.com from Azure VM), and the subsequent solution, we need to add some post-CAF deployment code to create DNS A-Records.
DNS Records
For PowerBI (and the Data Gateway), we need the following 2 DNS CNAME records in the privatelink.analysis.windows.net Private DNS Zone:
NAME: app.privatelink.analysis.windows.net
TYPE: CNAME
ALIAS: app-pbi-wfe-canada-central-v3.pbi-wfe-canada-central-v3-ase.p.azurewebsites.net
---
NAME: api.privatelink.analysis.windows.net
TYPE: CNAME
ALIAS: wabi-canada-central-redirect.analysis.windows.net

[!NOTE]
Ultimately, this is an issue with the CNAME chain from Microsoft for PowerBI.com, specific to Canada.
The CNAME records are not region dependent.

This is no longer be needed once we remove the private dns zone
Un-Link Analysis Private DNS Zone from Private DNS Resolver VNet


Set disableKeepAlives to true for PagerDuty notifier

What did you do?
We have an alert rule like the following which fires off periodically, saying failing to notify PagerDuty.
    - alert: AlertmanagerNotificationFailing
      expr: 'rate(alertmanager_notifications_failed_total[1m]) > 0'
      labels:
        severity: warning
      annotations:
        description: "Alertmanager is failing sending notifications."
        summary: "AlertManager {{ $labels.instance }} -
          {{ $labels.integration }} notification failing"

After setting the log level to debug, we found messages like below:
{"attempt":1,"caller":"notify.go:668","component":"dispatcher","err":"failed to post message to PagerDuty: Post https://events.pagerduty.com/v2/enqueue: http: server closed idle connection","integration":"pagerduty","level":"debug","msg":"Notify attempt failed","receiver":"linf","ts":"2020-08-10T19:01:54.036Z"}

So the PagerDuty notifier tries to keep connections alive and the idle timeout is 5 min as per here, but clearly PagerDuty closes out idle connections sooner than that.
Response from PagerDuty's engineering team is

It seems like you are trying to use a persistent connection to our Events API in order to send multiple events. I'm afraid this is currently not supported by the Events API, we don't expect to keep connections alive any longer than a single API request.

What did you expect to see?
Based on that, I am wondering if we could update this line from
	client, err := commoncfg.NewClientFromConfig(*c.HTTPConfig, "pagerduty", false)

to
	client, err := commoncfg.NewClientFromConfig(*c.HTTPConfig, "pagerduty", true)

so that keep-alive will be disabled, and users will not receive the above errors, and the metric alertmanager_notifications_total will not be incremented because of it.

Alertmanager version:

Version Information
Branch: HEAD
BuildDate: 20191211-14:13:14
BuildUser: root@00c3106655f8
GoVersion: go1.13.5
Revision: f74be0400a6243d10bb53812d6fa408ad71ff32d
Version: 0.20.0

Alertmanager configuration file:

global:
  resolve_timeout: 5m
  smtp_hello: localhost
  smtp_require_tls: true
  pagerduty_url: https://events.pagerduty.com/v2/enqueue
  hipchat_api_url: https://api.hipchat.com/
  opsgenie_api_url: https://api.opsgenie.com/
  wechat_api_url: https://qyapi.weixin.qq.com/cgi-bin/
  victorops_api_url: https://alert.victorops.com/integrations/generic/20131114/alert/
route:
  receiver: default
  group_by:
  - '...'
  routes:
  - receiver: default
    group_by:
    - '...'
    match:
      label: value
  group_wait: 0s
  group_interval: 5m
  repeat_interval: 4h
receivers:
- name: default
  pagerduty_configs:
  - send_resolved: true
    routing_key: <secret>
    url: https://events.pagerduty.com/v2/enqueue
    client: '{{ template "pagerduty.default.client" . }}'
    client_url: '{{ template "pagerduty.default.clientURL" . }}'
    description: '{{ .CommonAnnotations.summary }}'
    details:
      firing: '{{ template "pagerduty.default.instances" .Alerts.Firing }}'
      num_firing: '{{ .Alerts.Firing | len }}'
      num_resolved: '{{ .Alerts.Resolved | len }}'
      resolved: '{{ template "pagerduty.default.instances" .Alerts.Resolved }}'
    severity: '{{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toLower
      }}{{ else }}critical{{ end }}'

I'm afraid this is currently not supported by the Events API, we don't expect to keep connections alive any longer than a single API request.

If that's the case then Pagerduty should be sending back a Connection: Close header as connection persistence has been the norm for 20+ years. As-is, Pagerduty is violating the HTTP spec.

@shamilpd Can you look at this?

Hi @roidelapluie. I am looking at this. We will decide next week whether will we support keep-alive connections going forward or respond with e Connection: close header.

Thank you!
In both ways it seems that the bug is not on the Alertmanager side then. I will rename the issue and let it open for a week so that other users who might experience this do not create the same issue and can see this discussion.

Thanks everyone for chiming in and helping out!
@shamilpd Looking forward to a verdict on this :) This can really save us from being paged past midnight for false alarms.

@shamilpd just wondering if you have decided on this?

Hey @mapshen sorry for the late reply! We have support for keep-alive connections now and we are using 75s for the timeout (default for nginx). If you set IdleConnTimeout to 75s or less, everything should be fine.

The timeout is not configurable by alertmanager users and is set to 5 minutes.

@shamilpd like @roidelapluie said, it's not configurable. Maybe could we just return Connection: Close? We got another false alarm last night...

We automatically retry, and there's nothing about this situation that should in itself generate alerts. Where exactly are these alerts coming from?

We automatically retry, and there's nothing about this situation that should in itself generate alerts. Where exactly are these alerts coming from?

Now that I think about it, could it also hit the HTTP/2 bug?

@mapshen Pagerduty won't be able to disable keep-alive connections. We are following the normal convention now and are using a default value for idle connection timeouts.
It seems to me that the behavior you are seeing from Alermanager (timeout error + retry) is by design for handling idle connections so it's to be expected - especially because the timeout is set to such a high value (5 minutes). We also haven't received any similar complaints from our other Prometheus users.
I would ask you to reconsider whether or not you really need the alert you made. Is there a different metric you can use? Since this is an expected case, one option would be to increase the threshold on the alert to be higher than the value that it reaches when it triggers due to these timeouts.

We alert based on alertmanager_notifications_failed_total, and we choose to alert whenever this metric gets incremented as not all failed notifications are being retried automatically like these and we don't want to miss potential real alerts. Not sure how we could improve this alert rule but we are definitely open to better ideas. Chances are we are doing it wrong.
One idea I have is that, since this line  increments alertmanager_notifications_failed_total if alertmanager fails to notify, even when retry is set to true, we could enrich this metric with an retriable label denoting whether it's a retriable error. If not, we alert when the value increases; otherwise, we alert when a certain threshold gets hit within a time period.

This is similar to #2361

IIUC PagerDuty now supports keep-alives. The connection might occasionally need to be re-established due to different time-out settings hence alertmanager_notifications_failed_total is increased but the next retry should succeed. Knowing that we've got already #2361 to improve the metrics (there's even a PR opened, #2383), I'm closing this issue for now. Feel free to re-open if I'm mistaken.

Meant to do a PR but never got the time. The solution proposed in #2383 looks alright to me.
Thanks for taking care of this, @simonpasquier !


Question Regarding Negative Reflectivity (dBZ) Values in Contour Plot Scale

Hi,
I have created a few charts and seen a few examples of making colour contour plots of reflectivity (dBZ) and I noticed that on the scale there are negative values. Typically radar reflectivity chart have only positive values on the scale and range from say 0 - 75dBZ for example.
What is the reason behind having or including negative dBZ values? Do they represent what would be weak or spurious radar returns especially at the edges of large positive contours?

I am not expert in radar data. However, if having negative values is not technically wrong, you can display only positive values by specifying manual for the inquiry below, and then, set the minimum value equal to 0:
 Specify The Method Of Drawing Contours (1 or 2) for dbz:
1) Automatic
2) Manual


feat: Centralize Supportability Metric Collection

Centralize collection of supportability metrics to aid adjacent teams in auditing and understanding their purpose over time

Overview

Related Issue(s)

Testing

Will likely close this investigation if build-size issues cannot be mitigated, as those outweigh the benefits of centralizing all the tags.  Will consider alternative solution


SubMenuItems

Hi Roemer. I would like to perform a click on this menuItem. No success right now....

FlaUI.Core.AutomationElements.Menu menuPrincipal =
window.FindFirstDescendant(cf => cf.ByName("MainMenuToolbar")).AsMenu();
FlaUI.Core.AutomationElements.MenuItem menuItemFile = menuPrincipal.Items["File"];
            menuItemFile.Expand();

From here, nothing works. menuItemFile does not have any items....
Can you help me?. Thanks!

If you use FlaUInspect what does it look like?

I can see the control that I want but I do not see the menu items that I need to perform the click or expand. My first step is to navigate correctly through the toolbar, File->New...->New model. I can access to File item but it seems that it has not items....I think this menu was developed using Infragistic. I do not know if FlaUI can use it.
Thanks.

Sorry, I think this image is what you want. Notice that no chindren, items under File menu item and there are more items ....

Try using Hover Mode (use Ctrl) in FlaUInspect and look at that item when the menu is expanded. They won't show up there (or in your code) if the menu is collapsed so it makes debugging tricky. If you step through, as soon as you hit a breakpoint, the menu closes so you wouldn't see it's children.
I am guessing it is there, but it just isn't being found by whatever method you are using. You can try something like:
menuItem.Items[0].Click()
after your expand call just to verify it is there when expanded.

Well, after..... tries, I've got it. Thanks for your help!. I will continue working with this API. Good job!


react-native-cli version check broken on Linux systems using GNU grep

tl;dr need to pass -P to grep.

[x] Issue does not already exist
Identify exactly what aspect your issue is about

[ ] ignite base application
[x] ignite the cli
[ ] ignite generated code

On my Ubuntu system I run into this issue:
$ ignite new IgniteHelloWorld
🔥 Setting IgniteHelloWorld on FIRE! 🔥
<snip>
-----------------------------------------------
Igniting IgniteHelloWorld

𝗫 Must have at least version 1.x - 'npm install -g react-native-cli'

However, react-native-cli is for sure installed:
$ react-native -v
react-native-cli: 1.0.0
react-native: n/a - not inside a React Native project directory

The culprit is this check: https://github.com/infinitered/ignite/commit/1c47ccc91a7d7e7ebe2c0aa398d749b4cd0671e4#diff-7a6ed336074319f13867bb62262e9c3bR141
It's assuming grep will default to PCRE expressions, but GNU grep does not. Fix is to pass -P to grep. Demo:
$ react-native -v | grep 'react-native-cli: [1-9]\d*\.\d\.\d'
$ react-native -v | grep -P 'react-native-cli: [1-9]\d*\.\d\.\d'
react-native-cli: 1.0.0

node -v: v4.4.7
npm -v: 3.10.5
react-native -v (cli): 1.0.0
react-native -v: n/a
ignite --version: 1.3.2

Hm, some searching suggests -P isn't supported on OSX. May be a better idea to just do the matching in JS instead of using grep.

+1

Here's what I just did to dodge the strange version output of react-native-cli.  Perhaps we can plug this in if it checks out on ye olde linux.
https://github.com/infinitered/ignite/pull/264/files#diff-d8b6af7dfcff66d91d99d00b3a644ac3R96

this is solved in 1.4.0


Cache Autoscaler for DL training as mentioned in Fluid paper Section V.B.3

Hi,
I'm wondering where I can find the Cache System Autoscaler for DL training as mentioned in Fluid paper Section V.B.3?
I've spent hours scanning the documentation, but failed to find the corresponding doc/script.
There are 2 related docs, but they don't answer my question:
(1). Accelerate Machine Learning Training with Fluid It does describes how to run ML training on Fluid, but the cache capacity is hardcoded. However, according to the Fluid paper, the cache amount should adapt dynamically to the training speed.
(2). Cache Runtime Auto Scaling Although it describes how to scale cache workers on the fly, the scaling policy is quite simple (checking if 90% cache capacity is used). However, the scaling policy for DL training is much more complicated.
Therefore, I'm wondering if there is any doc/demo/script/etc that can help me reproduce the cache autoscaling for DL training, as mentioned in the paper?
Any help will be appreciated!
Thanks,
Meng

/assign @RongGu


CMSPlugin reduce function breaks in django 1.8

I have been working with pickling/caching models on my site recently. I am forced to work with django 1.8 since it is the TLS version. It seems that "model_unpickle" was changed in django 1.9, and djangocms changed to reflect that change. The problem is that pickling models now breaks with django 1.8. I have overwritten the "reduce" function in my models, but perhaps a better solution is needed.
I figured I would at least create an issue so other people would be aware. Here is what I did with my reduce function:
overwritten the way a model is pickled so that we can pass a deffered_class_factory
from django.db.models.query_utils import DeferredAttribute, deferred_class_factory
def __reduce__(self):
    """
    Provide pickling support. Normally, this just dispatches to Python's
    standard handling. However, for models with deferred field loading, we
    need to do things manually, as they're dynamically created classes and
    only module-level classes can be pickled by the default path.
    """
    data = self.__dict__
    # The obvious thing to do here is to invoke super().__reduce__()
    # for the non-deferred case. Don't do that.
    # On Python 2.4, there is something wierd with __reduce__,
    # and as a result, the super call will cause an infinite recursion.
    # See #10547 and #12121.
    deferred_fields = [f for f in self._meta.fields
                       if isinstance(self.__class__.__dict__.get(f.attname),
                                     DeferredAttribute)]
    model = HeaderLink
    return (model_unpickle, (model, deferred_fields, deferred_class_factory), data)

@sunfirester
Thanks for reporting. I'll investigate further.


feat(tikv/client-rust): enable prow bot

What is changed and how it works?
What's Changed: enable some basic plugins and tide to control reviewing and merging.
How it Works:

/cc @pingyu

/approve


brew install not working

Description
Hi! The install of dockle on macOS via your brew install tap does not seem to work.
% brew install goodwithtech/r/dockle
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> Updated Formulae
Updated 1 formula.
==> Updated Casks
Updated 4 casks.

==> Tapping goodwithtech/r
Cloning into '/opt/homebrew/Library/Taps/goodwithtech/homebrew-r'...
remote: Enumerating objects: 119, done.
remote: Counting objects: 100% (119/119), done.
remote: Compressing objects: 100% (96/96), done.
remote: Total 119 (delta 31), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (119/119), 16.45 KiB | 311.00 KiB/s, done.
Resolving deltas: 100% (31/31), done.
Error: Invalid formula: /opt/homebrew/Library/Taps/goodwithtech/homebrew-r/Formula/dockle.rb
formulae require at least a URL
Error: Invalid formula: /opt/homebrew/Library/Taps/goodwithtech/homebrew-r/Formula/sqlboiler.rb
formulae require at least a URL
Error: Invalid formula: /opt/homebrew/Library/Taps/goodwithtech/homebrew-r/Formula/dockertags.rb
formulae require at least a URL
Error: Cannot tap goodwithtech/r: invalid syntax in tap!

@hazcod
Hmm... I can't reproduce it...
Maybe race condition occurred. GitHub Action is releasing Dockle v0.3.12 at that time.
https://github.com/goodwithtech/dockle/runs/2417293203?check_suite_focus=true
Please try it again.

Ah, perhaps it's because darwin_arm64 builds aren't published for doccle.
(I'm on an M1)

@hazcod Ah, thank you for the report.
Now supporting Darwin ARM64 builds.
https://github.com/goodwithtech/dockle/releases/tag/v0.3.13

@hazcod All of them supports Darwin ARM64 now.
Could you try to install dockle via homebrew?

Works, thank you!


Hide goals with state.type=completed,failed,canceled by default via filter

PR includes

[x] Feature

Related issues

Resolve #1337
QA Instructions, Screenshots, Recordings

https://github.com/taskany-inc/issues/assets/9020793/4426bc4c-994d-4d40-85f0-02a6c9fe9c64

https://github.com/taskany-inc/issues/assets/9020793/bb280b2e-3b2b-4255-b966-a17a1ffcdc21


Adding libs

Some of the new functions that have been created are not currently imported into the index.js file. I imported them all into index.js file so they can be used by the npm module.

Pull Request Test Coverage Report for Build 49

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

Totals

Change from base Build 46:
0.0%

Covered Lines:
585

Relevant Lines:
585

💛  - Coveralls


[libcanberra] Remove vcpkg_fail_port_install.

Supports expression simplified because uwp implies windows.
In support of https://github.com/microsoft/vcpkg/pull/21502

lol, I'm in violation of the LAW, DeMorgan's laws


Properties in the inspector lacking tooltips.

I suspect this should have "Documentation" and "Discussion" tags at least.
A lot of properties for default nodes are lacking descriptive tooltips. For example, the "Under" and "Over" properties of TextureProgress display "property: texture/under", without any description of what the property actually does. Whereas the "Pos" property on the same node does (which appears to come from Rect, in the same way "Pos"'s tooltip on a Sprite comes from Node2D?).
What is the (best) way of adding these?

AFAIK the tooltips come from the documentation of the setter method (for that property) and it's defined manually which method to get the doc from. Since TextureProgress has no documentation for the methods, that's why it's missing. They also inherit the tooltips along with the properties, as you noticed: Sprite position is the same transform/pos from Node2D and TextureProgress inherit rect/pos from Control.
However, not every property shown in the inspector has a setter method, so the current approach is a bit lazy, leaving quite a few properties without any tooltip. Also, some setter methods are documented as methods so they're phrasing is weird when showing as a tooltip.

Yes, tooltips come from the setter method. Which becomes a problem in 3, as the separate setters and getters disappears for member variables, which have their own things. The tooltip has to be set to have the member text instead, because the tooltips in the editor are important.

Should be easy to change in https://github.com/godotengine/godot/blob/02c7566/editor/property_editor.cpp#L2915-L2948

Guess that the major issue here is the lacking of tooltips from the members of the parent classes... for example... by selecting a Node2D node, the Node2D properties has tooltips - Ok. But the properties from the class which Node2D inherits from (CanvasItem) don't have tooltips...
A fix for this is to traverse class docs using the inherits property of ClassDoc... do you agree or i'm missing something?


Colab

Is there any colab for all this?

@ezzatmostafa96
I'm planning creating a colab for video visualization which requires a pretrained model

when will you finish it?
Also, is there like a steps to go with in running the files. thanks

The README.md closely describes the required steps. However, there are some bugs reported previously. Some of them are already solved in another branch but I won't merge until it works perfectly. After that, I intend to create the colab. The thing is that I don't have a free machine for this so I run it on my personal mac and it takes quite a while.

There's a notebook directory for this.


[Storage] More PyLint-next changes for Queue

Addressing more pylint-next changes for azure-storage-queue package.

API change check
API changes are not detected in this pull request.


rename package to stac-workflow

The name stac-task may be misleading due to the use of "tasking" with regard to ordering future collects of data from a satellite or remote platform. See https://github.com/Element84/stat-api-spec
In this context a "task" is a processing function that takes in 0 or more STAC Items and returns 1 or more STAC Items.  Where used the term workflows refers to a series of tasks chained together.
Suggest renaming repo to stac-process to better reflect what it does.

After discussion at the last stac-utils working group meeting, it was decided that stac-workflow is what this should be re-named to.  To minimize disruptions, the following plan of action is proposed:

fork this repo
update the README here to inform folks that dev here has ceased, and they should use stac-workflow
Have more conversations about adding a Workflow class.

Does that jive with your recollections @matthewhanson and/or @gadomski ?

Yeah, sounds good to me. IIRC there was also the suggestion to cut one more release after updating the README, so the PyPI page has a pointer to the new repo as well. I think the list should be:

[ ] Fork this repo to stac-workflow
[ ] Update stac-workflow to work (update imports, documentation, etc), and add a "History" section describing the migration from stac-task
[ ] Release a version of stac-workflow
[ ] Update the README here at stac-task to describe the new state of play
[ ] Release a final version of stac-task
[ ] Archive this repository
[ ] ...
[ ] Profit?!?

Sorry to be revisiting an old decision but it seems easier to rename the repo. The benefit of that approach is mostly that github will preserve the redirect. It'll also preserve the stars and whatever other project-metadata is tracked by github outside of git.


WIP AngularFireMessaging

AngularFireMessaging
This is a WIP, but here is the current API surface.
class AngularFireMessaging {
  messaging: FirebaseMessaging;
  requestPermission: Observable<void>;
  getToken: Observable<string>;
  tokenChanges: Observable<string>;
  messages: Observable<{}>;
  requestToken: Observable<string>;
  deleteToken: (token: string) => Observable<any>;
}

Closed for #1749


Memory Leak caused by Class Queue

Class Queue from mailbox.h causes a memory leak if a stored item contains a weak_ptr as it is the case with connections used by class Client.
Calling the stored item's destructor in method Queue::pop() as shown below solves the memory leak.
virtual Entry *pop() {
auto *res = tail;
auto next = res->next.load(std::memory_order_acquire);
if (next) {
// Since it's Single-Consumer, the store does not need to be atomic
tail = next;
new (&res->storage) T(std::move(next->data()));
/
* J. Gern / VIAVI 2020/07/07
* BEGIN
* Added the call to data's destructor in order to avoid memory-leaks
* if data contains a weak_ptr as it is the case, e.g. if
* the Client stores instances of struct RequestEntry.
/
next->data().~T();
/
* J. Gern / VIAVI 2020/07/07
* END
*/
return res;
}
return nullptr;
}

next->data is moved though, right? How can we then destruct it?

Despite next->data is moved, it seems that the weak pointer remains and keeps its referenced shared_ptr alive.
This shared_ptr then causes the memory leak because it is never destroyed.
I simply adopted the solution from popSafe():
std::unique_ptr popSafe() {
std::unique_ptr object;
std::unique_ptr<Entry> entry(pop());
if (entry) {
  object.reset(new T(std::move(entry->data())));
  entry->data().~T();
}

return object;

}
Jochen Gern
Senior Development Engineer, R&D Eningen
VIAVI Solutions - viavisolutions.comhttp://www.viavisolutions.com/
Eningen, Germany
Tel:         +49 7121 86 1454
E-Mail: Jochen.Gern<EMAIL_ADDRESS>Von: c650<EMAIL_ADDRESS>Gesendet: Dienstag, 11. August 2020 22:19
An: oktal/pistache<EMAIL_ADDRESS>Cc: Jochen Gern<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [oktal/pistache] Memory Leak caused by Class Queue (#797)
next->data is moved though, right? How can we then destruct it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/oktal/pistache/issues/797*issuecomment-672258107__;Iw!!Aa6LgkyVeQ!6FNm5msiIB92oZZ1YsAHsDXhYa76rCx4NrxtsrJUPguQglW0vBhe5IXtwYhsXsqokVv7QZi2$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AHIVZJ7QGYX5CZSJ44DEDG3SAGRS3ANCNFSM4OYGLEYQ__;!!Aa6LgkyVeQ!6FNm5msiIB92oZZ1YsAHsDXhYa76rCx4NrxtsrJUPguQglW0vBhe5IXtwYhsXsqokXPNVzHz$.

You should make a PR then.

I humbly request that you make the following 2 PRs:

Add a unit test that when ran under valgrind clearly shows the memory leak.
Fix the bug itself, and show that it disappears when ran under valgrind.

I will merge both of them.  I ask that they be split so that the first can be used to manually verify the second.  Someday I hope to have memory leak testing as part of the unit tests.


What does checkSession return?

Hi, Good day!
Thank you for providing odoo_rpc package.
I created a Flutter app and I am facing OdooSessionExpiredException problem.
Future signInWithEmailAndPassword(
String database, String email, String password) async {
try {
// Access client
final session = await client.authenticate(database, email, password);
  if (session.dbName.isNotEmpty) {
    log('Session ID From Authentication Repository: ${session.id}');
    await TLocalStorage.instance().saveData('sessionId', session.id);
  }
} catch (e) {
  throw 'Something went wrong. Please try again.';
}

}
-- As shown here the login process is done and I get the data without any problem. Since there is no problem I give it the command to go to the second page (which is Webview to display Odoo) and it goes and shows me the web page.
-- But when I restart the application I face the problem OdooSessionExpiredException.
-- This Method when the application starts, it immediately enters the catch
screenRedirect() async {
await TLocalStorage.init("sessionId");
try {
  var checkSessionId = await client.checkSession();
  if (checkSessionId != true) {
    Get.offAll(() => const WebViewPage());
  } else {
    deviceStorage.writeIfNull("IsFirstTime", true);
    deviceStorage.read("IsFirstTime") != true
        ? Get.offAll(() => const LoginScreen())
        : Get.offAll(() => const OnBoardingScreen());
  }
} on Exception catch (e) {
  log('From ScreenRedirect Method ----> ${e.toString()}');
  Get.offAll(() => const LoginScreen());
}

}
-- And this Method when I enter the data as database & email & password and press the Login button on the screen
void login() async {
try {
/// Start Loading
TFullScreenLoader.openLoadingDialog('Logging you in...',
'assets/animations/141594-animation-of-docer.json');
  /// Check internet connectivity
  final isConnected = await NetworkManager.instance.isConnected();
  if (!isConnected) {
    // Remove Loader
    TFullScreenLoader.closeLoadingDialog();
  }

  /// Form Validation
  if (!loginFormKey.currentState!.validate()) {
    // Remove Loader
    TFullScreenLoader.closeLoadingDialog();
    return;
  }

  /// Save Data if remember me is selected
  if (rememberMe.value) {
    localStorage.write('REMEMBER_ME_EMAIL', email.text.trim());
    localStorage.write('REMEMBER_ME_PASSWORD', password.text.trim());
  }

  /// Login user
  await AuthenticationRepository.instance.signInWithEmailAndPassword(
      database.text.trim(), email.text.trim(), password.text.trim());

  /// Remove Loader
  TFullScreenLoader.closeLoadingDialog();

  /// Redirect
  AuthenticationRepository.instance.screenRedirect();
} catch (e) {
  TFullScreenLoader.closeLoadingDialog();
  TLoaders.errorSnackBar(title: 'Oh Snap!', message: e.toString());
}

}
-- I did not understand the checkSession() what it returns and how to change the SessionId??

Same issue I faced while restarting of application but I use sharedpreference to store the login credentials check while login my credentials were stored or not if stored then directly get login ... but using this i am facing problem with image fetching(Avatar)


Target Sample can be included in Noise sample

Hello. Thanks you for your NCE code in pytorch. It is very helpful.
I have some question about noise sampling.
In your code, target sample can be sampled as noise sample.
And "K" noise sample can be overlap.  Is it OK ?
I think it is not valid in theory, but practically OK.
Do you have any idea for this ?

On the contrary, I think it's complete in theory because NCE only requires the noise distributed to mimic the real data distribution as close as possible. Removing the target word in noise samples, as well as removing redundant noise samples, could potentially distort the unigram distribution. But I actually haven't tested the effects of all these special treatments, do you have any experimental results to share?


Defines an interface to the Task Scheduler node

Defines an interface to the Task Scheduler node
Implemented feature
This PR introduces messages for the Web API to talk to the task scheduler node as defined in open-rmf/rmf_ros2#103
Implementation description
A task can be submitted for a later time and it can be repeated at fixed intervals. Note that we use the time which RMF is running in. I'm not to sure how discrepancy between client time and server time is being handled right now (or if it needs to be handled at all).

We'll be closing this PR since rmf_api_msgs is now focused on extensible JSON messages instead of ROS2 messages.


Not working on mac

It says "No key press handler to call!" in console. Any help?

Have you tried uninstalling and reinstalling chrome or the extension? If you haven't you should try that first then it might be that you're on a mac.

Works fully well on Mac, I would suggest uninstalling and reinstalling the extension.

I already did that multiple times, I even used the unpacked one + I tried tampermonkey

I just fixed this, UltraType should update and work normally within the next few minutes. Please reconsider reinstalling and alert me of any other issues.


Show hostname in slack notifications and auto-copied results commits

Also, exit early if the lastest commit on testing doesn't look like a results commit.
Closes #74

LGTM!


Question - data and datafrom

hello,
when using vault backend can we use data and datafrom for specific secrets?

Hey!
sorry, I could not follow. What do you mean? With Vault, if you use data, you have to use property together.
If you use datafrom, you will get all key/values in a given secret.

Hey! Closing this issue for now. Please feel free to re-open to seek us at https://kubernetes.slack.com/messages/external-secrets


[AMORO-3210] Support loading flink mixed catalog without ams url

Why are the changes needed?

Close #3210.
Brief change log

Support loading Flink mixed catalog without ams url
Support loading Flink unified catalog without ams url
Remove some duplicated codes in CatalogUtil

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Here, the definition of the catalog's property is completely unrestricted. I suggest keeping the original configuration validation. What do others think?  @zhongqishang

Here, the definition of the catalog's property is completely unrestricted. I suggest keeping the original configuration validation. What do others think? @zhongqishang

Thanks for the review, I have made some changes based on the comments.
I removed the catalog properties limit from the catalog factory.
I hope to open up more catalog properties at this stage. I feel that it may not be possible to list all the catalog properties we wish to support for the time being.
And I found the same implementation in Iceberg and Paimon Flink catalog factory:
https://github.com/apache/iceberg/blob/main/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/FlinkCatalogFactory.java#L133
https://github.com/apache/paimon/blob/master/paimon-flink/paimon-flink-common/src/main/java/org/apache/paimon/flink/FlinkCatalogFactory.java#L47


importing PyCall via the rc file throws an LLVM error

Hi,
On Debian (testing), adding PyCall to the juliarc file throws this LLVM error:
LLVM ERROR: Program used external function 'julia_getindex_23763' which could not be resolved!

I changed it to using PyCall, same error. Any ideas on how to import PyCall during startup?
Thanks in Advance!
PS: I am running Version 0.5.0-dev+3161 (2016-03-15 10:34 UTC) on Debian (testing).
I tried building it again Pkg.checkout("PyCall"); Pkg.build("PyCall") but no luck.

0.5 is not working right now with PyCall, apparently due to a Julia bug; see JuliaLang/julia#15300.


Python 'open' error, IOError: [Errno 2] No such file or directory:

For absolute path it works, but for relative path it doesn't.
I am pretty sure where the file is and the code works in sublime.

+1
relative path works for sublime and IDLE but atom-script

Works if paste full path to the file

Also had that one.
When I changed the Default Current Working Directory (CWD) Behavior in settings to Directory of the script it worked.


Revision control?

I have looked around but couldn't find anything about it. Markdoc is labeled as a wiki but I don't seem to be able and see a way to edit a page via the browser and further more see the history of page changes. Am I missing something?

Markdoc is a "static website generator". It does not (and will never) include support for dynamic editing, as that goes against the fundamental nature of the tool.
The correct way of using the tool is to keep the website's source files in a version control system. For example, I have a markdoc site hosted at http://www.penwatch.net/mwind3.5/ , where the source is hosted at https://github.com/LiaungYip/morrowind-dnd3.5 . Note the ./wiki directory which contains all the source files with full version history.
To set up something similar to this, see the instructions at http://www.penwatch.net/mwind3.5/website_instructions .


Consider update package to lastest version ?

Is your feature request related to a problem? Please describe.
Seems like there is not much change in package.json since we are still using angular version 4.
Describe the solution or feature you'd like
Would the team consider to migrate all the package to the lastest version ?
If so can I help ?

This is something we've talked about doing at some point but it hasn't been a priority. Feel free to submit a PR though if you want to try giving it a shot!
I'm going to close this as it's not something we're actively tracking at this time.


Use static dim check for the array interface handler.

Are there not cases where we want to use a dynamic (run-time) argument to Shape ?

@hcho3 The ArrayInterface has static dim since all XGBoost inputs have a known upper bound on dimension.


Kill Player on Restricted Judgement no longer allows Level to Restart when pressing any key

With the latest release 2.6.3 of Adofai Tweaks on latest live version of ADOFAI (2.5.0),
using Restrict Judgements by setting the restriction to instantly kill the player, you will be stuck on the death screen.
Pressing any key will not automatically restart the level (or go back to checkpoint) as normal.
This forces the player to now press ESC->Restart to restart the level

This should be fixed in the latest release! https://github.com/PizzaLovers007/AdofaiTweaks/releases/tag/v2.6.4


[Bug]:

What happened?
I can't run the program via Docker. It gives the following error:
no configuration file provided: not found

Steps to Reproduce

clone this repository
navigate to the LibreChat directory
create a .env file from .env.example
run docker compose up -d and see the error

What browsers are you seeing the problem on?
No response
Relevant log output
No response
Screenshots

Sorry for the Russian text, my system's default language is Russian.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

can you share the content of your librechat folder?
ls

can you share the content of your librechat folder?
ls

user@hp:/Projects/LibreChat$ ls
api        config                               docker-compose.yml  e2e                     LICENSE            packages            README.md
bun.lockb  deploy-compose.yml                   Dockerfile          index.html              package.json       prettier.config.js  utils
client     docker-compose.override.yml.example  Dockerfile.multi    librechat.example.yaml  package-lock.json  rag.yml
user@hp:/Projects/LibreChat$


Add option to provide family ID to king_grm.R so relatives aren't treated as singletons

Fixed in a39c26cd3e6e8b101f7c817399fffe14df7c6929


Hi, This Is A midi bug

Midi Bug
The Bug
Hi, I connnected my midi on Usb And It worked but not for Note block Studio.
Can You Help?

We need more details, such as logs, ONBS version, etc. Pretty sure the issue template exists for that reason, why did you delete it?


Generating branch and compare fast paths in additional conditions

Allow generating string and object fast paths for branches and compares even if, along with strings and objects, we have seen objects of types other than string/object.

This change is

@LouisLaf , @satheeshravi

LGTM me, please add tests. Targeted tests are always a good idea 😄

@agarwal-sandeep could you take another look, please?

Please hold off on reviewing this change. I have to overhaul the change to do what it intended to and keep it functionally correct.

Closing this one. Will submit another PR after fixing all the issues.


xcodebuild action produces incorrect IPA_OUTPUT_PATH when exporting from archive

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
The xcodebuild action generates incorrect values for lane_context[SharedValues::IPA_OUTPUT_PATH] when exporting from an archive with an export options plist supplied.
First - output location differs with :export_options_plist
Apparently the underlying xcodebuild command line tool behaves differently when an -exportOptionsPlist parameter is supplied. It interprets the -exportPath as a parent directory for the product, though this disagrees with the manual entry for xcodebuild:
     -exportPath destinationpath
           Specifies the destination for the exported product, including the
           name of the exported file.

I'm not sure if this somehow applies to regular builds as well, or just exporting from archives, but it does seem that the behavior change is triggered by providing an export options plist. Also running without that parameter is deprecated, at least as of the Xcode 8.1 toolchain.
Second - Exported product filename guessing
The expected filename of the IPA is based on the archive filename, while it should instead read the Name entry in the archive's Info.plist. This now becomes an issue because -exportPath only specifies the parent directory, and the script will need to find the product in that directory in order to correctly set SharedValues::IPA_OUTPUT_PATH.
There is also code to determine this based on the scheme, but Product Name and Scheme Name can differ, and it is actually an error to specify the scheme for archive export:
xcodebuild: error: The flag -scheme cannot be specified along with -exportArchive.

Complete output when running fastlane
Some quick info about this test setup. I've taken a real archive from our CI and renamed it so it's clear exactly where xcodebuild is getting its values from.
📂  ~/xcodeproj-bug  🐙  master …  🐚 ls -la .
total 16
drwxr-xr-x    5 kevin  staff   170 Dec  5 09:53 .
drwxr-xr-x  134 kevin  staff  4556 Dec  5 09:53 ..
-rw-r--r--@   1 kevin  staff  6148 Dec  5 09:47 .DS_Store
drwxr-xr-x    7 kevin  staff   238 Dec  5 09:35 ArchiveName.xcarchive
drwxr-xr-x    6 kevin  staff   204 Dec  5 09:43 fastlane
📂  ~/xcodeproj-bug  🐙  master …  🐚  /usr/libexec/PlistBuddy -c 'Print' ArchiveName.xcarchive/Info.plist
Dict {
    CreationDate = Fri Nov 11 11:27:15 PST 2016
    ApplicationProperties = Dict {
        CFBundleShortVersionString = 1.0.22
        CFBundleIdentifier = it.rabb.rabbitios
        ApplicationPath = Applications/Rabbit.app
        SigningIdentity = iPhone Developer: OS X Server (2S8339XTR5)
        CFBundleVersion = <IP_ADDRESS>
    }
    ArchiveVersion = 2
    Name = Info Plist Name
    SchemeName = Info Plist Scheme Name
}

first run, with the legacy export syntax:
Also note the warning that running without an export options plist is deprecated
📂  ~/xcodeproj-bug  🐙  master …  🐚  fastlane export_ipa_from_archive_legacy
[10:23:34]: -------------------------------------------------
[10:23:34]: --- Step: Verifying required fastlane version ---
[10:23:34]: -------------------------------------------------
[10:23:34]: Your fastlane version 1.111.0 matches the minimum requirement of 1.111.0  ✅
[10:23:34]: ------------------------------
[10:23:34]: --- Step: default_platform ---
[10:23:34]: ------------------------------
[10:23:34]: Driving the lane 'ios export_ipa_from_archive_legacy' 🚀
[10:23:34]: -------------------
[10:23:34]: --- Step: debug ---
[10:23:34]: -------------------
Lane Context
{:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios export_ipa_from_archive_legacy"}
[10:23:34]: ------------------
[10:23:34]: --- Step: cert ---
[10:23:34]: ------------------

+---------------+--------------------------------------------------+
|                      Summary for cert 1.4.4                      |
+---------------+--------------------------------------------------+
| development   | false                                            |
| force         | false                                            |
| username      |<EMAIL_ADDRESS>                                  |
| team_id       | 9D8MM2K83L                                       |
| keychain_path | /Users/kevin/Library/Keychains/login.keychain-db |
+---------------+--------------------------------------------------+

[10:23:35]: Starting login with user<EMAIL_ADDRESS>[10:23:36]: Successfully logged in
[10:23:37]: Certificate ZV8A9J8V5L (RABBIT, INC.) can't be found on your local computer
[10:23:38]: Found the certificate HNVA997GCL (RABBIT, INC.) which is installed on the local machine. Using this one.
[10:23:39]: Verifying the certificate is properly installed locally...
[10:23:39]: Successfully installed certificate HNVA997GCL
[10:23:39]: Use signing certificate 'HNVA997GCL' from now on!
[10:23:39]: ------------------
[10:23:39]: --- Step: sigh ---
[10:23:39]: ------------------

+-------------------------------------+-------------------+
|                 Summary for sigh 1.12.1                 |
+-------------------------------------+-------------------+
| adhoc                               | false             |
| development                         | false             |
| skip_install                        | false             |
| force                               | false             |
| app_identifier                      | it.rabb.rabbitios |
| username                            |<EMAIL_ADDRESS>   |
| team_id                             | 9D8MM2K83L        |
| ignore_profiles_with_different_name | false             |
| cert_id                             | HNVA997GCL        |
| skip_fetch_profiles                 | false             |
| skip_certificate_verification       | false             |
+-------------------------------------+-------------------+

[10:23:39]: Starting login with user<EMAIL_ADDRESS>[10:23:40]: Successfully logged in
[10:23:40]: Fetching profiles...
[10:23:41]: Certificate for Provisioning Profile 'it.rabb.rabbitios AppStore' not available locally: ZV8A9J8V5L, skipping this one...
[10:23:42]: Found 1 matching profile(s)
[10:23:42]: Downloading provisioning profile...
[10:23:43]: Successfully downloaded provisioning profile...
[10:23:43]: Installing provisioning profile...
/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision
[10:23:43]: Setting Provisioning Profile type to 'app-store'
[10:23:43]: ------------------------
[10:23:43]: --- Step: xcodebuild ---
[10:23:43]: ------------------------
[10:23:43]: For a more detailed xcodebuild log open /Users/kevin/Library/Logs/fastlane/xcbuild/2016-12-05/77766/xcodebuild.log
[10:23:43]: $ set -o pipefail && xcodebuild -exportArchive -archivePath "ArchiveName.xcarchive" -exportPath "ArchiveName" | tee '/Users/kevin/Library/Logs/fastlane/xcbuild/2016-12-05/77766/xcodebuild.log' | xcpretty --color --simple
[10:23:43]: ▸ --- xcodebuild: WARNING: -exportArchive without -exportOptionsPlist is deprecated
[10:23:44]: ▸ PackageApplication is deprecated, use `xcodebuild -exportArchive` instead.
[10:23:50]: ▸ Export Succeeded
[10:23:50]: -------------------
[10:23:50]: --- Step: debug ---
[10:23:50]: -------------------
Lane Context
{:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios export_ipa_from_archive_legacy", :CERT_FILE_PATH=>"/Users/kevin/xcodeproj-bug/HNVA997GCL.cer", :CERT_CERTIFICATE_ID=>"HNVA997GCL", :SIGH_PROFILE_PATH=>"/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision"], :SIGH_UDID=>"f3fb8c89-41fa-411b-aeb0-2bd1a39c5500", :SIGH_UUID=>"f3fb8c89-41fa-411b-aeb0-2bd1a39c5500", :SIGH_PROFILE_TYPE=>"app-store", :XCODEBUILD_DERIVED_DATA_PATH=>nil, :IPA_OUTPUT_PATH=>"ArchiveName.ipa"}

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | debug                               | 0           |
| 4    | cert                                | 5           |
| 5    | sigh                                | 3           |
| 6    | xcodebuild                          | 7           |
| 7    | debug                               | 0           |
+------+-------------------------------------+-------------+

[10:23:50]: fastlane.tools finished successfully 🎉

The exported file at least exists where expected, though it's named after the xcarchive file:
📂  ~/xcodeproj-bug  🐙  master …  🐚  ls -lah ArchiveName.ipa
-rw-r--r--  1 kevin  staff    91M Dec  5 10:23 ArchiveName.ipa

second run, with the options plist:
📂  ~/xcodeproj-bug  🐙  master …  🐚  fastlane export_ipa_from_archive
[10:57:16]: -------------------------------------------------
[10:57:16]: --- Step: Verifying required fastlane version ---
[10:57:16]: -------------------------------------------------
[10:57:16]: Your fastlane version 1.111.0 matches the minimum requirement of 1.111.0  ✅
[10:57:16]: ------------------------------
[10:57:16]: --- Step: default_platform ---
[10:57:16]: ------------------------------
[10:57:16]: Driving the lane 'ios export_ipa_from_archive' 🚀
[10:57:16]: -------------------
[10:57:16]: --- Step: debug ---
[10:57:16]: -------------------
Lane Context
{:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios export_ipa_from_archive"}
[10:57:16]: ------------------
[10:57:16]: --- Step: cert ---
[10:57:16]: ------------------

+---------------+--------------------------------------------------+
|                      Summary for cert 1.4.4                      |
+---------------+--------------------------------------------------+
| development   | false                                            |
| force         | false                                            |
| username      |<EMAIL_ADDRESS>                                  |
| team_id       | 9D8MM2K83L                                       |
| keychain_path | /Users/kevin/Library/Keychains/login.keychain-db |
+---------------+--------------------------------------------------+

[10:57:17]: Starting login with user<EMAIL_ADDRESS>[10:57:18]: Successfully logged in
[10:57:19]: Certificate ZV8A9J8V5L (RABBIT, INC.) can't be found on your local computer
[10:57:20]: Found the certificate HNVA997GCL (RABBIT, INC.) which is installed on the local machine. Using this one.
[10:57:21]: Verifying the certificate is properly installed locally...
[10:57:21]: Successfully installed certificate HNVA997GCL
[10:57:21]: Use signing certificate 'HNVA997GCL' from now on!
[10:57:21]: ------------------
[10:57:21]: --- Step: sigh ---
[10:57:21]: ------------------

+-------------------------------------+-------------------+
|                 Summary for sigh 1.12.1                 |
+-------------------------------------+-------------------+
| adhoc                               | false             |
| development                         | false             |
| skip_install                        | false             |
| force                               | false             |
| app_identifier                      | it.rabb.rabbitios |
| username                            |<EMAIL_ADDRESS>   |
| team_id                             | 9D8MM2K83L        |
| ignore_profiles_with_different_name | false             |
| cert_id                             | HNVA997GCL        |
| skip_fetch_profiles                 | false             |
| skip_certificate_verification       | false             |
+-------------------------------------+-------------------+

[10:57:21]: Starting login with user<EMAIL_ADDRESS>[10:57:22]: Successfully logged in
[10:57:22]: Fetching profiles...
[10:57:23]: Certificate for Provisioning Profile 'it.rabb.rabbitios AppStore' not available locally: ZV8A9J8V5L, skipping this one...
[10:57:24]: Found 1 matching profile(s)
[10:57:24]: Downloading provisioning profile...
[10:57:25]: Successfully downloaded provisioning profile...
[10:57:25]: Installing provisioning profile...
/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision
[10:57:25]: Setting Provisioning Profile type to 'app-store'
[10:57:25]: ------------------------
[10:57:25]: --- Step: xcodebuild ---
[10:57:25]: ------------------------
[10:57:25]: For a more detailed xcodebuild log open /Users/kevin/Library/Logs/fastlane/xcbuild/2016-12-05/79361/xcodebuild.log
[10:57:25]: $ set -o pipefail && xcodebuild -exportArchive -archivePath "ArchiveName.xcarchive" -exportOptionsPlist "/var/folders/d8/q94hg2ld77553m6nvtwf79km0000gn/T/exportOptions20161205-79361-1fvders.plist" -exportPath "ArchiveName" | tee '/Users/kevin/Library/Logs/fastlane/xcbuild/2016-12-05/79361/xcodebuild.log' | xcpretty --color --simple
[10:57:26]: ▸ 2016-12-05 10:57:26.148 xcodebuild[79412:2517784] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/d8/q94hg2ld77553m6nvtwf79km0000gn/T/Info Plist Name_2016-12-05_10-57-26.147.xcdistributionlogs'.
[10:57:26]: ▸ 1.2.840.1136<IP_ADDRESS>
[10:58:15]: ▸ Export Succeeded
[10:58:15]: -------------------
[10:58:15]: --- Step: debug ---
[10:58:15]: -------------------
Lane Context
{:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios export_ipa_from_archive", :CERT_FILE_PATH=>"/Users/kevin/xcodeproj-bug/HNVA997GCL.cer", :CERT_CERTIFICATE_ID=>"HNVA997GCL", :SIGH_PROFILE_PATH=>"/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision", :SIGH_PROFILE_PATHS=>["/Users/kevin/xcodeproj-bug/AppStore_it.rabb.rabbitios.mobileprovision"], :SIGH_UDID=>"f3fb8c89-41fa-411b-aeb0-2bd1a39c5500", :SIGH_UUID=>"f3fb8c89-41fa-411b-aeb0-2bd1a39c5500", :SIGH_PROFILE_TYPE=>"app-store", :XCODEBUILD_DERIVED_DATA_PATH=>nil, :IPA_OUTPUT_PATH=>"ArchiveName.ipa"}

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | debug                               | 0           |
| 4    | cert                                | 5           |
| 5    | sigh                                | 3           |
| 6    | xcodebuild                          | 50          |
| 7    | debug                               | 0           |
+------+-------------------------------------+-------------+

[10:58:15]: fastlane.tools finished successfully 🎉

So xcodebuild created an ArchiveName directory, and placed the final product at [ArchiveName]/[ProductName].ipa. The lane context item :IPA_OUTPUT_PATH=>"ArchiveName.ipa" is not present.
📂  ~/xcodeproj-bug  🐙  master …  🐚  ls -lah . ArchiveName
.:
total 40
drwxr-xr-x    8 kevin  staff   272B Dec  5 10:58 .
drwxr-xr-x  134 kevin  staff   4.4K Dec  5 10:58 ..
-rw-r--r--@   1 kevin  staff   6.0K Dec  5 10:57 .DS_Store
-rw-r--r--    1 kevin  staff   7.4K Dec  5 10:57 AppStore_it.rabb.rabbitios.mobileprovision
drwxr-xr-x    3 kevin  staff   102B Dec  5 10:58 ArchiveName
drwxr-xr-x    7 kevin  staff   238B Dec  5 09:35 ArchiveName.xcarchive
-rw-r--r--    1 kevin  staff   1.4K Dec  5 10:57 HNVA997GCL.cer
drwxr-xr-x    6 kevin  staff   204B Dec  5 09:43 fastlane

ArchiveName:
total 234992
drwxr-xr-x  3 kevin  staff   102B Dec  5 10:58 .
drwxr-xr-x  8 kevin  staff   272B Dec  5 10:58 ..
-rw-r--r--  1 kevin  staff   115M Dec  5 10:58 Info Plist Name.ipa

Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.1

Ruby
2.3.3

Bundler?
false

Git
git version 2.11.0

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.12.1 (16B2555)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.3.3/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
fastlane_version "1.111.0"

default_platform :ios

platform :ios do

  lane :export_ipa_from_archive do
    debug

    cert

    sigh

    xcodebuild(
      export_archive: true,
      archive_path: 'ArchiveName.xcarchive',
      export_options_plist: {
        method: 'app-store'
      }
    )

    debug
  end

  lane :export_ipa_from_archive_legacy do
    debug

    cert

    sigh

    xcodebuild(
      export_archive: true,
      archive_path: 'ArchiveName.xcarchive'
    )

    debug
  end

end

`./fastlane/Appfile`
app_identifier "it.rabb.rabbitios" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "9D8MM2K83L"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

spaceship
0.38.4
✅ Up-To-Date

fastlane_core
0.57.2
✅ Up-To-Date

deliver
1.16.0
✅ Up-To-Date

snapshot
1.16.4
✅ Up-To-Date

frameit
3.0.0
✅ Up-To-Date

pem
1.4.0
✅ Up-To-Date

cert
1.4.4
✅ Up-To-Date

sigh
1.12.1
✅ Up-To-Date

produce
1.3.2
✅ Up-To-Date

gym
1.12.1
✅ Up-To-Date

pilot
1.12.1
✅ Up-To-Date

scan
0.14.2
✅ Up-To-Date

supply
0.8.0
✅ Up-To-Date

match
0.11.0
✅ Up-To-Date

screengrab
0.5.6
✅ Up-To-Date

fastlane
1.111.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.0.0

highline
1.7.8

commander
4.4.1

terminal-table
1.4.5

json
1.8.3

multipart-post
2.0.0

faraday
0.10.0

faraday_middleware
0.10.1

dotenv
2.1.1

net-ssh
3.2.0

net-sftp
2.1.2

plist
3.2.0

rubyzip
1.1.7

security
0.1.3

krausefx-shenzhen
0.14.11

slack-notifier
1.5.1

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

minitest
5.8.5

activesupport
<IP_ADDRESS>

CFPropertyList
2.3.4

claide
1.0.1

colored
1.2

nanaimo
0.2.3

xcodeproj
1.4.1

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

public_suffix
2.0.4

addressable
2.5.0

credentials_manager
0.16.2

multi_xml
0.5.5

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161129

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
1.6.8

babosa
1.0.2

xcode-install
2.0.9

word_wrap
1.0.0

multi_json
1.12.1

excon
0.54.0

gh_inspector
1.0.2

fastlane_core
0.57.2

bundler
1.13.6

mini_magick
4.5.1

xcpretty-travis-formatter
0.0.4

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.20

io-console
0.4.5

generated on: 2016-12-05

I have a fork that addresses this and fixed it for our setup, I'll work on getting it submitted as a PR.


Dev - remove deprecated text commands and convert commands running in hybrid mode

This PR chiefly completely removes deprecated text commands and converts commands running in a so-called "hybrid mode" over to full Application Commands.
The deprecated (and now removed) commands are:

ping
user
level

The commands running in hybrid mode which are now full Application Commands are:

about
server
Spotify
weather
forecast
avatar
points

Other miscellaneous changes include:

using the new user flag names (ad660963a5ad13382efaa130a4c5a420bdd024e8)
switching to v10 of the Discord API in the deployApplicationCommand function (2bcd7f495b7ee7f2bf417435a75f07802e120764)
moving the logger out of the "modules" folder and into the "util" folder (e50ead63f467ddee622b16cc8c53b806f56d5ab0)
only including the date in the logger in production mode (7d4e5794aa84b1702171b76a4739bf80296ee492)

Documentation changes:

update installation instructions to include Redis and delet3-api; clean up environment variables guide (dc89cae753d299e00d7b77099bbd95f5ee49f633)

For the sake of clarity: "hybrid mode" was where a command would exist in both text command and application command format. The command implementation would exist in the text command's source file, while the application command would simply call the run() function from the text command. This was possible as the interaction object is very similar in nature to the message object.


Write updated kubeconfig to testmachinery output

How to categorize this PR?

/area testing
/kind bug
/priority normal
What this PR does / why we need it:
When the "kubeconfig rotate" tesst is executed, the kubeconfig that was downloaded during its creation is invalidated.
So subsequent steps that use that config are unable to connect to the shoot.
This PR updates the kubeconfig if it was rotated by the test.
Special notes for your reviewer:
Release note:

NONE

/invite @dguendisch @ialidzhikov


Expose hosts' /var/log to the kubelet by default

The kubelet creates symlinks that capture the pod name, namespace, container name & Docker container ID to the Docker logs for pods in the /var/log/containers directory on the host.
By mapping the volume for this directory to the kubelet container by default, it becomes easier to use cluster level logging in Kubernetes, i.e., fluentd-elasticsearch, if the user choose to (see my comment in #320).
This PR updates both single-node and multi-node configurations.
(I should probably update some documentation as well, but first I want to know how you guys feel about this.)

I'm in favor of this, as it fixes https://github.com/coreos/coreos-kubernetes/issues/322#issuecomment-244144227. What do you think @colhom?
You are correct, the docs will need to be updated in all of the manual example manifests, etc.

LGTM

@robszumski I figured there was no documentation about exposing the /var/log directory to the kubelet, but apparently I was wrong.
Should I change anything there?

I am strongly in favor of this change.

@danielfm yes, it is documented there, but if we are going to do this by default we need to remove the example from there and add it to each of the example units in all of the guides.
I think thats these, in addition to what you've already changed:
https://github.com/coreos/coreos-kubernetes/blob/master/Documentation/deploy-master.md#create-the-kubelet-unit
https://github.com/coreos/coreos-kubernetes/blob/master/Documentation/deploy-workers.md#create-the-kubelet-unit

Nice, I think you got all of em.

Is there anything else I need to do to get this merged?

Overall this lgtm. @chancez or @colhom can you confirm these changes work for you? I've not ever setup any k8s log aggregation

I've been running my clusters with this mod for at least three months, but of course, the more people testing this the better!

@aaronlevy these emulate exactly what i've had in a patch file for multiple months, if I find sometime I can validate exactly this PR on vagrant etc (no time for much else), but all the changes look fine to me.
I personally prefer the --flag=value form with the =, but thats not really a big deal and I'd rather get this in.

Thanks @danielfm.


Restructure and rename common libraries

Prepares the common neon libraries for further librarification:

zenith_utils got renamed into neon_utils and now it's just a directory that keeps all libraries inside it
Real zenith_utils code is now located in neon_utils/common_utils The naming does not shine, so any other proposals are good
Move and rename zenith_metrics into neon_utils/neon_metrics

In the future, all other libraries go inside the neon_utils/ directory.
I plan to add etcd_neon if able to properly librarify it, other plans were to split common_utils into multiple libraries.

I'm not a fan of pushing common_utils and neon_metrics deeper, into the new subdirectory. I'd prefer a straight renaming:
zenith_utils -> neon_utils
zenith_metrics -> neon_metrics

or just
zenith_utils -> utils
zenith_metrics -> metrics

If we find that we have too many top-level directories in the future, and want to add another directory-level, we can do that later.
(I don't feel very strongly either way though...)

I like this prefix-less approach for the libs, actually
zenith_utils -> utils
zenith_metrics -> metrics

As for the nested directory, I'd better have this personally, since I expect more libs to appear later:

there had been talks of splitting the zenith_utils into lesser crates, I would split away the logging and http things at least
we expect to add more libs later, say, etcd with our common prefixes or configs

If we do so, there would be a big mixture of "binary" crates such as pageserver, safekeeper, control_plane, etc. and those util libs in the same directory. Personally not a fan of this at all, I feel that libs should go into some dedicated corner and live there.

What if we do this:
neon_utils/
                   utils/
                   metrics/
                   _whatever_else_/

?

I can suggest:
commons/
       utils/
       metrics/
       postgres_ffi/
       whatever_else/

IMO neon_ prefix inside the neon repo is redundant.

commons/

Or just lib/

Decided not to move the workspace_hack inside, since not really a lib.


Repeated allocations in InterceptingLogger

Data is from Basic Views
Sample includes 3001 requests.
TypeExtensions.DisplayName is being called each time one of these are constructed, which in this scenario is 6 times per request

Allocations are spread across string, char[], and StringBuilder. I included the major ones here, but summing up everything I was able to find, this is worth about 8mb-9mb total or 2.8kb/request.

rynowak just to make sure, is the main assertion you are making that the TypeNameHelper.GetDisplayName() method used in the default logging implementation is more efficient than TypeExtensions.DisplayName() or that we are doing too much logging on too many classes? :smile:
If the former, I think we can probably copy the implementation or use inheritance to get it.

Logger<T> is registered as a singleton and so the name is computed once per-logger-type per-app. InterceptingLogger<T> is scoped, so all of these names are computed once per request.

Got it. Thanks!


[SP-4476] Backport of PDI-16888 - Title bar of several steps doesn't …

…have the correspondent name of the step (8.1 Suite)
@pentaho-lmartins
This is part of a series of pull requests.
pull requests on this series:
#5651
https://github.com/pentaho/pentaho-r-plugin/pull/76
https://github.com/pentaho/pdi-jms-plugin/pull/68
https://github.com/pentaho/pentaho-yarn-kettle-plugin/pull/346
https://github.com/pentaho/big-data-plugin/pull/1458

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'plugins/ms-access/impl,plugins/ms-access/ui,plugins/gp-bulk-loader/core,plugins/dummy/core,ui,engine,plugins/streaming/impls/jms,plugins/lucid-db-streaming-loader/core' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'plugins/ms-access/impl,plugins/ms-access/ui,plugins/gp-bulk-loader/core,plugins/dummy/core,ui,engine,plugins/streaming/impls/jms,plugins/lucid-db-streaming-loader/core' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/main/resources/org/pentaho/di/job/entry/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/job/entry/messages/messages_it_IT.properties
  engine/src/main/resources/org/pentaho/di/job/entry/messages/messages_ko_KR.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/fileinput/text/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/textfileinput/messages/messages_en_US.properties
  plugins/dummy/core/src/main/resources/org/pentaho/di/be/ibridge/kettle/dummy/messages/messages_en_US.properties
  plugins/dummy/core/src/main/resources/org/pentaho/di/pdi/jobentry/dummy/messages/messages_en_US.properties
  plugins/gp-bulk-loader/core/src/main/resources/org/pentaho/di/trans/steps/gpbulkloader/messages/messages_en_US.properties
  plugins/gp-bulk-loader/core/src/main/resources/org/pentaho/di/trans/steps/gpbulkloader/messages/messages_es_AR.properties
  plugins/gp-bulk-loader/core/src/main/resources/org/pentaho/di/trans/steps/gpbulkloader/messages/messages_it_IT.properties
  plugins/gp-bulk-loader/core/src/main/resources/org/pentaho/di/trans/steps/gpbulkloader/messages/messages_ko_KR.properties
  plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_en_US.properties
  plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_it_IT.properties
  plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_ko_KR.properties
  plugins/lucid-db-streaming-loader/core/src/main/resources/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_en_US.properties
  plugins/lucid-db-streaming-loader/core/src/main/resources/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_it_IT.properties
  plugins/lucid-db-streaming-loader/core/src/main/resources/org/pentaho/di/trans/steps/luciddbstreamingloader/messages/messages_ko_KR.properties
  plugins/ms-access/impl/src/main/resources/org/pentaho/di/job/entries/msaccessbulkload/messages/messages_en_US.properties
  plugins/ms-access/impl/src/main/resources/org/pentaho/di/job/entries/msaccessbulkload/messages/messages_ko_KR.properties
  plugins/ms-access/ui/src/main/resources/org/pentaho/di/ui/job/entries/msaccessbulkload/messages/messages_en_US.properties
  plugins/ms-access/ui/src/main/resources/org/pentaho/di/ui/job/entries/msaccessbulkload/messages/messages_it_IT.properties
  plugins/ms-access/ui/src/main/resources/org/pentaho/di/ui/job/entries/msaccessbulkload/messages/messages_ko_KR.properties
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsConsumerMeta.java
  plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsProducerMeta.java
  ui/src/main/java/org/pentaho/di/ui/trans/step/BaseStepDialog.java
  ui/src/main/java/org/pentaho/di/ui/trans/steps/textfileinput/TextFileInputDialog.java

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

org.pentaho.di.job.entries.waitforsql.JobEntryWaitForSQL

Branch Change: -0.8% :small_red_triangle_down:
Complexity Change: -1% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -0.6% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.calculator.CalculatorMetaFunction

Branch Change: -8.7% :small_red_triangle_down:
Complexity Change: -3% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.excelwriter.ExcelWriterStepMeta

Branch Change: -1.3% :small_red_triangle_down:
Complexity Change: -0.7% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2.1% :small_red_triangle_down:
Complexity Change: -2.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ivwloader.IngresVectorwiseLoader

Branch Change: -0.7% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.5% :small_red_triangle_down:
Line Change: -0.9% :small_red_triangle_down:

org.pentaho.di.trans.steps.ivwloader.IngresVectorwiseLoader.FifoOpener

Branch Change: -16.7% :small_red_triangle_down:
Complexity Change: -12.5% :small_red_triangle_down:
Instruction Change: -7.1% :small_red_triangle_down:
Line Change: -10.5% :small_red_triangle_down:
Method Change: -20% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -4.4% :small_red_triangle_down:
Complexity Change: -5.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.gpload.GPLoadMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/plugins/streaming/impls/jms/src/main/java/org/pentaho/di/trans/step/jms/JmsProducerMeta.java

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 58 Column: 92


"Beautify" other JS files

Title says it all (making the JS files more readable, and just better looking).

  Closing now

lol

I don't like beautifying scripts. Sometimes they squish code that looks better not squished together :)


Clear all inputs on the page

Tried clear($(input)) . It cleared only first input field.
Then, I tried followings to clear all inputs on the page, they were failed to clear.
await clear(await $(input).elements());
step("Clear page", async () => {
(await $(input).elements()).forEach(async (elm) => {
await clear(elm);
// await elm.clear();
//await elm.clear;
//await elm.text('');
//await elm.value('');
});
});

For each does not execute in sequence you might have to use a for loop instead.
Example:
const inputElements = await $(input).elements();
for(let inputElement of inputElements){
await clear(inputElement);
}

@NanditaReshamwala does @NivedhaSenthil's comment help?

closing due to inactivity - feel free to comment if you still have issues.


Automated cherry pick of #2690: fix: no quota check when making directory

Cherry pick of #2690 on release/2.12.
#2690: fix: no quota check when making directory

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@2ddb066). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #2692   +/-   ##
==============================================
  Coverage                ?   7.26%
==============================================
  Files                   ?     470
  Lines                   ?   73831
  Branches                ?       0
==============================================
  Hits                    ?    5364
  Misses                  ?   68018
  Partials                ?     449

Flag
Coverage Δ

#aFlag
7.26% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/buckets.go
1.44% <0%> (ø)

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 2ddb066...e1a6fc5. Read the comment docs.

/approve
/lgtm


Extended lora support

Would it be possible to extend lora support so that they might be pulled like models and loaded with more ease such as with command
Ollama run model adapter lora
Or something similar for ease of use and easier mixing and matching using different loras with different models instead of having to hard code it into the model file of a model?

@AncientMystic It won't look exactly like that, but this is something we've been actively looking at.

I was thinking we could track the LoRA stuff here, but then realized there was a much older issue (#156) that first brought this up which is still open, so let's track it there instead.