Commands not all returning Response Objects

At this point, this is an issue to remind me what I've investigated.
Problem: Smokey is returning something other than a response object in a few areas.
A bool here:
AttributeError: 'bool' object has no attribute 'message'
2016-07-18 10:37:33.673173 UTC
  File "/media/sda2/Smokey2/excepthook.py", line 46, in run_with_except_hook
    run_old(*args, **kw)

  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/browser.py", line 696, in _runner
    self.on_activity(json.loads(a))

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/rooms.py", line 81, in on_activity
    event_callback(event, self._client)

  File "/media/sda2/Smokey2/chatcommunicate.py", line 164, in watcher
    if result.message:

A NoneType here:

  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/browser.py", line 696, in _runner
    self.on_activity(json.loads(a))

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/rooms.py", line 81, in on_activity
    event_callback(event, self._client)

  File "/media/sda2/Smokey2/chatcommunicate.py", line 133, in watcher
    if result.command_status and result.message:

AttributeError: 'NoneType' object has no attribute 'command_status'
2016-07-18 10:15:45.964939 UTC
  File "/media/sda2/Smokey2/excepthook.py", line 46, in run_with_except_hook
    run_old(*args, **kw)

  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/browser.py", line 696, in _runner
    self.on_activity(json.loads(a))

  File "/media/sda2/Smokey2/ChatExchange/chatexchange/rooms.py", line 81, in on_activity
    event_callback(event, self._client)

  File "/media/sda2/Smokey2/chatcommunicate.py", line 133, in watcher
    if result.command_status and result.message:

Initial oddness:

Issuing the command !!/addblu google.com returns the following:

Invalid format. Valid format: !!/addblu profileurl or !!/addblu userid sitename.
Expected to get the above plus <unrecognized command> because command_status is False and it should fall through to that check here

bool may be from a failed permissions check. check_permissions returns False on failure. Change this to a response object

Multiple responses to same command

Issuing sd abc dbf sdc responds with
1. [:31107584] <processed without return value>
<unrecognized command>
2. [:31107579] <processed without return value>
<unrecognized command>
3. [:31107416] <processed without return value>
<unrecognized command>

This needs to be adjusted to only response with the "unrecognized command". This is due to these checks being only if not if...else checks.

Should be fixed with #178


Not issue for this Projekt | General Question

Hi bro i like your projekts but i saw on your profile no one can see your stars, followers etc. How did you do this? Never saw this option in the settings

i really have no idea


feat: add Kare icon

Adds Kare's single-colour icon. Hope this fits the bill, specifically the viewbox of 60?
Pull Request Checklist

[ ] Ask the contributors if a similar effort is already in process or has been solved.
[x] Review the contribution guidelines.
[x] Use staging as your pull request's base branch. (All PRs using production as its base branch will be declined).
[x] Ensure all gulp scripts successfully compile.
[ ] Update, remove, or extend all affected documentation.
[x] Ensure no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[x] Request a review from Brad Paugh, David Becher, or Drew Chandler.

@braddialpad thanks for the review. Please could you merge this PR as I don't think I'm in the necessary team to do so myself


Feature/better required validator

I thought we should allow more types to be validated against Required validator. The easiest way to do it is using reflect. Now we will be able to validate bit-specific int's, uint's, float's, struct's, etc.
Additionally I standardised default message to be consistent with other validators (having line break at the end).

Sorry work has been crazzzy, I was playing with this and found this scenario where the item is an empty array yet it according to your test it is not empty. Can you update your code so this works as well ?

I have amended the code to match zero-length values and added extra test case. CI build fails due to some other irrelevant issue (probably requires redeployment).


Kapacitor - recording not found: no recording exists

[root@ip-100-109-5-161 kapacitor]# kapacitor record stream -task high_count -duration 20s
643cf52e-859f-4dbd-a162-bea1bf899691
[root@ip-100-109-5-161 kapacitor]# kapacitor list recordings 643cf52e-859f-4dbd-a162-bea1bf899691
ID                                      Type    Status    Size      Date
643cf52e-859f-4dbd-a162-bea1bf899691    stream  finished  23 B      14 Oct 16 23:36 UTC
[root@ip-100-109-5-161 kapacitor]# kapacitor replay -recording 643cf52e-859f-4dbd-a162-bea1bf899691 -task high_count
9a2f2cac-a51a-4840-9963-cd80863181d6
[root@ip-100-109-5-161 kapacitor]# cat /var/log/kapacitor/high_count.log
cat: /var/log/kapacitor/high_count.log: No such file or directory
[root@ip-100-109-5-161 kapacitor]#

Can you show  your high_count.tick and kapacitor.conf?

Hi,
below trial.tick and kapacitor.conf, i have attached kapacitor.conf
trial.tick
stream
|from()

.measurement('coriolis.api.v2.provision.realm100')

|alert()

            .crit(lambda: "count" > 50)

    .log('/var/log/kapacitor/trial12345.log')

<EMAIL_ADDRESS>kapacitor.conf
The hostname of this node.
Must be resolvable by any configured InfluxDB hosts.
hostname = "localhost"
Directory for storing a small amount of metadata about the server.
data_dir = "/var/lib/kapacitor"
[http]
HTTP API Server for Kapacitor
This server is always on,
it servers both as a write endpoint
and as the API endpoint for all other
Kapacitor calls.
bind-address = ":9092"
auth-enabled = false
log-enabled = true
write-tracing = true
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/kapacitor.pem"
[logging]
# Destination for logs

# Can be a path to a file or 'STDOUT', 'STDERR'.

file = "/var/log/kapacitor/kapacitor.log"

# Logging level can be one of:

# DEBUG, INFO, WARN, ERROR, or OFF

level = "INFO"

[replay]
Where to store replay files, aka recordings.
dir = "/var/lib/kapacitor/replay"
[task]
Where to store the tasks database
DEPRECATED: This option is not needed for new installations.
On Fri, Nov 18, 2016 at 8:35 PM, Oleg Strizhechenko <
<EMAIL_ADDRESS>wrote:

Can you show your high_count.tick and kapacitor.conf?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/influxdata/kapacitor/issues/974#issuecomment-261692942,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATNuiRBuTuMRVxh4Obfb7YxazGu65DAWks5q_nyDgaJpZM4KXhjY
.

--
Thanks,Nikhil Agrawal | +1<PHONE_NUMBER>

@nikhilagrl I am not sure what the issue is. The issue title mentions and error about the recording not existing, but your example output doesn't contain that error. Can you provide more details about what is not working as you expexted?

I am not receiving emails as notification.
On Mon, Nov 21, 2016 at 9:06 AM Nathaniel Cook<EMAIL_ADDRESS>wrote:

@nikhilagrl https://github.com/nikhilagrl I am not sure what the issue
is. The issue title mentions and error about the recording not existing,
but your example output doesn't contain that error. Can you provide more
details about what is not working as you expexted?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/influxdata/kapacitor/issues/974#issuecomment-262000935,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATNuiTfB75IOtMYfiBEMdxwzUju4QMcXks5rAc-UgaJpZM4KXhjY
.

--
Sent from iPhone

Hi,
Please find tick script and kapacitor.conf in the previous email.
I have setup email notifications but not receiving email.
Thanks,
Nikhil
On Mon, Nov 21, 2016 at 9:06 AM, Nathaniel Cook<EMAIL_ADDRESS>wrote:

@nikhilagrl https://github.com/nikhilagrl I am not sure what the issue
is. The issue title mentions and error about the recording not existing,
but your example output doesn't contain that error. Can you provide more
details about what is not working as you expexted?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/influxdata/kapacitor/issues/974#issuecomment-262000935,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATNuiTfB75IOtMYfiBEMdxwzUju4QMcXks5rAc-UgaJpZM4KXhjY
.

--
Thanks,Nikhil Agrawal | +1<PHONE_NUMBER>

Hi Nathaniel,
Query 1: How to stop the running tick script.
Query 2: How to customized email alert, Please find attached tick script,
config file, Current email alert and required email alert format.
--
Thanks,Nikhil Agrawal | +1<PHONE_NUMBER> <(408)%20505-8443>

See https://docs.influxdata.com/kapacitor/v1.1/introduction/getting_started/ and https://docs.influxdata.com/kapacitor/v1.1/nodes/alert_node/#details
Since a specific issue isn't being reported I am going to close this issue now. We try to reserve GitHub Issues for actionable bug reports or feature requests. In the future please send general questions to the<EMAIL_ADDRESS>mailing list. Thanks


Lots of scrollbars for workflow execution

When you click on a node in a workflow execution, you get a block on the right showing you details about it.
The goal of this ticket is to make the information easier to see and more accessible.
With that, we want to

[x] Update the width/height. Make it 3x wider and occupy the full screen height - much like clicking on logs looks now
[ ] Reduce the number of scrollbars on ubuntu systems - remove them if possible to look more like mac version
[ ] Change the parameters/artifacts/logs to be tabs.

Scrollbars on ubuntu (need to also check windows)
<img width="350" alt="Screen Shot 2020-09-14 at 12 29 05 PM" src="https://user-
images.githubusercontent.com/7330539/93129560-1107dd00-f686-11ea-8caf-90a9a55d3c66.png">

@Vafilor was this addressed by changing the width?

@rushtehrani It was improved, but I think we can do better.
Right now when you have the node info open, and you have artifacts open - you have two scroll bars on the side. But none left-to-right.


Babel svg support

Coverage remained the same at 88.235% when pulling 87f3ff975a9711eeddd127f90e775919c2083025 on add-babel-svg-support into 5aec1d82374a5c88deef7d1beb7624d98087811a on master.


Docs: add backslash

Thanks @azu! 💜

Note that the backslashes weren’t really “missing” in this case. They would be necessary in Bash but YAML (which is what’s being shown here) supports multiline string values like that.


Add default precision and scale for decimal column type (mssql)

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes/no

At the moment column definition for decimal type did not work properly in some cases. For example in migrations $this->decimal(8,4) will generate only decimal part.

@samdark I fix QueryBuilderTest and squash commit

For example in migrations $this->decimal(8,4) will generate only decimal part.

Would that be fixed with these changes?

Would that be fixed with these changes?

