Code Monkey home page Code Monkey logo

manageiq-providers-hawkular's Introduction

manageiq-providers-hawkular

This repo is deprecated as of December 18 2017.

The development of the Hawkular/Middleware ManageIQ provider is stopped. See the Gaprindashvilli branch for the most recent released version of this gem.

manageiq-providers-hawkular's People

Contributors

abonas avatar agrare avatar aljesusg avatar ammendonca avatar bdunne avatar blomquisg avatar cben avatar cfcosta avatar chessbyte avatar dkorn avatar durandom avatar fryguy avatar himdel avatar israel-hdez avatar jkremser avatar josejulio avatar jpkrohling avatar jprause avatar jrafanie avatar jshaughn avatar karelhala avatar lucasponce avatar martinpovolny avatar mtho11 avatar mzazrivec avatar pilhuhn avatar rubenvp8510 avatar tumido avatar xeviknal avatar zgalor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

manageiq-providers-hawkular's Issues

Middleware Manager-Add new JDBC Driver does nothing

Nothing happens on trying to add JDBC driver to the EAP7 standalone server. After clicking 'Deploy' and waiting for a long time, it does not complete and the 'add jdbc driver' wizard remains open. There is no success message. There are no errors in EAP logs.

Steps to reproduce:
-Login to latest ManageIQ
-Navigate to Standalone EAP7 server
-Click on 'JDBC Drivers' link on EAP7 server summary view
-Click on 'Add JDBC Driver' link
-Select a jar file to deploy
(Ex: Postgresql driver: www.qa.jboss.com/jdbc-drivers-products/EAP/7.0.0/postgresql94/jdbc4/postgresql-9.4.1207.jar )

-Enter below values in the form:
Driver Name: mypostgres
Module Name: org.postgresql
Driver Class: org.postgresql.Driver

-Click on 'Deploy' button
-Wait for some time if deploy completes and shows a success message

Actual result: The deploy never completes and does not show the success message
There are no errors in EAP logs

Versions:
MIQ: Version master.20170828131050_
Browser Versions:
Firefox-54
Chrome-58.0.3029.110

Make Middleware Heap Used Alert a standard threshold

This is a suggestion to change the hi-lo Heap Used (and NonHeap Used) Alert to a single threshold, like most other MW Alerts. I think in general users are interested in high usage and often use dummy values for the low setting. Moreover, low and high and two different scenarios that may require different actions or severity. I think this was a legacy design that should be updated for GA. And it will remove some special-case coding.

Unable to add a Hawkular provider due to Angularization

I don't know when it happened exactly, but I'm currently unable to add a Hawkular provider into ManageIQ with current master. It's caused by the change in use of verify_credentials (it seems it's no longer used). The current workflow is using a create_ems_button_validate (defined here) which calls raw_connect and uses get_task_args (here) mapping to get proper arguments.

I'll form a PR adding mapping for Hawkular into get_task_args, if the issue is confirmed.

Cross Link to VM - Not Shown

In Details page of EAP7 Standalone/Domain mode servers, cross link to VMs are not shown.

  1. Add new Infrastructure Provider of type RHEVM. Enter "admin@internal" user's credentials.
    Make sure that VMs have got IP Address and Hostnames.
  2. On a VM install EAP7 in Standalone or in Domain mode, configure hawkular agent to Hawkular Services.
  3. Add Hawkular Services as Middleware Provider.
  4. Go to Middlewar Server Details page.
    Cross link to VM is not there.

Attached screenshots for VMs and EAP7 Servers details pages for Domain and Standalone modes.

vm_eap7_domain
vm_eap7_standalone
eap7_standalone
eap7_domain

Alerts is not storing a correct data_id in hawkular provider

In MiQ when you create a Heap Used Alert In provider created

{
        "tenantId": "hawkular",
        "triggerId": "MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-27",
        "triggerMode": "FIRING",
        "type": "COMPARE",
        "conditionSetSize": 2,
        "conditionSetIndex": 1,
        "conditionId": "hawkular-MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-27-FIRING-2-1",
        "dataId": "WildFly Memory Metrics~Heap Used",
        "operator": "GT",
        "data2Id": "WildFly Memory Metrics~Heap Max",
        "data2Multiplier": 0.9
    },
    {
        "tenantId": "hawkular",
        "triggerId": "MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-27",
        "triggerMode": "FIRING",
        "type": "COMPARE",
        "conditionSetSize": 2,
        "conditionSetIndex": 2,
        "conditionId": "hawkular-MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-27-FIRING-2-2",
        "dataId": "WildFly Memory Metrics~Heap Used",
        "operator": "LT",
        "data2Id": "WildFly Memory Metrics~Heap Max",
        "data2Multiplier": 0.05
    }

And when you create a DataSource

    {
        "tenantId": "hawkular",
        "triggerId": "MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-26",
        "triggerMode": "FIRING",
        "type": "THRESHOLD",
        "conditionSetSize": 1,
        "conditionSetIndex": 1,
        "conditionId": "hawkular-MiQ-region-97ec5be2-174c-432c-9f7d-736dd5d5e61d-ems-79622c41-41c7-4c32-8c83-fd0f90afec46-alert-26-FIRING-1-1",
        "dataId": "Datasource Pool Metrics~Available Count",
        "operator": "GTE",
        "threshold": 1
    }

