You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The code designed to retry api connections if Wildfly hasn't started up yet isn't working for me.
Error: /Stage[main]/Profile::Keycloak/Wildfly::Resource[/socket-binding-group=standard-sockets/socket-binding=proxy-https]/Wildfly_resource[/socket-binding-group=standard-sockets/socket-binding=proxy-https]: Could not evaluate: 757: unexpected token at '<html><head><title>Error</title></head><body>503 - Service Unavailable</body></html>'
/opt/puppetlabs/puppet/lib/ruby/2.1.0/json/common.rb:155:in `parse'
/opt/puppetlabs/puppet/lib/ruby/2.1.0/json/common.rb:155:in `parse'
/opt/puppetlabs/puppet/cache/lib/puppet_x/wildfly/api_client.rb:58:in `submit'
/opt/puppetlabs/puppet/cache/lib/puppet_x/wildfly/operation_request.rb:40:in `exists?'
/opt/puppetlabs/puppet/cache/lib/puppet/provider/wildfly_resource/http_api.rb:18:in `exists?'
It appears the @http_client.request authz_request get in authz_header works fine, but the post in submit gets a 503. The service is 'partially' started??
Furthermore, the 503 isn't returned as json so I get the unexpected token exception instead of the "Failed with: #{response['failure-description']} for #{body.to_json}" one.
I'm using the keycloak distribution on CentOS 7 with puppet 4.10.3. I think you should be able to reproduce the issue with the following and puppet apply.
class { '::wildfly':
version => '10.1.0',
distribution => 'wildfly',
config => 'standalone-ha.xml',
install_cache_dir => '/tmp',
install_source => 'https://downloads.jboss.org/keycloak/3.1.0.Final/keycloak-3.1.0.Final.tar.gz',
mgmt_user => {
username => 'admin',
password => 'admin',
},
}
wildfly::resource { '/socket-binding-group=standard-sockets/socket-binding=proxy-https':
content => {
port => 443,
},
notify => Wildfly::Reload['Reload if necessary'],
}
wildfly::reload { 'Reload if necessary':
retries => 2,
wait => 15,
}
Many thanks,
Alex
The text was updated successfully, but these errors were encountered:
I have seen this as well using the standard wildfly distribution, so it's not related to keycloak. Could perhaps be solved by checking if response is an instance of Net::HTTPSuccess, and if not trigger a retry?
Just confirmed this. Don't even need wildfly::reload to reproduce it.
It's not happening during retry - and the retried request needs to return 401 (Net::HTTPUnauthorized) with data to perform digest authentication.
This is happening afterwards during the actual Management Request - as far as I understood, Management API is ready to process authentication, but Wildfly is not ready to receive any management operations, hence the 503.
Sysvinit scripts used to work by checking Wildfly's logs for JBAS015874, but they replaced it with a markerfile approach. Bundled systemd scripts does not use any of this.
I need another way to assert that Wildfly is ready cause I can't retry actual management requests since some of them are not idempotent. It was OK to retry authentication.
The code designed to retry api connections if Wildfly hasn't started up yet isn't working for me.
It appears the
@http_client.request authz_request
get inauthz_header
works fine, but the post insubmit
gets a 503. The service is 'partially' started??Furthermore, the 503 isn't returned as json so I get the
unexpected token
exception instead of the"Failed with: #{response['failure-description']} for #{body.to_json}"
one.I'm using the keycloak distribution on CentOS 7 with puppet 4.10.3. I think you should be able to reproduce the issue with the following and puppet apply.
Many thanks,
Alex
The text was updated successfully, but these errors were encountered: