> On Aug. 26, 2014, 3:51 p.m., Tom Beerbower wrote:
> > ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertingService.java,
> > line 42
> > <https://reviews.apache.org/r/25071/diff/1/?file=669512#file669512line42>
> >
> > I think that there is an issue here that /alerting/... doesn't fit the
> > basic format that we use for the API. Basically ...
> >
> > /api/v1/[plural resource type]/[resource id]/[plural sub-resource
> > type]/[sub-resource id]/...
> >
> > Would it be possible to change from ...
> >
> > .../alerting/groups/{id}
> > .../alerting/targets/{id}
> >
> > to ...
> >
> > .../alert_groups/{id}
> > .../alert_targets/{id}
> >
> > ? Or is there some reason that we need the extra level? I think that
> > we already have an alert_definition resource. Wouldn't alert_group and
> > alert_target be consistent with that?
>
> Jonathan Hurley wrote:
> The original idea was to have more than just groups exposed under
> "v1/clusters/{cluster}/alerting"; we'd also have history exposed there as
> well. But I don't see any reason why we couldn't just keep consistent here
> and have alert_groups instead (and alert_history later on).
>
> Targets are a little difference since they are not bound to a cluster. In
> this case, I think it makes sense to put them under "alerting"; if we want to
> be a little more consistent and have a plural name, we could make this
> v1/alerts/targets (and later on v1/alerts/history for cross-cluster history).
> Thoughts on this versus v1/alert_targets ?
>
> Tom Beerbower wrote:
> I think that v1/alerts/targets and v1/alerts/history still have the same
> issue of not fitting the format.
>
> We have other resources that appear at both the cluster and root levels
> so it shouldn't matter if targets are bound to a cluster or not. Could it be
> ...
>
> v1/alert_targets and v1/alert_histories ?
>
> Otherwise, what would the response be for v1/alerts? Would they get a
> set of alerts back or is that just a category to group targets and histories?
>
> Jonathan Hurley wrote:
> I'd say it would be a category to group targets and history (and
> potentially anything else that will fall under cross-cluster alerts).
> Requesting /v1/alerts could return the current alert states of all clusters,
> for example. It's not something that's in the specification since it's a post
> code complete concern, but we were trying to plan ahead for it.
>
> I see your point about it not fitting the model. I'll defer to you on
> v1/alerts vs v1/alert_targets & v1/alert_histories & v1/alerts_current. If
> you think it's best to follow the convention, I'll make the appropriate
> change.
>
> Tom Beerbower wrote:
> Ok, but I'm still open to discussion if what I suggested doesn't meet the
> requirements or somehow feels wrong.
>
> It seems to me like v1/alerts would return all of the root level
> (cross-cluster) alerts, if there is such a thing. But then you should be
> able to ask for an individual root level alert with v1/alerts/{id}. I don't
> know if that makes sense. Also, if targets and histories are sub-resources
> of alerts then I would expect to be able to ask for all of the targets or
> histories of a specific alert... v1/alerts/{id}/targets. Again, I don't know
> if that makes sense. Should you be able to access a cross-cluster alert by
> id? If so, then maybe the hierarchy makes sense.
I can see there being the need for an endpoint like v1/alerts that gets back
all current alerts across clusters. This would provide an easy way to see
cross-cluster alert state with a single call. However, you make a good point
about what the sub-resources would look like. I don't think that v1/alerts/{id}
makes sense.
My thought is to change the endpoint to be consistent for now and I can open up
a discussion with others about how other types of data might fit in.
- Jonathan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25071/#review51582
-----------------------------------------------------------
On Aug. 26, 2014, 2:25 p.m., Jonathan Hurley wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/25071/
> -----------------------------------------------------------
>
> (Updated Aug. 26, 2014, 2:25 p.m.)
>
>
> Review request for Ambari, Nate Cole and Tom Beerbower.
>
>
> Bugs: AMBARI-7021
> https://issues.apache.org/jira/browse/AMBARI-7021
>
>
> Repository: ambari
>
>
> Description
> -------
>
> Add the initial REST endpoints for interacting with alert targets and groups.
>
> Update is not implemented since there's the larger issue of how to tackle
> generic concepts like target properties. Also, discussion needs to be around
> what default data gets returned in the queries (like targets and definitions)
> - right now the minimum data is returned.
>
>
> Diffs
> -----
>
> ambari-agent/src/main/python/ambari_agent/alerts/base_alert.py
> 07987d91c19a13c7a582d506945bde607c74bb81
> ambari-agent/src/main/python/ambari_agent/alerts/port_alert.py
> d06d1f40daeb57a7db848a465382221e765c067c
>
> ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
> dca3bd92eedfc08cfd10ffe1056ca32327e12220
>
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/AlertGroupResourceDefinition.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/AlertTargetResourceDefinition.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/api/resources/ResourceInstanceFactoryImpl.java
> 13fff1d5d9d12cc1b0fa3ea62a773005a280e4d9
>
> ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertGroupService.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/api/services/AlertingService.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/api/services/ClusterService.java
> 8043b3fb567b48eff682d07f978f678099d4ebc2
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java
> 21c9d80732b05c0b09206ceb9578a23a36aa6e14
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java
> 71ddc8d9f6579a05e82536943d25665537558f29
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProvider.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/controller/spi/Resource.java
> b10b4bca27d2a52bd0730f5c3a2380dffcb54ff5
>
> ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDispatchDAO.java
> 2871e62f92c9767ad7b8006dd552861642896b83
>
> ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertGroup.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertTarget.java
> PRE-CREATION
>
> ambari-server/src/main/java/org/apache/ambari/server/state/alert/TargetType.java
> PRE-CREATION
> ambari-server/src/main/resources/key_properties.json
> 06ebb615d7d5256db432ca012b97608cd948ebe6
> ambari-server/src/main/resources/properties.json
> bc2ad22691e24e339ad1b7ffe9b1d7bf3dca8306
>
> ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertGroupResourceProviderTest.java
> PRE-CREATION
>
> ambari-server/src/test/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProviderTest.java
> PRE-CREATION
>
> Diff: https://reviews.apache.org/r/25071/diff/
>
>
> Testing
> -------
>
>
> Results :
>
> Tests run: 1945, Failures: 0, Errors: 0, Skipped: 14
>
>
> Thanks,
>
> Jonathan Hurley
>
>