Faraday::ConnectionFailed: Connection reset by peer

Hi,
I am expierencing an "Faraday::ConnectionFailed: Connection reset by peer" error when initially indexing (-> reindexing) all documents after importing issues (~7,000 !) from another ticket system.
 # bundle exec rake redmine_elasticsearch:reindex_all RAILS_ENV=production --trace

  Loading Rails environment for Resque
  ** Invoke redmine_elasticsearch:reindex_all (first_time)
  ** Invoke redmine_elasticsearch:logged (first_time)
  ** Invoke environment (first_time)
  ** Execute environment
  ** Execute redmine_elasticsearch:logged
  ** Execute redmine_elasticsearch:reindex_all
  Recreating index and updating mapping...
  Available search types: [issues, news, documents, changesets, wiki_pages, messages, projects]

  Counting projects...
  12 will be imported.
  Project tree:  100% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Time: 00:00:00
  Done reindex project tree. Errors: 0

  Counting estimated records for issues...
  6992 will be imported.
  rake aborted!  100% |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ETA:  00:00:00
  Faraday::ConnectionFailed: Connection reset by peer
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:211:in `write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:211:in `write0'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:185:in `block in write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:202:in `writing'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:184:in `write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http/generic_request.rb:187:in `send_request_with_body'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http/generic_request.rb:120:in `exec'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1412:in `block in transport_request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `catch'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `transport_request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1384:in `request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1377:in `block in request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:853:in `start'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1375:in `request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:80:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:38:in `block in call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:85:in `with_net_http_connection'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:33:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/rack_builder.rb:139:in `build_response'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/connection.rb:386:in `run_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb:23:in `block in perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:262:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:262:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb:131:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-api-5.0.4/lib/elasticsearch/api/actions/bulk.rb:95:in `bulk'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/app/elastic/application_search.rb:72:in `block in import'
  /usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/batches.rb:124:in `find_in_batches'
  /usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-<IP_ADDRESS>/lib/active_record/querying.rb:9:in `find_in_batches'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/app/elastic/application_search.rb:71:in `import'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/redmine_elasticsearch/indexer_service.rb:48:in `reindex'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:86:in `reindex_document_type'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:28:in `block (3 levels) in <top (required)>'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:27:in `each'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:27:in `block (2 levels) in <top (required)>'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
  /usr/local/rvm/gems/ruby-2.2.1/bin/rake:23:in `load'
  /usr/local/rvm/gems/ruby-2.2.1/bin/rake:23:in `<main>'
  /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
  /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
  Errno::ECONNRESET: Connection reset by peer
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:211:in `write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:211:in `write0'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:185:in `block in write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:202:in `writing'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/protocol.rb:184:in `write'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http/generic_request.rb:187:in `send_request_with_body'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http/generic_request.rb:120:in `exec'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1412:in `block in transport_request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `catch'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1411:in `transport_request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1384:in `request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1377:in `block in request'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:853:in `start'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/net/http.rb:1375:in `request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:80:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:38:in `block in call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:85:in `with_net_http_connection'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/adapter/net_http.rb:33:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/rack_builder.rb:139:in `build_response'
  /usr/local/rvm/gems/ruby-2.2.1/gems/faraday-0.12.1/lib/faraday/connection.rb:386:in `run_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb:23:in `block in perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:262:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/base.rb:262:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-transport-5.0.4/lib/elasticsearch/transport/client.rb:131:in `perform_request'
  /usr/local/rvm/gems/ruby-2.2.1/gems/elasticsearch-api-5.0.4/lib/elasticsearch/api/actions/bulk.rb:95:in `bulk'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/app/elastic/application_search.rb:72:in `block in import'
  /usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-<IP_ADDRESS>/lib/active_record/relation/batches.rb:124:in `find_in_batches'
  /usr/local/rvm/gems/ruby-2.2.1/gems/activerecord-<IP_ADDRESS>/lib/active_record/querying.rb:9:in `find_in_batches'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/app/elastic/application_search.rb:71:in `import'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/redmine_elasticsearch/indexer_service.rb:48:in `reindex'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:86:in `reindex_document_type'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:28:in `block (3 levels) in <top (required)>'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:27:in `each'
  /opt/redmine-3.3.1/plugins/redmine_elasticsearch/lib/tasks/index.rake:27:in `block (2 levels) in <top (required)>'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `call'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
  /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
  /usr/local/rvm/gems/ruby-2.2.1/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
  /usr/local/rvm/gems/ruby-2.2.1/bin/rake:23:in `load'
  /usr/local/rvm/gems/ruby-2.2.1/bin/rake:23:in `<main>'
  /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
  /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
  Tasks: TOP => redmine_elasticsearch:reindex_all

My plugins/redmine_elasticsearch/config/configuration.yml is
  default:
    elasticsearch:
      log: true
      request_timeout: 300
      host: '<IP_ADDRESS>'
      port: 9200

