rounded_expansion_tile throw two errors  ->Duplicate GlobalKey detected in widget tree. and -> _RoundedExpansionTileState#71106(tickers: tracking 2 tickers) was disposed with an active Ticker.

I'm using rounded_expansion_tile: ^0.0.13 and when i use it following error is throw.
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
_RoundedExpansionTileState#71106(tickers: tracking 2 tickers) was disposed with an active Ticker.

_RoundedExpansionTileState created a Ticker via its TickerProviderStateMixin, but at the time dispose() was called on the mixin, that Ticker was still active. All Tickers must be disposed before calling super.dispose().

Tickers used by AnimationControllers should be disposed by calling dispose() on the AnimationController itself. Otherwise, the ticker will leak.

The offending ticker was: _WidgetTicker(created by _RoundedExpansionTileState#71106(lifecycle state: created, tickers: tracking 0 tickers))
The stack trace when the _WidgetTicker was actually created was:
#0      new Ticker.<anonymous closure> (package:flutter/src/scheduler/ticker.dart:67:40)
#1      new Ticker (package:flutter/src/scheduler/ticker.dart:69:6)
#2      new _WidgetTicker (package:flutter/src/widgets/ticker_provider.dart:271:81)
#3      TickerProviderStateMixin.createTicker (package:flutter/src/widgets/ticker_provider.dart:202:34)
#4      new AnimationController (package:flutter/src/animation/animation_controller.dart:247:21)
#5      _RoundedExpansionTileState.initState (package:rounded_expansion_tile/rounded_expansion_tile.dart:94:19)
#6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4711:57)
#7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:4548:5)
...     Normal element mounting (87 frames)
#94     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3611:14)
#95     Element.updateChild (package:flutter/src/widgets/framework.dart:3363:18)
#96     SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1241:37)
#97     SliverMultiBoxAdaptorElement.createChild.<anonymous closure> (package:flutter/src/widgets/sliver.dart:1226:20)
#98     BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2535:19)
#99     SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1219:12)
#100    RenderSliverMultiBoxAdaptor._createOrObtainChild.<anonymous closure> (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:349:23)
#101    RenderObject.invokeLayoutCallback.<anonymous closure> (package:flutter/src/rendering/object.dart:1889:59)
#102    PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:912:15)
#103    RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1889:14)
#104    RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:338:5)
#105    RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:422:5)
#106    RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:79:12)
#107    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#108    RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:137:12)
#109    RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:371:11)
#110    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#111    RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:510:13)
#112    RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1574:12)
#113    RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1483:20)
#114    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#115    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#116    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#117    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#118    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#119    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#120    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#121    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#122    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#123    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#124    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#125    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#126    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#127    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#128    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#129    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#130    RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:545:11)
#131    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#132    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#133    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#134    RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:233:12)
#135    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#136    ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:54:11)
#137    RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:896:45)
#138    RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:931:32)
#139    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#140    ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:54:11)
#141    RenderStack._computeSize (package:flutter/src/rendering/stack.dart:570:43)
#142    RenderStack.performLayout (package:flutter/src/rendering/stack.dart:597:12)
#143    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#144    MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#145    _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:937:7)
#146    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
#147    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:404:14)
#148    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#149    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#150    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#151    RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:116:14)
#152    _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1369:11)
#153    RenderObject.layout (package:flutter/src/rendering/object.dart:1779:7)
#154    RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:233:12)
#155    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1636:7)
#156    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:881:18)
#157    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:462:19)
#158    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:876:13)
#159    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#160    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#161    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1082:9)
#162    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
#166    _invoke (dart:ui/hooks.dart:163:10)
#167    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5)
#168    _drawFrame (dart:ui/hooks.dart:126:31)
(elided 3 frames from dart:async)

When the exception was thrown, this was the stack:
#0      TickerProviderStateMixin.dispose.<anonymous closure> (package:flutter/src/widgets/ticker_provider.dart:219:13)
#1      TickerProviderStateMixin.dispose (package:flutter/src/widgets/ticker_provider.dart:237:6)
#2      _RoundedExpansionTileState.dispose (package:rounded_expansion_tile/rounded_expansion_tile.dart:109:11)
#3      StatefulElement.unmount (package:flutter/src/widgets/framework.dart:4800:11)
#4      _InactiveElements._unmount (package:flutter/src/widgets/framework.dart:1847:13)
...
====================================================================================================

and
======== Exception caught by widgets library =======================================================
The following assertion was thrown while finalizing the widget tree:
Duplicate GlobalKey detected in widget tree.

The following GlobalKey was specified multiple times in the widget tree. This will lead to parts of the widget tree being truncated unexpectedly, because the second time a key is seen, the previous instance is moved to the new location. The key was:
- [LabeledGlobalKey<FormState>#45a8a]
This was determined by noticing that after the widget with the above global key was moved out of its previous parent, that previous parent never updated during this frame, meaning that it either did not update at all or updated before the widget was moved, in either case implying that it still thinks that it should have a child with that global key.
The specific parent that did not update after having one or more children forcibly removed due to GlobalKey reparenting is:
- Column(direction: vertical, mainAxisAlignment: start, crossAxisAlignment: center, renderObject: RenderFlex#73af2 relayoutBoundary=up2 NEEDS-LAYOUT NEEDS-COMPOSITING-BITS-UPDATE DETACHED)
A GlobalKey can only be specified on one widget at a time in the widget tree.
When the exception was thrown, this was the stack:
#0      BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:2900:15)
#1      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:2925:8)
#2      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:877:19)
#3      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5)
#4      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
...
====================================================================================================

The first error can be fixed by changing
@override
void dispose() {
  super.dispose();
  _controller.dispose();
  _iconController.dispose();
}

to
@override
void dispose() {
  _controller.dispose();
  _iconController.dispose();
  super.dispose();
}

in rounded_Expansion_tile.dart.
If you find your local copy of the package, you can easily edit this piece of code.
Of course, updating dependencies might revert the change.
I would push this change but I don't have access to this repository.


Update dependencies.

Thank you for developing the plugin. We tried to use it with the latest jenkins version, but unfortunately, due to some outdated dependencies, couldn't get it running.
Hence this commit :)
Regards,
Envimate Opensource

Could you ellaborate on what dependency caused the plugin to fail? Defined versions only impose a minimum version to install, and shouldnt cause an error.
Additionally, Could this PR be split? Changing a dependency version seems unrelated to a method visibility or a field initialization (even the latter are more than fine changes)

The plugin was failing because of the signature change in "isAutomaticBuild" method coming from the BranchBuildStrategy base class. This rendered using the plugin in the following piece of code, unusable (jenkins complaining on not implemented abstract methods)
List listOfStrategies = new LinkedList()
listOfStrategies.add(new BitbucketCommitMessageBranchBuildStrategy(".maven-release-plugin."))
listOfStrategies.add(new SkipInitialBuildOnFirstBranchIndexing())
    seedJob.buildStrategies.add(new AllBranchBuildStrategyImpl(listOfStrategies))

The rest of the updates were done because mainly because mvn clean verify was not working. Among other issues, a NullPointer in the enforcer plugin, which caused the parent update. Once that, and the jenkins version and the bitbucket branch source plugin were updated, there were multiple versions of same dependencies appearing, which enforcer plugin was complaining about.
So I simply could not build without updating the versions.
Regarding the unrelated visibility and field initialization changes, those are enforced by my intelliJ settings, feel free to exclude them if you find these scope of changes too big.

Hi @witokondoria ,
I am using the latest versions of branch-api (2.5.1) and basic-branch-build-strategies (1.3.2) and my #skip-ci logic stopped working. Its building the last commit even it having #skip-ci on it.
Maybe this PR will fix that?
Can you have a look, it seems important.
Thanks.

Sorry for previous comment. I removed it. It's working now, but yes, would still be good to merge this PR update.

Is there any plan to merge this ? @witokondoria

I think a POM refresh would be cool.


Support for custom marshallers and unmarshallers

Changes

Support for custom marshallers and unmarshallers

Commands can now specify a marshaller with AkkaHttpCommandResponse. If no marshaller is given, data will be marshaled to JSON by default
Commands must extend AkkaHttpEntity[T] if they expect a request entity. Commands are able to specify an unmarshaller by overriding unmarshaller method in AkkaHttpEntity[T]

Support for clean exception handling

LGTM


What version of libpg_query does this use?

It's not clear from the README or package.json what version of https://github.com/pganalyze/libpg_query this uses. Could that be documented?

built with 13-latest libpg_query. From now we'll be using major versions to reflect the PG version.
Added docs to main readme, thanks for the note!

Awesome thanks!


[REQ] allow hugo mod vendor to vendor purgecss.config.js

EDITED: Sorry, it should be a feature request other than a bug, but I'm unable to remove the label.

[[module.imports]]
path = "github.com/hbstack/hb"

$ hugo mod vendor

$ ls _vendor/github.com/hbstack/hb
assets  hugo.toml  layouts  package.json  postcss.config.js

What version of Hugo are you using (hugo version)?

$ hugo version
hugo v0.123.0-3c8a4713908e48e6523f058ca126710397aa4ed5+extended linux/amd64 BuildDate=2024-02-19T16:32:38Z VendorInfo=snap:0.123.0

Does this issue reproduce with the latest release?

My memory about this may be a little hazy, but I think the current logic is:

We vendor everything that has a mount.
We create mounts (if not already there) for some predefined *.js files.

I'm not sure we'd want to expand on 2), but I don't see why you cannot just mount your purgecss.config.js file yourself.

I don't see why you cannot just mount your purgecss.config.js file yourself.

You're right, it's more likely a custom JS file, I decide to move related files to assets, sorry for the noise.

You're right, it's more likely a custom JS file, I decide to move related files to assets, sorry for the noise.

No problem. But note that you can also mount files in the project root (which is often where you want to have these JS config files).


Client - Unable to start due to TypeError on docker build

Describe the bug
While checking development branch using docker build, we are getting an error when trying to open the client via helper script ./create.sh and ./start.sh or docker start xxxx
Traceback (most recent call last):
  File "bin/hummingbot_quickstart.py", line 143, in <module>
    fork_and_start(main)
  File "/home/hummingbot/bin/docker_connection.py", line 137, in fork_and_start
    main_function()
  File "bin/hummingbot_quickstart.py", line 136, in main
    if not login_prompt():
TypeError: login_prompt() missing 1 required positional argument: 'style'

The last working docker build is under commit 2cd11d7c50d31267dfece6cdce22289214e562d0
Steps To Reproduce

Clone latest development branch
Create docker image
Run the helper scripts available on /installation/docker-commands/ folder
Notice the error when the client is about to launch

Release version
development branch dev-1.5

I face the some error case

However when I try the same step in Linux 18.04server, it is gone.

the same，but i try it on centos 7.6

Getting the same issue on source build when running the client and entering an incorrect password
https://user-images.githubusercontent.com/64377055/171343741-607a675e-4752-4ea1-b351-4e58b5ab81c4.mov

Fixed


Wrong changelog for 4.0.1

Hi,
not sure if this should be an issue, but the changelog for ver 4.0.1 is a bit wrong:
What it is now: Loading the NLog config from an embedded resource is now working
What it should be: Loading the NLog assembly from an embedded resource is now working
ref: https://github.com/NLog/NLog/pull/746

the whole Nlog assemlby is the embedded resources? Really? I didn't understood that before..

thanks!


Support Serial on Windows

Issue template

Hardware description: Azure RTOS, PC2040
OS: Windows 10/11
Installation type: setup/chocolatey

Expected behavior
Serial attached devices are supported on Windows like they are on Linux
Actual behavior
Windows does not have a serial implemenation.
Additional information
Linking to ROS2 on Windows bug - https://github.com/ms-iot/ROSOnWindows/issues/392
@ooeygui from Microsoft is working on an implementation on https://github.com/ms-iot/Micro-XRCE-DDS-Agent/tree/feature/serial_on_windows. Will PR into this repo when validated.

Nice to hear that you are working on an implementation!


Inventory Count Scrolling

When entering inventory counts for WIP and counted items, hitting add refreshes the page and scrolls the page back to the top.  Is there a way to stop the page from scrolling, after hitting the add button?

Yes
P.Lane
KC9EYE

From: adambaldauf @.>
Sent: Thursday, April 1, 2021 8:03:38 AM
To: kc9eye/UData @.>
Cc: Subscribed @.***>
Subject: [kc9eye/UData] Inventory Count Scrolling (#102)
When entering inventory counts for WIP and counted items, hitting add refreshes the page and scrolls the page back to the top. Is there a way to stop the page from scrolling, after hitting the add button?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/kc9eye/UData/issues/102, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AB2C2ZXVBTV4MREKO6OK3KTTGRVKVANCNFSM42HB2SFQ.


[Bug]: Home Assistant Ad on does not start after update

What happened?
A bug happened!###
Home Assistant Ad on does not start after update
Your configuration
Matterbridge
Informationen
Konfiguration
Protokoll
Matterbridge
"excludeDomains": [],
"excludePatterns": []
}
#############################
[07:54:33.362] [Matterbridge] Created Matterbridge Plugin Directory: /root/Matterbridge
[07:54:33.383] [Matterbridge] Matterbridge version 1.3.6 mode  running on Linux 6.6.31-haos-raspi linux arm64
[07:54:33.399] [Matterbridge] Plugin /usr/local/lib/node_modules/matterbridge-home-assistant/package.json already added to matterbridge
[07:54:36.684] [Matterbridge] Matterbridge version 1.3.6 mode bridge restart mode docker running on Linux 6.6.31-haos-raspi linux arm64
[07:54:36.706] [Matterbridge] Storage initialize() error! The file .matterbridge/matterbridge.json may be corrupted.
[07:54:36.708] [Matterbridge] Please delete it and rename matterbridge.backup.json to matterbridge.json and try to restart Matterbridge.
[07:54:36.710] [Matterbridge] Storage initialize() error!
[07:54:36.712] [Matterbridge] Shutting down plugin matterbridge-home-assistant
[07:54:36.714] [Matterbridge] Plugin matterbridge-home-assistant platform not found
file:///usr/local/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/storage/StorageManager.js:30
if (!this.initialized) throw new StorageError("The storage needs to be initialized first!");
^
StorageError: The storage needs to be initialized first!
at StorageManager.createContext (file:///usr/local/lib/node_modules/matterbridge/node_modules/@project-chip/matter.js/dist/esm/storage/StorageManager.js:30:34)
at Matterbridge.createCommissioningServerContext (file:///usr/local/lib/node_modules/matterbridge/dist/matterbridge.js:1890:52)
at Matterbridge.parseCommandLine (file:///usr/local/lib/node_modules/matterbridge/dist/matterbridge.js:452:47)
Node.js v18.20.3
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service base-addon-log-level: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service base-addon-log-level successfully stopped
s6-rc: info: service base-addon-banner: stopping
s6-rc: info: service base-addon-banner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting

Add-on: Matterbridge
Populate your Home Assistant instance as Matter Bridge
Add-on version: 1.3.6-69
You are running the latest version of this add-on.
System: Home Assistant OS 12.4  (aarch64 / raspberrypi4-64)
Home Assistant Core: 2024.6.4
Home Assistant Supervisor: 2024.06.2
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
#############################
CURRENT CLIENT CONFIGURATION:
{
"includeDomains": [],
"includePatterns": [],
"excludeDomains": [],
"excludePatterns": []
Relevant log output
No response
Version
1.3.6-69

This already happened before and I don’t know why actually.
it is somehow related to Matterbridge…
could you try this?
https://github.com/t0bst4r/matterbridge-home-assistant-addon/issues/59#issuecomment-2183898145

I have tried. I do not have this entry.

What entry do you not have? Have a look at the next two comments after the linked one.

I can't find the entry to delete. Even when I am at the top level, the entry does not appear.
/addon_configs/a1b84aa7_matterbridge/storage/.matterbridge/.
I have now deleted the Ads on. Too bad.


Remove HAVE_STDLIB_H build var

Replace automake-style HAVE_INCLUDE_H compile flags with #if __has_include preprocessor directives.
This PR does so for stdlib.h

[approve ci]

[approve ci]


v0.9.4-rc.3:  kube-aws up fails while launching controller nodes when custom CA cert/key used

Hello,
I have the cluster-Controlplane-* stack failing with an autoscalinggroup error related to Controllers:
Received 0 SUCCESS signal(s) out of 1. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement. Failed to receive 1 resource signal(s) for the current batch. Each resource signal timeout is counted as a FAILURE.

The cloud formation log below shows the AutoScalingGroup times out after 15 mins. However I can see that one  cluster-control-plane-kube-aws-controller EC2 instance was launched properly. My impression is that the asg is not able to communicate with the launched instance but that's just my thought.
19:22:37 UTC-0500	CREATE_FAILED	AWS::AutoScaling::AutoScalingGroup	Controllers	Received 0 SUCCESS signal(s) out of 1. Unable to satisfy 100% MinSuccessfulInstancesPercent requirement
19:22:35 UTC-0500	UPDATE_IN_PROGRESS	AWS::AutoScaling::AutoScalingGroup	Controllers	Failed to receive 1 resource signal(s) for the current batch. Each resource signal timeout is counted as a FAILURE.
19:07:34 UTC-0500	CREATE_IN_PROGRESS	AWS::AutoScaling::AutoScalingGroup	Controllers	Resource creation Initiated

I have the controller and workers set to m2.medium and a count of 2 for the workers. I'm not sure how sure how to further debug.

Hi @simoami, thanks for trying kube-aws!
I guess you're using v0.9.4-rc.3, right?
If so, could you share us your cluster.yaml so that we can investigate into your configuration further?
A controller ASG can fail because of various reasons(e.g. certs used to communicate between etcd and controller nodes, custom security group rules, incorrectly configured existing subnets specified via subnets[].id etc) and the fact that it failed does not provide enough information for debugging.

@mumoshu Thanks for the quick reply. Here's my cluster.yml. and I can see that it could be the certs using to generate creds. I'm using a godaddy ssl cert. If you think that's worth investigating, please let me know and I will give you more info on it.
# Unique name of Kubernetes cluster. In order to deploy
# more than one cluster into the same AWS account, this
# name must not conflict with an existing cluster.
clusterName: cluster

# DNS name routable to the Kubernetes controller nodes
# from worker nodes and external clients. Configure the options
# below if you'd like kube-aws to create a Route53 record sets/hosted zones
# for you.  Otherwise the deployer is responsible for making this name routable
externalDNSName: cluster.api.hipsync.io

# CoreOS release channel to use. Currently supported options: alpha, beta, stable
# See coreos.com/releases for more information
#releaseChannel: stable

# The AMI ID of CoreOS.
# If omitted, the latest AMI for the releaseChannel is used.
#amiId: ""

# Set to true if you want kube-aws to create a Route53 Alias Record pointing to the controller ELB for you.
createRecordSet: true

# TTL in seconds for the Route53 RecordSet created if createRecordSet is set to true.
#recordSetTTL: 300

# DEPRECATED: use hostedZoneId instead
# The name of the hosted zone to add the externalDNSName to,
# E.g: "google.com".  This needs to already exist, kube-aws will not create
# it for you.
#hostedZone: ""

# The ID of hosted zone to add the externalDNSName to.
# Either specify hostedZoneId or hostedZone, but not both
hostedZoneId: "Z1BG******"

# Name of the SSH keypair already loaded into the AWS
# account being used to deploy this cluster.
keyName: kube-aws

# Additional keys to preload on the coreos account (keep this to a minimum)
# sshAuthorizedKeys:
# - "ssh-rsa AAAAEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEYEXAMPLEKEY<EMAIL_ADDRESS>
# Region to provision Kubernetes cluster
region: us-east-1

# Availability Zone to provision Kubernetes cluster when placing nodes in a single availability zone (not highly-available) Comment out for multi availability zone setting and use the below `subnets` section instead.
availabilityZone: us-east-1a

# ARN of the KMS key used to encrypt TLS assets.
kmsKeyArn: "arn:aws:kms:us-east-1:782768260378:key/95d50f5b-****-****-****-**********"

# Number of controller nodes to create, for more control use `controller.autoScalingGroup` and do not use this setting
#controllerCount: 1

#controller:
#  # Auto Scaling Group definition for controllers. If only `controllerCount` is specified, min and max will be the set to that value and `rollingUpdateMinInstancesInService` will be one less.
#  autoScalingGroup:
#    minSize: 1
#    maxSize: 3
#    rollingUpdateMinInstancesInService: 2
#  # If you specify managedIamRoleName the role created for controller nodes will not suffix the random id at the end
#  # Role will be created with "Ref": {"AWS::StackName"}-{"AWS::Region"}-yourManagedRole
#  # to follow the recommendation in AWS documentation  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
#  # This is also intended to be used in combination with .experimental.kube2IamSupport. See #297 for more information.
#  managedIamRoleName: "yourManagedRole"
#  # If omitted, public subnets are created by kube-aws and used for controller nodes
#  subnets:
#    # References subnets defined under the top-level `subnets` key by their names
#    - name: ManagedPublicSubnet1
#    - name: ManagedPublicSubnet2
#  loadBalancer:
#    # kube-aws creates the ELB for the k8s API endpoint as `Schema=internet-facing` by default and
#    # only public subnets defined under the top-level `subnets` key are used for the ELB
#    private: false
#    # If you like specific public subnets to be used by the internet-facing ELB:
#    #subnets:
#    #  - name: ManagedPublicSubnet0
#
#    # When explicitly set to true, the ELB for the k8s API endpoint becomes `Schema=internal` rather than default `Schema=internet-facing` one and
#    # only private subnets defined under the top-level `subnets` key are used for the ELB
#    private: true
#    # If you like specific private subnets to be used by the internal ELB:
#    # subnets:
#    #   - name: ManagedPrivateSubnet0

# Maximum time to wait for controller creation
#controllerCreateTimeout: PT15M

# Instance type for controller node.
# CAUTION: Don't use t2.micro or the cluster won't work. See https://github.com/kubernetes/kubernetes/issues/18975
controllerInstanceType: t2.medium

# Disk size (GiB) for controller node
#controllerRootVolumeSize: 30

# Disk type for controller node (one of standard, io1, or gp2)
#controllerRootVolumeType: gp2

# Number of I/O operations per second (IOPS) that the controller node disk supports. Leave blank if controllerRootVolumeType is not io1
#controllerRootVolumeIOPS: 0

# Default number of worker nodes per node pool to create, for more control use `worker.nodePools[].count` and/or `worker.autoScalingGroup` and do not use this setting
#workerCount: 1

worker:
  nodePools:
    - # Name of this node pool. Must be unique among all the node pools in this cluster
      name: nodepool1
#      # Number of worker nodes to create for an autoscaling group based pool
      count: 2
#      # If omitted, public subnets are created by kube-aws and used for worker nodes
#      subnet:
#      - # References subnets defined under the top-level `subnets` key by their names
#        name: ManagedPublicSubnet1
#      # Auto Scaling Group definition for workers. If only `workerCount` is specified, min and max will be the set to that value and `rollingUpdateMinInstancesInService` will be one less.
#      autoScalingGroup:
#        minSize: 1
#        maxSize: 3
#        rollingUpdateMinInstancesInService: 2
#      # Tag the cloudformation stack with the key `kube-aws:cluster-autoscaler:scale-specs` with the value containing
#      # source of truth for cluster-autoscaler to update their autoscaling target and its min/max size.
#      # Currently, enabling this configuration doesn't automatically deploy cluster-autoscaler itself.
#      # Please read [the original issue](https://github.com/coreos/kube-aws/issues/148) carefully for more information.
#      clusterAutoscaler:
#        minSize: 1
#        maxSize: 3
#      # Spot fleet config for worker nodes
#      spotFleet:
#        # Total desired number of units to maintain
#        # An unit is chosen by you and can be a vCPU, specific amount of memory, size of instance store, etc., according to your requirement.
#        # Omit or put zero to disable the spot fleet support and use an autoscaling group to manage nodes.
#        targetCapacity: 10
#
#        # IAM role to grant the Spot fleet permission to bid on, launch, and terminate instances on your behalf
#        # See http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites
#        #
#        # Defaults to "arn:aws:iam::youraccountid:role/aws-ec2-spot-fleet-role" assuming you've arrived "Spot Requests" in EC2 Dashboard
#        # hence the role is automatically created for you
#        iamFleetRoleArn: "arn:aws:iam::youraccountid:role/kube-aws-doesnt-create-this-for-you"
#
#        # Price per unit hour = Price per instance hour / num of weighted capacity for the instance
#        # Defaults to "0.06"
#        spotPrice: 0.06
#
#        # Disk size (GiB) per unit
#        # Disk size for each launch specification defaults to unitRootVolumeSize * weightedCapacity
#        unitRootVolumeSize: 30
#
#        # Disk type for worker node (one of standard, io1, or gp2)
#        # Can be overridden in each launch specification
#        rootVolumeType: gp2
#
#        # Number of I/O operations per second (IOPS) per unit. Leave blank if rootVolumeType is not io1
#        # IOPS for each launch specification defaults to unitRootVolumeIOPS * weightedCapacity
#        unitRootVolumeIOPS: 0
#
#        launchSpecifications:
#        - # Number of units provided by an EC2 instance of the instanceType.
#          weightedCapacity: 1
#          instanceType: c4.large
#
#          # Price per instance hour
#          # Defaults to worker.spotFleet.spotPrice * weightedCapacity if omitted
#          #spotPrice:
#
#          # Defaults to worker.spotFleet.rootVolumeType if omitted
#          #rootVolumeType:
#
#          # Defaults to worker.spotFleet.unitRootVolumeSize * weightedCapacity if omitted
#          #rootVolumeSize:
#
#          # Number of provisioned IOPS when rootVlumeType is io1
#          # Must be within the range between 100 and 2000
#          # Defaults to worker.spotFleet.unitRootVolumeIOPS * weightedCapacity if omitted
#          #rootVolumeIOPS:
#        - weightedCapacity: 2
#          instanceType: c4.xlarge
#      # Used to provide `/etc/environment` env vars with values from arbitrary CloudFormation refs
#      awsEnvironment:
#        enabled: true
#        environment:
#          CFNSTACK: '{ "Ref" : "AWS::StackId" }'
#      # Add predefined set of labels to the nodes
#      # The set includes names of launch configurations and autoscaling groups
#      awsNodeLabels:
#        enabled: true
#      # Will provision worker nodes with IAM permissions to run cluster-autoscaler
#      clusterAutoscalerSupport:
#        enable: true
#      # This option has not yet been tested with rkt as container runtime
#      ephemeralImageStorage:
#        enabled: true
#      # When enabled it will grant sts:assumeRole permission to the IAM roles for worker nodes.
#      # This is intended to be used in combination with managedIamRoleName. See #297 for more information.
#      kube2IamSupport:
#        enabled: true
#      # Configuration for external managed ELBs for worker nodes
#      loadBalancer:
#        enabled: true
#        # Names of ELBs attached to worker nodes
#        names: [ "manuallymanagedelb" ]
#        # IDs of "glue" security groups attached to worker nodes to allow the ELBs to communicate with worker nodes
#        securityGroupIds: [ "sg-87654321" ]
#      # If you specify managedIamRoleName the role created for worker nodes will not suffix the random id at the end
#      # Role will be created with "Ref": {"AWS::StackName"}-{"AWS::Region"}-yourManagedRole
#      # to follow the recommendation in AWS documentation  http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
#      # This is also intended to be used in combination with kube2IamSupport. See #297 for more information.
#      managedIamRoleName: "yourManagedRole"
#      # When enabled, `kubectl drain` is run on the node going to shut-down
#      nodeDrainer:
#        enabled: true
#      # Kubernetes node labels to be added to worker nodes
#      nodeLabels:
#        kube-aws.coreos.com/role: worker
#      # Kubernetes node taints to be added to worker nodes
#      taints:
#        - key: dedicated
#          value: search
#          effect: NoSchedule
#      # When enabled, autoscaling groups managing worker nodes wait for nodes to be up and running.
#      # Although this is still an experimental feature, it is recommended to be enabled and
#      # This is enabled by default.
#      waitSignal:
#        enabled: true
#        # Max number of nodes concurrently updated
#        maxBatchSize: 1
#      # Other less common customizations per node pool
#      # All these settings default to the top-level ones
#      keyName:
#      releaseChannel: alpha
#      amiId:
#      kubernetesVersion: 1.6.0-alpha.1
#      hyperkubeImageRepo:
#      AwsCliImageRepo: quay.io/coroes/awscli
#      awsCliTag: edge
#      sshAuthorizedKeys:

# Maximum time to wait for worker creation
#workerCreateTimeout: PT15M

# Instance type for worker nodes
# CAUTION: Don't use t2.micro or the cluster won't work. See https://github.com/kubernetes/kubernetes/issues/16122
workerInstanceType: t2.medium

# Disk size (GiB) for worker nodes
#workerRootVolumeSize: 30

# Disk type for worker node (one of standard, io1, or gp2)
#workerRootVolumeType: gp2

# Number of I/O operations per second (IOPS) that the worker node disk supports. Leave blank if workerRootVolumeType is not io1
#workerRootVolumeIOPS: 0

# Tenancy of the worker nodes. Options are "default" and "dedicated"
# Documentation: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html
# workerTenancy: default

# Price (Dollars) to bid for spot instances. Omit for on-demand instances.
# workerSpotPrice: "0.05"

# Existing "glue" security groups attached to worker nodes which are typically used to allow access from worker nodes to services running on an existing infrastructure
# workerSecurityGroupIds:
#   - sg-1234abcd
#   - sg-5678efab

## Etcd Cluster config
## WARNING: Any changes to etcd parameters after the cluster is first created will not be applied
## during a cluster upgrade, due to concerns over data loss.
## This situation is being rectified with work towards automated management of etcd clusters

# Number of etcd nodes
# (Set to an odd number >= 3 for HA control plane)
# etcdCount: 1

#etcd:
#  # If omitted, public subnets are created by kube-aws and used for etcd nodes
#  subnets:
#    # References subnets defined under the top-level `subnets` key by their names
#    - name: ManagedPrivateSubnet1
#    - name: ManagedPrivateSubnet2

# Instance type for etcd node
# etcdInstanceType: t2.medium

# Root volume size (GiB) for etcd node
# etcdRootVolumeSize: 30

# Root volume type for etcd node (one of standard, io1, or gp2)
# etcdRootVolumeType: gp2

# Number of I/O operations per second (IOPS) that the etcd node's root volume supports. Leave blank if etcdRootVolumeType is not io1
# etcdRootVolumeIOPS: 0

# Use ephemeral instance storage for etcd data volume instead of EBS?
# (Recommended set to true for high-throughput control planes)
# etcdDataVolumeEphemeral: false

# Data volume size (GiB) for etcd node
# if etcdDataVolumeEphemeral=true, this value is ignored. The size of ephemeral volumes is not configurable.
# etcdDataVolumeSize: 30

# Data volume type for etcd node (one of standard, io1, or gp2)
# etcdDataVolumeType: gp2

# Number of I/O operations per second (IOPS) that the etcd node's data volume supports. Leave blank if etcdDataVolumeType is not io1
# etcdDataVolumeIOPS: 0

# Encrypt the Etcd Data volume.  Set to true for encryption.  This does not work for etcdDataVolumeEphemeral.
# etcdDataVolumeEncrypted: false

# Tenancy of the etcd instances. Options are "default" and "dedicated"
# Documentation: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html
# etcdTenancy: default

## Networking config

# ID of existing VPC to create subnet in. Leave blank to create a new VPC
# vpcId:

# ID of existing Internet Gateway to associate subnet with. Leave blank to create a new Internet Gateway
# internetGatewayId:

# Advanced: ID of existing route table in existing VPC to attach subnet to.
# Leave blank to use the VPC's main route table.
# This should be specified if and only if vpcId is specified.
#
# IMPORTANT NOTICE:
#
# If routeTableId is specified, it's your responsibility to add an appropriate route to
# an internet gateway(IGW) or a NAT gateway(NGW) to the route table.
#
# More concretely,
# * If you like to make all the subnets private, pre-configure an NGW yourself and add a route to the NGW beforehand
# * If you like to make all the subnets public, pre-configure an IGW yourself and add a route to the IGW beforehand
# * If you like to mix private and public subnets, omit routeTableId but specify subnets[].routeTable.id per subnet
#
# routeTableId: rtb-xxxxxxxx

# CIDR for Kubernetes VPC. If vpcId is specified, must match the CIDR of existing vpc.
# vpcCIDR: "<IP_ADDRESS>/16"

# CIDR for Kubernetes subnet when placing nodes in a single availability zone (not highly-available) Leave commented out for multi availability zone setting and use the below `subnets` section instead.
# instanceCIDR: "<IP_ADDRESS>/24"

# Kubernetes subnets with their CIDRs and availability zones.
# Differentiating availability zone for 2 or more subnets result in high-availability (failures of a single availability zone won't result in immediate downtimes)
# subnets:
#   #
#   # Managed public subnet managed by kube-aws
#   #
#   - name: ManagedPublicSubnet1
#     # Set to false if this subnet is public
#     # private: false
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#
#   #
#   # Managed private subnet managed by kube-aws
#   #
#   - name: ManagedPrivateSubnet1
#     # Set to true if this subnet is private
#     private: true
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#
#   #
#   # Advanced: Unmanaged/existing public subnet reused but not managed by kube-aws
#   #
#   # An internet gateway(igw) and a route table contains the route to the igw must have been properly configured by YOU.
#   # kube-aws tries to reuse the subnet specified by id or idFromStackOutput but kube-aws never modify the subnet
#   #
#   - name: ExistingPublicSubnet1
#     # Beware that `availabilityZone` can't be omitted; it must be the one in which the subnet exists.
#     availabilityZone: us-west-1a
#     # ID of existing subnet to be reused.
#     # availabilityZone should still be provided but instanceCIDR can be omitted when id is specified.
#     id: "subnet-xxxxxxxx"
#     # Exported output's name from another stack
#     # Only specify either id or idFromStackOutput but not both
#     #idFromStackOutput: myinfra-PublicSubnet1
#
#   #
#   # Advanced: Unmanaged/existing private subnet reused but not managed by kube-aws
#   #
#   # A nat gateway(ngw) and a route table contains the route to the ngw must have been properly configured by YOU.
#   # kube-aws tries to reuse the subnet specified by id or idFromStackOutput but kube-aws never modify the subnet
#   #
#   - name: ExistingPrivateSubnet1
#     # Beware that `availabilityZone` can't be omitted; it must be the one in which the subnet exists.
#     availabilityZone: us-west-1a
#     # Existing subnet.
#     id: "subnet-xxxxxxxx"
#     # Exported output's name from another stack
#     # Only specify either id or idFromStackOutput but not both
#     #idFromStackOutput: myinfra-PrivateSubnet1
#
#   #
#   # Advanced: Managed private subnet with an existing NAT gateway
#   #
#   # kube-aws tries to reuse the ngw specified by id or idFromStackOutput
#   # by adding a route to the ngw to a route table managed by kube-aws
#   #
#   # Please be sure that the NGW is properly deployed. kube-aws will never modify ngw itself.
#   #
#   - name: ManagedPrivateSubnetWithExistingNGW
#     private: true
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#     natGateway:
#       id: "ngw-xxxxxxxx"
#       # Exported output's name from another stack
#       # Only specify either id or idFromStackOutput but not both
#       #idFromStackOutput: myinfra-PrivateSubnet1
#
#   #
#   # Advanced: Managed private subnet with an existing NAT gateway
#   #
#   # kube-aws tries to reuse the ngw specified by id or idFromStackOutput
#   # by adding a route to the ngw to a route table managed by kube-aws
#   #
#   # Please be sure that the NGW is properly deployed. kube-aws will never modify ngw itself.
#   # For example, kube-aws won't assign a pre-allocated EIP to the existing ngw for you.
#   #
#   - name: ManagedPrivateSubnetWithExistingNGW
#     private: true
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#     natGateway:
#       # Pre-allocated NAT Gateway. Used with private subnets.
#       id: "ngw-xxxxxxxx"
#       # Exported output's name from another stack
#       # Only specify either id or idFromStackOutput but not both
#       #idFromStackOutput: myinfra-PrivateSubnet1
#
#   #
#   # Advanced: Managed private subnet with an existing EIP for kube-aws managed NGW
#   #
#   # kube-aws tries to reuse the EIP specified by eipAllocationId
#   # by associating the EIP to a NGW managed by kube-aws.
#   # Please be sure that kube-aws won't assign an EIP to an existing NGW i.e.
#   # either natGateway.id or eipAllocationId can be specified but not both.
#   #
#   - name: ManagedPrivateSubnetWithManagedNGWWithExistingEIP
#     private: true
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#     natGateway:
#       # Pre-allocated EIP for NAT Gateways. Used with private subnets.
#       eipAllocationId: eipalloc-xxxxxxxx
#
#   #
#   # Advanced: Managed private subnet with an existing route table
#   #
#   # kube-aws tries to reuse the route table specified by id or idFromStackOutput
#   # by assigning this subnet to the route table.
#   #
#   # Please be sure that it's your responsibility to:
#   # * Configure an AWS managed NAT or a NAT instance or an another NAT and
#   # * Add a route to the NAT to the route table being reused
#   #
#   # i.e. kube-aws neither modify route table nor create other related resources like
#   # ngw, route to nat gateway, eip for ngw, etc.
#   #
#   - name: ManagedPrivateSubnetWithExistingRouteTable
#     private: true
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#     routeTable:
#       # Pre-allocated route table
#       id: "rtb-xxxxxxxx"
#       # Exported output's name from another stack
#       # Only specify either id or idFromStackOutput but not both
#       #idFromStackOutput: myinfra-PrivateRouteTable1
#
#   #
#   # Advanced: Managed public subnet with an existing route table
#   #
#   # kube-aws tries to reuse the route table specified by id or idFromStackOutput
#   # by assigning this subnet to the route table.
#   #
#   # Please be sure that it's your responsibility to:
#   # * Configure an internet gateway(IGW) and
#   # * Attach the IGW to the VPC you're deploying to
#   # * Add a route to the IGW to the route table being reused
#   #
#   # i.e. kube-aws neither modify route table nor create other related resources like
#   # igw, route to igw, igw vpc attachment, etc.
#   #
#   - name: ManagedPublicSubnetWithExistingRouteTable
#     availabilityZone: us-west-1a
#     instanceCIDR: "<IP_ADDRESS>/24"
#     routeTable:
#       # Pre-allocated route table
#       id: "rtb-xxxxxxxx"
#       # Exported output's name from another stack
#       # Only specify either id or idFromStackOutput but not both
#       #idFromStackOutput: myinfra-PublicRouteTable1

# CIDR for all service IP addresses
# serviceCIDR: "<IP_ADDRESS>/24"

# CIDR for all pod IP addresses
# podCIDR: "<IP_ADDRESS>/16"

# IP address of Kubernetes dns service (must be contained by serviceCIDR)
# dnsServiceIP: <IP_ADDRESS>

# Uncomment to provision nodes without a public IP. This assumes your VPC route table is setup to route to the internet via a NAT gateway.
# If you did not set vpcId and routeTableId the cluster will not bootstrap.
# mapPublicIPs: false

# Expiration in days from creation time of TLS assets. By default, the CA will
# expire in 10 years and the server and client certificates will expire in 1
# year.
#tlsCADurationDays: 3650
#tlsCertDurationDays: 365

# Version of hyperkube image to use. This is the tag for the hyperkube image repository.
# kubernetesVersion: v1.5.3_coreos.0

# Hyperkube image repository to use.
# hyperkubeImageRepo: quay.io/coreos/hyperkube

# AWS CLI image repository to use.
# awsCliImageRepo: quay.io/coreos/awscli

# AWS CLI image tag to use.
# awsCliTag: master

# Use Calico for network policy.
# useCalico: false

# Create MountTargets for a pre-existing Elastic File System (Amazon EFS). Enter the resource id, eg "fs-47a2c22e"
# This is a NFS share that will be available across the entire cluster through a hostPath volume on the "/efs" mountpoint
#
# You can create a new EFS volume using the CLI:
# $ aws efs create-file-system --creation-token $(uuidgen)
#
# Beware that an EFS file system can not be mounted from mutiple subnets from the same availability zone and
# therefore this feature won't work like you might have expected when you're deploying your cluster to an existing VPC and
# wanted to mount an existing EFS to the subnet(s) created by kube-aws
# See https://github.com/coreos/kube-aws/issues/208 for more information
#elasticFileSystemId: fs-47a2c22e

# Determines the container runtime for kubernetes to use. Accepts 'docker' or 'rkt'.
# containerRuntime: docker

# If you do not want kube-aws to manage certificaes, set it to false. If you do that
# you are responsible for making sure that nodes have correct certificates by the time
# daemons start up.
# manageCertificates: true

# When enabled, autoscaling groups managing controller nodes wait for nodes to be up and running.
# It is enabled by default.
#waitSignal:
#  enabled: true
#   maxBatchSize: 1

# Experimental features will change in backward-incompatible ways
# experimental:
#   # Used to provide `/etc/environment` env vars with values from arbitrary CloudFormation refs
#   awsEnvironment:
#     enabled: true
#     environment:
#       CFNSTACK: '{ "Ref" : "AWS::StackId" }'
#   # Enable audit log for apiserver. Recommended when `rbac` is enabled.
#   auditLog:
#     enabled: true
#     maxage: 30
#     logpath: /dev/stdout
#   authentication:
#     # See https://kubernetes.io/docs/admin/authentication/#webhook-token-authentication
#     # for more information.
#     webhook:
#       enabled: true
#       cacheTTL: 1m0s
#       configBase64: base64-encoded-webhook-yaml
#   # Add predefined set of labels to the controller nodes
#   # The set includes names of launch configurations and autoscaling groups
#   awsNodeLabels:
#     enabled: true
#   # Will provision controller nodes with IAM permissions to run cluster-autoscaler
#   clusterAutoscalerSupport:
#     enable: true
#   # This option has not yet been tested with rkt as container runtime
#   ephemeralImageStorage:
#     enabled: true
#   # When enabled it will grant sts:assumeRole permission to the IAM role for controller nodes.
#   # This is intended to be used in combination with .controller.managedIamRoleName. See #297 for more information.
#   kube2IamSupport:
#     enabled: true
#   # When enabled, `kubectl drain` is run on the node going to shut-down
#   nodeDrainer:
#     enabled: true
#   # Kubernetes node labels to be added to controller nodes
#   nodeLabels:
#     kube-aws.coreos.com/role: worker
#   # Kubernetes node taints to be added to controller nodes
#   taints:
#     - key: dedicated
#       value: search
#       effect: NoSchedule
#   plugins:
#     # When enabled, you also need to configure a minimum set of role bindings or everything breaks.
#     # See https://github.com/coreos/kube-aws/issues/230 for more information.
#     rbac:
#       enabled: true
#

# AWS Tags for cloudformation stack resources
#stackTags:
#  Name: "Kubernetes"
#  Environment: "Production"

# User-provided YAML map available in stack-template.json
#customSettings:
#  key1: [ 1, 2, 3 ]

Thanks @simoami!
In the meantime, would you mind recreating your cluster by:

Removing all the files but the cluster.yaml and then
Running kube-aws render and then kube-aws up --s3-uri like you've probably done before

WITHOUT godaddy certs to isolate the issue?

Also, would you mind telling me which files under the credentials/ directory did you replace with godaddy ones?

I did not replace any certs, I just ran:
kube-aws render credentials --ca-cert-path=/path/to/public.pem \
--ca-key-path=/path/to/api-hipsync.key

My certificates:

gd_bundle-g2-g1.crt (godaddy ca bundle)
2c179c1e4e2bb02d.crt (purchased ssl cert issued to me from godaddy)
public.pem (concat of above 2 crts)
api-hipsync.key (private key used to issue cert. has BEGIN / END headers)

btw, I couldn't just run with cluster.yaml. When I run kube-aws up --s3-uri s3://hipsync-kube-aws I get:
Error: Failed to initialize cluster driver: failed to read/create TLS assets: open credentials/ca.pem: no such file or directory

@simoami You need to run kube-aws render beforehand to successfully run kube-aws up!

ah, sorry. forgot to refresh stack. launching now...

btw, these are my steps:
mkdir $CENV
cd $CENV
kube-aws init \
--availability-zone="$AZ" \
--cluster-name="$CENV" \
--external-dns-name="$CENV.$DNSNAME" \
--key-name="$KEYNAME" \
--kms-key-arn="$KEYARN" \
--region="$REGION"

# following is not recommended for production, but is fine for development
#kube-aws render credentials --generate-ca

# It is recommended that you supply your own immediate certificate signing authority and let kube-aws take care of generating the cluster TLS credentials.
kube-aws render credentials --ca-cert-path=/projects/secrets/api.hipsync.io/public.pem \
--ca-key-path=/projects/secrets/api.hipsync.io/api-hipsync.key

# generates the default set of cluster assets in the "cluster" asset directory.
kube-aws render stack

sed -i '' 's/\#      count: 1/      count: 2/g' cluster.yaml
sed -i '' 's/\#createRecordSet: false/createRecordSet: true/g' cluster.yaml
sed -i '' 's/\#hostedZoneId: ""/hostedZoneId: "'$ZONEID'"/g' cluster.yaml

# validate
kube-aws validate --s3-uri s3://$S3_BUCKET

# Export CloudFormation stack file
kube-aws up --s3-uri s3://$S3_BUCKET --export

Thanks for sharing your steps 👍 Seems fine so far.
If your cluster still fail to launch, could you run journalctl on etcd and controller nodes to see which systemd unit(s) failed and why?

While still building, it seems like it went past the prior step and successfully completed the cluster-Controlplane-* stack.
So I'm thinking it's probably the certs. The one I passed is set to api.hipsync.io but the cluster is getting created as cluster.api.hipsync.io. could that be the problem?

@simoami Ah, it might be!
Wouldn't you need certs for cluster.api.hipsync.io or wildcard certs for *api.hipsync.io?

@mumoshu wildcard certificates can be expensive. I fixed the externalDNSName to point to api.hipsync.io, rather than cluster.api.hipsync.io
Now, I think I'm doing something wrong with the rendering credential using a public ssl. Would you mind reviewing the approach mentioned earlier?

@simoami Seems ok to me. Probably you're using either a wrong ca cert or a wrong key?
I'm not experienced in this area but maybe you can verify it by running:
# For ca key
openssl rsa -in ca-key.pem -modulus -noout | openssl md5
# For ca cert
openssl x509 -in ca.pem -modulus -noout | openssl md5

and ensuring that the both commands output the equivalent value.

@mumoshu thanks, nice trick. both cert and key as well as the concatenated cert produce the same md5 it seems.
$ openssl rsa -in ../../secrets/api-hipsync.key -modulus -noout | openssl md5
b4973e46e4e24b914850813854883bb0
$ openssl x509 -in ../../secrets/public.pem -modulus -noout | openssl md5
b4973e46e4e24b914850813854883bb0
$ openssl x509 -in ../../secrets/2c179c1e4e2bb02d.crt -modulus -noout | openssl md5
b4973e46e4e24b914850813854883bb0

Perhaps I'm approaching this the wrong way. I would be ok with self-signed ca for kube's admin api server if I can make my app (an front-end node.js service) available publicly. If the front-end service is behind a public load balancer, then https can be enabled for the load balancer for public consumption using the godaddy cert. Ideally this would mean 2 apis:

kube's api-server (server at cluster.hipsync.io via self-signed certs)
app api (served at api.hipsync.io via the godaddy cert)

Is this scenario possible?

Hi @simoami, thanks for the quick reply!
Probably you need to do the below steps yourself:

Generate the key(=/credentials/api-server-key.pem/) and the cert(=/credentials/api-server.pem/) so that the cert passed to kube-apiserver includes both cluster.hipsync.io and api.hipsync.io.
Provision a secondary, internet-facing ELB and the record set named api.hipsync.io in your public hosted zone

If I remember correctly, there was an issue relevant to your use-case to allow writing something like the below in cluster.yaml:
apiEndpoints:
- name: internal
   dnsName: cluster.hipsync.io
   hostedZoneId: ...
   type: loadBalancer
- name: external
   dnsName: api.hipsync.io
   hostedZoneId: ...
   type: loadBalancer
   ...

Would this possible feature support your use-case?
If so, probably we also need to add apiEndpoints[].credentials to reuse existing ca key/cert and apiserver key/cert used?

@mumoshu What would the externalEndpoint map to? the api-server or a service that we specify?

@simoami What did you mean by a service in this case?
As the settings are under apiEndpints: key, I meant to express that every item in it denotes an internal or internet-facing ELB load-balances requests from e.g. kubectl to kube-apiservers running on controller nodes.

@mumoshu a service in this context is an independent hello world service that serves a single REST endpoint. I'd like to expose it independent of the cluster api, served using in a secure connection. it should not require a client certificate and be publicly exposed

@simoami why are you doing this? kube certs you use in kube-aws are not what certs client of your service will see,only kubectl coommands you run locally and kubelet <-> Kubernetes API server  are using them. there is no reason to have godaddy cert on your Kubernetes API server as there are no web browsers which are going to hit it
When you see ExternalDNSName in cluster.yaml that is a name for kubernetes API server only, it has nothing to do with services (pods, deploys etc) you are going to run on K8S cluster

@redbaron apologies. just came to this realization about 2 hours ago. I'm still new to kube-aws. it was able to use the LoadBalancer type to spawn a public ELB. also looking at the ExternalName type. I will close this ticket.

@redbaron @mumoshu Thanks to both!

@simoami you'll probably be creating Service with type LoadBalancer for your service, which will make kubernetes to provision ELB for you and configure it to point to PODs running your service You can use service.beta.kubernetes.io/aws-load-balancer-ssl-cert annotation on that service resource to configure SSL cert on that ELB.
More annotations recognised by kubernetes AWS integration can be found here https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/aws.go

thanks @mumoshu I used the following annotations:
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:*:certificate/*
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: https

along with dns alias and finally got my service running on https


Don't log level=Info logs to syslog when running as a service

Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

The log level is now configurable, so this is no longer needed. Closing.


Correct documentation URLs

README had a couple of misspelled URLs. This updates them to the correct locations

Again a good catch, thanks 😸


brew not working

MARAXELR-M-C1HN:slaveconfig maraxelr$ brew install TitouanVanBelle/XCTestHTMLReport/xchtmlreport
Error: No available formula with the name "titouanvanbelle/xctesthtmlreport/xchtmlreport"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
MARAXELR-M-C1HN:slaveconfig maraxelr$ brew install --HEAD TitouanVanBelle/XCTestHTMLReport/xchtmlreport
Error: No available formula with the name "titouanvanbelle/xctesthtmlreport/xchtmlreport"
==> Searching for a previously deleted formula (in the last month)...
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
==> Searching local taps...
Error: No similarly named formulae found.
MARAXELR-M-C1HN:slaveconfig maraxelr$

These are commands pasted straight from project README.md

Closing. Duplicate of #86


feat: Add Verify presentation endpoint

closes #98
Signed-off-by: talwinder.kaur<EMAIL_ADDRESS>

need bdd test
Ok will add bdd test


I can't run test function

Hi, I want to run pywren.
But, I got this error when I'm running script.
pywren test_function

Traceback (most recent call last):
  File "/Users/kuma/.pyenv/versions/abeja-dsf/bin/pywren", line 11, in <module>
    sys.exit(main())
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/pywren/scripts/pywrencli.py", line 572, in main
    return cli(obj={})
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/pywren/scripts/pywrencli.py", line 374, in test_function
    res = fut.result()
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/pywren/future.py", line 194, in result
    reraise(*self._traceback)
  File "/Users/kuma/.pyenv/versions/3.5.3/envs/abeja-dsf/lib/python3.5/site-packages/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/var/task/jobrunner.py", line 27, in <module>
  File "/tmp/condaruntime/lib/python3.5/site-packages/cloudpickle/cloudpickle.py", line 800, in _make_skel_func
  File "/tmp/condaruntime/lib/python3.5/site-packages/cloudpickle/cloudpickle.py", line 792, in _reconstruct_closure
TypeError: 'int' object is not iterable

@higumachan  this might be an issue with cloudpickle versioning.
Can you try pip install cloudpickle=0.2?


A specific own access is required for rodsadmins to monitor group collections

In order to start monitoring group collections, a rodsadmin user needs to have an 'own' access on group collections. Being member of a group collection in question for rodsadmins is not enough.  The 'own' permission should be specifically given on the target collection if it is a group collection. Otherwise we are getting errors below. I think this is against what is described below in quotation.

IMPORTANT NOTE: To invoke rules provided by the plugin, the only requirement is that the user be a rodsadmin. The rodsadmin user does not need permissions set on the target collection.

PS. If the target collections are users' home collections, then this works normal.
-bash-4.2$ ils -A /u0137480/home/group1
/u0137480/home/group1:
        ACL - g:group1#u0137480:own
        Inheritance - Disabled
-bash-4.2$ iadmin lg group1
Members of group group1:
rods#u0137480
-bash-4.2$ irule -r irods_rule_engine_plugin-irods_rule_language-instance 'logical_quotas_start_monitoring_collection("/u0137480/home/group1")' null ruleExecOut
remote addresses: <IP_ADDRESS> ERROR: rcExecMyRule error.  status = -1205000 RE_RUNTIME_ERROR
Level 0: cannot set metadata: Unknown error -818000
Level 1: DEBUG:

-bash-4.2$ ichmod own rods /u0137480/home/group1
-bash-4.2$ ils -A /u0137480/home/group1
/u0137480/home/group1:
        ACL - rods#u0137480:own   g:group1#u0137480:own
        Inheritance - Disabled
-bash-4.2$ irule -r irods_rule_engine_plugin-irods_rule_language-instance 'logical_quotas_start_monitoring_collection("/u0137480/home/group1")' null ruleExecOut
-bash-4.2$ imeta ls -C /u0137480/home/group1
AVUs defined for collection /u0137480/home/group1:
attribute: irods::logical_quotas::total_number_of_data_objects
value: 0
units:
----
attribute: irods::logical_quotas::total_size_in_bytes
value: 0
units:

This is tested both for 4.2.10 and 4.2.11.

Hi Kory,
Yes, seems it is defined.
-bash-4.2$ iquest --sql ls | grep -A1 ShowCollAcls
ShowCollAcls
select distinct R_USER_MAIN.user_name, R_USER_MAIN.zone_name, R_TOKN_MAIN.token_name, R_USER_MAIN.user_type_name from R_USER_MAIN, R_TOKN_MAIN, R_OBJT_ACCESS, R_COLL_MAIN where R_OBJT_ACCESS.object_id = R_COLL_MAIN.coll_id AND R_COLL_MAIN.coll_name = ? AND R_TOKN_MAIN.token_namespace = 'access_type' AND R_USER_MAIN.user_id = R_OBJT_ACCESS.user_id AND R_OBJT_ACCESS.access_type_id = R_TOKN_MAIN.token_id

We'll investigate.

Hi Kory, if we create a sub-collestion like /tempZone/home/user1/coll_A as user1 and give own access to user2 , and finally revoke own access of user1, then we can encounter the same issue explained above. Meaning the rodsadmin user has to have a own access in this case to monitor the coll_A.
[user1@dev-u0137480 ~]$ ichmod own user2 collection_A
[user1@dev-u0137480 ~]$ ichmod null user1 collection_A

a query of the rodsadmin:
-bash-4.2$ iquest "select COLL_OWNER_NAME where COLL_NAME = '/u0137480/home/user1/collection_A'"
COLL_OWNER_NAME = user1
------------------------------------------------------------
-bash-4.2$ ils -A /u0137480/home/user1/collection_A
/u0137480/home/user1/collection_A:
        ACL - user2#u0137480:own
        Inheritance - Disabled

So I am confused a bit with https://github.com/irods/irods_rule_engine_plugin_logical_quotas/blob/main/src/handler.cpp#L159-L168 and existing ACLs on a given collection.

The COLL_OWNER_NAME is the original owner name - not actually related to the ACLs that are granted.
it's a loophole/feature that we're working to clarify with https://github.com/irods/irods/issues/6579 and https://github.com/irods/irods/issues/6596

I believe this issue will be resolved by the work in #85.

This issue was resolved by #85.
The query involving COLL_OWNER_NAME is no longer used.
I've included the results produced by <IP_ADDRESS> below.
$ iadmin mkgroup g1
$ imkdir col.g
$ ichmod own g1 col.g
$ ichmod null rods col.g
$ ils -A col.g
/tempZone/home/rods/col.g:
        ACL - g:g1#tempZone:own
        Inheritance - Disabled
$ irule -r irods_rule_engine_plugin-logical_quotas-instance '{"operation": "logical_quotas_start_monitoring_collection", "collection": "/tempZone/home/rods/col.g"}' null ruleExecOut

We'll add a test for this.


Non-Numbafied kmcurve functions should take a PRNG for reproducibility

Won't Fix : removed non-Numba versions


PHAR is outdated

The one to download from either http://phphttpclient.com/httpful.phar or http://phphttpclient.com/downloads/httpful.phar is version 0.2.10, so from 2013. There are none inside the release ZIPs either.
Y U NO UPDATE?!? CAN I HAZ NU PLZ??
j/k

You can easily create a phar, the build script is already there.

It worked. Thanks.

DanMan is correct, but I have updated the phar on the main site. Thanks.


Limit search to certain folders

Is there a way to limit the search scope? The new version is slower for me and I think it is because it is searching my entire Google drive which has several terabytes of data.
Here is what my log file looks like:
[2017-09-05 11:20:37.699] [27607] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:20:40.360] [27607] [DEBUG] Loaded 149335 items from cache (created 5 days ago)
[2017-09-05 11:20:42.605] [27607] [DEBUG] Execution took 4.908 seconds
[2017-09-05 11:20:42.640] [27615] [DEBUG] Start background cache update
[2017-09-05 11:20:42.694] [27615]  [INFO] Access token expired 5 days ago
[2017-09-05 11:20:42.998] [27621] [DEBUG] ./google-drive.rb ["--filter", "test"]
[2017-09-05 11:20:43.001] [27621] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:20:43.002] [27621] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:20:43.206] [27615]  [INFO] Access token added to keychain, expires in 3600 seconds
[2017-09-05 11:20:45.217] [27621] [DEBUG] Loaded 149335 items from cache (created 5 days ago)
[2017-09-05 11:20:46.143] [27621] [DEBUG] Execution took 3.145 seconds
[2017-09-05 11:20:46.174] [27629] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:20:46.421] [27631] [DEBUG] ./google-drive.rb ["--filter", "test "]
[2017-09-05 11:20:46.424] [27631] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:20:46.424] [27631] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:20:48.420] [27631] [DEBUG] Loaded 149335 items from cache (created 5 days ago)
[2017-09-05 11:20:49.386] [27631] [DEBUG] Execution took 2.965 seconds
[2017-09-05 11:20:49.416] [27637] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:20:49.647] [27639] [DEBUG] ./google-drive.rb ["--filter", "test "]
[2017-09-05 11:20:49.648] [27639] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:20:49.649] [27639] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:20:51.517] [27639] [DEBUG] Loaded 149335 items from cache (created 5 days ago)
[2017-09-05 11:20:52.693] [27639] [DEBUG] Execution took 3.045 seconds
[2017-09-05 11:20:52.743] [27642] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:20:52.839] [27615]  [INFO] Got 460 items from Google Drive

It says “Loaded 149335 items from cache” which does indeed sound
like a problem (i.e. slow)
But then the last line (where it gets updated items from Google Drive)
says “Got 460 items from Google Drive”.
That indicates that you “only” have 460 items and after that, there
should only be 460 items in the cache, which should load a lot faster
than the 149335 items.
So what does the log say after having refreshed the cache?
And how many items (roughly) are actually on your Google Drive?
On 5 Sep 2017, at 20:28, Mike King wrote:

Is there a way to limit the search scope? The new version is slower
for me and I think it is because it is searching my entire Google
drive which has several terabytes of data.
Here is what my log file looks like:
[2017-09-05 11:20:37.699] [27607] [DEBUG] Latest online version is
v2.0, we are running 2.0
[2017-09-05 11:20:40.360] [27607] [DEBUG] Loaded 149335 items from
cache (created 5 days ago)
[2017-09-05 11:20:42.605] [27607] [DEBUG] Execution took 4.908 seconds
[2017-09-05 11:20:42.640] [27615] [DEBUG] Start background cache
update
[2017-09-05 11:20:42.694] [27615]  [INFO] Access token expired 5 days
ago
[2017-09-05 11:20:42.998] [27621] [DEBUG] ./google-drive.rb
["--filter", "test"]
[2017-09-05 11:20:43.001] [27621] [DEBUG] Loaded 12 releases from
cache (created 5 days ago)
[2017-09-05 11:20:43.002] [27621] [DEBUG] Latest online version is
v2.0, we are running 2.0
[2017-09-05 11:20:43.206] [27615]  [INFO] Access token added to
keychain, expires in 3600 seconds
[2017-09-05 11:20:45.217] [27621] [DEBUG] Loaded 149335 items from
cache (created 5 days ago)
[2017-09-05 11:20:46.143] [27621] [DEBUG] Execution took 3.145 seconds
[2017-09-05 11:20:46.174] [27629] [DEBUG] Skip background cache
update: Another process is already running
[2017-09-05 11:20:46.421] [27631] [DEBUG] ./google-drive.rb
["--filter", "test "]
[2017-09-05 11:20:46.424] [27631] [DEBUG] Loaded 12 releases from
cache (created 5 days ago)
[2017-09-05 11:20:46.424] [27631] [DEBUG] Latest online version is
v2.0, we are running 2.0
[2017-09-05 11:20:48.420] [27631] [DEBUG] Loaded 149335 items from
cache (created 5 days ago)
[2017-09-05 11:20:49.386] [27631] [DEBUG] Execution took 2.965 seconds
[2017-09-05 11:20:49.416] [27637] [DEBUG] Skip background cache
update: Another process is already running
[2017-09-05 11:20:49.647] [27639] [DEBUG] ./google-drive.rb
["--filter", "test "]
[2017-09-05 11:20:49.648] [27639] [DEBUG] Loaded 12 releases from
cache (created 5 days ago)
[2017-09-05 11:20:49.649] [27639] [DEBUG] Latest online version is
v2.0, we are running 2.0
[2017-09-05 11:20:51.517] [27639] [DEBUG] Loaded 149335 items from
cache (created 5 days ago)
[2017-09-05 11:20:52.693] [27639] [DEBUG] Execution took 3.045 seconds
[2017-09-05 11:20:52.743] [27642] [DEBUG] Skip background cache
update: Another process is already running
[2017-09-05 11:20:52.839] [27615]  [INFO] Got 460 items from Google
Drive
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/azai91/alfred-drive-workflow/issues/38

I have unlimited storage and have a bunch of backup files in google drive. I think 150,000+ files sounds right. That is why I was thinking it would be nice if I could limit the search to exclude the backup folder. Here is the log with a few more searches. It looks like it is getting a new cache file each time.
[2017-09-05 11:35:09.640] [27615] [DEBUG] Finished background cache update
[2017-09-05 11:44:02.976] [29416] [DEBUG] ./google-drive.rb ["--filter", "t"]
[2017-09-05 11:44:02.979] [29416] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:02.980] [29416] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:05.587] [29416] [DEBUG] Loaded 149344 items from cache (created 23 minutes ago)
[2017-09-05 11:44:08.573] [29416] [DEBUG] Execution took 5.596 seconds
[2017-09-05 11:44:08.611] [29426] [DEBUG] Start background cache update
[2017-09-05 11:44:09.057] [29432] [DEBUG] ./google-drive.rb ["--filter", "test "]
[2017-09-05 11:44:09.059] [29432] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:09.060] [29432] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:10.646] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:12.101] [29432] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:12.450] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:13.418] [29432] [DEBUG] Execution took 4.361 seconds
[2017-09-05 11:44:13.447] [29442] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:13.680] [29444] [DEBUG] ./google-drive.rb ["--filter", "test "]
[2017-09-05 11:44:13.681] [29444] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:13.681] [29444] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:14.485] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:15.475] [29444] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:15.840] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:16.322] [29444] [DEBUG] Execution took 2.642 seconds
[2017-09-05 11:44:16.390] [29446] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:16.886] [29448] [DEBUG] ./google-drive.rb ["--filter", "n"]
[2017-09-05 11:44:16.887] [29448] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:16.888] [29448] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:18.134] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:18.895] [29448] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:19.536] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:21.026] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:21.053] [29448] [DEBUG] Execution took 4.167 seconds
[2017-09-05 11:44:21.086] [29454] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:21.380] [29456] [DEBUG] ./google-drive.rb ["--filter", "new test"]
[2017-09-05 11:44:21.381] [29456] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:21.381] [29456] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:22.399] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:23.324] [29456] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:23.766] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:24.000] [29456] [DEBUG] Execution took 2.62 seconds
[2017-09-05 11:44:24.033] [29464] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:24.274] [29466] [DEBUG] ./google-drive.rb ["--filter", "new test"]
[2017-09-05 11:44:24.275] [29466] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:24.275] [29466] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:24.920] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:26.103] [29466] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:26.354] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:26.828] [29466] [DEBUG] Execution took 2.555 seconds
[2017-09-05 11:44:26.864] [29468] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:27.113] [29470] [DEBUG] ./google-drive.rb ["--filter", "new test"]
[2017-09-05 11:44:27.115] [29470] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:27.115] [29470] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:27.433] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:29.552] [29470] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:29.841] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:30.252] [29470] [DEBUG] Execution took 3.14 seconds
[2017-09-05 11:44:30.278] [29477] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:30.495] [29479] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:30.496] [29479] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:30.496] [29479] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:31.119] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:32.199] [29479] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:32.828] [29479] [DEBUG] Execution took 2.333 seconds
[2017-09-05 11:44:32.859] [29481] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:33.100] [29483] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:33.102] [29483] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:33.102] [29483] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:33.482] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:34.926] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:34.939] [29483] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:35.564] [29483] [DEBUG] Execution took 2.463 seconds
[2017-09-05 11:44:35.598] [29491] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:35.851] [29493] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:35.852] [29493] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:35.852] [29493] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:36.451] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:37.560] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:37.661] [29493] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:38.229] [29493] [DEBUG] Execution took 2.378 seconds
[2017-09-05 11:44:38.256] [29496] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:38.505] [29498] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:38.506] [29498] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:38.507] [29498] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:38.826] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:39.902] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:40.260] [29498] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:40.890] [29498] [DEBUG] Execution took 2.385 seconds
[2017-09-05 11:44:40.916] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:40.923] [29504] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:41.149] [29506] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:41.150] [29506] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:41.151] [29506] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:42.163] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:43.037] [29506] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:43.400] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:43.739] [29506] [DEBUG] Execution took 2.59 seconds
[2017-09-05 11:44:43.771] [29513] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:44.041] [29515] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:44.042] [29515] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:44.042] [29515] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:44.570] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:45.669] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:46.093] [29515] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:46.792] [29515] [DEBUG] Execution took 2.751 seconds
[2017-09-05 11:44:46.814] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:46.834] [29519] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:47.075] [29521] [DEBUG] ./google-drive.rb ["--filter", "cache"]
[2017-09-05 11:44:47.076] [29521] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 11:44:47.077] [29521] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 11:44:47.955] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:49.136] [29521] [DEBUG] Loaded 149344 items from cache (created 24 minutes ago)
[2017-09-05 11:44:50.050] [29521] [DEBUG] Execution took 2.975 seconds
[2017-09-05 11:44:50.099] [29531] [DEBUG] Skip background cache update: Another process is already running
[2017-09-05 11:44:50.576] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:51.759] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:52.901] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:54.077] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:55.315] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:56.546] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:58.192] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:44:59.784] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:01.048] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:02.374] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:03.565] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:04.755] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:06.137] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:07.845] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:09.156] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:10.358] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:11.791] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:12.958] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:14.239] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:15.298] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:16.518] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:17.765] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:18.899] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:20.057] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:21.212] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:22.286] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:23.496] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:24.585] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:25.750] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:27.013] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:28.015] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:29.084] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:30.162] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:32.396] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:33.489] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:34.515] [29426]  [INFO] Got 460 items from Google Drive
[2017-09-05 11:45:35.649] [29426]  [INFO] Got 460 items from Google Drive

I see, and I was misinterpreting the log, the “Got 460 items…” is not the total amount, because Google does paged requests, so all the 460 items gets accumulated into, I guess, ~150,000 items.
But this is a bit puzzling, because the workflow only request Google Document types (docs, sheets, forms, and slides) plus PDF files, though also folders.
At the top of the script you can find an array with the requested mime types (called MIME_TYPE_ICONS) and you can comment out e.g. PDFs, but I am thinking that perhaps it’s folders being the majority of these ~150,000 items?
It would also be possible to exclude folders, but then the workflow would be unable to show path information. For this, search for mimeType='application/vnd.google-apps.folder' or  and simply remove that part.
Can you experiment with these things yourself?

Yes. That did the trick. Removing the folder search reduced the cache size.
Here is the latest log:
[2017-09-05 12:16:57.058] [31573] [DEBUG] ./google-drive.rb ["--filter", "mike"]
[2017-09-05 12:16:57.059] [31573] [DEBUG] Loaded 12 releases from cache (created 5 days ago)
[2017-09-05 12:16:57.059] [31573] [DEBUG] Latest online version is v2.0, we are running 2.0
[2017-09-05 12:16:57.327] [31573] [DEBUG] Loaded 21280 items from cache (created 2 minutes ago)
[2017-09-05 12:16:57.437] [31573] [DEBUG] Execution took 0.38 seconds

Thanks for the update, I’ll leave the issue open until a potential setting is added to disable folders from the default fetch.
Out of curiosity, is the backup keeping old versions, i.e. do you have multiple versions of the same PDFs etc., and what software are you using for the backup? (i.e. is there a “standard” way to backup to Google Drive that the workflow could perhaps be made “compatible” with).
I still find it a bit crazy that you are left with 21280 items, that should only be either Google docs, sheets, forms, slides, or PDF files.

Yes, it is creating multiple versions. I think I will change the backups to zip files which should fix the issue.

In 2.1 it is now possible to set custom_query to restrict search to a folder.
See the Configuration section of the README for instructions.
2.1 is currently marked a pre-release so you will need to manually update.


autom4te cannot work in windows environment after initialization with ansible

I used infrastructure, annotated the download and installation related to VS, and only skipped the tag adoptopenjdk. After initializing the windows environment, autoconf cannot be used normally. The error is as follows
Can't locate Autom4te/C4che.pm in @INC (you may need to install the Autom4te::C4che module) (@INC contains: /usr/share/autoconf2.7 /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at /c/cygwin64/bin/autom4te-2.71 line 43.
I tried to install it under windows environment, but it seems a bit difficult for me. Could anyone please give me some advice?

Sorry, when I logged in, I set bash.exe under git/bin instead of cygwin64.


RTS-853: Add boilerplate copyrights to all the TS files

Update all of the license headers to 2016

+1

Thanks, @lehoff. Could I get a +1 176b4ea, so @borshop can work its magic, please?

+1 176b4ea

@borshop merge


Central Signing Service always returns an unsent transaction

Steps to reproduce

Upload a file
Click on Sign using Central Account
wait for the transaction hash to be populated
Click on Txn Hash to open on the Concordium Explorer
See that Transaction was not found

What Should have happened

Explorer should have shown the transaction

A pull request for the same has been raised
https://github.com/parv0888/concordium-esealing/pull/4
Currently its in draft because the main issue causing the error is that
Concordium Node was updated 2 days back and has a corresponding Node Sdk Update 2.0.0
but its currently has bugs. see the url https://github.com/Concordium/concordium-node-sdk-js/issues/68


feat: publish new version

What

Fix failed release process by publishing a new version

Compatibility

[x] Does this change maintain backward compatibility?

:tada: This is included in version v9.3.0 :tada:
The release is available on:

GitHub releases
npm package (@latest dist-tag)


update doc: support hdfsToOss checksum

update doc: support hdfsToOss checksum

 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.焱冰 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


forge: begin converting a few smoke-test tests

/land

You could at least humor me by answering my questions before rushing to land this sucker :P

@davidiw I answered all of your questions?


Fix check for mastermerge label

Mastermerge label wasnt checked correctly, this PR should hopefully fixes it for good

@rejas ready to merge?

Would like to wait until release is done

or we merge this and re-build the release?

@khassel updated it with some dep updates so I think we can merge it before we do the real 2.27.0 release


Gitter link is DEAD

Gitter link in reamde is DEAD.
Ref: https://gitter.im/creative-tim/material-dashboard-react?utm_source=share-link&utm_medium=link&utm_campaign=share-link

Hello there @manishsaraan ,
Thank you for pointing this out.
The link was actually this one: https://gitter.im/creative-tim/material-dashboard?utm_source=share-link&utm_medium=link&utm_campaign=share-link
We are going to change it in our next update.
Best,
Manu

I will submit a pr for this fix.


OSError: Config file: ./config/cityscapes/cityscapes_bisenet.yaml, can not be read

OSError: Config file: ./config/cityscapes/cityscapes_bisenet.yaml, can not be read， I don't know why.

@czHappy run command under repo's root dir:)


Problem upgrading 0.32 to 0.33.4

Description
I upgraded from 0.32 to 0.33.4 . one replica is running fine but other karpneter pod crashloops with
One replica always runs fine , problem with other replica, rollback to 0.32 also works fine . not sure whats the issue
panic: failed to setup manager: failed to determine if *v1.Lease is namespaced: failed to get restmapping: failed to get server groups: Get "https://<IP_ADDRESS>:443/api": dial tcp <IP_ADDRESS>:443: i/o timeout
goroutine 1 [running]:
github.com/samber/lo.must({0x25cd020, 0xc0009f8120}, {0xc00089f760, 0x1, 0x1})
github.com/samber/lo@v1.39.0/errors.go:51 +0x1c5
github.com/samber/lo.Must...
github.com/samber/lo@v1.39.0/errors.go:65
sigs.k8s.io/karpenter/pkg/operator.NewOperator()
sigs.k8s.io/karpenter@v0.33.4/pkg/operator/operator.go:160 +0x13b8
main.main()
github.com/aws/karpenter/cmd/controller/main.go:33 +0x25

What is the namespace under which Karpenter is operating?

karpenter is in karpenter namespace and i want to keep in there not move in kube-system

@mk2134226 Can you share the helm upgrade command that was used?

Would you also mind verifying if there was any modification to the roles and policies that are needed for Karpenter to work? Probably Karpenter Controller Policy?

@mk2134226 what was your solution?


Prevent page scrolling when mouse wheel is triggered over the chart

As mentioned in issue #20

hello!
 e.preventDefault(); is missing in master


measure sql parsing overhead

Codecov Report

Merging #161 into master will decrease coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #161      +/-   ##
==========================================
- Coverage      73%   72.97%   -0.04%
==========================================
  Files         108      108
  Lines       16849    16853       +4
==========================================
- Hits        12301    12298       -3
- Misses       3602     3609       +7
  Partials      946      946

Impacted Files
Coverage Δ

utils/metrics.go
65.47% <ø> (ø)
:arrow_up:

api/sql_query_handler.go
91.17% <100%> (+1.17%)
:arrow_up:

subscriber/common/job/driver.go
66.31% <0%> (-1.42%)
:arrow_down:

memstore/cuckoo_index.go
90.2% <0%> (-1.02%)
:arrow_down:

Continue to review full report at Codecov.

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


Update Masonry Example Divs

The masonry example would be more impactful and show the difference between grid and masonry if the divs were of various sizes. Updating the content length creates this variance.

I signed it!

Very glad you kept the punctuation correct.
Thank you, @una :)


alertmanager_cluster_failed_peers reports 1 continuously after pod is respawned

What did you do?
Tested the functionality of alertmanager_cluster_failed_peers metric as follows:

opened a port forward to one of the two alertmanager pods (2 replicas deployment)
started a loop running curl http://localhost:9093/metrics (metric was reporting 0)
deleted the other pod in the deployment
watched alertmanager_cluster_failed_peers since the delete moment to when the second pod was running again...and beyond
Result:
alertmanager_cluster_failed_peers stays at 1 value forever

What did you expect to see?
Since alertmanager_cluster_failed_peers is gauge I would have expected to be back to 0 once the second pod was respawned.
What did you see instead? Under which circumstances?
alertmanager_cluster_failed_peers continuously reports 1 although the second pod was up and running
Environment
Azure Kubernetes (AKS)

Alertmanager version:
alertmanager, version 0.16.0 (branch: HEAD, revision: 73bdd966e0055f3b828340ade3ef1f3a38169cdc)
build user:       root@fbea1f55d584
build date:       20190121-12:58:06
go version:       go1.11.4

Please share the AlertManager logs. Also what are the flags passed to AlertManager?
Also note that AlertManager will try to reconnect to a lost peer before giving up, the duration is governed by --cluster.reconnect-timeout which is 6 hours by default.

This is expected behavior. When a peer is removed, alertmanager will try to reconnect to it for 6 hours before giving up (which will decrement the counter).
https://github.com/prometheus/alertmanager/blob/master/cluster/cluster.go#L366
deleting the pod will cause a new one to be scheduled by kubernetes, but the cluster sees them as two unique cluster members.

Well, yes, you're right. But I wouldn't have opened this if I knew about the option. Could you please add it here: https://github.com/prometheus/alertmanager#high-availability ?


add labels in config to show feature name when more than 50

add https://github.com/pandas-profiling/pandas-profiling/issues/222#issuecomment-514813394 feature

Thanks for the pull request. There are a few issues with it:

config['labels'] should be config['labels'].get(bool) with some additional if condition.
The examples and docs should be updated and the black coding style should be enforced.

You couldn't reasonably be aware of that. I've added an initial pull request template to help future contributions. I will add the setting in the next release this time.

sorry for these issues, this was my first pull request :) just wanted to know how to do


Typo in NativeMethodsMixin.js

Fixed a typo in NativeMethodsMixin.js
Before:

After:

@facebook-github-bot shipit