It seems dataId is not like https://github.com/ManageIQ/manageiq-providers-hawkular/blob/master/app/models/manageiq/providers/hawkular/middleware_manager/alert_profile_manager.rb#L103 .

So when provider try post data about metric

com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@245e17c9; line: 1, column: 1]

Has anyone tested if the alerts worked?
I tested them 12-10-2017
screenshot from 2017-10-12 14-38-08

I am looking where could be the error.

Thanks @lucasponce to teach me about.

About how to proceed with alerts

Now when you create a alert of a type in Miq, hawkular is not creating the trigger for each Datasource. I have little knowledge about hawkular and I didn't know this. So here is the problem and some proposal.

Datasource

MiQ is looking for
MI~R~[0b84c5546795/Local DMR~~]~MT~Datasource Pool Metrics~In Use Count

Hawkular is providing metrics in
MI~R~[92da52a9b841/Local DMR~/subsystem=datasources/data-source=ExampleDS]~MT~Datasource Pool Metrics~In Use Count

/subsystem=datasources/data-source=ExampleDS

So If yo wanna trigger the alert you need to push data

client.metrics.gauges.push_data("MI~R~[0b84c5546795/Local DMR~~]~MT~Datasource Pool Metrics~In Use Count",{:value=>37})

Mesagging

MiQ is looking
MI~R~[0b84c5546795/Local~~]~MT~JMS Topic Metrics~Subscription Count

Hawkular is providing in
MI~R~[92da52a9b841/Local~/subsystem=messaging-activemq/server=default/jms-topic=HawkularAlertsActionsTopic]~MT~JMS Topic Metrics~Subscription Count"

/subsystem=messaging-activemq/server=default/jms-topic=HawkularAlertsActionsTopic

With Web Sessions there isn't any problem.

Problems

  • MiQ provider is not creating the trigger for each Datasource/Mesagging type in MWServer

Proposal Solutions

  1. fix de manageiq-providers-hawkular to create the trigger for each DataSource in the MiddlewareServer selected
  2. As @lucasponce told us in #88 make changes in MiQ UI to select Datasource type, Mesagging...

cc @abonas , @mtho11, @jdoyleoss

Error in UI adding a new hawkular provider

There isn't Confirm Password in master version in the UI. Now You can't add hawkular provider in the actual UI, In Fine-4 version is ok.

The devel version throw this error
Credential validation was not successful: wrong number of arguments (given 0, expected 6)

In Fine-4

fine-4

Master
master

[RFE] Stopped Domain - Server/Server Group Power operations do not fail with notification

When executing any Power operation on "Server" or 'Server Group" of Stopped EAP7 Domain, UI shows successful green notification that operation is scheduled successfully.
But no Power operation can be executed, as Domain Controller is Stopped, and in fact it is not executed.

Fix:
Show failure notification message that "Domain is Stopped" and no Power operation could be executed on Domain's Server Groups or Servers.

Add "Domain State" field in Domain Properties

Enhancement.

When Domain is Stopped, there is not a property which shows that Domain Controller is stopped.

Requesting to add new "Domain State" field in Domain's Summary page's Properties section.

@miq-bot add_label enhancement, providers/hawkular

JDR Deleted report - Notify to second user

Currently if one user has deleted the JDR report which is still listed on second user's browser's Server Details page, any operation done by second user on that deleted JDR report, such as Delete or Download, will cause Unexcpected error to occur.

But it should refresh the Server's summary page with notification that selected JDR does not exist.

Created as a separate issue based on: #56 (comment)

Add JDBC Driver Form - Broken Fields

In the form of adding new JDBC Driver to EAP7 server, there are fields which have empty values.

  1. Database Template - which is empty, but should contain templates selecting which will fill form fields with default values.
  2. JDBC Compliant - is in unselected middle state, shown is screenshot, is it by purpose?

screenshot from 2017-08-24 10 43 16

JDR Report generation fails for Containerized EAP server

Generating JDR Reports fails for EAP servers which are started in Docker Container.
In Summary Page, button is available, but all executions on the end failed with Error.