Yes
Please, see https://github.com/yiisoft/yii2/blob/master/framework/db/QueryBuilder.php#L738
With current typeMap definition (without default scale) in yii\db\mssql\QueryBuilder, precisions from params wil be replaced. This PR fix this.

I see. Are tests currently checking it?

Are tests currently checking it?

for decimal field - yes. But test contain some incorrect expected results for other types that don't equal to typeMap. For example boolean is mapped to bit, but test expexts for tinyint. Add fix in this PR?

Separate pull request will be better.

For this pull request we need a changelog.

For this pull request we need a changelog.

done

Merged. Thanks!

Thanks! One small remark - please create dedicated branches for PRs (do not use master), please see Point 3 in our Git Worklow document.

Not using master allows you to work on multiple pull requests at the same time. Using master you can't do it.


[Bug]: Forking template from start from template card, gives internal server error and opens template description modal intermittently

Is there an existing issue for this?

[X] I have searched the existing issues

Description
This issue is observed in cypress tests, on trying to fork template, it shows below screen, causing tests to fail and making it flaky.
https://dashboard.cypress.io/projects/n14p1y/runs/3571/test-results/ffa5cd03-d6cc-45b6-9921-7c3f9091ba73/screenshots

Steps To Reproduce

Fork a template from Add page popover, for the first time it works, Try forking again it sometimes gives internal server error

Attaching video here: https://dashboard.cypress.io/projects/eyxvp8/analytics/top-failures/c2a34a54-f078-fc17-dc4a-cd90a7b6d361-cc61eaf5-208c-c08a-e5ca-58d943091626
Public Sample App
No response
Version
Release

Seems like the same was reported in https://github.com/appsmithorg/appsmith/issues/17071. It looks like the api randomly fails. We should probably just rerun those tests for now.

Possible scenario where we can repro.
Fork a template from Add page popover, for the first time it works, Try forking again the api sometimes returns internal server error

Possible scenario where we can repro. Fork a template from Add page popover, for the first time it works, Try forking again the api sometimes returns internal server error

Tried to reproduce but no luck

@ginilpg This is happening quite often on CI, where fork api fails randomly

@akash-codemonk I've noticed one problem that may possibly lead to this error. When I click on the + icon, the underlying API is called twice. Here is a loom video of this: https://www.loom.com/share/62f4eff338f345c4a081929d896a9591
Also there seems to be another problem, the plus sign is not visible after importing a template once in an application. Here is the problem in action: https://www.loom.com/share/e6221dcec8ac4342afcb1f6b71065800

Have fixed the multiple api calls and the other issue mentioned. It still seems to return 500 on CI. I will have to debug this further on cypress on CI.


DBeaver: Open Database Object is broken in 6.1.5 CE

DBeaver - Version 6.1.5 CE
Operating System: Windows 7 / Windows 8.1 / Windows 10
The function of menu choice Navigate -> Open Database Object have stopped to work in version  6.1.5 CE of Dbeaver.
o Connect to a database of choice.
o Open dialog for Open Database Object (shortcut Ctrl+Shift+D).
o Search for a table and press the OK button to table content/information.
o Nothing happens. This looks like a bug since it works in version 6.1.4 CE.
o In version 6.1.4 CE the table contents are shown.
Please, please, and a bit more please check the basic functionality before release of a new version. I have not been able to use any release after version 6.0.0 CE. Maybe you ought to use one of the 14-days developer days to test only.
New bugs might be ok, but regression bugs that make previous working functionality to stop to work is sad to see.
The DBeaver product is a super great thing, maybe that makes it more irritating when things stop working. I don't know.

I'm using 6.1.5 and this feature works fine.

I have tested it on two of my Windows 7 - 64bit and it does not work on any of them. I have tried with empty configurations and it still does not work. If I on the other side installs version 6.1.4 CE it works as I like. So something has happened.

I had the same problem on 6.1.4 but updating to 6.1.5 made it work again.
PS: I am using Ubuntu 19.04

Open Database Object always had a bug: if you create a new object externally or from a script, then search for it, it will find it though it won't be able to open it until you hit F5 on the connection in the navigator, to refresh the list of objects. Maybe you are hit by that, regardless of the version? Not sure if the DBeaver developers are already aware of that.
@pdanie problem looks different since it appears to survive even a restart.

@pdanie I believe this bug is a duplicate of #6551 and it was fixed in 6.1.5 hotfix version (it was released a day later).
Try to re-download 6.1.5.

I tried it out on the new version 6.1.5 CE and it seems to work.
/ Thanks


[master] Bump Mesos to nightly master 40188e6

High-level description
This is a routine bump to the latest Mesos and mesos-modules.
Related JIRA Issues
Checklist for all PRs