I am using Elasticsearch 5.4.3 on a CentOS 7.2.1511 system:
{
  "name" : "RM-DEV",
  "cluster_name" : "rm-cl",
  "cluster_uuid" : "-tQmjvDTRBql0ibEQp-3tA",
  "version" : {
    "number" : "5.4.3",
    "build_hash" : "eed30a8",
    "build_date" : "2017-06-22T00:34:03.743Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

My /etc/elasticsearch/elasticsearch.yml is
cluster.name: rm-cl
node.name: "RM-DEV"
network.host: localhost
http.port: 9200

I am running Elasticsearch as systemd service with /etc/sysconfig/elasticsearch:
ES_HOME=/usr/share/elasticsearch
CONF_DIR=/etc/elasticsearch
DATA_DIR=/var/lib/elasticsearch
LOG_DIR=/var/log/elasticsearch
WORK_DIR=/tmp/elasticsearch
PID_DIR=/var/run/elasticsearch
ES_JAVA_OPTS="-Xms2g -Xmx2g"
ES_USER=elasticsearch
ES_GROUP=elasticsearch
MAX_OPEN_FILES=65535
#MAX_LOCKED_MEMORY=unlimited
MAX_MAP_COUNT=262144

I had a look at https://github.com/elastic/elasticsearch-ruby/tree/master/elasticsearch-transport
The section about "Setting Timeouts" says that request_timeout parameter is simply set by
request_timeout: <timeout_in_sec>

but it seems that my setting of  request_timeout: 300 does not work?!
Is there anybody who has an idea?
-Thanks in advance for any hints...
Frank

Here is the /var/log/elasticsearch/rm-cl.log:
...
[2017-07-03T10:22:29,708][INFO ][o.e.c.m.MetaDataDeleteIndexService] [RM-DEV] [redmineapp_production/YM1uVfvEQpiXSiTMlAgh1A] deleting index
[2017-07-03T10:22:29,862][INFO ][o.e.c.m.MetaDataCreateIndexService] [RM-DEV] [redmineapp_production] creating index, cause [api], templates [], shards [1]/[0], mappings [_default_]
[2017-07-03T10:22:29,900][INFO ][o.e.c.r.a.AllocationService] [RM-DEV] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[redmineapp_production][0]] ...]).
[2017-07-03T10:22:29,920][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [issue]
[2017-07-03T10:22:29,941][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [news]
[2017-07-03T10:22:29,968][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [document]
[2017-07-03T10:22:29,995][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [changeset]
[2017-07-03T10:22:30,023][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [wiki_page]
[2017-07-03T10:22:30,048][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [message]
[2017-07-03T10:22:30,073][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [project]
[2017-07-03T10:22:30,266][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] create_mapping [parent_project]
[2017-07-03T10:22:58,738][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] update_mapping [issue]
[2017-07-03T10:22:58,764][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] update_mapping [issue]
[2017-07-03T10:22:58,796][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] update_mapping [issue]
[2017-07-03T10:22:58,828][INFO ][o.e.c.m.MetaDataMappingService] [RM-DEV] [redmineapp_production/1wM83UmuRB2uHOtRF7u60g] update_mapping [issue]
[2017-07-03T10:23:03,441][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38136] overhead, spent [559ms] collecting in the last [1s]
[2017-07-03T10:25:12,307][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38263] overhead, spent [2s] collecting in the last [2.7s]
[2017-07-03T10:25:18,570][INFO ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38269] overhead, spent [496ms] collecting in the last [1.2s]
[2017-07-03T10:25:29,020][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38279] overhead, spent [1s] collecting in the last [1.4s]
[2017-07-03T10:25:30,023][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38280] overhead, spent [520ms] collecting in the last [1s]
[2017-07-03T10:25:31,515][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][young][38281][231] duration [1.2s], collections [1]/[1.4s], total [1.2s]/[9.9s], memory [1.1gb]->[1gb]/[1.9gb], all_pools {[young] [73.7mb]->[2.8mb]/[266.2mb]}{[survivor] [33.2mb]->[33.2mb]/[33.2mb]}{[old] [1gb]->[1gb]/[1.6gb]}
[2017-07-03T10:25:31,516][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38281] overhead, spent [1.2s] collecting in the last [1.4s]
[2017-07-03T10:25:32,521][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38282] overhead, spent [547ms] collecting in the last [1s]
[2017-07-03T10:25:33,558][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38283] overhead, spent [622ms] collecting in the last [1s]
[2017-07-03T10:25:34,564][INFO ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38284] overhead, spent [514ms] collecting in the last [1s]
[2017-07-03T10:25:35,719][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38285] overhead, spent [592ms] collecting in the last [1.1s]
[2017-07-03T10:25:37,378][INFO ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38286] overhead, spent [761ms] collecting in the last [1.6s]
[2017-07-03T10:25:42,693][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][young][38289][240] duration [2s], collections [1]/[3s], total [2s]/[15.3s], memory [1.4gb]->[1.3gb]/[1.9gb], all_pools {[young] [168.3mb]->[12.2mb]/[266.2mb]}{[survivor] [32.3mb]->[33.2mb]/[33.2mb]}{[old] [1.2gb]->[1.3gb]/[1.6gb]}
[2017-07-03T10:25:42,723][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38289] overhead, spent [2s] collecting in the last [3s]
[2017-07-03T10:25:45,302][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][young][38291][241] duration [1s], collections [1]/[1.3s], total [1s]/[16.3s], memory [1.5gb]->[1.4gb]/[1.9gb], all_pools {[young] [158.8mb]->[3.4mb]/[266.2mb]}{[survivor] [33.2mb]->[33.2mb]/[33.2mb]}{[old] [1.3gb]->[1.3gb]/[1.6gb]}
[2017-07-03T10:25:45,303][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38291] overhead, spent [1s] collecting in the last [1.3s]
[2017-07-03T10:26:27,507][INFO ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][young][38332][253] duration [1.6s], collections [2]/[2.1s], total [1.6s]/[18.1s], memory [1007mb]->[1.1gb]/[1.9gb], all_pools {[young] [47.7mb]->[82.4mb]/[266.2mb]}{[survivor] [448.4kb]->[1.4mb]/[33.2mb]}{[old] [958.8mb]->[1gb]/[1.6gb]}
[2017-07-03T10:26:27,509][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38332] overhead, spent [1.6s] collecting in the last [2.1s]
[2017-07-03T10:26:29,855][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][young][38333][254] duration [1.8s], collections [1]/[2.3s], total [1.8s]/[20s], memory [1.1gb]->[1.2gb]/[1.9gb], all_pools {[young] [82.4mb]->[3.4mb]/[266.2mb]}{[survivor] [1.4mb]->[2.1mb]/[33.2mb]}{[old] [1gb]->[1.2gb]/[1.6gb]}
[2017-07-03T10:26:29,855][WARN ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38333] overhead, spent [1.8s] collecting in the last [2.3s]
[2017-07-03T10:26:55,349][INFO ][o.e.m.j.JvmGcMonitorService] [RM-DEV] [gc][38358] overhead, spent [482ms] collecting in the last [1s]
...

Update: Issue #25 inspired us to reduce the batch size to BATCH_SIZE=10 which works for our (re)indexing of the ~7,000 imported issues:
bundle exec rake redmine_elasticsearch:reindex_all RAILS_ENV=production BATCH_SIZE=10

So, this issue can be closed!


Adding changelog for 1.25.2

Pull Request Test Coverage Report for Build 504230303

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

Totals

Change from base Build 502398376:
0.0%

Covered Lines:
24449

Relevant Lines:
51916

💛  - Coveralls

Pull Request Test Coverage Report for Build 504230303

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

Totals

Change from base Build 502398376:
0.0%

Covered Lines:
24449

Relevant Lines:
51916

💛  - Coveralls


⚠ Bofrost.es has degraded performance

In bac6fd2, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1458 ms

Resolved: Bofrost.es performance has improved in 9d337bb after 6 minutes.


Finish Hypercane GUI script for order action

The existing CLI application must be reworked. This work was started already and needs to be tested.
Once that work is done, we can add the corresponding GUI script for the Wooey interface.

After testing, we see that order does not contain the correct output file name of ordered-mementos.tsv

Everything works as expected now.


Support keytab files for kerberos

Motivation
Customer request

Codecov Report

Merging #2591 into master will decrease coverage by 3.61%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master    #2591      +/-   ##
==========================================
- Coverage   83.88%   80.27%   -3.62%
==========================================
  Files         644        6     -638
  Lines       36406      147   -36259
  Branches     4421       17    -4404
==========================================
- Hits        30540      118   -30422
+ Misses       4552       20    -4532
+ Partials     1314        9    -1305


Update obsolete code of index.js of example "online"

online package is obsolete, doesn't work with the latest redis package any more. The way to connect to redis server also is also need to be changed.

Honestly I think I am of the opinion that we should delete all examples that rely on external packages. This is too much of a risk for us to be promoting if the express project doesn't own the package. This is a great target for a malicious attacker. I am going to bring this one up with the rest of the @expressjs/express-tc to get a feel for folks opinions, but my vote is we remove this example entirely.

technically, online is a tjholowaychuk package, so...  😁


make required-asterisk stick to label

Problem: When using inline-labels, it might occur that the asterisk denoting required fields wraps to a newline after the label. This does't look great:

Putting whitespace-nowrap into the label classes is not a solutin imo as it leads to long labels not wrapping at all:

So I wrapped the sup tag with the asterisk inside a span with whitespace-nowrap and moved it directly behind the label text. It doesn't look pretty in the blade file, but it works and results in the asterisk sticking to the last label word without wrapping into its own line:

Aside:
long words or too much label text are still not great, but I don't think there's much we can do

I think this is a problem with the way you're using inline labels though. That design is only meant to be used when there is enough horizontal space for the labels to fill without needing to wrap. In your screenshot, it looks like there is very little space. On mobile, we already fall back to the normal style of label. What do you think about not merging this and rethinking your own app's form layout?

For my app, I already changed the layout, but I still think having the asterisk stick to the last label word is a good idea as even with enough space (which in itself is hard enough given the many resolutions, browsers, and ways to use them) it might get wrapped on its own. But I have no ego in this, so if you don't think this is a worthwhile change, just close the PR and leave it as it is.

My only concern was that it might be easily reverted if someone fixes the formatting, so I added a comment


Adds ability to override user creation and edit forms

This change allows fields from custom user models to be editable via the Wagtail user admin create and update views.
This could be done already but required excessive overriding of Wagtail elements. There's no specific issue open related to this PR but the issue and potential resolutions were discussed in the comments of #158
For details of how the customization is achieved, please refer to the documentation included in the PR.

@gasman Any chance for this one to be considered for a release. Thanks.

Other than the above quibble about the placement of the documentation, this all looks good to me!

Merged in c4feb6462fb75483aec217e597d64e744fcbb95d, with documentation reshuffled as per my suggestion in 6ff98a543b00bbe63ad04ac8af1ba0a07772df84. Thanks!
A little curiosity: the {% extends %} lines in the example template code raised alarm bells for me, because historically it's not been possible to extend the template you're overriding without creating an infinite loop - hence the need for django-overextends as a workaround. On further investigation it appears that they quietly fixed it in Django 1.9 (https://docs.djangoproject.com/en/1.9/releases/1.9/#templates - "Django template loaders can now extend templates recursively"), and up to now no-one seems to have noticed that this makes django-overextends obsolete...


Update documents to use new Xpanse logo

[ ] Update Logo in readme.
[ ] Update Logo in xpanse website

should we also update the logo in the xpanse-gui?


Refactor elevation provider

Refactor elevation provider:

clean up interface;
add a getEle(node) variant with a default implementation.

Fixes: #2374.
Ping @otbutz, @easbar.
I did not introduce constructor parameters as it was a bit tricky with multiple constructors like in MultiplSourceElevationProvider.
The AbstractElevationProvider was alreading containing filesystem related code so I moved the methods there.
I have not renamed getInterpolate to canInterpolate yet. I will work on it later.
Please let me know your feedback of this PR.

I'd vote for TileBasedElevationProvider

@otbutz, I am willing to address the concern you expressed. Could you please give me some inputs so that I can move forward?

Scratch that. Had a look at the current implementation and the MultiSourceElevationProvider only ties together a CIGAR and a GMTED provider. So this is far from a generic solution.
I'd go with MultiSourceTileBasedElevationProvider extends TileBasedElevationProvider and butcher the TileBasedElevationProviderInterface
So we'd end up with the following interfaces/classes:

ElevationProvider (interface)
TileBasedElevationProvider (abstract class)

OK @otbutz, I reworked the PR with your idea.
@easbar, does it also look good for you?

Hi @easbar, you requested changes to the PR. I think I addressed all your demands. If the code looks good to you now would you be willing to merge the PR?

Hi @easbar, you requested changes to the PR. I think I addressed all your demands. If the code looks good to you now would you be willing to merge the PR?

Thanks for your changes. Yes, this PR looks good to me. There are a few minor things that we should fix (like missing overrides, duplicate javadocs in multi source provider and some whitespace/formatting), but I'll do this in a follow-up commit.

Had a look at the current implementation and the MultiSourceElevationProvider only ties together a CIGAR and a GMTED provider. So this is far from a generic solution.

Yes, the name is a bit misleading indeed, I'll check if this can be improved, but this is unrelated to this PR.

Thanks @easbar. I saw your follow up PR. Will also manage this part next time.


Remove redundant PixelColor trait bounds

Hi! Thank you for helping out with Embedded Graphics development! Please:

[ ] Check that you've added passing tests and documentation
[ ] Add a simulator example(s) where applicable
[ ] Add a CHANGELOG.md entry in the Unreleased section under the appropriate heading (Added, Fixed, etc) and appropriate crate (embedded-graphics, simulator, tinytga, tinybmp) if your changes affect the public API
[ ] Run rustfmt on the project
[ ] Run ./build.sh (Linux/macOS only) and make sure it passes. If you use Windows, check that CI passes once you've opened the PR.

PR description
This PR removes some redundant PixelColor trait bounds and makes all of them use the where syntax.

@jamwaffles Should we use the where syntax for all trait bounds? The Drawable impls currently use the abbreviated syntax.

I’m pretty ambivalent but it’s less effort to convert to the where syntax than the other way round. I wouldn’t reject a PR that changes it all for the abbreviated syntax though - I do realise it’s shorter.

I don't think that all trait bounds can be expressed using the shorter syntax, so the where syntax would be the only way to use the same for all trait bounds.
If we decide to also use the shorter syntax we need to define a point at which it's better to start using the where syntax. I wouldn't mind <C: PixelColor>, but I prefer the where syntax for Drawable::draw:
fn draw<D: DrawTarget<Color = C>>(self, display: &mut D) -> Result<(), D::Error> {
    display.fill_contiguous(&self.bounding_box(), self.into_iter().map(|p| p.1))
}

fn draw<D>(self, display: &mut D) -> Result<(), D::Error>
where
    D: DrawTarget<Color = C>,
{
    display.fill_contiguous(&self.bounding_box(), self.into_iter().map(|p| p.1))
}


Only Getting Undispatched Items per StreamID

Hi, not an issue, but I couldn't find a better way to ask this question. Is there any way that I can get only the undispatched items per streamId? It works in the "add - commit" scenario but not if I do not want to add an item. the getUndispatched function returns ALL undispatched item for the es and I could loop over this, but I guess this is not the most efficient way.
Thank you very much!

No at the moment there is no api that does this... but may I ask why you need it? What is your intend?

Re: [node-eventstore] Only Getting Undispatched Items per StreamID (#45)
Thanks for getting back to me ... here is my scenario:
My users can be online or offline. My backend doesn't know about the sessions as this is managed in nodejs/sessions/redis. So all "relevant events" are send out and stored in your event store (pretty cool stuff by the way ...). Anyway, I can have 2 situations:
A) user is currently logged in with 1 or more devices. In this case I broadcast the events up to the channel immediately
B) user is offline. In this case I just store the events until ... user comes online
-> here is the problem. As soon as the user logs in I need to broadcast the undispatched events. But I can only get them by going through all undispatched events. Unfortunately I am looking at "pretty high volume event and not so many people logged" in scenario most of the times. So this becomes fairly expensive.
I am just wondering how you solved this in the "add event" scenario as in this case it is based on streamId?
Cheers, Nils

ok? https://github.com/adrai/node-eventstore#own-event-dispatching-no-event-publisher-function-defined
v1.5.0

Awsome! Works like charm ... Thanks Adrai. Much appreciated.


[Organizations] Add new organization page improvements

needs learn more link
org name should appear in test profile link (do this for register flow as well?)
explain gravatar for org email
"the username is not available" should appear lower

@anangaur what link should this page use for its learn more link?

https://go.microsoft.com/fwlink/?linkid=870439

Font should be smaller.


Emote Counter on stream

Mods somehow start an emote counter.
two emotes only?
!emotecounter start <3 DansGame
will count how many <3 compared to DansGame's are on stream and display them in the center left position.
with a bar or something?

No bar, but working example exists: https://pastebin.com/cQbH8Gqm
How it looks: https://i.nuuls.com/JjlX0.png

Due to pajbot being moved into maintenance mode I'm closing this feature request.


Add Diabetes Prediction

Dataset Link
Dataset
Description
Prediction of Diabetes based on various factors.

I would like pick up this issue, can you assign it me? 😄

Yes, You can work on it.

Can I work on this issue as a part of hacktoberfest2021

Sorry! Some one already grabed that issue


Load system desc pass

Create a load system desc pass for loading system descs from disk into the compiler:
include/ttmlir/Dialect/TTIR/Passes.td:
 def TTIRLoadSystemDesc: Pass<"ttir-load-system-desc", "::mlir::ModuleOp"> {
...
    list<Option> options = [
        Option<"path", "path", "std::string", "", "System desc path">,
    ];
}

The pass itself can be something like:
    if (not path.empty()) {
      // Load the system desc from path
    } else if (not module->hasAttr(tt::SystemDescAttr::name)) {
      module->setAttr(tt::SystemDescAttr::name,
                      tt::SystemDescAttr::getDefault(&getContext()));
    }

This way tests can just run --ttir-load-system-desc with no path argument and get the default system desc, which is just an 8x8 WH system.

Part of this issue will be to include default pass for all variables in the Flatbuffer


[HUDI-4196]support index alignment

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
(For example: This pull request adds quick-start document.)
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

hi @danny0405 why does globalIndex not support boundedBootstrap ？
https://github.com/apache/hudi/blob/132c0aa8c7cc34f462f5ab44e8db8b75c2ffba38/hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/sink/utils/Pipelines.java#L235

@cuibo01 : can we please add sufficient description and fill in the template for the PR.

@danny0405 @yuzhaojing : can you assign someone to review this patch. been there for 5 months ish.

With flink state, this feature is very important to ensure data consistency.
I can update this pr if needed.


devtool: 'eval-nosources-*' still contains sourcesContent

Bug report

What is the current behavior?
The source map string converted by the base64 output of devtool: 'eval-nosources-source-map' still  contains the sourcesContent field.
If the current behavior is a bug, please provide the steps to reproduce.
Here is a minimal reproduce:
module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist'),
  },
  mode: 'development',
  devtool: 'eval-nosources-source-map', // <----- here
};

const output = /* copy the base64 of source map from dist */
console.log(Buffer.from(output, 'base64').toString('utf-8')) // still contains the `sourcesContent` field

What is the expected behavior?
Don't contains the sourcesContent field since the nosources is used.

Other relevant information:
webpack version: 5.74.0
Node.js version: 16
Operating System: -
Additional tools: -

I think it is related to EvalSourceMapDevToolPlugin, I can make a PR if you confirm this is a bug.

Yes, sounds like a bug, PR welcome


Center pagination

Use display: inline-block instead of float: left for .pagination ul. Centering the pagination can be done by using .pagination.center. I think this is much easier to understand and therefore preferable above the solution shown on #304.
This is the same change as https://github.com/twitter/bootstrap/pull/638, but done in 2.0-wip

Awesome, thanks for the pull request! Looks like your instance of 2.0-wip is a bit behind—we have a lot of changes since last night. Can you update your request (e.g., put the new CSS in the pagination.less file)?
Also, don't forget to recompile the LESS and submit that, please.

I used lessc ./lib/bootstrap.less > bootstrap.css, but now bootstrap.css has a lot more changes than expected. Please advise.

Hmm, interesting. It looks like you managed to add all my latest changes for property reordering. Very odd. Try creating a fresh diff and see if the problems still exist after you're all up to date. I'll try to check this out later, too.

Hmm no luck. I must have done something wrong, but I don't know what. I'm using lessc 1.1.5.
What I did was reset my local 2.0-wip. Pull 2.0-wip from twitter/bootstrap, merging it with my version locally. I Pushed it to jasny/bootstrap. Than I made the change in pagination.less and committed that. I used lessc to build bootstrap.css, committed that and my local 2.0-wip to jasny/bootstrap.
--
I've reverted the last commit, so only pagination.less is changed. Could you please go ahead and rebuild bootstrap.css after merging this pull request. Thanks :)

Any news on this?

@markdotto I've done a merge with twitter/2.0-wip and rebuild bootstrap.css with make. Can you now apply this pull request?

@markdotto I've cleaned up the pull request. It should be ready to be applied now...

Thanks for cleaning up the diff—it didn't merge automagically here so I went ahead and did it manually. I also took the opportunity to add an IE7 inline-block mixin for future use. Will apply that retroactively later.
Thanks!


Support Python 3

What does this PR do?
Adds support for python 3 mostly by removing byte comparisons with strings.
Also removed the encode_tags function since it was only used to provide A6 functionality on A5. We pinned the check on Agent 5, so this check only supports A6 now.
Motivation
🐍 3⃣
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached
[ ] Feature or bugfix must have tests
[ ] Git history must be clean
[ ] If PR adds a configuration option, it must be added to the configuration file.

Let's wait end of freeze before merging


Update CONTRIBUTING.md

corrected botocore package name
Issue #, if available:
#26
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Fixes #26


Change calendar class to be more specific

Re #387
Change the class name of the calendar component from datepicker to datepicker__calendar to help avoid potential naming conflicts.

Current coverage is 93.65%

Merging #388 into master will not affect coverage as of 351166b

@@            master    #388   diff @@
======================================
  Files            9       9
  Stmts          189     189
  Branches        38      38
  Methods         88      88
======================================
  Hit            177     177
  Partial          3       3
  Missed           9       9

Review entire Coverage Diff as of 351166b

Powered by Codecov. Updated on successful CI builds.

This works for me :+1:

Not sure about this. If you look at the way BEM CSS works, you should have a root class that's used like we do now. Getting rid of that makes the CSS less BEM'ish. Can't we change the classes to something more specific for this component instead?

Something like .react-datepicker?

Isn't the block datepicker and element calendar, like most of the components are styled now?  I think this change at least makes it more consistent with that style.

Thinking about this a little more, the change does remove the .datepicker top-level element, but technically the calendar doesn't nest in the element -- it's appended to <body> with the tethering library.  Also, I don't think we should limit ourselves to having a wrapper div with the datepicker class as this sets us up to have the top level element be the input instead.

I think the problem is 2-sided:

I think we should try to wrap all our classes with a specific prefix for our component. This avoids any potential override issues. For example, datepicker we have here, but also close-icon are easily overwrite-able where this shouldn't happen by default.
We should try to maintain a "block" class as the base class for this component. We can debate what the block is. The current datepicker class is probably the the best candidate, but I agree that it's not 100% correct. (for example, the input isn't an element of the datepicker block.)

Definitely agree that all classes should be prefixed with datepicker.  The close-icon class is sadness that we should fix.  =P
I see what you mean, but take a look at my comment right before yours.  I think it would be great to have it possible for the input to be the top-level element to integrate with forms as seamlessly as possible.  Some styles in common libraries (bootstrap, elemental) look for inputs to be immediate children of certain elements, but forcing the datepicker to be wrapped in a div makes it impossible to work with this without nasty custom styling.

What about:

react-datepicker

react-datepicker__input

possible child classes

react-datepicker__calendar

children

Trying to figure out the best structure on solving this and moving forward.. Still have the wrapper div this way, lets try to iterate and find the best solution.

Or we introduce to 2 level classes:

react-datepicker-input
react-datepicker-calendar

Two levels is probably the way to go (since the calendar will not nested), but we probably won't need a react-datepicker-input class if it's just an <input> element.  In fact I think we should not provide styling for the <input> element so that it can integrate with forms as easily as possible.

I think we should not provide styling for the <input> element so that it can integrate with forms as easily as possible

:+1: That sounds great to me.

Continuing on #391, #396


In-Process Selfhosting like Web API 2

OWIN allowed you to selfhost the app in-process. This allowed you to selfhost Web API 2 in your desktop application.
string baseAddress = "http://localhost:9000/";
using (WebApp.Start<Startup>(url: baseAddress))
{
    ....
}

As i've heard about ASP.NET 5 and MVC 6 finally being OWIN based i was very excited about having this chance with MVC too.
Since i couldn't find anything about it except
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000",

i tried fiddling with the hosting project. After hours of hacks going nowhere and reverse engineering some parts, copying from others, fighting nuget about dnx vs full clr and a shitload of code, i got it "somehow" running but MVC didn't feel like serving me any page and i only got 404 from the OWIN pipeline.
So far everything feels very rigid and dependent on many things, especially DNX, the existance of a damn project.json and a very specific directory structure, even if ASP.NET 5 is supposed to be losely coupled, flexible, running everywhere, etc. About running everywhere... i thought since ASP.NET is just a managed application and the raspberry pi seems to have a CLR, i could just copy over the managed assemblies and get it running.... nada, it doesn't really wants to without DNX which is dependant on native code but at least i've heard that you guys are working on the pi thing.
So long after this rant my simple question is: how compatible are ASP.NET 5 apps and full CLR applications and will i be able to selfhost ASP.NET 5 applications in full CLR applications which are not designed to run on DNX.

This could easily be solved by changing the product name to Asp.Node. If that were to happen then the behavior you're experiencing would be perfectly fine.

A few nits before I get to your main questions:

OWIN allowed you to selfhost the app in-process. This allowed you to selfhost Web API 2 in your desktop application.

You mean Katana. Not OWIN.

As i've heard about ASP.NET 5 and MVC 6 finally being OWIN based i was very excited about having this chance with MVC too.

ASP.NET 5 is not based on OWIN but supports OWIN. It's a nitpick but an important one. You can read about the evolution of Katana project and how it relates to ASP.NET 5 here http://blogs.msdn.com/b/webdev/archive/2014/11/14/katana-asp-net-5-and-bridging-the-gap.aspx.

How compatible are ASP.NET 5 apps and full CLR applications

Not very but that's intentional. The entire purpose of this new stack was to provide an abstraction that we can assume things without having to worry about what CLR was being used. In theory, implementing the Microsoft.Framework.Runtime.Interfaces is all you need to do to act like a "DNX" environment. That's the only connection between the APIs higher up the stack. We provide a default implementation based on any CLR the dnx itself runs on.

will i be able to selfhost ASP.NET 5 applications in full CLR applications which are not designed to run on DNX.

We won't be providing a first class story for this because we don't the support burden. We built a new project system, new assembly loading engine and other things to avoid the currently messy policies that exist in the current .NET framework. Just imagine if we tried to run on the current vanilla .NET, people would expect full support, that means testing it in existing ASP.NET 4.x projects (and supporting it everywhere ASP.NET 4.x ran), they'll ask us to strong name the libraries so they can GAC it because some environments like Sharepoint require you to GAC components.
ASP.NET 5 is new has been designed to run on the DNX. In the future we'll can make some libraries tied less tied to the dnx* target framework so that other people can provide hosts on other platforms (like .NET 4.5), but don't expect us to create, maintain and support one.

Related to https://github.com/aspnet/Hosting/issues/215

WebApp.Start is now WebHostBuilder.Start as shown here: https://github.com/aspnet/Hosting/blob/dev/src/Microsoft.AspNet.Hosting/Program.cs#L37

This is unsettling. You've basically created an entirely new product that is incompatible with 15 years of history. Good job.
I would love for someone to explain the rationale behind such thinking.

This is unsettling. You've basically created an entirely new product that is incompatible with 15 years of history. Good job.

I would love for someone to explain the rationale behind such thinking.

I already tried but maybe I failed.  Some things that might expand:

http://docs.asp.net/en/latest/
http://weblogs.asp.net/scottgu/introducing-asp-net-5
http://channel9.msdn.com/Events/Build/2015/2-687

That said, .NET Framework isn't going anywhere, and you can still use it. This is a new world and people won't all move on day 1 but I expect the majority of green field applications to migrate because of the benefits of this new stack. Think of it like the move from ASP to ASP.NET.

You're fracturing your own ecosystem, and yes, it is exactly like the move from ASP to ASP.NET, only this time you're really not improving things all that much. You say .net fw isn't going anywhere, but since the two systems are incompatible you're forcing people to choose. This will result in asp.net in .net to stagnate.
And your expectation of greenfield app development migrating is not realistic because to migrate we have to completely change the way we do web development. The value proposition of the new stack just isn't there to justify the costs.
We have decades of experience invested in the existing tooling, project system etc.

@davidfowl
Okay can you elaborate on these abstractions?
What i mean is, which new problems have been raised that needs new abstractions?
Speaking in terms of abstractions and running things similiar, in case MS didn't notice, we had the CLR for Windows Desktop and Mono for linux.
Mono did an excellent job at providing a CLR like environment (except for the incomplete / not-always-bugfree BCL) on many platforms with a "compile once on AnyCPU and run everywhere" feeling and with the open sourcing of the BCL and the integration of it in Mono this was going to be way less a problem.
The compile once AnyCPU and the safety of .NET are some the most honored features .NET i believe which has also worked for some time now in mono and the CLR but with the raising fragmentation of the .NET platform and the coolness of removing features (e.g. AppDomains, msbuild, cutting off features from WPF and wondering why people are not excited about the new XAML platforms) and the increase of conditional compilation, this aspect is fading away, torwards something we know rather know from C/C++. About abstractions: when having dnxcore50 and dnx50, if i haven't lost track, the underlying CLR is apparently not abstracted or at least not the expectation wether the BCL is shipped or preinstalled.
So far noteable changes in DNX are the ability to run without compile and the built-in dependency injection, both features which don't need breaking changes but would have been possible with AppDomains and the latter is rather a design change in MS component design.
About setting virtual constraints... you can limit what people are expecting by clarifying the limits, you traded the question: "why are the assemblies not signed?" against the question: "why are dnx and .NET incompatible" which has a way bigger impact imho.
Customer: Why are .NET and DNX incompatible?
MS: We put virtual limits in place so you don't expect them to be compatible.
Customer: But why?
MS: Because we want to break with some older features.
Customer: Okay but why the virtual limits instead of documentation of limits?

MS: Okay at least sometimes, but we don't honestly trust you to be able to handle great power.
Customer: ....
I don't know how often i've heard the term "empowering developers" but you rather try to put us in a sandbox so we can't get hurt while taking our toys which we could accidentally swallow.

@Suchiman @jakesays I'd rather not get into a debate like this on the Hosting github issue. If you're against the entire direction of the product, maybe start an issue on aspnet/Home. This is the direction we're currently going in, building a new platform for web developers using including things and also taking things into account like x-platform and being able to expose NuGet in a more first class way.

The compile once AnyCPU and the safety of .NET are some the most honored features .NET i believe which has also worked for some time now in mono and the CLR but with the raising fragmentation of the .NET platform and the coolness of removing features (e.g. AppDomains, msbuild, cutting off features from WPF and wondering why people are not excited about the new XAML platforms) and the increase of conditional compilation, this aspect is fading away, torwards something we know rather know from C/C++. About abstractions: when having dnxcore50 and dnx50, if i haven't lost track, the underlying CLR is apparently not abstracted or at least not the expectation wether the BCL is shipped or preinstalled.

I hear you and the BCL team is fixing this. We're working on a story that will make .NET whole again but it'll be worse before it gets better. The fact that dnx45x and dnxcore50 exist are artifacts of how the system has worked up until now but I expect this to get better as we get closer to shipping.

So far noteable changes in DNX are the ability to run without compile and the built-in dependency injection, both features which don't need breaking changes but would have been possible with AppDomains and the latter is rather a design change in MS component design.

Everything expressed here is what we abstract and provide implementations for when running on the dnx https://github.com/aspnet/dnx/tree/dev/src/Microsoft.Framework.Runtime.Abstractions.

About setting virtual constraints... you can limit what people are expecting by clarifying the limits, you traded the question: "why are the assemblies not signed?" against the question: "why are dnx and .NET incompatible" which has a way bigger impact imho.

Assemblies aren't signed because it blocks scenarios we want to enable like easily swapping out packages and the source cod for said project. Strong naming makes binding redirects appear again, the dnx fixes that because we have a view of the entire dependency closure (defined in project.lock.json) and we can resolve the correct versions of components before your app is executed.
As for this conversation:

Customer: Why are .NET and DNX incompatible?
MS: We put virtual limits in place so you don't expect them to be compatible.
Customer: But why?
MS: Because we want to break with some older features.
Customer: Okay but why the virtual limits instead of documentation of limits?

MS: Okay at least sometimes, but we don't honestly trust you to be able to handle great power.
Customer: ....

I actually don't care about protecting users from themselves in this case. That's why I said we'd allow it to work if you implemented the interfaces that were required, there's nothing weird about that. Asking us to provide them out of the box is a different story, one we are not currently planning to do.
I'm closing this issue because it doesn't belong here anymore. Please reopen the bug on aspnet/Home.

@Suchiman you asked:

Okay can you elaborate on these abstractions?

I'll show a few examples of things you'd need to implement on vanilla .NET 4.5 to make things work:

https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.Core/DefaultAssemblyProvider.cs#L17:
ILibraryManager is used to discover dependencies of the application that reference MVC https://github.com/aspnet/Mvc/blob/dev/src/Microsoft.AspNet.Mvc.Razor/Compilation/RoslynCompilationService.cs#L49:
IApplicationEnvironment is used to determine the application base path
IAssemblyLoadContextAccessor is an abstraction over loading assemblies
ILibraryManager is used in this case to get the list of compilation references from the application so that razor can compile views against them.

To be honest though the hardest one to implement would probably be the ILibraryManager (https://github.com/aspnet/dnx/blob/dev/src/Microsoft.Framework.Runtime.Abstractions/ILibraryManager.cs).

Also related https://github.com/aspnet/dnx/issues/1431

@davidfowl thanks... that will take me some time to get through, i respect your effort.

@jakesays

You're fracturing your own ecosystem, and yes, it is exactly like the move from ASP to ASP.NET, only this time you're really not improving things all that much.

That's fair, but if we didn't think we were improving anything we wouldn't have done it to begin with. I hope that as more people use the new system, they appreciate the new scenarios it brings.

You say .net fw isn't going anywhere, but since the two systems are incompatible you're forcing people to choose.

Although you have to choose, they aren't totally incompatible so lots of sharing is still possible.

I fully understand why a clean break was needed for dnx. However, as a maintainer of an organically grown 10+ year old application, it's kind of disappointing that at least mvc6 doesn't run on vanilla 4.5 unless we rewrite all WebForms, WCF, etc elements we have.
If I understand all this correctly, my project will be perpetually stuck on mvc5.

@LodewijkSioen not really why can't they just be mapped to different virtual directories on IIS? This isn't really an all or nothing. There are interesting ways to interop. We definitely won't support running MVC 6 or any of the current stack on System.Web.
There are also other "creative" ways to make it work but none of them will be first class and supported. But as an example of what might be possible (this is totally untested BTW), you can theoretically use katana's System.Web host + the ASP.NET 5 OWIN adapter to host ASP.NET 5 in IIS side by side with the rest of your application.
There's tons of lego pieces, you just have to know how to put them together :smile:

Given enough Duct Tape... :weary:
Two virtual directories seems like a lot of overhead for installation/updating (we're installed on-premise). Also that means another project, which means juggling the shared resources around. Your 'creative' solution seems more appealing. I'll try to throw some code at this to see what the possibilities are.

Sure but this is a something we are specifically not targeting. System.Web doesn't go with this new stack and we don't plan to run on it.

 If I want Legos, I'll go to walmart.
"We definitely won't support running MVC 6 or any of the current stack on System.Web."  If you want to continue to innovate with us, you'll do it our way.
Forgive my tone, but as a long time member of the .net community this really sucks.

@jakesays System.Web carried many years of legacy that is very difficult to fix without making a clean break.  However, I can assure you that the decision was not taken lightly.  There were long debates and much consultation with the web community on the subject.
As painful as it is currently, the decision to drop system.web will definitely be worth it in the long run.

@darrelmiller I've thought a bit about what you said there. It's not about dropping System.Web. Microsoft can drop that reference, no big deal. NancyFx, for example, doesn't need System.Web either. What I'm worried about is that I will never be able to upgrade to Mvc6 or SignalR3 because there is a large WebForms presence in my app that I can't just rewrite.

You'll be happy to know we enabled this scenario recently. It's not our mainline though but it should still work. Our packages now target a more liberal set of frameworks including .NET 4.5.1:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.PlatformAbstractions;

namespace ConsoleApplication10
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.Run(context =>
            {
                return context.Response.WriteAsync("Hello World");
            });
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var app = new WebHostBuilder()
                .UseServices(ConfigureServices)
                .UseServer("Microsoft.AspNet.Server.WebListener")
                .Build();

            using (app.Start())
            {
                app.ApplicationServices.GetRequiredService<IApplicationLifetime>().ApplicationStopping.WaitHandle.WaitOne();
            }
        }

        private static void ConfigureServices(IServiceCollection services)
        {
            services.AddInstance<IApplicationEnvironment>(new ApplicationEnvironment());
        }
    }
}

It's not perfect as some services that come from the DNX need to be provided but it's doable in most cases.

So in theory, with some effort, it will be possible to have say, webforms and mvc6 (as a dnx app) in the same solution. Correct?

Not sure I'd that far but maybe? We're not supporting running asp.net 5 within system.web (there are a bunch of issues with that). But if you make it work then great but you're kinda "on your own" in terms of "official support"

@davidfowl that is great news! exactly what i had in mind, thank you :smile:
Testing it though was rather hard :neutral_face:, nightly package of hosting on myget was two weeks old so i had to build from universe... which failed first on non public repositories, then built most of it with strange non fatal errors and finally failed due to datetime locale parsing issues... but it built enough packages to try your sample code.
ApplicationEnvironment needs to be implemented on my side as i've figured out and installing the MVC package from the universe build failed due to Failed to add reference to 'System.IO'. Please make sure that it is in the Global Assembly Cache. so it was quite cumbersome which seems to be attached to everything ASP.NET 5 :weary: but at least it seems getting better :sweat_smile:

The build is all messed up right now. But give it should be good by tomorrow

@Suchiman we also have more more nuget feeds, you can try cidev(look at our nuget.config files)

Maybe I understood something wrong, but I just tried to add the Microsoft.AspNet.Hosting package to a csproj targeting .net 4.5.1. I used this feed: https://www.myget.org/F/aspnetcidev/api/v3/index.json and selected version Microsoft.AspNet.Hosting.1.0.0-rc2-16093.
It first installs a lot of packages successfully, but then fails with:
...
Adding package 'System.Text.Encodings.Web.4.0.0-rc2-23611' to folder 'C:_Programmierung\MP2\MediaPortal-2\MediaPortal\Packages'
Added package 'System.Text.Encodings.Web.4.0.0-rc2-23611' to folder 'C:_Programmierung\MP2\MediaPortal-2\MediaPortal\Packages'
Added package 'System.Text.Encodings.Web.4.0.0-rc2-23611' to 'packages.config'
Successfully installed 'System.Text.Encodings.Web 4.0.0-rc2-23611' to AspNetServer
Adding package 'Microsoft.AspNet.Http.Abstractions.1.0.0-rc2-16055' to folder 'C:_Programmierung\MP2\MediaPortal-2\MediaPortal\Packages'
Added package 'Microsoft.AspNet.Http.Abstractions.1.0.0-rc2-16055' to folder 'C:_Programmierung\MP2\MediaPortal-2\MediaPortal\Packages'
Install failed. Rolling back...
Package 'Microsoft.AspNet.Http.Abstractions.1.0.0-rc2-16055 : Microsoft.AspNet.Http.Features [1.0.0-rc2-16055, ), System.Text.Encodings.Web [4.0.0-rc2-23611, )' does not exist in project 'AspNetServer'
Is this supposed to work or did I understand this wrong?

@davidfowl, a clarification on your above code sample: when you say .NET 4.5.1 can be used do you mean non-DNX .NET Framework? Because ApplicationEnvironment (used in the sample) is defined in Microsoft.Dnx.Runtime which doesn't target .NET Framework...
Am I right in understand that it's not possible to use WebHostBuilder in non-DNX .NET Framework?

@roji There isn't really a dnx/non-dnx .net framework though.
Basically, there are two runtimes now, .net 4.6 and below (the full framework) and .net core (the new smaller one)
Asp.net 5 apps can target either of these two. Dnx is (or was rather, more on that in a sec) just the way to start the app and boot the runtime you wanted to use, so you'd tell dnx, run this app using .net46/.netcore/mono.
If an app targets .net 4.6 it can reference any "full framework" assembly, including anything in the bcl, such as System.Drawing or System.Web. So when the team says "you cant use system.web" they are really saying, you cant host an asp.net 5 app via the mechanisms in system.web (including the routing, meaning webforms postbacks wont work), not that you cant add a reference to system.web and use things in there (as long as you only target the full framework, not .net core in your project.json)
Now regarding dnx, alot of that is changing in RC2, dnx will be replaced by a new command line infrastructure that you can find i the https://github.com/dotnet/cli repo. Alot of stuff is still in motion here but as far as i understand, the concept of commands from dnx is going await and will be replaced by application code inside a good old static void main() in each application.
Applications can still be run without compiling (dotnet run) but they can also be compiled to a regular exe file.
Another thing that is coming in RC2 (probably) is a new way of specifying what a library targets. instead of specifying the runtimes as we do today (dnx46,dnxcore,mono,winrt and so on) libraries will specify what "platform standard" they support, and then that library will work on all the actual runtimes that support that standard. see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/standard-platform.md for more info, its pretty cool.
One interpretation of your original question is, "can i run asp.net in an app that is using the csproj project system". And to that, the awnser is no. However you dont really need to since you can target both the full framework and .net core with the new project system. You can also reference assemblies compiled with the old proejct system in the new one (direct project references are also in the works, it might work now even)
@davidfowl please correct me if i've gotten anything wrong :)

@roji There isn't really a dnx/non-dnx .net framework though.
Basically, there are two runtimes now, .net 4.6 and below (the full framework) and .net core (the new smaller one)
Asp.net 5 apps can target either of these two. Dnx is (or was rather, more on that in a sec) just the way to start the app and boot the runtime you wanted to use, so you'd tell dnx, run this app using .net46/.netcore/mono.
If an app targets .net 4.6 it can reference any "full framework" assembly, including anything in the bcl, such as System.Drawing or System.Web. So when the team says "you cant use system.web" they are really saying, you cant host an asp.net 5 app via the mechanisms in system.web (including the routing, meaning webforms postbacks wont work), not that you cant add a reference to system.web and use things in there (as long as you only target the full framework, not .net core in your project.json)
Now regarding dnx, alot of that is changing in RC2, dnx will be replaced by a new command line infrastructure that you can find i the https://github.com/dotnet/cli repo. Alot of stuff is still in motion here but as far as i understand, the concept of commands from dnx is going await and will be replaced by application code inside a good old static void main() in each application.
Applications can still be run without compiling (dotnet run) but they can also be compiled to a regular exe file.
Another thing that is coming in RC2 (probably) is a new way of specifying what a library targets. instead of specifying the runtimes as we do today (dnx46,dnxcore,mono,winrt and so on) libraries will specify what "platform standard" they support, and then that library will work on all the actual runtimes that support that standard. see https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/standard-platform.md for more info, its pretty cool.
One interpretation of your original question is, "can i run asp.net in an app that is using the csproj project system". And to that, the awnser is no. However you dont really need to since you can target both the full framework and .net core with the new project system. You can also reference assemblies compiled with the old proejct system in the new one (direct project references are also in the works, it might work now even)
@davidfowl please correct me if i've gotten anything wrong :)

Also a note on partially moving from asp.net 4.6 and asp.net 5, since iis basically just deals with httpmodules that take turns processing the request, there is nothing stopping you from using both the platformhandler invoking asp.net and the old asp.net 4.6 handler in the same app.
That way, you can write parts of your app with the new stuff, and still have old web forms app around without really changing the original app, apart from the web config.

Also a note on partially moving from asp.net 4.6 and asp.net 5, since iis basically just deals with httpmodules that take turns processing the request, there is nothing stopping you from using both the platformhandler invoking asp.net and the old asp.net 4.6 handler in the same app.
That way, you can write parts of your app with the new stuff, and still have old web forms app around without really changing the original app, apart from the web config.

Just as a note here, i managed it to make MVC 6 work in a .NET 4.5.1 Console Application, roughly the way https://github.com/aspnet/Hosting/issues/291#issuecomment-150558413 describes first on cidev, then after a few days and adjusting some code again on the regular feed. Then i had updated it again aaaand it broke again. It was seemingly wildly changing what i need to come up with for and what's provided in the box and how to initialize the expected invariants so :sweat_smile: i couldn't keep up and i'm waiting for it to stabilize.
Between my fights with nuget and csproj, i got even greater confusion about which .NET Framework version the nuget dependencies require (they seem to be fixed on .NET 4.5.1, they don't allow 4.5.2 nor 4.5 though some other packages are targeted 4.5).
With the latest changes i'm wondering if the way ASP.NET 5 is initialized on dotnet vs. the selfhosting scenario is (nearly) identical, looking at https://github.com/aspnet/Templates/blob/34f58c97d6b4a4cc1beff6a573f1978d2a1ca2c8/src/BaseTemplates/EmptyWeb/Startup.cs#L34-L37

@aL3891 thanks for that very clarifying comment, especially the big changes for rc2 - I was totally unaware of the new dotnet CLI and the ability to produce a simple EXE (that's a really welcome change).
And yes, my question was partially "can I run ASP.NET in a csproj project" - and I actually managed to do that via some pretty bad hacks. I'm aware that I can dump csproj for project.json and have done so in a few cases - it's definitely great. But the fact is that it's a pretty big transition for some projects, and not all tooling support project.json yet (e.g. R# unit test runner) - so in some cases people are still constrained to stay with csproj. If I understood your comment correctly, RC2 will make it so that I'm not longer required to switch to project.json in order to use ASP.NET 5, and so this problem goes away.
Thanks again!

@aL3891 great explanation. There are some issues with NuGet that make it difficult and sometimes impossible to use some the packages we produce in csproj based (packages.config) projects. project.json has 2 "gears", you can use it with a csproj for nuget references (this is what UWP projects do today), you can see an example here  https://github.com/NuGet/NuGet.Client/tree/dev/src/NuGet.Clients/PackageManagement.UI. This will be expanded to more project types eventually. The other gear is xproj, which is the project.json based projects that we use now and will become .NET CLI projects as well.
We're also working on a clean story for msbuild integration (the one we have today sucks) so you'll be able to reference csproj -> xproj and xproj -> csproj seamlessly (when in that msbuild world).

@davidfowl that is really great news, interoperating with csproj has been a pain point. It's also great to be able to produce simple classical CLI projects (no DNX host, no dependency injection) with xproj/project.json/dnxcore50. Really looking forward to it.

Samples that we have so far here: https://github.com/davidfowl/dotnetcli-aspnet5

I've managed to host an ASP.NET 5 app in a .csproj without DNX by using some (naïve) implementations of IRuntimeEnvironment, IApplicationEnvironment and ILibraryManager.
https://gist.github.com/aelij/23293c61dcb59597f93c
@davidfowl There are still some errors when adding the MVC NuGet package (or rather some of its dependencies). I've had to manually add a reference to System.{IO,Runtime,Collections,Text.Encoding,Threading.Tasks} (by adding  items to the .csproj), even though these are not .NET 4.5.1 assemblies.


change impl FnOnce() to generic type + trait bound

with_transaction() function can not be used with explicit generic arguments because of this issue: https://github.com/rust-lang/rust/issues/83701
It seems inconvenient if one need to specify particular error type, for instance.

bot merge


Automated cherry pick of #2318: Fix cross-Node service access when AntreaProxy is disabled

Cherry pick of #2318 on release-1.0.
#2318: Fix cross-Node service access when AntreaProxy is disabled
For details on the cherry pick process, see the cherry pick requests page.

Codecov Report

Merging #2324 (1afd93f) into release-1.0 (e8bf52d) will decrease coverage by 19.70%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           release-1.0    #2324       +/-   ##
================================================
- Coverage        61.07%   41.36%   -19.71%
================================================
  Files              272      131      -141
  Lines            20404    16440     -3964
================================================
- Hits             12462     6801     -5661
- Misses            6645     9057     +2412
+ Partials          1297      582      -715

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
41.36% <0.00%> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/agent/openflow/client.go
23.40% <0.00%> (-35.86%)
:arrow_down:

pkg/agent/openflow/pipeline.go
23.71% <0.00%> (-46.14%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/helper.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/v1beta1/register.go
0.00% <0.00%> (-92.86%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

... and 230 more

/test-conformance
/test-e2e
/test-networkpolicy

@antoninbas could you help approve this one and https://github.com/antrea-io/antrea/pull/2325?

/test-all

/test-e2e


Edit/kustomize use cases

Description

Pull Request Type

[x] Documentation content changes
[x] Bugfix / Missing Redirects
[ ] Docusaurus site code changes

PR Checklist

[x] The commit message follows our guidelines included in the CONTRIBUTING.md
[x] All tests of Lint, cspell and check-content pass. (How to launch them?)
[x] No sensible content has been committed

Other information

Hi guys, I just added a new use case and fix the multiple patch example.
I personally tried it on the Mia-Platform Console.

I have nothing against this changes, but to be honest adding targeted examples on how kustomize works can be a waste of time.
Maybe a better approach can be adding a link to the official patches documentation of kustomize?

I have nothing against this changes, but to be honest adding targeted examples on how kustomize works can be a waste of time.
Maybe a better approach can be adding a link to the official patches documentation of kustomize?

I agree with you, but honestly, the Kustomize documentation didn't help me a lot to achieve the example result, I had to hammer a little to make it work 😂
The example I added is specific to the structure of our projects.

Yes, Kustomize doc is a mess and I spent 2h to do a simple thing. In my opinion, even though we shouldn't import kustomize doc inside ours, it doesn't hurt to have some know-how documented in the form of examples.
For instance, one may be interested to know that you cannot address containers by name in Kustomize. This is important because the console setups all pods to aver a single container with the exact same name of the pods and this limits the number of ways kustomize can be used.

@fredmaggiowski @davidebianchi Can we merge this branch?
@theliuk Would you like to add some other information?

@fredmaggiowski @davidebianchi Can we merge this branch? @theliuk Would you like to add some other information?

I'm fine with the changes, if there are no better examples from the argocd docs (as you said)
there are conflicts, if you can resolve them we can land the PR on main

@fredmaggiowski @davidebianchi Can we merge this branch? @theliuk Would you like to add some other information?

I'm fine with the changes, if there are no better examples from the argocd docs (as you said)
there are conflicts, if you can resolve them we can land the PR on main

Thanks @fredmaggiowski, I rebased from the main branch.


What does LEDs Indicators in TOF EVK Board indicate?

Hi,
My interest was only in using the leds for debugging purposes. It would be great to understand what they mean.

For example in my  case,
D3, D5 are on
D6 is faint
Remaining LEDs are off. It would be nice to understand what they mean.

Hello @vmanoj1996,
As stated above by @gferard-invn the LEDs on the TOF Eval board are left unconnected with the Arduino setup described in the README. For some reasons, they just randomly changed their state over the time :)
You can totally use them for debug, but only if you wire them to the Arduino board and control them in a meaningful manner.
Regard,
Remi

Understood now. Thank you
I thought I was doing something wrong that could make the LEDs sporadically respond.


Allow FunctionalInterface conversion when the annotation is not present

I will have a look at the current tests tomorrow and see what I can add to throw the kitchen sink at this.
I tried to follow the formatting as close as possible.
Fixes #1107

Does this cide all work with jdk 8?

Does this cide all work with jdk 8?

It should. I don't think I used anything that wasn't available in jdk 8. The reason I got a MethodHandle to Class.isSealed is to keep jdk 8 compatibility and still keep the check to prevent a potentially confusing exception further down the road.

Okay.  I will verify it on jdk8 when it is ready for review.  I dont think our cloud currently tests old versions.

I added some test but unfortunately they are failing at the moment. There is something lingering elsewhere that is causing the cast to fail and I'm not sure where it is.

@Thrameos any ideas where the cast might be failing?

So two problems.
It didn't check that the method exists for setting the FUNCTIONAL around line 460 in native/java/org/jpype/manage/TypeManager.java.
Unfortunately, doing that also exposes a race condition during initialization.   Normally it won't search for the function name in the ClassDescriptor until after the type system is initialized, but once we start triggering on functions that could be considered functional but don't have the annotation we trigger on things like java.lang.invoke.TypeDescriptor which is created very early in the process before all the hooks are set up.   We never explicitly load this class but it was fetched by something basic like java.lang.Class which is why the system is still booting as order is critical until Object and Class are completed.   Thus we end up calling getFunctional before the hook was installed.   I tried some rearrangements of the startup sequence, but no luck yet.   As with all race conditions if takes a while to find the proper ordering which is a bit too challenging for most contributors (especially if I have to rearrange code to make it order free.)  I will keep you posted when I work something out.

Okay I put in a pull request with the recommended fix.   Hopefully it resolved the issue with the testbench.

@Thrameos I think it is ready for review. The option to request a review is not available.

It all looks fine to me.  Though I am somewhat worried that we changed the definition of a public method in org.jpype.JPypeContext though I consider most of that stuff private so likely not an issue.   (If I ever get helpers for the EPYPJ branch I was going to rearrange that portion anyway.)  So I am going to put it to the master maintainer for review.

It all looks fine to me.  Though I am somewhat worried that we changed the definition of a public method in org.jpype.JPypeContext though I consider most of that stuff private so likely not an issue.   (If I ever get helpers for the EPYPJ branch I was going to rearrange that portion anyway.)  So I am going to put it to the master maintainer for review.

That definition change may have been unintentional and something I did while troubleshooting. I'll look again after work but it should be trivial to avoid that change.

Not it was required because of the order of operations.    When we make it recognize classes as Lambdas before java.lang.Class is constructed that means we need to create hooks before the context was finished constructing.   So either I need to make that method static or I need to split the context start up into a before hooks and after hooks, or I could try to get more information passed into the JNI calls so that we don't have to probe back.
Making this method static was the shortest path to solution.   And given noone is supposed to be accessing those JPypeContext methods outside of diagnostics it should be fine.  The other solutions are not terribly hard to implement, but they are more involved and thus would make for a much larger PR that your original intent.   So lets see if the simplest solution is acceptable first.  But is the maintainer wants a better solution then I will make it so.
Sadly if you remove the static then the system will crash because with a NullPointerException or hook install failure during initialization.

Oh I didn't realize you made that change (or I did forget about it and it just worked out well)
Either way, if there is someone using it, it would still work and would just generate a warning about how a static method should be accessed in a static way blah blah.


kubernetes: Deploy kubernetes-provider when creating a cluster

Description
This PR automatically deploys the cloudstack-kubernetes-provider when deploying a kubernetes cluster
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale

[ ] Major
[x] Minor

How Has This Been Tested?
kubectl get pods -A

NAMESPACE              NAME                                         READY   STATUS    RESTARTS   AGE
kube-system            cloud-controller-manager-66d6576549-rd5zf    1/1     Running   0          44m
.......

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian. SL-JID 689

Trillian test result (tid-1413)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 39494 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5254-t1413-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 88 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_invalid_upgrade_kubernetes_cluster
Failure
0.07
test_kubernetes_clusters.py

test_02_deploy_and_upgrade_kubernetes_cluster
Failure
0.04
test_kubernetes_clusters.py

test_03_deploy_and_scale_kubernetes_cluster
Failure
0.04
test_kubernetes_clusters.py

test_04_basic_lifecycle_kubernetes_cluster
Failure
0.05
test_kubernetes_clusters.py

test_05_delete_kubernetes_cluster
Failure
0.05
test_kubernetes_clusters.py

test_07_deploy_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

test_08_deploy_and_upgrade_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

test_09_delete_kubernetes_ha_cluster
Failure
0.04
test_kubernetes_clusters.py

We've another cks PR @davidjumani which one should be reviewed/tested/merged first cc @Pearl1594 or is this result of testing and your RM work on k8s provider?

@rhtyd They're both independent, and this is related to the RM for the k8s provider

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian. SL-JID 708

@blueorangutan package

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian. SL-JID 709

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-1431)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 37602 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5254-t1431-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_outofbandmanagement_nestedplugin.py
Smoke tests completed. 88 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_02_deploy_and_upgrade_kubernetes_cluster
Failure
500.36
test_kubernetes_clusters.py

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-1439)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41359 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5254-t1439-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_loadbalance.py
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 87 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true
Failure
335.65
test_routers_network_ops.py

test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false
Failure
342.01
test_routers_network_ops.py

test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL
Failure
532.79
test_vpc_redundant.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
531.30
test_vpc_redundant.py

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian.  I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian. SL-JID 736

@blueorangutan package

@davidjumani a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian. SL-JID 756

@blueorangutan test

@davidjumani a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-1485)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 50493 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5254-t1485-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_kubernetes_clusters.py
Intermittent failure detected: /marvin/tests/smoke/test_privategw_acl.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 87 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_03_vpc_privategw_restart_vpc_cleanup
Failure
372.75
test_privategw_acl.py

test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL
Failure
549.85
test_vpc_redundant.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
478.00
test_vpc_redundant.py

test_05_rvpc_multi_tiers
Failure
529.28
test_vpc_redundant.py

Merging this based on regression tests and lgtms, further review/testing and improvements can be continued at https://github.com/apache/cloudstack/pull/4329


Run rspec with --profile flag by default in Python

This flag prints the slowest 10 specs and their run times after each rspec run.
Because our Python test suite is so slow, It just occurred to me that maybe using it by default in Python would raise awareness on the areas that need more love with regards to test speed.

@jurre I just noticed that updater does this same thing, but enabling profiling through configuration instead (config.profile_examples), so I changed this PR to do just that too for consistency 👍. I will merge after CI if that's ok!


refactor: restructuring files for an easier installation.

Modify the structure so that it can be installed simply through git clone in the custom_nodes path.

A structure manageable by ComfyUI-Manager.

Enhance it to manage the JavaScript path using the WEB_DIRECTORY property supported by the latest version of ComfyUI.

I have been on the fence about changing the project structure because it would make it available to more casual users.
Documentation aside (lest a user be greeted with an empty page), one of my most recent nodes uses the dreadful “eval”, and I am not sure it is safe to pass it around in workflows. I haven’t purged the write and open opencv methods (really should meanwhile), and there are potentially other methods  I am not aware of that could be used for exploitation. There may be similar problems in api nodes that I’m not aware of.
If you can provide any insights pertaining to the aforementioned problem, they would be very much appreciated.
Before accepting the merge I should, at the very least, get a disclaimer ready to commit to the main branch.

Implemented a warning via javascript for the aforementioned problem, and will commit it after the merge, but I won't be adding any documentation yet.


Different chef vault variable output

Environment:
kitchen 14.7.17 and ubuntu 16.04
Scenario:
I want to make output of ssl certificate that previously saved in vault and transformed in one string to be saved in json.
Steps to Reproduce:
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' fullchain.pem #making one line with \n separated rows
knife vault create nginx certificate --file fullchain.pem

include_recipe "chef-vault"

fullchain = chef_vault_item("nginx", "fullchain")

file "#{home_dir}/nginx/ssl/cert.crt" do
        content cert['file-content']
        mode '0644'
        owner 'root'
        group 'root'
end

Expected Result:
This is how I see it on kitchen when converge. "\n" have been transformed to line breaks.
+-----BEGIN CERTIFICATE-----
+MIIDrTCCApWgAwIBAgIJAM6dy+Nn3n6yMA0GCSqGSIb3DQEBCwUAMG0xCzAJBgNV
+BAYTAlJVMRMwEQYDVQQIDApTb21lLVN0YXRlMRAwDgYDVQQKDAdGb3JjZUFJMRUw

Actual Result:
This is happening on real server. Output still with "\n"
 +-----BEGIN CERTIFICATE-----\nMIIFVTCCBD2gAwIBAgISA0mX6QHDgUzbBa+AWeIltkdeMA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQ

With --file option chef-vault apply escaping to "\n". So create secrets from json files with--json option.


Infinite compiling ?

Hi, I try to have this Json
{
  "MarieCurie": {
    "Win": [
      {"FR": "Super !!",
      "US": "Great !!!"},
      {"FR": "Bravo",
      "US": "Wonderfull"}
    ],
    "Lose": [
      "FR": "Nul !",
      "US": "You sux !"
    ]
  }
}

from this simple google sheet : https://docs.google.com/spreadsheets/d/1f8jilee_U0nh1DvsD2jXdeLskFjgdEEeOALDdAFqIcA/edit?usp=sharing

But When I try to export or visualise the Json, I get infinite compile window (like in screenshot).
It is happening when I use the {#ROW} in key formatting.

Well an infinite compile loop is never fun. Are there any errors in your web console?

I created a new google sheet, and it works on it ! Strange...
Here is the error of the console web on my (corruped?) original google sheet 👍

with expanded error log :

Interesting... Wonder if the add-on was just installed oddly for that sheet? In any case, the new sheet works and is exporting your data as expected?

Yep

Hmm, well for now I'll mark the issue as closed and I'll look into why the original sheet didn't export properly. Thanks for posting some screens of your console to help debug the issue!


refactor item extractors, add rdoc [WIP]

Adding of docs is related to #7.

[x] add specs for extractors
[x] add specs for post processors

this became quite a large refactoring while adding documentation...
-> added specs for everything, fixed some edge cases found due to spec'ing the code.
hopefully the newly added documentation makes it clearer which config options exist and lay a good groundwork for the future.