Warn is logged on container side:
10:49:54,850 WARN [org.hawkular.agent.monitor.cmd.GenericErrorResponseCommand] (OkHttp http://last-hawkular-services.bc.jonqe.lab.eng.bos.redhat.com:8080/...) HAWKMONITOR010043: Received the following error message and stack trace from server: Failed to process message [org.hawkular.cmdgw.api.GenericErrorResponse]
org.hawkular.cmdgw.NoCommandForMessageException: No command found for requestClass [org.hawkular.cmdgw.api.GenericErrorResponse]
at org.hawkular.cmdgw.command.ws.WsCommands.getCommands(WsCommands.java:79)
at org.hawkular.cmdgw.command.ws.WsCommands$Proxy$_$$_WeldClientProxy.getCommands(Unknown Source)
at org.hawkular.cmdgw.command.ws.server.AbstractGatewayWebSocket.handleRequest(AbstractGatewayWebSocket.java:98)
at org.hawkular.cmdgw.command.ws.server.AbstractGatewayWebSocket.onMessage(AbstractGatewayWebSocket.java:149)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at io.undertow.websockets.jsr.annotated.BoundMethod.invoke(BoundMethod.java:87)
at io.undertow.websockets.jsr.annotated.AnnotatedEndpoint$2$1.run(AnnotatedEndpoint.java:150)
at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:553)
at io.undertow.websockets.jsr.annotated.AnnotatedEndpoint$2.onMessage(AnnotatedEndpoint.java:145)
at io.undertow.websockets.jsr.FrameHandler$7.run(FrameHandler.java:283)
at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:553)
at io.undertow.websockets.jsr.ServerWebSocketContainer$5.run(ServerWebSocketContainer.java:538)
at io.undertow.websockets.jsr.OrderedExecutor$ExecutorTask.run(OrderedExecutor.java:67)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

screenshot from 2017-09-19 12 50 05

JDR cannot be generated for MW Manager

JDR can be generated for MW servers. In the MW manager summary page, the "Generate JDR" button is available. However, when the button is pressed, MiQ rejects the operation.

Disable "Generate JDR" for provider server

The provider server has "Generate JDR" button available, yet you should not be able to generate a report for it.
image

When clicked:
image
Note: Shouldn't the toast notification be red/error, tbh?

Middleware: Add Datasource - several issues

There are several issues while adding new Datasource on EAP7 server via MiQ.

  1. In "Specify Driver" step of adding "Postgres" Datasource, there is a typo in Name field's default value: "postresql". This causes not recognizing driver.
  2. While creating Postgres Datasource and choosing already created JDBC Driver, it fails to create, as it uses default name "PostgresDS" no matter what name you type in input. Says "Service org.wildfly.data-source.PostgresDS is already registered" in server logs if PostgresDS already exists.

@pilhuhn


This issue was moved to this repository from ManageIQ/manageiq#13740, originally opened by @hhovsepy

Hawkular - Shown as mutable

In Hawkular Provider's summary page, the provider itself is not shown as immutable, the toolbar buttons (Power, Deployments, Driver, Datasources) are available, even though they fail to execute.
But these buttons should be hidden, as Hawkular provider is immutable.

Hawkular Agent is configured on Hawkular Server to be Immutable.

Please note that there is a issue with "Generate JDR" button, which should exist on Hawkular provider.
#50

screenshot from 2017-09-19 12 43 00

Docucumenation for installing Hawkular (Manually)

This is a documentation task for the steps to install Hawkular manually instead of via docker. While using docker is the quickest/easiest way to get Hawkular running with Manageiq (with HawkInit being another quick and easy way). There are a couple use cases when this manual setup is very useful:

  1. Debugging via agent logs. Sometimes it is necessary to turn on agent level debug logs to diagnose what is being sent and processed by the agent.
  2. Working with portions of Hawkular that have not yet been released yet. For instance, an agent operation that only lives in a branch. Or an unreleased version of Hawkular Alerts.

The section to update is here: https://github.com/ManageIQ/manageiq-providers-hawkular/blob/master/GETTING_STARTED.md#manually

Server's "Server State" remains "Stopping", after Domain Shutdown.

"Server-One" server's "Server State" property remains "Stopping", after Domain Shutdown.

Prerequisite: EAP7 is started in Domain mode and agent configured to Hawkular Services.

  1. Load Domain's Details page.
  2. Execute "Shutdown Domain" Power operation.
  3. Refresh Provider's relationships. Wait for some time.
  4. Load "server-one" servers Details page.
  5. "Server State" property has value "Stopping", even after few hours.
    It should be "Stopped".

Version master.20170911012949_

screenshot from 2017-09-11 10-39-53

@miq-bot add_label inventory

Create REST Api for POST on Middleware Server Operations

For the angular dialog server operations such as:

  • Add Datasource

  • Add JDBC Driver

  • Add Deployment

We now need the POST operations (the Read-only operations were just done) so we can move off of ruby controller and migrate to angular/REST API.

Restart operation on already stopped EAP7 standalone server does not display failure message to the user

At present, when user executes Restart operation on already stopped EAP standalone server, it shows the message - 'Restart initiated for selected server(s)'. Nothing happens to EAP standalone server and it remains in stopped state.

The UI should show some useful message to the user if it is expected that restart operation not to start already stopped EAP server.


This issue was moved to this repository from ManageIQ/manageiq#11145, originally opened by @skondkar

Adding status indication to entities on middleware topology

This is a placeholder to discuss what is the relevant field/work needed for each entity to have the status color indication to be displayed for each entity on the middleware topology.

@miq-bot add_label enhancement, providers/hawkular

Currently this is needed for:

  • provider - (the relevant check/method is the authentication status)
  • middleware_server
  • middleware_deployment
  • middleware_datasource
  • middleware_destination (jms topic/queue)

cc @pilhuhn please add your thoughts here


This issue was moved to this repository from ManageIQ/manageiq#9033, originally opened by @abonas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.