[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Changelog:
https://github.com/apache/mesos/compare/d22a3d7015567de11b3e96a5a686e65dea04aca1...40188e68e3c4453e78cb103be74f3f4cf70b8f14
https://github.com/dcos/dcos-mesos-modules/compare/351315d5c4ce03e3c8a759093de5957929fa9f88...15a95b259f86a927ee5c21627b38c51463433d86

[ ] Test Results: [link to CI job test results for component]

[ ] Code Coverage (if available): [link to code coverage report]

@mesosphere-mergebot bump-ee

This repo has @mesosphere-mergebot integration. You can interact with the following commands.
@mesosphere-mergebot label [Holding |Work In Progress |Request For Comment |Ready For Review |Ship It]
@mesosphere-mergebot bump-ee
@mesosphere-mergebot override-status
@mesosphere-mergebot merge-it

PR creators can apply one of  [Ready For Review |Work In Progress]. Owners can apply any label.

Closing in lieu of #3021


GCE LBC should use "rate" mode

With utilization mode we can not use ILB and HTTP LB on the same IG.
If we have 3 IGs, one per zone but all same region, we can just set RPS=1 per instance on all IGs and it will balance proportional to size of IG.
@bprashanth

Currently it just picks the GCE default (utilization), by leaving mode unspecified: https://github.com/kubernetes/ingress/blob/master/controllers/gce/backends/backends.go#L120
I thought about this for a while initially, and figured that:

The mode doesn't matter within an IG anyway (which you already know, but for the benefit of other readers: http://stackoverflow.com/questions/40470982/whats-the-default-load-balancing-algorithm-in-glbc-l7-in-gke)
As a user I'd like GCE to route requests away from loaded IGs in the multi-cluster case, i.e, I setup 2 GCE clusters each with their own IG and federate them with an Ingress. I assume GCE would gather the right IG level utilization metrics in this setup.

But your IG x HTTP LB sharing example sounds like a stronger case to flip the GCE default on our end, and the original reasoning was sort of flimsy to begin with.

Hmm, this is tricker than I imagined.
There are 2 problems:

If we use RATE, we need to specify rps, which we need from the user (we currently just default UTILIZATION to 90%)
A single IG CAN have many backend services pointing at it, but all the backend services must have the same balancing mode

For 1, we can add a BalancingMode section to the ingress.backend api. Basically something like:
type IngressBackend struct {
    // Specifies the name of the referenced service.
    ServiceName string

    // Specifies the port of the referenced service.
    ServicePort intstr.IntOrString

    // Specifies the balancing mode to apply across endpoints of this backend
    BalancingMode IngressBackendBalancingMode
}

type IngressBackendBalancingMode struct {
    // exactly one of the following must be set
    Rate *BalancingModeRate
    Utilization *BalancingModeUtilization
    Connections *BalancingModeConnections
}

type IngressBalancingModeRate struct {
  MaxRPS int64
  ...
}

type IngressBalancingModeConnections struct {
  MaxConns int64
}
...

If the balancing mode isn't specified, we assume UTILIZATION. If the user specifies RATE, they're allowed to share the same IG between an internal and external lb on GCE.
2 is harder. I think we need to impose a cluster wide restriction on mixing balancing modes. The problem is we're only allowed to place a node behind a single loadbalanced IG, and place an IG behind a single type of balancing mode. So if a cluster is using UTILIZATION, GLBC should ignore BalancingModeRate until the user deletes all backends with UTILIZATION, and vice-versa.
Alternatives:

Only create new Backend Services with RATE: we can't do this because the existing single loadbalanced IG is already in UTILIZATION. you can only flip one backend at a time, and you can't mix RATE and UTILIZATION, so basically once you use an IG with one backend that has a given balancing mode, you can only flip the balancing mode if you delete all backends referencing that IG.

Flip all old Backend services to RATE:  Maybe we can provide a script that does this, but I'm wary of automating it because we need to recreate old Backend Services.

Create one IG per BalancingMode per zone: an instance can't be part of 2 loadbalanced IGs

Why offer a choice?  For now utilization is utterly pointless.  If you set
the RPS to 1 or 1000000, it will still get all traffic, since there's only
one IG.  Choice is wrong here.  Simpler is better.
On Wed, Jan 25, 2017 at 6:49 PM, Prashanth B<EMAIL_ADDRESS>wrote:

Hmm, this is tricker than I imagined.
There are 2 problems:

If we use RATE, we need to specify rps, which we need from the user
(we currently just default UTILIZATION to 90%)
A single IG CAN have many backend services pointing at it, but all
the backend services must have the same balancing mode

For 1, we can add a BalancingMode section to the ingress.backend api.
Basically something like:
type IngressBackend struct {
// Specifies the name of the referenced service.
ServiceName string
// Specifies the port of the referenced service.
ServicePort intstr.IntOrString

// Specifies the balancing mode to apply across endpoints of this backend
BalancingMode IngressBackendBalancingMode

}
type IngressBackendBalancingMode struct {
// exactly one of the following must be set
Rate *BalancingModeRate
Utilization *BalancingModeUtilization
Connections *BalancingModeConnections
}
type IngressBalancingModeRate struct {
MaxRPS int64
...
}
type IngressBalancingModeConnections struct {
MaxConns int64
}
...
If the balancing mode isn't specified, we assume UTILIZATION. If the user
specifies RATE, they're allowed to share the same IG between an internal
and external lb on GCE.
2 is harder. I think we need to impose a cluster wide restriction on
mixing balancing modes. The problem is we're only allowed to place a node
behind a single loadbalanced IG, and place an IG behind a single type of
balancing mode. So if a cluster is using UTILIZATION, GLBC should ignore
BalancingModeRate until the user deletes all backends with UTILIZATION,
and vice-versa.
Alternatives:

Only create new Backend Services with RATE: we can't do this because
the existing single loadbalanced IG is already in UTILIZATION. you can only
flip one backend at a time, and you can't mix RATE and UTILIZATION, so
basically once you use an IG with one backend that has a given balancing
mode, you can only flip the balancing mode if you delete all backends
referencing that IG.
Flip all old Backend services to RATE: Maybe we can provide a script
that does this, but I'm wary of automating it because we need to recreate
old Backend Services.
Create one IG per BalancingMode per zone: an instance can't be part of
2 loadbalanced IGs
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-275296075,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVLW7-vNz-BOJFgi_cDzs3Kb70BG8ks5rWAmlgaJpZM4LdSkM
.

Hmm, with a name like maxRPS I'd assumed it would reject more than the limit to safeguard existing connections, but some rudimentary testing shows that to not be the case.
BalancingMode seeems like a useful extension point for all lbs, but I suppose it isn't immediately important.
One caveat though, if the user has enabled (gce) autoscaling, the autoscaler will kick in when observed > desired rps and add an instance to the IG, so we should probably set it really high.

Hi, I spent a lot of time yesterday trying to understand the following message while trying to create an ingress of type gce:
[googleapi: Error 400: Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-my-project-eu-default-pool-213xxxxx-g2vi': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs]

Googling that message only led me to the #google-container slack channel, so I think posting it here it will help others to find this issue (I also have an ILB in front of that instance group).

If you have an GCE LB controller v 0.91 or higher, it should default to
RATE mode if possible (to be compatible with ILB).
We will be working on an upgrade script for people who are already in
UTILIZATION mode.
On Thu, Mar 16, 2017 at 2:03 AM, Patrick Decat<EMAIL_ADDRESS>wrote:

Hi, I spent a lot of time yesterday trying to understand the following
message while trying to create an ingress of type gce:
[googleapi: Error 400: Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-my-project-eu-default-pool-213xxxxx-g2vi': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs]
Googling that message only led me to the #google-container slack channel,
so I think posting it here it will help others to find this issue (I also
have an ILB in front of that instance group).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-286996305,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVKmh7HoBbpYmfMdRpBFItXJTGdgwks5rmPrPgaJpZM4LdSkM
.

The thing is I am on GKE and the GCE ingress controller is the one provided by the master which I cannot control.
I have no idea which version is deployed (master is on 1.5.3).

You will catch up in 1.6, I'm not sure if any 1.5.x will get an update to
0.9.1
On Thu, Mar 16, 2017 at 9:20 AM, Patrick Decat<EMAIL_ADDRESS>wrote:

The thing is I am on GKE and the GCE ingress controller is the one
provided by the master which I cannot control.
I have no idea which version is deployed (master is on 1.5.3).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-287110873,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVId388ymXoM_xi6W6Qgn-quPsi2_ks5rmWFqgaJpZM4LdSkM
.

Hey @pdecat, k8s 1.5.3 ships with v0.9.1. As Tim mentions, that version sets RATE mode as default. https://github.com/kubernetes/ingress/blob/a5f8fe240cab265d50e82a57fbb584c376e4195c/controllers/gce/backends/backends.go#L162
I'm perplexed as to why you're seeing that event surface. It should only be appearing if your instance group has a non-RATE LB backend, but the presence of an ILB means that's impossible. Could you please provide a list of minimum steps to replicate?

Maybe it's because this cluster is several months old and was upgraded from 1.4.x.

When the master is upgraded, the GLBC is also upgraded.  If you created the cluster at 1.4.x and had a LB with type=UTILIZATION, then it should have been impossible to create the ILB in the first place.
If you created your first ingress resource after upgrading master to 1.5.3, then there may be a problem with the controller. Any more info you could provide would be greatly appreciated.  I'll be attempting to replicate as well.

The ILB was created in november.
It's the first GLBC I am attempting to create on that cluster with the gce ingress controller.

After further investigation, it may have nothing to do about the RATE/UTILIZATION load balancing mode.
The backend service created by the GLBC is indeed using the RATE load balancing mode:
# gcloud compute backend-services describe --global k8s-be-30081--d9b10b849848d7bc
affinityCookieTtlSec: 0
backends:
- balancingMode: RATE
  capacityScaler: 1.0
  group: https://www.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/instanceGroups/k8s-ig--d9b10b849848d7bc
  maxRate: 1
connectionDraining:
  drainingTimeoutSec: 0
creationTimestamp: '2017-03-20T07:34:45.486-07:00'
description: ''
enableCDN: false
fingerprint: d-LXfym7vns=
healthChecks:
- https://www.googleapis.com/compute/v1/projects/my-project/global/httpHealthChecks/k8s-be-30081--d9b10b849848d7bc
id: '2430887105935857258'
kind: compute#backendService
loadBalancingScheme: EXTERNAL
name: k8s-be-30081--d9b10b849848d7bc
port: 30081
portName: port30081
protocol: HTTP
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/backendServices/k8s-be-30081--d9b10b849848d7bc
sessionAffinity: NONE
timeoutSec: 30

However, it looks like the GLBC is creating a new instance group:
# kubectl describe ingress portal-webfront
Name:                   portal-webfront
Namespace:              default
Address:
Default backend:        portal-webfront:80 (<IP_ADDRESS>:80)
Rules:
  Host  Path    Backends
  ----  ----    --------
  *     *       portal-webfront:80 (<IP_ADDRESS>:80)
Annotations:
Events:
  FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason  Message
  ---------     --------        -----   ----                            -------------   --------        ------  -------
  34m           34m             1       {loadbalancer-controller }                      Normal          ADD     default/portal-webfront
  34m           6m              22      {loadbalancer-controller }                      Warning         GCE     [googleapi: Error 400: Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-my-project-eu-default-pool-213xxxxx-g2vi': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs]

Then, it fails to add existing instances to that group:
# gcloud --project=my-project compute instance-groups describe k8s-ig--d9b10b849848d7bc
creationTimestamp: '2017-03-20T07:34:36.927-07:00'
description: ''
fingerprint: dzGYWBSWzfM=
id: '7276294416999011987'
isManaged: 'No'
kind: compute#instanceGroup
name: k8s-ig--d9b10b849848d7bc
namedPorts:
- name: port30081
  port: 30081
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b/instanceGroups/k8s-ig--d9b10b849848d7bc
size: 0
zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/europe-west1-b

Issuing the following command manually triggers the same error message that the GLBC gets:
# gcloud compute instance-groups unmanaged add-instances k8s-ig--d9b10b849848d7bc --instances=gke-my-project-eu-default-pool-213xxxxx-g2vi
ERROR: (gcloud.compute.instance-groups.unmanaged.add-instances) Some requests did not succeed:
 - Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-my-project-eu-default-pool-213acba7-g2vi': instance may belong to at most one load-balanced instance group.

Should I open a new issue? And/or a Google support ticket?
PS: sorry about the noise, I'm kind of semi-blindly debugging here.

FWIW, deploying the https://github.com/kubernetes/ingress/blob/master/controllers/gce/ingress-app.yaml sample leads to the same issue on a freshly spawned cluster with an ILB.
Step by step reproduction procedure
Create new cluster
# gcloud container clusters create test-glbc
Creating cluster test-glbc...done.
Created [https://container.googleapis.com/v1/projects/my-project/zones/europe-west1-b/clusters/test-glbc].
kubeconfig entry generated for test-glbc.
NAME       ZONE            MASTER_VERSION  MASTER_IP       MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS
test-glbc  europe-west1-b  1.5.4           <IP_ADDRESS>  n1-standard-1  1.5.4         3          RUNNING

Get cluster credentials for kubectl:
# gcloud container clusters get-credentials test-glbc
Fetching cluster endpoint and auth data.
kubeconfig entry generated for test-glbc.

Test GLBC ingress without ILB
# kubectl create -f ingress-app.yaml
service "echoheadersx" created
service "echoheadersy" created
replicationcontroller "echoheaders" created
ingress "echomap" created

Standalone creation OK:
# kubectl describe -f ingress-app.yaml
Name:                   echoheadersx
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30301/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.

Name:                   echoheadersy
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30284/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.

Name:           echoheaders
Namespace:      default
Image(s):       gcr.io/google_containers/echoserver:1.4
Selector:       app=echoheaders
Labels:         app=echoheaders
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
No volumes.
Events:
  FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason                  Message
  ---------     --------        -----   ----                            -------------   --------        ------                  -------
  2m            2m              1       {replication-controller }                       Normal          SuccessfulCreate        Created pod: echoheaders-71rn7

Name:                   echomap
Namespace:              default
Address:                <IP_ADDRESS>
Default backend:        echoheadersx:80 (<IP_ADDRESS>:8080)
Rules:
  Host          Path    Backends
  ----          ----    --------
  foo.bar.com
                /foo    echoheadersx:80 (<IP_ADDRESS>:8080)
  bar.baz.com
                /bar    echoheadersy:80 (<IP_ADDRESS>:8080)
                /foo    echoheadersx:80 (<IP_ADDRESS>:8080)
Annotations:
  backends:             {"k8s-be-30284--e235ee39f3afd43d":"Unknown","k8s-be-30301--e235ee39f3afd43d":"Unknown"}
  forwarding-rule:      k8s-fw-default-echomap--e235ee39f3afd43d
  target-proxy:         k8s-tp-default-echomap--e235ee39f3afd43d
  url-map:              k8s-um-default-echomap--e235ee39f3afd43d
Events:
  FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason  Message
  ---------     --------        -----   ----                            -------------   --------        ------  -------
  2m            2m              1       {loadbalancer-controller }                      Normal          ADD     default/echomap
  1m            1m              1       {loadbalancer-controller }                      Normal          CREATE  ip: <IP_ADDRESS>
  1m            1m              2       {loadbalancer-controller }                      Normal          Service default backend set to echoheadersx:30301

Cleanup:
# kubectl delete -f ingress-app.yaml
service "echoheadersx" deleted
service "echoheadersy" deleted
replicationcontroller "echoheaders" deleted
ingress "echomap" deleted

Create internal load balancer
# gcloud compute health-checks create tcp test-glbc-http --port 80 --port-name http
Created [https://www.googleapis.com/compute/v1/projects/my-project/global/healthChecks/test-glbc-http].
NAME            PROTOCOL
test-glbc-http  TCP

# gcloud compute backend-services create test-glbc-be-http --protocol TCP --load-balancing-scheme=INTERNAL --region europe-west1 --health-checks=test-glbc-http
Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http].
NAME               BACKENDS  PROTOCOL
test-glbc-be-http            TCP

# gcloud compute backend-services add-backend test-glbc-be-http --instance-group=gke-test-glbc-default-pool-db869d65-grp --instance-group-zone europe-west1-b --region europe-west1
Updated [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http].

# gcloud compute forwarding-rules create test-glbc-ifr --load-balancing-scheme=INTERNAL --backend-service=test-glbc-be-http --ports=80 --region=europe-west1
Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/forwardingRules/test-glbc-ifr].
---
IPAddress: <IP_ADDRESS>
IPProtocol: TCP
backendService: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http
creationTimestamp: '2017-03-20T11:06:43.978-07:00'
description: ''
id: '5639198685020398812'
kind: compute#forwardingRule
loadBalancingScheme: INTERNAL
name: test-glbc-ifr
network: https://www.googleapis.com/compute/v1/projects/my-project/global/networks/default
ports:
- '80'
region: europe-west1
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/forwardingRules/test-glbc-ifr
subnetwork: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/subnetworks/default

# gcloud compute firewall-rules create test-glbc-fw-healthcheck --source-ranges=<IP_ADDRESS>/22 --target-tags=gke-test-glbc-090834e3-node --allow=TCP
Created [https://www.googleapis.com/compute/v1/projects/my-project/global/firewalls/test-glbc-fw-healthcheck].
NAME                      NETWORK  SRC_RANGES      RULES  SRC_TAGS  TARGET_TAGS
test-glbc-fw-healthcheck  default  <IP_ADDRESS>/22  tcp              gke-test-glbc-090834e3-node

Test GLBC ingress with ILB
# kubectl create -f ingress-app.yaml
service "echoheadersx" created
service "echoheadersy" created
replicationcontroller "echoheaders" created
ingress "echomap" created

Creation with existing ILB failed:
# kubectl describe -f ingress-app.yaml
Name:                   echoheadersx
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30301/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.

Name:                   echoheadersy
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30284/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.

Name:           echoheaders
Namespace:      default
Image(s):       gcr.io/google_containers/echoserver:1.4
Selector:       app=echoheaders
Labels:         app=echoheaders
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
No volumes.
Events:
  FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason                  Message
  ---------     --------        -----   ----                            -------------   --------        ------                  -------
  37s           37s             1       {replication-controller }                       Normal          SuccessfulCreate        Created pod: echoheaders-qkn1n

Name:                   echomap
Namespace:              default
Address:
Default backend:        echoheadersx:80 (<IP_ADDRESS>:8080)
Rules:
  Host          Path    Backends
  ----          ----    --------
  foo.bar.com
                /foo    echoheadersx:80 (<IP_ADDRESS>:8080)
  bar.baz.com
                /bar    echoheadersy:80 (<IP_ADDRESS>:8080)
                /foo    echoheadersx:80 (<IP_ADDRESS>:8080)
Annotations:
Events:
  FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason  Message
  ---------     --------        -----   ----                            -------------   --------        ------  -------
  38s           38s             1       {loadbalancer-controller }                      Normal          ADD     default/echomap
  16s           1s              10      {loadbalancer-controller }                      Warning         GCE     [googleapi: Error 400: Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-test-glbc-default-pool-db869d65-9chb': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs]

Ahh yes, the ILB and the GCLB have to share an IG, and the LB controller
has a baked-in assumption of the name.  Easiest is to let the HTTP LB go
first.
@nicksardo - can you explain how to derive the IG name to use?
On Mon, Mar 20, 2017 at 11:21 AM, Patrick Decat<EMAIL_ADDRESS>wrote:

FWIW, deploying the https://github.com/kubernetes/ingress/blob/master/
controllers/gce/ingress-app.yaml sample leads to the same issue on a
freshly spawned cluster with an ILB.
Step by step reproduction procedure Create new cluster
gcloud container clusters create test-glbc
Creating cluster test-glbc...done.
Created [https://container.googleapis.com/v1/projects/my-project/zones/europe-west1-b/clusters/test-glbc].
kubeconfig entry generated for test-glbc.
NAME       ZONE            MASTER_VERSION  MASTER_IP       MACHINE_TYPE   NODE_VERSION  NUM_NODES  STATUS
test-glbc  europe-west1-b  1.5.4           <IP_ADDRESS>  n1-standard-1  1.5.4         3          RUNNING
Get cluster credentials for kubectl:
gcloud container clusters get-credentials test-glbc
Fetching cluster endpoint and auth data.
kubeconfig entry generated for test-glbc.
Test GLBC ingress without ILB
kubectl create -f ingress-app.yaml
service "echoheadersx" created
service "echoheadersy" created
replicationcontroller "echoheaders" created
ingress "echomap" created
Standalone creation OK:
kubectl describe -f ingress-app.yaml
Name:                   echoheadersx
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30301/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.
Name:                   echoheadersy
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30284/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.
Name:           echoheaders
Namespace:      default
Image(s):       gcr.io/google_containers/echoserver:1.4
Selector:       app=echoheaders
Labels:         app=echoheaders
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
No volumes.
Events:
FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason                  Message

2m            2m              1       {replication-controller }                       Normal          SuccessfulCreate        Created pod: echoheaders-71rn7
Name:                   echomap
Namespace:              default
Address:                <IP_ADDRESS>
Default backend:        echoheadersx:80 (<IP_ADDRESS>:8080)
Rules:
Host          Path    Backends

foo.bar.com
/foo    echoheadersx:80 (<IP_ADDRESS>:8080)
bar.baz.com
/bar    echoheadersy:80 (<IP_ADDRESS>:8080)
/foo    echoheadersx:80 (<IP_ADDRESS>:8080)
Annotations:
backends:             {"k8s-be-30284--e235ee39f3afd43d":"Unknown","k8s-be-30301--e235ee39f3afd43d":"Unknown"}
forwarding-rule:      k8s-fw-default-echomap--e235ee39f3afd43d
target-proxy:         k8s-tp-default-echomap--e235ee39f3afd43d
url-map:              k8s-um-default-echomap--e235ee39f3afd43d
Events:
FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason  Message

2m            2m              1       {loadbalancer-controller }                      Normal          ADD     default/echomap
1m            1m              1       {loadbalancer-controller }                      Normal          CREATE  ip: <IP_ADDRESS>
1m            1m              2       {loadbalancer-controller }                      Normal          Service default backend set to echoheadersx:30301
Cleanup:
kubectl delete -f ingress-app.yaml
service "echoheadersx" deleted
service "echoheadersy" deleted
replicationcontroller "echoheaders" deleted
ingress "echomap" deleted
Create internal load balancer
gcloud compute health-checks create tcp test-glbc-http --port 80 --port-name http
Created [https://www.googleapis.com/compute/v1/projects/my-project/global/healthChecks/test-glbc-http].
NAME            PROTOCOL
test-glbc-http  TCP
gcloud compute backend-services create test-glbc-be-http --protocol TCP --load-balancing-scheme=INTERNAL --region europe-west1 --health-checks=test-glbc-http
Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http].
NAME               BACKENDS  PROTOCOL
test-glbc-be-http            TCP
gcloud compute backend-services add-backend test-glbc-be-http --instance-group=gke-test-glbc-default-pool-db869d65-grp --instance-group-zone europe-west1-b --region europe-west1
Updated [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http].
gcloud compute forwarding-rules create test-glbc-ifr --load-balancing-scheme=INTERNAL --backend-service=test-glbc-be-http --ports=80 --region=europe-west1
Created [https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/forwardingRules/test-glbc-ifr].
IPAddress: <IP_ADDRESS>
IPProtocol: TCP
backendService: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/backendServices/test-glbc-be-http
creationTimestamp: '2017-03-20T11:06:43.978-07:00'
description: ''
id: '5639198685020398812'
kind: compute#forwardingRule
loadBalancingScheme: INTERNAL
name: test-glbc-ifr
network: https://www.googleapis.com/compute/v1/projects/my-project/global/networks/default
ports:

'80'
region: europe-west1
selfLink: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/forwardingRules/test-glbc-ifr
subnetwork: https://www.googleapis.com/compute/v1/projects/my-project/regions/europe-west1/subnetworks/default

gcloud compute firewall-rules create test-glbc-fw-healthcheck --source-ranges=<IP_ADDRESS>/22 --target-tags=gke-test-glbc-090834e3-node --allow=TCP
Created [https://www.googleapis.com/compute/v1/projects/my-project/global/firewalls/test-glbc-fw-healthcheck].
NAME                      NETWORK  SRC_RANGES      RULES  SRC_TAGS  TARGET_TAGS
test-glbc-fw-healthcheck  default  <IP_ADDRESS>/22  tcp              gke-test-glbc-090834e3-node
Test GLBC ingress with ILB
kubectl create -f ingress-app.yaml
service "echoheadersx" created
service "echoheadersy" created
replicationcontroller "echoheaders" created
ingress "echomap" created
Creation with existing ILB failed:
kubectl describe -f ingress-app.yaml
Name:                   echoheadersx
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30301/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.
Name:                   echoheadersy
Namespace:              default
Labels:                 app=echoheaders
Selector:               app=echoheaders
Type:                   NodePort
IP:                     <IP_ADDRESS>
Port:                   http    80/TCP
NodePort:               http    30284/TCP
Endpoints:              <IP_ADDRESS>:8080
Session Affinity:       None
No events.
Name:           echoheaders
Namespace:      default
Image(s):       gcr.io/google_containers/echoserver:1.4
Selector:       app=echoheaders
Labels:         app=echoheaders
Replicas:       1 current / 1 desired
Pods Status:    1 Running / 0 Waiting / 0 Succeeded / 0 Failed
No volumes.
Events:
FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason                  Message

37s           37s             1       {replication-controller }                       Normal          SuccessfulCreate        Created pod: echoheaders-qkn1n
Name:                   echomap
Namespace:              default
Address:
Default backend:        echoheadersx:80 (<IP_ADDRESS>:8080)
Rules:
Host          Path    Backends

foo.bar.com
/foo    echoheadersx:80 (<IP_ADDRESS>:8080)
bar.baz.com
/bar    echoheadersy:80 (<IP_ADDRESS>:8080)
/foo    echoheadersx:80 (<IP_ADDRESS>:8080)
Annotations:
Events:
FirstSeen     LastSeen        Count   From                            SubObjectPath   Type            Reason  Message

38s           38s             1       {loadbalancer-controller }                      Normal          ADD     default/echomap
16s           1s              10      {loadbalancer-controller }                      Warning         GCE     [googleapi: Error 400: Validation failed for instance 'projects/my-project/zones/europe-west1-b/instances/gke-test-glbc-default-pool-db869d65-9chb': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs]
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-287852266,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVBxLF1pYL-xq0zjw8f8gjpAs45giks5rnsPGgaJpZM4LdSkM
.

Yes, recommend letting the ingress controller create the instance group.
k8s-ig--CLUSTERNAME
Example:
k8s-ig--fcc72fe46f7de048

For the uninitiated, where does clustername come from?
On Mon, Mar 20, 2017 at 12:13 PM, Nick Sardo<EMAIL_ADDRESS>wrote:

Yes, recommend letting the ingress controller create the instance group.
k8s-ig--CLUSTERNAME
Example:
k8s-ig--fcc72fe46f7de048
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-287867144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFVgVOJmgI6HiHKP_Pgp2NZCwwjTAd6bks5rns_FgaJpZM4LdSkM
.

How would one do that on GKE? Don't see the option to name the IG at
cluster creation time.
Le lun. 20 mars 2017 20:13, Nick Sardo<EMAIL_ADDRESS>a écrit :

Yes, recommend letting the ingress controller create the instance group.
k8s-ig--CLUSTERNAME
Example:
k8s-ig--fcc72fe46f7de048
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/ingress/issues/112#issuecomment-287867144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AATcGkT03vIBjlgtWhSiOqLCHTPofKHCks5rns_FgaJpZM4LdSkM
.

Or do you mean to create a GKE cluster without any instance group? Is that possible?

GKE/Kube will automatically create an IG for the nodes in each zone, which is used to managed the nodes but not LB them.  We create a second IG which is just for LB, which is currently managed by GLBC.  As ILB becomes more built-in, we'll have to reconsider where that IG is managed and whether it should remain distinct from the primary IGs.
One reason the IGs are distinct: GKE nodepools allow you to have many "shapes" of machines, each with an IG (per zone).  Flattening that into an IG of all nodes in a given zone makes LB setup a lot easier.  But that IG logic should probably move to our cloud provider controller, rather than GLBC, and we might want to reconsider the name to make it more obvious.
@bowei @nicksardo @bprashanth

For the uninitiated, where does clustername come from?

The cluster name is stored in the config map under "ingress-uid". If it doesn't exist, the controller generates one from /dev/urandom and updates the configmap.
kubectl --namespace=kube-system get configmaps ingress-uid -o yaml

Indeed, the future of the LB instance groups is worth discussion.

For the record, deleting the ILB, creating the GCE ingress with the GLBC, then recreating the ILB using the IG managed by GLBC works.
Thanks @thockin, @nicksardo.

Did anybody come up with a migration tool for old backends?


Specify cockroach_connection_string connection_params attributes in docs

When trying to get just the host uri of a cluster, the most straightforward option seems to be connection_params from cockroach_connection_string -- but the documentation only lists connection_params as a "map of string" without specifying its attributes. The underlying cockroach API documentation actually doesn't specify it either, you need to manually call the API to get the parameters.
Can we specify the connection_params attributes in the documentation? From calling the cockroach API manually, I got Database, Host, and Port.

Thanks for the suggestion! This has been incorporated with v1.0.0, which is now available.


(MAINT) Updating PEADM version to latest

Moving from 3.15.0 to 3.16.1

Can we also update this line here with the default password that meets the new password requirements https://github.com/puppetlabs/puppetlabs-pecdm/blob/f13a5abcc781804b77e4165f6079b2f194d2fee4/plans/provision.pp#L160
Needs an uppercase, a number and a special char


Icons looks big in the latest version 17.0.17033.02

This has me baffled.  I'm certainly not doing it on purpose, and it doesn't repro on any machine I've tried it on. If anyone has any ideas I'm open to suggestions.

This page helped in understanding the bug:
https://msdn.microsoft.com/en-US/library/mt622670.aspx
I had doubled my image size for my own high DPI system, but managed not to test on regular DPI.


Multiple koin modules

I think it would be best if we create multiple Koin modules instead of one.
What I mean to say is that there can be modules like:

NetworkModule
DatabaseModule
ViewModelModule
RepositoryModule etc

Yes, I have made multiple Koin modules on the movies branch. Like this.

@hitanshu-dhawan Looks good, we can have seperate files for every module.

I prefer to separate the modules depending on the environment.
For example,

KoinModules.kt will have all the normal modules.
TestKoinModules.kt will have all the testing modules.

@hitanshu-dhawan That'll work for small projects. I see that this project will have a lot of elements down the line, I believe having multiple files will increase readability and reduce confusion.
I'll try and segregate modules once after you add paging and then you can have a look, see if it works.


Change the default date for padglobal which commands to from 2000 to 1969

User request:

It is to note that I requested it being 1969 to make it deliberately obvious its done on purpose.
Also it has 69 in it xd

btw, since we marked this as a good first issue, it might be a while until this gets done - we like to keep some issues open for new contributors that are relatively low priority and fairly easy to implement, and this one definitely meets these criteria.


Automate sending emails about new sprint reports

We want to automate sending emails to mailing lists about new sprint reports in order to not forget about doing so.

Maybe it's a bit overkill... but it's just an idea.

automation is good

We don't have classical sprint reports anymore. I think we can close this one


More testing infrastructure (closes #297)

This is related to issue https://github.com/ArkEcosystem/ark-desktop/issues/297, and continues the changes started at https://github.com/ArkEcosystem/ark-desktop/pull/308.
Notes about these changes:

I've used the should syntax because the previous tests were using it. Maybe it's a good time to change it to something less intrusive (assert or expect).
I've added Karma to have a simpler and faster way to tests Services, Filters, etc. instead of using E2E for all things. It's using PhantomJS, but a newer browser would be a better option.
Network (and other things) should be mocked on E2E tests, but, since that is a quite time-consuming thing, I think that it would be better creating new tasks for it or doing it incrementally.
I've added a sample Travis configuration, but, since you're going to configure the project (and I don't know if you've your own preferences, workflow, CI infrastructure) I delegate the final job to you.
I've added Devtron too because some people could find it useful

Are no semicolons the standard?

Since, this project doesn't use any linter or enforces any code style yet, I've omit some unnecessary semicolons.
In fact, @spresnal I'd like to use a real (de facto) standard way: https://github.com/ArkEcosystem/ark-desktop/issues/323 .

Great! easily legible and well structured +10 👍🏻


qat, initcontainer: add enablement of auto_reset

e2e-qat cannot be run successfully because the runner does not have auto_reset.
I can think of too many options, but I have no idea which would be the best. So give me your opinions.!

Make users set if auto_reset will be enabled or not thorugh qat.conf
Just update the runner, and keep as now.
Make the script not exit 1 even if auto_reset does not exist.


Email Outbox doesn't scroll

Bug report
Description
Email outbox section doesn't scroll anymore, isn't keyboard focusable, and there is no padding in between emails.
Reproduction steps
Steps to reproduce the behaviour:

Go to any level
Ask the chatbot to send multiple emails, until the email outbox section on the right hand side fills up completely
See the emails squished together in the outbox container

Expected behaviour
When the emails are too big, or too many to fit into their container,
the user can scroll through the container to see all emails.
There is padding in between each email, and the email container is keyboard
focusable and can be scrolled by keyboard and mouse.
Screenshots

Software (please complete the following information):

Browser: chrome, firefox, probably all browsers

Acceptance criteria
GIVEN the user asks the chatbot to send many emails
WHEN they want to scroll through all emails
THEN they can do so using mouse and keyboard, and each email is clearly visible

Ticket 620 will  be reopened to address this issue, so closing this bug report.


Adds deviceType to Constants

 You should sign our Contributor License Agreement in order to get your pull request merged.


Structural Equality Tests does not work for Seq

Description
Structural equality does not work for Sequences but works for Lists
Repro steps

Create code snippet

let result1 = [[1.0; 0.0; 0.0]; [0.0; 1.0; 0.0]] = [[1.0; 0.0; 0.0]; [0.0; 1.0; 0.0]]
let asSeq xs = xs |> List.map List.toSeq |> List.toSeq
let result2 = (asSeq [[1.0; 0.0; 0.0]; [0.0; 1.0; 0.0]]) = (asSeq [[1.0; 0.0; 0.0]; [0.0; 1.0; 0.0]])

compile with fable

paste and eval in fsharpi

Expected behavior
result1 and result evaluate to true
Actual behavior
result1 evaluates to `true``
result2 evaluates to `false``
Known workarounds
no know workaround
Related information

Branch 0.3.22

I was adding structural comparison for sequences but then I noticed the example above is a bit misleading. There's actually no structural comparison for sequences. If you replace the lists with arrays result2 will be false:
let asSeq xs = xs |> Array.map Array.toSeq |> Array.toSeq
let result2 = (asSeq [|[|1.0; 0.0; 0.0|]; [|0.0; 1.0; 0.0|]|]) = (asSeq [|[|1.0; 0.0; 0.0|]; [|0.0; 1.0; 0.0|]|])

Same happens if you compare directly lazy sequences:
let result2 = seq{yield seq{yield 1.0; yield 0.0; yield 0.0}; yield seq{yield 0.0; yield 1.0; yield 0.0}} = seq{yield seq{yield 1.0; yield 0.0; yield 0.0}; yield seq{yield 0.0; yield 1.0; yield 0.0}}

Not sure why the equality is successful if the sequences are backed by lists, but seems to be something counterintuitive, so I'm not sure it's worth trying to implement this behaviour in Fable.
However, while investigating the issue I've fixed a couple of other minor issues, so the report has been helpful in any case. Thank you!

hmm - that is strange indeed.
As fsharpi has the same behaviour I am fine with your decision. Thou I think its worth asking the f# gods why this is so

I guess the equal operator is just calling the Equals method of the underlying type, but yes, it can be helpful if you ask the F# team the reasoning behind this :+1:

if you decompile
let sl1 = seq [ 0..10 ]
let sa2 = seq [|0..10|]
let s   = seq { 0..10 }

you see the module's constructor is
		static $libb()
		{
			$libb.sl1@3 = Operators.CreateSequence<int>((IEnumerable<int>)SeqModule.ToList<int>(Operators.CreateSequence<int>(Operators.OperatorIntrinsics.RangeInt32(0, 1, 10))));
			$libb.sa2@4 = Operators.CreateSequence<int>((IEnumerable<int>)SeqModule.ToArray<int>(Operators.CreateSequence<int>(Operators.OperatorIntrinsics.RangeInt32(0, 1, 10))));
			$libb.s@5 = Operators.CreateSequence<int>(Operators.OperatorIntrinsics.RangeInt32(0, 1, 10));
		}

The array and list are created then cast to their interface, which i guess still allows structural equality whereas the seq cexpr is just creating a lazy enumerator


Console script in windows can't take non ascii arguments

In this case, maybe it is worthy to file this issue against pip.
To keep things cross platform, the script wrappers are not included in the wheel or sdist created by setuptools.
Instead, pip creates the script wrappers for console_scripts during the installation (with the help of distlib)[^1].
[^1]: Unless you are using the -e option .
Originally posted by @abravalheri in https://github.com/pypa/setuptools/issues/3268#issuecomment-1099924217

This is a duplication of #3268 right?


Cargo Attempts to mmap<PHONE_NUMBER>72032, bytes of memory then dies with SIGSEGV

While attempting to build https://github.com/danburkert/lmdb-rs.git Cargo will exit with an error 4. While running strace I see the error being encountered is
[pid 27781] mmap(NULL,<PHONE_NUMBER>72032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 27781] mmap(NULL,<PHONE_NUMBER>72032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)
[pid 27781] brk(0)                      = 0x7f0450606000
[pid 27781] brk(0xfe089bd61000)         = 0x7f0450606000
[pid 27781] mmap(NULL,<PHONE_NUMBER>03104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 ENOMEM (Cannot allocate memory)

After these errors there is a SIGSEGV and then the program exits.
Here is the verison information this is occuring on
cargo 0.0.1-pre-nightly (bb28e71 2015-01-22 06:06:34 +0000)

I can't seem to get bindgen to cooperate with me at all, so I can't reproduce :(
A few questions though:

Can you minimize this at all? Not requiring bindgen would be super helpful for me
Can you get a stack trace at the time of the segfault?
Can you gist the full logs of the cargo build?

I haven't been able to get it to happen outside of bindgen yet, but I am working on it
Here is the stack trace
Breakpoint 1, 0x00007ffff70b9620 in mmap64 () from /lib64/libc.so.6
#0  0x00007ffff70b9620 in mmap64 () from /lib64/libc.so.6
#1  0x0000555555aebdfb in je_chunk_alloc_mmap ()
#2  0x0000555555adab50 in chunk_alloc_core ()
#3  0x0000555555adac2f in je_chunk_alloc_arena ()
#4  0x0000555555adf39e in arena_chunk_init_hard ()
#5  0x0000555555ae42a2 in je_arena_malloc_large ()
#6  0x0000555555acf04d in je_mallocx ()
#7  0x0000555555a9dc41 in thunk::F.Invoke$LT$A$C$$u{20}R$GT$::invoke::h9970043498555055643 ()
#8  0x0000555555a9c7ef in rt::unwind::try::try_fn::h2573532462187215149 ()
#9  0x0000555555ac59c9 in rust_try_inner ()
#10 0x0000555555ac59b6 in rust_try ()
#11 0x0000555555a9d305 in thunk::F.Invoke$LT$A$C$$u{20}R$GT$::invoke::h4483539203640032782 ()
#12 0x0000555555abff0f in sys::thread::thread_start::h4faa993964f784ad5Nw ()
#13 0x00007ffff75a5ee5 in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff70beb8d in clone () from /lib64/libc.so.6
Here is the full gist of the run its kinda long
https://gist.github.com/210518b1ae5084ddeef4.git

Does this still reproduce?

Haven't tried it in a while. I will give it a whirl and see if I can get it to break.

Ok, haven't seen this in awhile so I'm gonna close.


manage the library and its wrappers in separate repositories

At the moment the library is tested from its JS version.
An option would be to use Catch2 or some other C++ testing library for local tests, and create new repositories for the JS version and the score plugin, using this one as a submodule.
A draft of the JS wrapper lies in the feat/jswrapper branch, but this branch should live into another repository instead, e.g midifile-performer-js

Now published as an npm package : https://www.npmjs.com/package/midifile-performer
Works in a local development setup after npm install midifile-performer
Now we only need to replace the node tests with C++ tests


Add a pseudo console as a rudimentary API for player interaction

Listening for keys is a good idea but having a text input seems even better.

Thanks for your review

Meanwhile, can we discuss about the UserConsole API? I would like to add some sort of global command handler. I would like some future visions from you so we can coordinate our projects

this is how I use it

@Cazka I'm looking at the canvas kit api right now
Is there a way to "dump" every canvas call? So I can map it

@Cazka bump

This looks cool but why do we need this in diepAPI. can't you just use the dev console?
I think that this is not relevant enough to be in diepAPI and should be implemented entirely as an userscript similar to entity_debug_tool.user.js


add customization point for host toolchain

motivation: some complext integrations may require customization of the host toolchain
changes:

add customization point at workspace initializer to pass in a custom host toolchain
adjust call sites and tests

rdar://74700642

@swift-ci please smoke test

cc @benlangmuir


Improve SEO of documentation to make package more findable.l

If you search "python mcnp" on google or duckduckgo, MontePy is likely never on the first page of results. If you search "python mcnp input" on duckduckgo we then get bumped up to the front page.
We should go through our documentation to make sure that when people want something like MontePy, they actually can find this as a solution.

I recently set up Google search console, and Bing Webmaster for montepy.org. Bing actually has some ~recommendations~ complaints that would help with SEO:
|Issue          | Severity | pages affected |
|H1 tag missing| Notice| 1|
|More than one h1 tag| Notice|2|
|Html size is too long| Warning| 1|
| Title too long | Warning | 10|
|Meta Description tag missing | Error | 74|

See this sphinx directive for meta data. https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html#html-meta


Releases

@JuliaRegistrator register subdir=src/proto
Release notes:
Generate the Julia code from the dapr proto files of v1.4.2

Registration pull request created: JuliaRegistries/General/45664
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a proto-v0.0.1 -m "<description of version>" 133460f4ccf7c86313089c65e1efa7155afa4c91
git push origin proto-v0.0.1

@JuliaRegistrator register subdir=src/client

Registration pull request created: JuliaRegistries/General/83277
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a client-v0.1.0 -m "<description of version>" 8715aa7e07e641c7fb030f1a24c42b1263bda31d
git push origin client-v0.1.0

@JuliaRegistrator register subdir=src/client

Error while trying to register: Version 0.1.0 already exists

Registration pull request created: JuliaRegistries/General/83616
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a client-v0.1.1 -m "<description of version>" 3c8fcba2147a6f32b6f38bb546b925fc27a0bc00
git push origin client-v0.1.1

@JuliaRegistrator register subdir=src/client

Registration pull request created: JuliaRegistries/General/83649
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a client-v0.1.2 -m "<description of version>" 90bc8261a02298468a272a0de68186114afa2a1b
git push origin client-v0.1.2


Fix synchronization of datetime tests

As reported by @programmerjake  by this comment, the lock! macro used in the datetime tests doesn't work.
This PR

Fixes the synchronization
and
Remove nighly feature from parking_lot

@davidhewitt
I'm sorry that this PR conflicts with #866. I wanted to fix my fault myself.

I can still see an odd error :thinking:

Looks like something weird has happened to travis again. I wonder if we should be migrating to github actions to simplify the CI?

Looks like something weird has happened to travis again.

No worry, it was because of a bug.


IERS Bulletin A workaround and download methods

This PR is the culmination of discussions generated by #67 and #69, and conversations with @eteq on Slack. @cdeil / @adrn, fire away. Here's how it works:
Outline

The IERS Bulletin A table is not packaged in astroplan, and does not get downloaded at installation
utils.get_IERS_A_or_workaround() gets called from astroplan/__init__.py, which does one of two things:
If the IERS Bulletin A table was previously downloaded and cached, and the table is less than a week old, that table will be used without warning

If the table is more than a week old, a warning is printed, instructing the user that higher precision is available by downloading a fresh IERS A table, and giving instructions on how to do so, and the "old" table is used anyways

If the IERS Bulletin A table is not in the cache, then Time._get_delta_ut1_utc, which calculates UT1-UTC and raises an error without IERS A, gets overridden by our monkey patch _low_precision_utc_to_ut1. This patch uses the approximation that UT1-UTC=0 always. This approximation is good to a few seconds over the last 15 years. The same precision warning is printed as in the previous bullet, instructing the user how to download a newer table
When a user manually triggers the IERS A download:
It first checks to see if a copy already exists, and overwrites it if so
Download progress is obviated by the progress bar
The monkey patch on Time._get_delta_ut1_utc is reversed back to its normal state.

Examples
Let's say you've just downloaded astroplan and you want to run the test for the parallactic angle method, which uses the date "2015-01-01", which ordinarily must rely on the IERS A table. You haven't downloaded the IERS A table yet, so you will get a warning, but the monkey patch kicks in, the tests will pass and you don't raise any assertions.
% python -c "from astroplan.tests.test_core import test_parallactic_angle as f; f()"
WARNING: OldEarthOrientationDataWarning: For best precision (on the order of
arcseconds), you must download an up-to-date IERS Bulletin A table. To do so, run:

>>> from astroplan import download_IERS_A
>>> download_IERS_A()
 [astroplan.utils]

Now you can copy and paste those commands and the download will begin
>>> from astroplan import download_IERS_A
>>> download_IERS_A()
Downloading http://maia.usno.navy.mil/ser7/finals2000A.all
|==========================================| 3.0M/3.0M (100.00%)         2s

and you can check that the monkey patch has been undone after download:
In [11]: astroplan.utils.Time._get_delta_ut1_utc
Out[11]: <unbound method Time._low_precision_utc_to_ut1>
In [12]: download_IERS_A()
Downloading http://maia.usno.navy.mil/ser7/finals2000A.all
|==========================================| 3.0M/3.0M (100.00%)         2s
In [13]: astroplan.utils.Time._get_delta_ut1_utc
Out[13]: <unbound method Time._get_delta_ut1_utc>

Sound good?
Aside
For intrepid cloners – if you clone this branch to experiment with it, you might be thankful to have this pattern for copying and pasting for deleting your locally cached IERS A table:
from astropy.utils.data import clear_download_cache
from astropy.utils.iers import IERS_A_URL
clear_download_cache(IERS_A_URL)

Does this also work if the package is installed system-wide?
What about downloading the table via crontab, at least as an option?

I think this solution is OK, my main concern has been addressed: astroplan is usable without internet connection. So :+1:  to merge.
IMO the Time monkeypatching and the IERS table download should be handled in Astropy.
So I'd prefer if an issue or PR is opened against the Astropy repo, this code is moved to astroplan/extern, and a note is left at the top linking to the Astropy PR.
I also think it would be good to add a section in the high-level docs for this, explaining to the user what the IERS A table is, when it's downloaded or updated, for which Time or astroplan functions it's used, and roughly what precision loss results if it's not present. @bmorris3 – you have written a lot about this in your blog post and in the original descriptions of the three PRs you've made for this, but a user won't find this and all users will see the download happening or get the warning and wonder if they did something wrong.
Since we want to get the release out the door, this docs section could be very short, but I think it should be there and probably also put the URL to that explanation in the warning.
I don't know if it's possible to implement tests for this, excercising the different scenarios. It's propably too hard and not the best use of @bmorris3's time now, but this IERS table handling is the one thing that has me worried when we ship astroplan 0.1, so if implementing at least some tests is possible, please do.

@eteq – I've assigned this issue to you for final review and merging.

Re @olebole:

Does this also work if the package is installed system-wide?

I believe it should work no matter where the package is installed. The caching is managed by
astropy.utils.data which seems to be pretty stable.

What about downloading the table via crontab, at least as an option?

A user can write a simple script like this to execute by crontab weekly, which will download a new IERS A table and overwrite the one in the cache:
from astroplan import download_IERS_A
download_IERS_A()

Is that what you mean?

@cdeil It might be more verbose than you were looking for, but I've made some new high level docs for IERS A in e1d3c32.

The tutorials/iers_a.rst page isn't connected to the docs at the moment, I think.
Is that on purpose to not conflict with other in-progress PRs?
@eteq – Can you comment if the implementation of this looks good to you?

(will look at this today sometime)

Re @cdeil:

The tutorials/iers_a.rst page isn't connected to the docs at the moment, I think.

This was intentional because I think the pages that should link to this tutorial are ones getting merged in from #42 (could be wrong here). I'm waiting to see the final structure of all of those docs before figuring out where to insert mine.

@bmorris3 - Ok, I think this is good once you merge bmorris3/astroplan#3 (assuming you like it and the tests then pass)


Error from jsonmark.js when using latest version

When running gitbook serve I receive this error:
/path/to/node_modules/jsonmark/jsonmark.js:32
          headerObj.body.push(row)
                   ^

TypeError: Cannot read property 'body' of undefined
    at /path/to/docs/node_modules/jsonmark/jsonmark.js:32:20
    at Array.forEach (native)
    at Object._parseContent (/path/to/docs/node_modules/jsonmark/jsonmark.js:17:12)
    at Object.parse (/path/to/docs/node_modules/jsonmark/jsonmark.js:63:27)
    at files.forEach (/path/to/docs/node_modules/gitbook-plugin-summary/index.js:32:39)
    at Array.forEach (native)
    at glob (/path/to/docs/node_modules/gitbook-plugin-summary/index.js:31:17)
    at f (/path/to/docs/node_modules/once/once.js:25:25)
    at Glob.<anonymous> (/path/to/docs/node_modules/glob/glob.js:151:7)
    at emitOne (events.js:96:13)

package.json
{
  "name": "docs",
  "version": "1.0.0",
  "description": "a gitbook",
  "dependencies": {
    "gitbook": "^3.2.3",
    "gitbook-plugin-search-plus-mod": "^1.0.6",
    "gitbook-plugin-summary": "^0.1.2",
    "gitbook-plugin-tags": "^1.5.1",
    "svgexport": "^0.3.2"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

book.json
{
  "title":"title",
  "author": "author",
  "description": "description",
  "plugins": [
    "tags", "-lunr", "-search", "search-plus-mod", "summary"
  ],
  "pluginsConfig": {
    "autocover": {
      "font": {
        "size": null,
        "family": "Impact",
        "color": "#FFF"
      },
      "size": {
        "w": 1800,
        "h": 2360
      },
      "background": {
        "color": "#09F"
      }
    }
  },
  "pdf": {
    "fontFamily":"Montserrat"
  },
  "variables": {
    "title": "A DevOps Playbook"
  },
  "ignores": [ "node_modules", "testing/penetration_testing.md" ]

}

Can you please try version 0.1.3?

Hi @julianxhokaxhiu. I get the same error with version 0.1.3

@tbouron and @josefsalyer can you provide a tree view of your folder?
Thank you.

There you go @julianxhokaxhiu

Could it be that the .DS_Store is the issue?
Can you place a console.log(files) before this line https://github.com/julianxhokaxhiu/gitbook-plugin-summary/blob/master/index.js#L30 ? Please paste the output here. Thank you.

Here is the output @julianxhokaxhiu
Live reload server started on port: 35729
Press CTRL+C to quit ...

info: 8 plugins are installed
info: loading plugin "summary"... OK
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 4 pages
info: found 2 asset files
[ 'download/index.md', 'download/verify.md' ]
/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:32
          headerObj.body.push(row)
                   ^

TypeError: Cannot read property 'body' of undefined
    at /Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:32:20
    at Array.forEach (<anonymous>)
    at Object._parseContent (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:17:12)
    at Object.parse (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:63:27)
    at files.forEach (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/gitbook-plugin-summary/index.js:34:39)
    at Array.forEach (<anonymous>)
    at glob (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/gitbook-plugin-summary/index.js:33:17)
    at f (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/once/once.js:25:25)
    at Glob.<anonymous> (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/glob/glob.js:151:7)
    at emitOne (events.js:115:13)

Sorry wrong line, Can you console.log(filePath) before this line https://github.com/julianxhokaxhiu/gitbook-plugin-summary/blob/master/index.js#L33 ? As always provide some logs. Thank you!

My 2 files are not empty, they have standard markdown + html syntax
Here is the new output:
Live reload server started on port: 35729
Press CTRL+C to quit ...

info: 8 plugins are installed
info: loading plugin "summary"... OK
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 4 pages
info: found 2 asset files
download/index.md
/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:32
          headerObj.body.push(row)
                   ^

TypeError: Cannot read property 'body' of undefined
    at /Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:32:20
    at Array.forEach (<anonymous>)
    at Object._parseContent (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:17:12)
    at Object.parse (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/jsonmark/jsonmark.js:63:27)
    at files.forEach (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/gitbook-plugin-summary/index.js:34:39)
    at Array.forEach (<anonymous>)
    at glob (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/gitbook-plugin-summary/index.js:32:17)
    at f (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/once/once.js:25:25)
    at Glob.<anonymous> (/Users/thomasbouron/repositories/jekyll-tests/gitbook/node_modules/glob/glob.js:151:7)
    at emitOne (events.js:115:13)

Ok found the issue, it seems that that your markup that is not supported by this library is triggering an uninitialization on the library code, which is unexpected at that point. I will see if I can find a better library to parse Markdown, so I can maybe support your syntax too.

Ok cool, thanks @julianxhokaxhiu

@tbouron I just published 0.1.4. Migrate to https://www.npmjs.com/package/markdown-parser but the final result is identically the same.
It should work, can you please try it?


Route alarm to a owner specified by the zabbix trigger definition

This PR provides granularity for directing a zabbix alarm to an user/account specified for each zabbix trigger.
This has been tested on a vbox vm cluster.

Looks good to me


nixos/tests/qtile: test extraPackages and qtile-extras

Description of changes
Update to nixos-vm tests to feature extraPackages option and qtile-extras.
It's based on the WIP tests I mentioned in #299843.

move qtile.nix -> qtile/default.nix, reflect in all-tests.nix
add the default config with a small patch featuring a small patch file to add the analogue clock from qtile-extras in the bar:

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Note that this PR will need changes if/when https://github.com/NixOS/nixpkgs/pull/316239 gets merged

@ofborg build qtile-unwrapped.passthru.tests

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4429

@ofborg test qtile


[Bug] Fleet tab in strategy room goes kaput

If you had scrap/modfodder any of the ships currently in the 1st fleet and go to the current fleet tab, the strategy room would hang and give this error:
Uncaught TypeError: Cannot read property 'substr' of undefined

i guess this is caused because there's no update while destroying the ship (with any way) to the fleet data.. using fleet swapping technique might works hmm (gonna check on it)


$submitted doesn't work

I have a code:
import Vue from 'vue';
import Component from 'src/plugins/classComponent';

@Component()
class ContactForm extends Vue {
  formstate = {};

  model = {
    email: '',
  };

  onSubmit() {
    console.log(111, this.model, this.formstate);
    this.$forceUpdate();
  }
}

export default ContactForm;

<template lang="pug">
  .contact-form
    h3 Send a message

    vue-form(
    :state="formstate",
    @submit.prevent="onSubmit",
    role="form",
    )

      .form-group.control-group
        .controls
          validate
            input.form-control(
            required,
            v-model="model.email",
            name="email",
            type="email",
            placeholder="Email",
            data-validation-required-message="Please enter your email address.",
            aria-invalid="false",
            )

            field-messages(
            name="email",
            show="$touched || $submitted",
            )
              .error-message(slot="required") Email is required
              .error-message(slot="email") Email is invalid

      .form-group
        button.btn.btn-primary(type="submit") Send message
</template>

after I click on the button that call Send message, the field-message for  email doesn't show, it works only with this.$forceUpdate();. What am I doing wrong?

Not overly familiar with classComponent or pug so hard for me see if anything is wrong here.
If you submit, does the submitted class get added to the form element?

@krasevych can you make a minified test case on codependent.io ? I believe
it supports pug and typescript/babel so I can check out your issue?
On Thu, May 11, 2017, 12:08 fergaldoyle<EMAIL_ADDRESS>wrote:

Not overly familiar with classComponent or pug so hard for me see if
anything is wrong here.
If you submit, does the submitted class get added to the form element?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fergaldoyle/vue-form/issues/61#issuecomment-300838142,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAekZOfBftRJdndfBo7HFd9IqjS4OnbQks5r4zJegaJpZM4NXN_3
.


Update schedule.yaml with May patch release info

Update schedule.yaml in include the May patch releases and the June patch release info.

/assign @cpanato @Verolop @saschagrunert @palnabarun @puerco
cc https://github.com/orgs/kubernetes/teams/release-engineering

/lgtm
/approve

/approve


Batch GLES2 draw calls

Fixes #19917
Adds GLES2 draw calls batching for the same render list item that uses
multiple rasterizer commands (e.g. Label node; a node with multiple
GDScript draw_* calls).
This does not cover glBufferSubData calls batching that I've tried to fix in #20077.
Some stats for the number of draw calls -
Before:

After:

Looks good to me, @karroffel ?

Just mentioning here for clarity that this was reverted in #21204.


Correction for raw affiliation Hospital Center of Narbonne, Boulevard Docteur Lacroix, 11108 Narbonne, France

Correction needed for raw affiliation Hospital Center of Narbonne, Boulevard Docteur Lacroix, 11108 Narbonne, France
raw_affiliation_name: Hospital Center of Narbonne, Boulevard Docteur Lacroix, 11108 Narbonne, France
new_rors:
previous_rors: 022m8c549
works_examples: W2765219632
contact: 6a8956172a75aee723db3627c62036d2:72caa3a6ffd27d502e67c70047121164eb48 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


Fix proof request attribute bug.

Checklist

[x] have run AriesFrameworkTests
[x] I have run AllTests

Description
ProofAttributeInfo.names should be an array type. counter party can request proof request with names.

@conanoc Could you look at why the test is failing?

This may be an issue of macos runner version. I fixed it on #45. Merge with the main branch and then it will be fixed.

I merged main branch into it and tests still fails.

It's weird because tests have passed in my github repository before merge. but after merge, it fails in my repository too.

Hmm.. strange. How about creating a new PR after closing this one?


Restore wasmtime's default stack size limit to 1MB

Fixes https://github.com/paritytech/substrate/issues/11891
This PR restores wasmtime's default stack size limit to 1MB.
Originally wasmtime's default stack size limit was set to 1MB, however in version 0.35 it was changed to 512 KB for reasons which aren't really relevant to us. This flew under the radar until our friends from the Astar parachain noticed that this broke their ability to sync their parachain from scratch.
So this PR simply restores the original limit.
I've also added two extra tests to more closely enforce this limit. Please note that since they test the exact boundary in theory they may also fail if anything else changes related to how much stack space a single frame takes without us modifying the stack limit. This is intended; we don't want this to change under us without us knowing about it.
(We might have to #[cfg]-gate these test by architecture and/or OS, but I didn't want to blindly do it until I'll see a failing CI job and/or someone complaining that it fails on their machine.)

Hmm... okay, this is interesting. Apparently when you compile with --release (and the tests on our CI run with --release) the maximum call depth is bigger.
We potentially might need to slightly rethink these tests if they end up being too flake-y (e.g. only guarantee the minimum call stack depth, but not enforce the maximum), but I'd still like to try having them as is. If nothing else we can learn from this what factors can affect the maximum call stack depth.

Just one minor note: IIUC the test checks that STACK_SIZE / FRAME_SIZE stays the same and would not detect if both change in lockstep so that the ratio stays the same. Anyway this should already detect most cases.

Correct. This isn't supposed to be truly exhaustive (as that would be a lot more involved); I just wanted to have something so that this doesn't accidentally happen again under our noses ever again.

bot merge


Dragging a cell sometimes doesn't work

Testing #119118
It looks like either the cursor or the hit target aren't correct, since it makes it look like you can drag, but you can't

oh no, it's the + code toolbar ;(

@eamodio does this repro is you disable the new notebook markdown renderer "notebook.experimental.useMarkdownRenderer": false?

Verified that I can reproduce with useMarkdownRenderer to true but not reproduce when it's set to false.

Yeah, I can only repro with the new renderer

Duplicate of #117489


Bad Concat and Bad POP

I want to know the purpose of Bad Concat and Bad Pop. Through source code, I can know what these functions are doing, but I do not know the benefits of doing this.

Bad concat will just make the source a bit weirder to read.
Bad pop will just make the source very annoying to read by littering lots of "".length calls around the code

@wyw900807 Bad Concat will replace "A: " + stuff with String.valueOf(new StringBuilder().append("A:").append(stuff))


Runaway Phase Errors on Switching Phase

I am currently running

SpongeForge version: 3291
SpongeVanilla version: N/A
Java version: 8
Operating System: CentOS 7

Plugins/Mods: https://timings.aikar.co/?id=10b048d7ff6a4667acc46b1b432f7377

Issue Description
Getting massive spam on: https://gist.github.com/Rasgnarok/b97fff5182ff108d79aa4c3989aa887b . Shutting down the server gives this: https://gist.github.com/Rasgnarok/b97fff5182ff108d79aa4c3989aa887b , uncertain if related.

I do not think it is related to Buycraft per se, as I seem to get it with other scheduling mods and plugins - Pixelmon seems to suffer similarly. Here's the log from one of these crashes.
2018-07-12-1.log

There have been massive changes to the tracker since this time. Closing as this would need a complete re-test.


Medium Posts API URL changed

I made a small change to the API URL.
The new URL APi is https://mediumpostapi.herokuapp.com/?usermedium=YOURMEDIUMUSERNAME.
This was a necessary change, because the Kaffeine Heroku service was consuming all my free hours on Heroku, and it ended up causing the service to crash.
Thank you.

Awesome, thanks for the update. I'll incorporate it into the template. Thanks for providing a great API service!


How to forward request to my service?

How to forward request to my service?
my user service yml
server:
  port: 8012
spring:
  application:
    name: user_service
eureka:
  client:
    service-url:
      defaultZone: http://<IP_ADDRESS>:8761/eureka/
ribbon:
   ReadTimeout: 60000
   ConnectTimeout: 60000
   OkToRetryOnAllOperations: false
   MaxAutoRetries: 0
   MaxAutoRetriesNextServer: 1

my gateway yml
server:
  port: 8011
eureka:
  client:
    service-url:
      defaultZone: http://<IP_ADDRESS>:8761/eureka/
ribbon:
   ReadTimeout: 60000
   ConnectTimeout: 60000
   OkToRetryOnAllOperations: false
   MaxAutoRetries: 0
   MaxAutoRetriesNextServer: 1
spring:
  application:
    name: gateway
    cloud:
        gateway:
        - id: user_route
          uri: lb://user_service:8012
          predicates:
          - PrefixPath=/user

i execute this command,but i get response status 404:
curl  http://<IP_ADDRESS>:8011/user/hello

see the documentation.
Configure to create routes based on services registered

Does the /user/hello path exist in user_service? No port is needed in lb://user_service BTW

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


openssl version bump and cleanup

This bumps openssl to 3.3.1 and removes a variable assignment that is not needed anymore.

Thanks!


Switch to travis-ci/branch for GitHub status name

To be consistent with our documentation
Resolves https://github.com/travis-ci/travis-ci/issues/8542

Tested in staging: https://github.com/BanzaiMan/travis_staging_test/pull/45


combining functions to parameters

Maybe it is a good idea to have more basic funcitons for easier development.
try a base function for fitValue and fitValue2Skewed

Maybe these two can be sort of related but others are pretty basic


Update server-core-removed-roles.md

Expanded short names to full names with parent paths.
This line is in direct contradiction to the WDS Role not being supported?  If this is supported post 1803 then the role must be supported also.

Transport Server (WDS-Transport) (before Windows Server version 1803)

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


Mapping video data for product gallery

This supports the issue at vue-storefront#2388 and PR vue-storefront#2433. It adds the video data from the product gallery (if there are any videos) to be used by vue-storefront.

Forgot to link this to issue #71 as well.


custom-set: add hint to @Ignore annotations

Add a hint with the value "Remove to run test" to the @Ignore annotations in CustomSetTest. See issue #426 for discussion.

I can do this one

Fixed in PR #507 :)


Move cert removal for non-https into a separate method

Also adds RequestsCaBundleTest to the testsuite. Before it wasn't
executed

ack


Required functionality to migrate a NAV ISV Add-on - SAVEASPDF

We are the providers of a popular ISV add-on for NAV that has helped partners address a gap to close many deals. We cannot migrate our add-on to BC Cloud unless we are able to use SAVEASPDF to save report output from NAV to specific (controlled/dictated) file names. We then email out the resulting documents through email.
Do you know whether support for this will be added? We only need to create the files temporarily - they can be immediately deleted at the end of our process. We would need a way to segregate the created files into a separate folder for each user (to avoid conflicts where multiple users generate a PDF with the same name simultaneously).

Never mind...i hadn't used the stream approach for this before...will go that route.


Updated from RealmScans to RizzComics

Checklist:

[x] Updated source's version for individual source changes
[x] Updated all sources' versions for template changes
[x] Set appropriate nsfw value
[x] Did not change id even if a source's name or language were changed
[x] Tested the modifications by running it on the simulator or a test device

fixes https://github.com/Skittyblock/aidoku-community-sources/issues/566

Hey, was wondering if this ever got merged with the main branch?

I'm wondering about this too. It doesn't show that it has been reviewed either.


Show which states got updated in notification (and fix notif logic)

Also, only show the notification if any states were updated and not just after a timestamp change.
No Oxford comma at the moment, but I can add that real fast if you don't mind the uglier code (original at https://stackoverflow.com/a/53879552/1757964)
Alt. impl. strategy is #121 (looks more comprehensive, too, but I'm no expert) and #109 is a related issue.

Closing in favor of #121