| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| var App = require('app'); |
| |
| /** |
| * Config for each ajax-request |
| * |
| * Fields example: |
| * mock - testMode url |
| * real - real url (without API prefix) |
| * type - request type (also may be defined in the format method) |
| * format - function for processing ajax params after default formatRequest. May be called with one or two parameters (data, opt). Return ajax-params object |
| * testInProduction - can this request be executed on production tests (used only in tests) |
| * |
| * @type {Object} |
| */ |
| var urls = { |
| |
| 'common.cluster.update' : { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| }; |
| } |
| }, |
| |
| 'common.services.update' : { |
| 'real': '/clusters/{clusterName}/services?{urlParams}', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context, |
| "operation_level": { |
| "level": "CLUSTER", |
| "cluster_name" : data.clusterName |
| } |
| }, |
| Body: { |
| ServiceInfo: data.ServiceInfo |
| } |
| }) |
| }; |
| } |
| }, |
| |
| 'common.service.update' : { |
| 'real': '/clusters/{clusterName}/services/{serviceName}', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context, |
| "operation_level": { |
| "level": "SERVICE", |
| "cluster_name" : data.clusterName, |
| "service_name" : data.serviceName |
| } |
| }, |
| Body: { |
| ServiceInfo: data.ServiceInfo |
| } |
| }) |
| }; |
| } |
| }, |
| |
| 'common.service_component.info' : { |
| 'real': '/clusters/{clusterName}/services/{serviceName}/components/{componentName}?{urlParams}', |
| 'mock': '/data/wizard/deploy/poll_1.json' |
| }, |
| |
| 'common.service.hdfs.getNnCheckPointTime': { |
| 'real': '/clusters/{clusterName}/services/HDFS/components/NAMENODE?fields=host_components/metrics/dfs/FSNamesystem/HAState,host_components/metrics/dfs/FSNamesystem/LastCheckpointTime,host_components/metrics/dfs/namenode/ClusterId', |
| 'mock': '' |
| }, |
| |
| 'common.host_component.getNnCheckPointTime': { |
| 'real': '/clusters/{clusterName}/hosts/{host}/host_components/NAMENODE?fields=metrics/dfs/FSNamesystem/HAState,metrics/dfs/FSNamesystem/LastCheckpointTime', |
| 'mock': '' |
| }, |
| |
| 'common.host_component.update': { |
| 'real': '/clusters/{clusterName}/host_components', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| context: data.context, |
| query: data.query |
| }, |
| Body: { |
| "HostRoles": data.HostRoles |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.host.host_components.create': { |
| 'real': '/clusters/{clusterName}/hosts', |
| 'mock': '', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| "query": data.query |
| }, |
| Body: { |
| "host_components": data.host_components |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.host.host_components.update': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components?{urlParams}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context, |
| "operation_level": { |
| level: "HOST", |
| cluster_name: data.clusterName, |
| host_names: data.hostName |
| }, |
| query: data.query |
| }, |
| Body: { |
| "HostRoles": data.HostRoles |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.host.host_component.update': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/{componentName}?{urlParams}', |
| 'mock': '/data/wizard/deploy/2_hosts/poll_9.json', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context, |
| "operation_level": { |
| level: "HOST_COMPONENT", |
| cluster_name: data.clusterName, |
| host_name: data.hostName, |
| service_name: data.serviceName || null |
| } |
| }, |
| Body: { |
| "HostRoles": data.HostRoles |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.hosts.all': { |
| 'real': '/clusters/{clusterName}/host_components?{urlParams}&minimal_response=true', |
| 'mock': '' |
| }, |
| |
| 'common.service.configurations': { |
| 'real':'/clusters/{clusterName}', |
| 'mock':'', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| Clusters: { |
| desired_config: data.desired_config |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.service.multiConfigurations': { |
| 'real':'/clusters/{clusterName}', |
| 'mock':'', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.configs) |
| } |
| } |
| }, |
| |
| 'common.across.services.configurations': { |
| 'type': 'PUT', |
| 'real':'/clusters/{clusterName}', |
| 'mock':'/data/services/ambari.json', |
| 'format': function(data) { |
| return { |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'common.request.polling': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}?fields=tasks/Tasks/request_id,tasks/Tasks/command,tasks/Tasks/command_detail,tasks/Tasks/ops_display_name,tasks/Tasks/start_time,tasks/Tasks/end_time,tasks/Tasks/exit_code,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status,tasks/Tasks/structured_out,Requests/*&tasks/Tasks/stage_id={stageId}', |
| 'mock': '/data/background_operations/host_upgrade_tasks.json' |
| }, |
| |
| 'service.ambari': { |
| 'real': '/services/AMBARI?fields=components/RootServiceComponents', |
| 'mock': '/data/services/ambari.json' |
| }, |
| |
| 'ambari.service.load_server_version': { |
| 'real': '/services/AMBARI?fields=components/RootServiceComponents/component_version&components/RootServiceComponents/component_name=AMBARI_SERVER&minimal_response=true', |
| 'mock': '/data/services/ambari.json' |
| }, |
| |
| |
| 'service.flume.agent.command': { |
| 'real': '/clusters/{clusterName}/hosts/{host}/host_components/FLUME_HANDLER', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "context": data.context, |
| "flume_handler": data.agentName, |
| "operation_level": { |
| level: "HOST_COMPONENT", |
| cluster_name: data.clusterName, |
| service_name: "FLUME", |
| host_name: data.host |
| } |
| }, |
| "Body": { |
| "HostRoles": { |
| "state": data.state |
| } |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.host_components.update': { |
| 'real': '/clusters/{clusterName}/host_components?{urlParams}', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context, |
| "operation_level": { |
| level: data.level || "CLUSTER", |
| cluster_name: data.clusterName |
| }, |
| query: data.query |
| }, |
| Body: { |
| "HostRoles": data.HostRoles |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.hosts.delete': { |
| 'real': '/clusters/{clusterName}/hosts{urlParams}', |
| 'type': 'DELETE', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| query: data.query |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.service.passive': { |
| 'real': '/clusters/{clusterName}/services/{serviceName}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.requestInfo |
| }, |
| Body: { |
| ServiceInfo: { |
| maintenance_state: data.passive_state |
| } |
| } |
| }) |
| }; |
| } |
| }, |
| |
| 'common.service.host_component.update': { |
| 'real': '/clusters/{clusterName}/host_components', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| context: data.context, |
| operation_level: { |
| level: 'SERVICE', |
| cluster_name: data.clusterName, |
| service_name: data.serviceName |
| }, |
| query: data.query |
| }, |
| Body: { |
| HostRoles: { |
| state: data.state |
| } |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'common.host.host_component.passive': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/{componentName}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| "context": data.context |
| }, |
| Body: { |
| HostRoles: { |
| maintenance_state: data.passive_state |
| } |
| } |
| }) |
| }; |
| } |
| }, |
| |
| 'common.host.with_host_component': { |
| 'real': '/clusters/{clusterName}/hosts?host_components/HostRoles/component_name={componentName}&minimal_response=true', |
| 'mock': '' |
| }, |
| |
| 'common.batch.request_schedules': { |
| 'real': '/clusters/{clusterName}/request_schedules', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify([{ |
| "RequestSchedule": { |
| "batch": [{ |
| "requests": data.batches |
| }, { |
| "batch_settings": { |
| "batch_separation_in_seconds": data.intervalTimeSeconds, |
| "task_failure_tolerance": data.tolerateSize |
| } |
| }] |
| } |
| }]) |
| } |
| } |
| }, |
| |
| 'common.delete.host': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.host_component': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/{componentName}', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.user': { |
| 'real': '/users/{user}', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.config_group': { |
| 'real': '/clusters/{clusterName}/config_groups/{id}', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.cluster': { |
| 'real': '/clusters/{name}', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.service': { |
| 'real': '/clusters/{clusterName}/services/{serviceName}', |
| 'mock': '/data/services/ambari.json', |
| 'type': 'DELETE' |
| }, |
| 'common.delete.request_schedule': { |
| 'real': '/clusters/{clusterName}/request_schedules/{request_schedule_id}', |
| 'type': 'DELETE' |
| }, |
| 'common.get.request.status': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}?fields=Requests/request_status', |
| 'type': 'GET' |
| }, |
| 'alerts.load_alert_groups': { |
| 'real': '/clusters/{clusterName}/alert_groups?fields=*', |
| 'mock': 'data/alerts/alertGroups.json' |
| }, |
| 'alerts.load_an_alert_group': { |
| 'real': '/clusters/{clusterName}/alert_groups/{group_id}', |
| 'mock': 'data/alerts/alertGroup.json' |
| }, |
| 'alert_groups.create': { |
| 'real': '/clusters/{clusterName}/alert_groups', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "AlertGroup": { |
| "name": data.name, |
| "definitions": data.definitions, |
| "targets": data.targets |
| } |
| }) |
| }; |
| } |
| }, |
| 'alert_groups.update': { |
| 'real': '/clusters/{clusterName}/alert_groups/{group_id}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| "AlertGroup": { |
| "name": data.name, |
| "definitions": data.definitions, |
| "targets": data.targets |
| } |
| }) |
| }; |
| } |
| }, |
| 'alert_groups.delete': { |
| 'real': '/clusters/{clusterName}/alert_groups/{group_id}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'DELETE' |
| }; |
| } |
| }, |
| 'alerts.load_all_alert_definitions': { |
| 'real': '/clusters/{clusterName}/alert_definitions?fields=*', |
| 'mock': 'data/alerts/alertDefinitions.json' |
| }, |
| 'alerts.notifications': { |
| 'real': '/alert_targets?fields=*', |
| 'mock': '/data/alerts/alertNotifications.json' |
| }, |
| 'alerts.instances': { |
| 'real': '/clusters/{clusterName}/alerts?fields=*', |
| 'mock': '/data/alerts/alert_instances.json' |
| }, |
| 'alerts.instances.unhealthy': { |
| 'real': '/clusters/{clusterName}/alerts?fields=*&Alert/state.in(CRITICAL,WARNING)&{paginationInfo}', |
| 'mock': '/data/alerts/alert_instances.json' |
| }, |
| 'alerts.instances.by_definition': { |
| 'real': '/clusters/{clusterName}/alerts?fields=*&Alert/definition_id={definitionId}', |
| 'mock': '/data/alerts/alert_instances.json' |
| }, |
| 'alerts.instances.by_host': { |
| 'real': '/clusters/{clusterName}/alerts?fields=*&Alert/host_name={hostName}', |
| 'mock': '/data/alerts/alert_instances.json' |
| }, |
| 'alerts.update_alert_definition': { |
| 'real': '/clusters/{clusterName}/alert_definitions/{id}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'alerts.create_alert_definition': { |
| 'real': '/clusters/{clusterName}/alert_definitions/', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'alerts.delete_alert_definition': { |
| 'real': '/clusters/{clusterName}/alert_definitions/{id}', |
| 'mock': '', |
| 'type': 'DELETE' |
| }, |
| 'alerts.create_alert_notification': { |
| 'real': '/alert_targets?{urlParams}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'alerts.update_alert_notification': { |
| 'real': '/alert_targets/{id}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'alerts.delete_alert_notification': { |
| 'real': '/alert_targets/{id}', |
| 'mock': '', |
| 'type': 'DELETE' |
| }, |
| 'alerts.get_instances_history': { |
| 'real': '/clusters/{clusterName}/alert_history?(AlertHistory/definition_name={definitionName})&(AlertHistory/timestamp>={timestamp})', |
| 'mock': '/data/alerts/alert_instances_history.json' |
| }, |
| 'background_operations.get_most_recent': { |
| 'real': '/clusters/{clusterName}/requests?to=end&page_size={operationsCount}&fields=' + |
| 'Requests/end_time,Requests/id,Requests/progress_percent,Requests/request_context,' + |
| 'Requests/request_status,Requests/start_time,Requests/cluster_name,Requests/user_name&minimal_response=true', |
| 'mock': '/data/background_operations/list_on_start.json', |
| 'testInProduction': true |
| }, |
| 'background_operations.get_by_request': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}?fields=*,tasks/Tasks/request_id,tasks/Tasks/command,tasks/Tasks/command_detail,tasks/Tasks/ops_display_name,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status&minimal_response=true', |
| 'mock': '/data/background_operations/task_by_request{requestId}.json', |
| 'testInProduction': true |
| }, |
| 'background_operations.get_by_task': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}/tasks/{taskId}', |
| 'mock': '/data/background_operations/list_on_start.json', |
| 'testInProduction': true |
| }, |
| 'background_operations.abort_request': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}', |
| 'mock': '', |
| 'format': function () { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| "Requests": { |
| "request_status": "ABORTED", |
| "abort_reason": Em.I18n.t('hostPopup.bgop.abortRequest.reason') |
| } |
| }) |
| }; |
| } |
| }, |
| 'service.item.smoke': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| var requestData = { |
| "RequestInfo": { |
| "context": data.displayName + " Service Check", |
| "command": data.actionName |
| }, |
| "Requests/resource_filters": [{"service_name": data.serviceName}] |
| }; |
| if (data.operationLevel) { |
| requestData.RequestInfo.operation_level = data.operationLevel; |
| } |
| return { |
| 'type': 'POST', |
| data: JSON.stringify(requestData) |
| }; |
| } |
| }, |
| 'service.item.rebalanceHdfsNodes': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': Em.I18n.t('services.service.actions.run.rebalanceHdfsNodes.context'), |
| 'command': 'REBALANCEHDFS', |
| 'namenode': JSON.stringify({threshold: data.threshold}) |
| }, |
| "Requests/resource_filters": [{ |
| 'service_name': 'HDFS', |
| 'component_name': 'NAMENODE', |
| 'hosts': data.hosts |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'cancel.background.operation': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': 'Cancel operation', |
| "parameters": { |
| "cancel_policy": "SIGKILL" |
| } |
| }, |
| "Requests/request_status": 'ABORTED', |
| "Requests/abort_reason": "Cancel background operation" |
| }) |
| } |
| } |
| }, |
| |
| |
| 'service.item.refreshQueueYarnRequest': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': data.context, |
| 'command': data.command, |
| 'parameters/forceRefreshConfigTags': data.forceRefreshConfigTags |
| }, |
| "Requests/resource_filters": [{ |
| "service_name": data.serviceName, |
| "component_name": data.componentName, |
| 'hosts': data.hosts |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'service.item.startStopLdapKnox': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': data.context, |
| 'command': data.command |
| }, |
| "Requests/resource_filters": [{ |
| "service_name": data.serviceName, |
| "component_name": data.componentName, |
| 'hosts': data.host |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'service.item.executeCustomCommand': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': data.context, |
| 'command': data.command |
| }, |
| "Requests/resource_filters": [{ |
| "service_name": data.serviceName, |
| "component_name": data.componentName, |
| 'hosts': data.hosts |
| }] |
| }) |
| } |
| } |
| }, |
| /*************************CONFIG THEME****************************************/ |
| |
| 'configs.theme': { |
| 'real': '{stackVersionUrl}/services/{serviceName}/themes?ThemeInfo/default=true&fields=*', |
| 'mock': '/data/configurations/theme.json' |
| }, |
| |
| 'configs.theme.services': { |
| 'real': '{stackVersionUrl}/services?StackServices/service_name.in({serviceNames})&themes/ThemeInfo/default=true&fields=themes/*', |
| 'mock': '/data/configurations/theme_services.json' |
| }, |
| |
| /*************************CONFIG QUICKLINKS****************************************/ |
| |
| 'configs.quicklinksconfig': { |
| 'real': '{stackVersionUrl}/services/{serviceName}/quicklinks?QuickLinkInfo/default=true&fields=*', |
| 'mock': '/data/configurations/quicklinks.json' |
| }, |
| |
| 'configs.quicklinksconfig.services': { |
| 'real': '{stackVersionUrl}/services?StackServices/service_name.in({serviceNames})&quicklinks/QuickLinkInfo/default=true&fields=quicklinks/*', |
| 'mock': '/data/configurations/quicklinks_services.json' |
| }, |
| |
| /*************************CONFIG GROUPS***************************************/ |
| |
| 'configs.config_groups.load.all': { |
| 'real': '/clusters/{clusterName}/config_groups?fields=*', |
| 'mock': '/data/configurations/config_groups.json' |
| }, |
| |
| 'configs.config_groups.load.services': { |
| 'real': '/clusters/{clusterName}/config_groups?ConfigGroup/tag.in({serviceNames})&fields=*', |
| 'mock': '/data/configurations/config_groups.json' |
| }, |
| |
| /*************************STACK CONFIGS**************************************/ |
| |
| 'configs.stack_configs.load.cluster_configs': { |
| 'real': '{stackVersionUrl}?fields=configurations/*,Versions/config_types/*', |
| 'mock': '/data/stacks/HDP-2.2/configurations.json' |
| }, |
| |
| 'configs.stack_configs.load.all': { |
| 'real': '{stackVersionUrl}/services?fields=configurations/*,StackServices/config_types/*', |
| 'mock': '/data/stacks/HDP-2.2/configurations.json' |
| }, |
| |
| 'configs.stack_configs.load.services': { |
| 'real': '{stackVersionUrl}/services?StackServices/service_name.in({serviceList})&fields=configurations/*,configurations/dependencies/*,StackServices/config_types/*', |
| 'mock': '/data/stacks/HDP-2.2/configurations.json' |
| }, |
| |
| 'configs.stack_configs.load.service': { |
| 'real': '{stackVersionUrl}/services/{serviceName}?fields=configurations/*,StackServices/config_types/*', |
| 'mock': '/data/stacks/HDP-2.2/configurations.json' |
| }, |
| |
| /*************************CONFIG VERSIONS*************************************/ |
| |
| 'configs.config_versions.load': { |
| 'real': '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&service_config_version={configVersion}&fields=*', |
| 'mock': '/data/configurations/config_versions.json' |
| }, |
| |
| 'configs.config_versions.load.group': { |
| 'real': '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&group_id={id}&fields=*', |
| 'mock': '/data/configurations/config_versions.json' |
| }, |
| |
| 'configs.config_versions.load.current_versions': { |
| 'real': '/clusters/{clusterName}/configurations/service_config_versions?service_name.in({serviceNames})&is_current=true&fields=*', |
| 'mock': '/data/configurations/config_versions.json' |
| }, |
| |
| |
| 'service.load_config_groups': { |
| 'real': '/clusters/{clusterName}/config_groups?ConfigGroup/tag={serviceName}&fields=*', |
| 'mock': '/data/configurations/config_group.json' |
| }, |
| 'reassign.load_configs': { |
| 'real': '/clusters/{clusterName}/configurations?{urlParams}', |
| 'mock': '' |
| }, |
| |
| 'reassign.save_configs': { |
| 'real': '/clusters/{clusterName}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| Clusters: { |
| desired_config: { |
| "type": data.siteName, |
| "properties": data.properties, |
| "service_config_version_note": data.service_config_version_note |
| |
| } |
| } |
| }) |
| } |
| } |
| }, |
| 'config.cluster': { |
| 'real': '{stackVersionUrl}/configurations?fields=*', |
| 'mock': '' |
| }, |
| 'config.advanced': { |
| 'real': '{stackVersionUrl}/services/{serviceName}/configurations?fields=*', |
| 'mock': '/data/wizard/stack/hdp/version{stackVersion}/{serviceName}.json' |
| }, |
| 'config.advanced.multiple.services': { |
| 'real': '{stackVersionUrl}/services?StackServices/service_name.in({serviceNames})&fields=configurations/*', |
| 'mock': '/data/wizard/stack/hdp/version{stackVersion}/{serviceName}.json' |
| }, |
| 'config.advanced.partial': { |
| 'real': '{stackVersionUrl}/services/?StackServices/service_name.in({serviceList})&fields=configurations/*{queryFilter}', |
| 'mock': '' |
| }, |
| 'config.config_types': { |
| 'real': '{stackVersionUrl}/services/{serviceName}?fields=StackServices/config_types', |
| 'mock': '' |
| }, |
| 'config.tags': { |
| 'real': '/clusters/{clusterName}?fields=Clusters/desired_configs', |
| 'mock': '/data/clusters/cluster.json' |
| }, |
| 'config.tags.site': { |
| 'real': '/clusters/{clusterName}?fields=Clusters/desired_configs/{site}', |
| 'mock': '' |
| }, |
| 'config.tags_and_groups': { |
| 'real': '/clusters/{clusterName}?fields=Clusters/desired_configs,config_groups/*{urlParams}', |
| 'mock': '/data/clusters/tags_and_groups.json' |
| }, |
| 'config_groups.all_fields': { |
| 'real': '/clusters/{clusterName}/config_groups?fields=*', |
| 'mock': '' |
| }, |
| 'config_groups.get_config_group_by_id': { |
| 'real': '/clusters/{clusterName}/config_groups/{id}', |
| 'mock': '' |
| }, |
| 'config_groups.update_config_group': { |
| 'real': '/clusters/{clusterName}/config_groups/{id}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify( |
| [ |
| data.configGroup |
| ] |
| ) |
| } |
| } |
| }, |
| 'config.on_site': { |
| 'real': '/clusters/{clusterName}/configurations?{params}', |
| 'mock': '/data/configurations/cluster_level_configs.json?{params}' |
| }, |
| 'config.host_overrides': { |
| 'real': '/clusters/{clusterName}/configurations?{params}', |
| 'mock': '/data/configurations/host_level_overrides_configs.json?{params}' |
| }, |
| |
| 'config.tags.selected': { |
| 'real': '/clusters/{clusterName}/configurations?type.in({tags})', |
| 'mock': '/data/configuration/cluster_env_site.json' |
| }, |
| |
| 'credentials.store.info': { |
| 'real': '/clusters/{clusterName}?fields=Clusters/credential_store_properties', |
| 'mock': '' |
| }, |
| |
| 'credentials.list': { |
| 'real': '/clusters/{clusterName}/credentials?fields=Credential/*', |
| 'mock': '' |
| }, |
| |
| 'credentials.get': { |
| 'real': '/clusters/{clusterName}/credentials/{alias}', |
| 'mock': '' |
| }, |
| |
| 'credentials.create': { |
| 'real': '/clusters/{clusterName}/credentials/{alias}', |
| 'mock': '', |
| type: 'POST', |
| 'format': function(data) { |
| return { |
| data: JSON.stringify({ |
| Credential: data.resource |
| }) |
| }; |
| } |
| }, |
| |
| 'credentials.update': { |
| 'real': '/clusters/{clusterName}/credentials/{alias}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function(data) { |
| return { |
| data: JSON.stringify({ |
| Credential: data.resource |
| }) |
| }; |
| } |
| }, |
| |
| 'credentials.delete': { |
| 'real': '/clusters/{clusterName}/credentials/{alias}', |
| 'mock': '', |
| 'type':'DELETE' |
| }, |
| |
| 'host.host_component.add_new_component': { |
| 'real': '/clusters/{clusterName}/hosts?Hosts/host_name={hostName}', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'host.host_component.add_new_components': { |
| 'real': '/clusters/{clusterName}/hosts', |
| 'mock': '/data/wizard/deploy/poll_1.json', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'host.host_component.delete_components': { |
| 'real': '/clusters/{clusterName}/host_components', |
| 'format': function (data) { |
| return { |
| type: 'DELETE', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'host.host_component.slave_desired_admin_state': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/{componentName}/?fields=HostRoles/desired_admin_state', |
| 'mock': '/data/hosts/HDP2/decommission_state.json' |
| }, |
| 'host.host_component.decommission_status': { |
| 'real': '/clusters/{clusterName}/services/{serviceName}/components/{componentName}/?fields=ServiceComponentInfo,host_components/HostRoles/state', |
| 'mock': '' |
| }, |
| 'host_components.hbase_regionserver.active': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name=HBASE_REGIONSERVER&HostRoles/maintenance_state=OFF&HostRoles/desired_admin_state=INSERVICE&HostRoles/host_name.in({hostNames})', |
| 'mock': '' |
| }, |
| 'host.host_component.decommission_status_datanode': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name=NAMENODE&HostRoles/host_name.in({hostNames})&fields=metrics/dfs/namenode', |
| 'mock': '/data/hosts/HDP2/decommission_state.json' |
| }, |
| 'host.host_component.decommission_status_regionserver': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name=HBASE_MASTER&HostRoles/host_name={hostName}&fields=metrics/hbase/master/liveRegionServersHosts,metrics/hbase/master/deadRegionServersHosts&minimal_response=true' |
| }, |
| 'host.region_servers.in_inservice': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name=HBASE_REGIONSERVER&HostRoles/desired_admin_state=INSERVICE&fields=HostRoles/host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'host.host_component.decommission_slave': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| RequestInfo: { |
| 'context': data.context, |
| 'command': data.command, |
| 'parameters': { |
| 'slave_type': data.slaveType, |
| 'excluded_hosts': data.hostName |
| }, |
| 'operation_level': { |
| level: "HOST_COMPONENT", |
| cluster_name: data.clusterName, |
| host_name: data.hostName, |
| service_name: data.serviceName |
| } |
| }, |
| "Requests/resource_filters": [{"service_name": data.serviceName, "component_name": data.componentName}] |
| }) |
| } |
| } |
| }, |
| |
| 'host.host_component.refresh_configs': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command": "CONFIGURE", |
| "context": data.context |
| }, |
| "Requests/resource_filters": data.resource_filters |
| }) |
| } |
| } |
| }, |
| |
| 'hosts.metrics': { |
| 'real': '/clusters/{clusterName}/hosts?fields={metricName}', |
| 'mock': '/data/cluster_metrics/cpu_1hr.json' |
| }, |
| 'hosts.metrics.host_component': { |
| 'real': '/clusters/{clusterName}/services/{serviceName}/components/{componentName}?fields=host_components/{metricName}', |
| 'mock': '/data/cluster_metrics/cpu_1hr.json' |
| }, |
| 'service.metrics.flume.channel_fill_percent': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/flume/flume/CHANNEL/ChannelFillPercentage[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/channelFillPct.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.channel_size': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/flume/flume/CHANNEL/ChannelSize[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/channelSize.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.sink_drain_success': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/flume/flume/SINK/EventDrainSuccessCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/sinkDrainSuccessCount.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.sink_connection_failed': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/flume/flume/SINK/ConnectionFailedCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/sinkConnectionFailedCount.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.source_accepted': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/flume/flume/SOURCE/EventAcceptedCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/sourceEventAccepted.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.channel_size_for_all': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/ChannelSize/rate[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.channel_size_for_all.mma': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/ChannelSize/rate/avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/ChannelSize/rate/max[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/ChannelSize/rate/min[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.channel_size_for_all.sum': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/ChannelSize/rate/sum[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.gc': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/jvm/gcTimeMillis[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/jvmGcTime.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.jvm_heap_used': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/jvm/memHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/jvmMemHeapUsedM.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.jvm_threads_runnable': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/jvm/threadsRunnable[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/flume/jvmThreadsRunnable.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.cpu_user': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=host_components/metrics/cpu/cpu_user[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.flume.incoming_event_put_successCount': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventPutSuccessCount/rate[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.incoming_event_put_successCount.mma': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventPutSuccessCount/rate/avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/EventPutSuccessCount/rate/max[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/EventPutSuccessCount/rate/min[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.incoming_event_put_successCount.sum': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventPutSuccessCount/rate/sum[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.outgoing_event_take_success_count': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventTakeSuccessCount/rate[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.outgoing_event_take_success_count.mma': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventTakeSuccessCount/rate/avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/EventTakeSuccessCount/rate/max[{fromSeconds},{toSeconds},{stepSeconds}],metrics/flume/flume/CHANNEL/EventTakeSuccessCount/rate/min[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.flume.outgoing_event_take_success_count.sum': { |
| 'real': '/clusters/{clusterName}/services/FLUME/components/FLUME_HANDLER?fields=metrics/flume/flume/CHANNEL/EventTakeSuccessCount/rate/sum[{fromSeconds},{toSeconds},{stepSeconds}]' |
| }, |
| 'service.metrics.hbase.cluster_requests': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_MASTER?fields=metrics/hbase/master/cluster_requests[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/cluster_requests.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hbase.hlog_split_size': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_MASTER?fields=metrics/hbase/master/splitSize_avg_time[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/hlog_split_size.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hbase.hlog_split_time': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_MASTER?fields=metrics/hbase/master/splitTime_avg_time[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/hlog_split_time.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hbase.regionserver_queuesize': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/flushQueueSize[{fromSeconds},{toSeconds},{stepSeconds}],metrics/hbase/regionserver/compactionQueueSize[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/regionserver_queuesize.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hbase.regionserver_regions': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/regions[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/regionserver_regions.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hbase.regionserver_rw_requests': { |
| 'real': '/clusters/{clusterName}/services/HBASE/components/HBASE_REGIONSERVER?fields=metrics/hbase/regionserver/readRequestsCount[{fromSeconds},{toSeconds},{stepSeconds}],metrics/hbase/regionserver/writeRequestsCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hbase/regionserver_rw_requests.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.master.average_load': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/master/AverageLoad[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/master_average_load.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.region_server.store_files': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/regionserver/storefiles[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/regionserver_store_files.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.region_server.regions': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/regionserver/regions[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/regionserver_regions.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.region_server.request': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/regionserver/requests._rate[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/regionserver_requests.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.region_server.block_cache_hit_percent': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/regionserver/blockCacheHitPercent[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/regionserver_blockcache_hitpercent.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.region_server.compaction_queue_size': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields=metrics/hbase/regionserver/compactionQueueSize[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/ambari_metrics/regionserver_compaction_queue_size.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.ambari_metrics.aggregated': { |
| 'real': '/clusters/{clusterName}/services/AMBARI_METRICS/components/METRICS_COLLECTOR?fields={fields}', |
| 'mock': '/data/services/metrics/ambari_metrics/master_average_load.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.block_status': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/dfs/FSNamesystem/PendingReplicationBlocks[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/FSNamesystem/UnderReplicatedBlocks[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/block_status.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.file_operations': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/dfs/namenode/FileInfoOps[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/namenode/CreateFileOps[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/file_operations.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.gc': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/jvm/gcTimeMillis[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/gc.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.io': { |
| 'real': '/clusters/{clusterName}/services/HDFS/components/DATANODE?fields=metrics/dfs/datanode/bytes_written[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/datanode/bytes_read[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/io.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.jvm_heap': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/jvm/memNonHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memNonHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/jvm_heap.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.jvm_threads': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/jvm/threadsRunnable[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsBlocked[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsWaiting[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsTimedWaiting[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/jvm_threads.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.rpc': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/rpc/client/RpcQueueTime_avg_time[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/rpc.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.hdfs.space_utilization': { |
| 'real': '/clusters/{clusterName}/hosts/{nameNodeName}/host_components/NAMENODE?fields=metrics/dfs/FSNamesystem/CapacityRemaining[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/FSNamesystem/CapacityUsed[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/FSNamesystem/CapacityTotal[{fromSeconds},{toSeconds},{stepSeconds}],metrics/dfs/FSNamesystem/CapacityNonDFSUsed[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/hdfs/space_utilization.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.gc': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/jvm/gcTimeMillis[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/yarn/gc.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.jobs_threads': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/jvm/threadsRunnable[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsBlocked[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsWaiting[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/threadsTimedWaiting[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/yarn/jvm_threads.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.rpc': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/rpc/RpcQueueTime_avg_time[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/yarn/rpc.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.jobs_heap': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/jvm/memNonHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memNonHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapUsedM[{fromSeconds},{toSeconds},{stepSeconds}],metrics/jvm/memHeapCommittedM[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/services/metrics/yarn/jvm_heap.json', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.queue.allocated': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/yarn/Queue/root/AvailableMB[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/PendingMB[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/AllocatedMB[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.queue.allocated.container': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/yarn/Queue/root/AllocatedContainers[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/ReservedContainers[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/PendingContainers[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.node.manager.statuses': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/yarn/ClusterMetrics/NumActiveNMs[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/ClusterMetrics/NumDecommissionedNMs[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/ClusterMetrics/NumLostNMs[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/ClusterMetrics/NumRebootedNMs[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/ClusterMetrics/NumUnhealthyNMs[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.queue.memory.resource': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=', |
| 'mock': '', |
| 'format': function (data, opt) { |
| var field1 = 'metrics/yarn/Queue/{queueName}/AllocatedMB[{fromSeconds},{toSeconds},{stepSeconds}]'; |
| var field2 = 'metrics/yarn/Queue/{queueName}/AvailableMB[{fromSeconds},{toSeconds},{stepSeconds}]'; |
| if (opt.url != null && data.queueNames != null && data.queueNames.length > 0) { |
| data.queueNames.forEach(function (q) { |
| data.queueName = q; |
| opt.url += (formatUrl(field1, data) + ","); |
| opt.url += (formatUrl(field2, data) + ","); |
| }); |
| } else { |
| opt.url += (formatUrl(field1, data) + ","); |
| opt.url += (formatUrl(field2, data) + ","); |
| } |
| }, |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.queue.apps.states.current': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/yarn/Queue/root/AppsPending[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/AppsRunning[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.yarn.queue.apps.states.finished': { |
| 'real': '/clusters/{clusterName}/hosts/{resourceManager}/host_components/RESOURCEMANAGER?fields=metrics/yarn/Queue/root/AppsKilled[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/AppsFailed[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/AppsSubmitted[{fromSeconds},{toSeconds},{stepSeconds}],metrics/yarn/Queue/root/AppsCompleted[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '', |
| 'testInProduction': true |
| }, |
| 'service.metrics.kafka.broker.topic': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/server/BrokerTopicMetrics/AllTopicsBytesInPerSec/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}],metrics/kafka/server/BrokerTopicMetrics/AllTopicsBytesOutPerSec/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}],metrics/kafka/server/BrokerTopicMetrics/AllTopicsMessagesInPerSec/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.kafka.controller.KafkaController': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/controller/KafkaController/ActiveControllerCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.kafka.controller.ControllerStats': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/controller/ControllerStats/LeaderElectionRateAndTimeMs/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}],metrics/kafka/controller/ControllerStats/UncleanLeaderElectionsPerSec/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.kafka.log.LogFlushStats': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/log/LogFlushStats/LogFlushRateAndTimeMs/1MinuteRate[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.kafka.server.ReplicaManager': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/server/ReplicaManager/PartitionCount[{fromSeconds},{toSeconds},{stepSeconds}],metrics/kafka/server/ReplicaManager/UnderReplicatedPartitions[{fromSeconds},{toSeconds},{stepSeconds}],metrics/kafka/server/BrokerTopicMetrics/ReplicaManager/LeaderCount[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.kafka.server.ReplicaFetcherManager': { |
| 'real': '/clusters/{clusterName}/services/KAFKA/components/KAFKA_BROKER?fields=metrics/kafka/server/ReplicaFetcherManager/Replica-MaxLag[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '' |
| }, |
| 'service.metrics.storm.nimbus': { |
| 'real': '/clusters/{clusterName}/services/STORM/components/NIMBUS?fields={metricsTemplate}', |
| 'mock': '' |
| }, |
| 'dashboard.cluster_metrics.cpu': { |
| 'real': '/clusters/{clusterName}?fields=metrics/cpu/Nice._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/System._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/User._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/Idle._avg[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/cluster_metrics/cpu_1hr.json', |
| 'testInProduction': true |
| }, |
| 'dashboard.cluster_metrics.load': { |
| 'real': '/clusters/{clusterName}/?fields=metrics/load/1-min._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/CPUs._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/Nodes._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/Procs._avg[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/cluster_metrics/load_1hr.json', |
| 'testInProduction': true |
| }, |
| 'dashboard.cluster_metrics.memory': { |
| 'real': '/clusters/{clusterName}/?fields=metrics/memory/Buffer._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/Cache._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/Share._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/Swap._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/Total._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/Use._avg[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/cluster_metrics/memory_1hr.json', |
| 'testInProduction': true |
| }, |
| 'dashboard.cluster_metrics.network': { |
| 'real': '/clusters/{clusterName}/?fields=metrics/network/In._avg[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/Out._avg[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/cluster_metrics/network_1hr.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.aggregated': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields={fields}', |
| 'mock': '/data/hosts/metrics/cpu.json' |
| }, |
| 'host.metrics.cpu': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/cpu/cpu_user[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/cpu_wio[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/cpu_nice[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/cpu_aidle[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/cpu_system[{fromSeconds},{toSeconds},{stepSeconds}],metrics/cpu/cpu_idle[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/cpu.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.disk': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/disk/disk_total[{fromSeconds},{toSeconds},{stepSeconds}],metrics/disk/disk_free[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/disk.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.load': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/load/load_fifteen[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/load_one[{fromSeconds},{toSeconds},{stepSeconds}],metrics/load/load_five[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/load.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.memory': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/memory/swap_free[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_shared[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_free[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_cached[{fromSeconds},{toSeconds},{stepSeconds}],metrics/memory/mem_buffers[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/memory.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.network': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/network/bytes_in[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/bytes_out[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/pkts_in[{fromSeconds},{toSeconds},{stepSeconds}],metrics/network/pkts_out[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/network.json', |
| 'testInProduction': true |
| }, |
| 'host.metrics.processes': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=metrics/process/proc_total[{fromSeconds},{toSeconds},{stepSeconds}],metrics/process/proc_run[{fromSeconds},{toSeconds},{stepSeconds}]', |
| 'mock': '/data/hosts/metrics/processes.json', |
| 'testInProduction': true |
| }, |
| 'admin.security_status': { |
| 'real': '/clusters/{clusterName}?fields=Clusters/security_type', |
| 'mock': '', |
| 'format': function () { |
| return { |
| timeout: 10000 |
| }; |
| } |
| }, |
| 'cluster.load_cluster_name': { |
| 'real': '/clusters?fields=Clusters/security_type,Clusters/version,Clusters/cluster_id', |
| 'mock': '/data/clusters/info.json' |
| }, |
| 'cluster.load_last_upgrade': { |
| 'real': '/clusters/{clusterName}/upgrades?fields=Upgrade/*', |
| 'mock': '/data/stack_versions/upgrades.json' |
| }, |
| 'cluster.update_upgrade_version': { |
| 'real': '/stacks/{stackName}/versions?fields=services/StackServices,Versions', |
| 'mock': '/data/wizard/stack/stacks.json', |
| 'format': function (data) { |
| return { |
| data: data.data |
| }; |
| } |
| }, |
| 'cluster.load_repositories': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/operating_systems?fields=repositories/*,OperatingSystems/*', |
| 'mock': '/data/stacks/HDP-2.1/operating_systems.json', |
| 'format': function (data) { |
| return { |
| data: data.data |
| }; |
| } |
| }, |
| 'cluster.load_repo_version': { |
| 'real': '/stacks/{stackName}/versions?fields=repository_versions/operating_systems/repositories/*,repository_versions/operating_systems/OperatingSystems/*,repository_versions/RepositoryVersions/display_name&repository_versions/RepositoryVersions/repository_version={repositoryVersion}', |
| 'mock': '' |
| }, |
| 'cluster.load_detailed_repo_version': { |
| 'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/repository_version,ClusterStackVersions/stack,ClusterStackVersions/version&minimal_response=true', |
| 'mock': '/data/stack_versions/stack_version_all.json' |
| }, |
| 'cluster.load_current_repo_stack_services': { |
| 'real': '/clusters/{clusterName}/stack_versions?fields=repository_versions/RepositoryVersions/stack_services,ClusterStackVersions/stack,ClusterStackVersions/version', |
| 'mock': '/data/stack_versions/stack_version_all.json' |
| }, |
| 'cluster.save_provisioning_state': { |
| 'real': '/clusters/{clusterName}', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Clusters": { |
| "provisioning_state": data.state |
| } |
| }) |
| }; |
| } |
| }, |
| |
| 'cluster.logging.searchEngine': { |
| real: '/clusters/{clusterName}/logging/searchEngine?{query}', |
| mock: '' |
| }, |
| 'admin.high_availability.polling': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}?fields=tasks/*,Requests/*', |
| 'mock': '/data/background_operations/host_upgrade_tasks.json' |
| }, |
| 'admin.high_availability.getNnCheckPointStatus': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/NAMENODE', |
| 'mock': '' |
| }, |
| 'admin.high_availability.getNnCheckPointsStatuses': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name=NAMENODE&HostRoles/host_name.in({hostNames})&fields=HostRoles/desired_state,metrics/dfs/namenode&minimal_response=true', |
| 'mock': '' |
| }, |
| 'admin.high_availability.getJnCheckPointStatus': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/JOURNALNODE?fields=metrics', |
| 'mock': '' |
| }, |
| 'admin.high_availability.getHostComponent': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/{componentName}', |
| 'mock': '' |
| }, |
| 'common.create_component': { |
| 'real': '/clusters/{clusterName}/services?ServiceInfo/service_name={serviceName}', |
| 'mock': '', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "components": [ |
| { |
| "ServiceComponentInfo": { |
| "component_name": data.componentName |
| } |
| } |
| ] |
| }) |
| } |
| } |
| }, |
| 'admin.high_availability.load_configs': { |
| 'real': '/clusters/{clusterName}/configurations?(type=core-site&tag={coreSiteTag})|(type=hdfs-site&tag={hdfsSiteTag})', |
| 'mock': '' |
| }, |
| 'admin.save_configs': { |
| 'real': '/clusters/{clusterName}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| Clusters: { |
| desired_config: { |
| "type": data.siteName, |
| "properties": data.properties |
| } |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.high_availability.load_hbase_configs': { |
| 'real': '/clusters/{clusterName}/configurations?type=hbase-site&tag={hbaseSiteTag}', |
| 'mock': '' |
| }, |
| 'admin.security.cluster_configs': { |
| 'real': '/clusters/{clusterName}', |
| 'mock': '', |
| 'format': function () { |
| return { |
| timeout: 10000 |
| }; |
| } |
| }, |
| 'admin.security.cluster_configs.kerberos': { |
| 'real': '/clusters/{clusterName}/configurations/service_config_versions?service_name=KERBEROS&is_current=true', |
| 'mock': '', |
| 'format': function () { |
| return { |
| timeout: 10000 |
| }; |
| } |
| }, |
| 'admin.get.all_configurations': { |
| 'real': '/clusters/{clusterName}/configurations?{urlParams}', |
| 'mock': '', |
| 'format': function () { |
| return { |
| timeout: 10000 |
| }; |
| } |
| }, |
| |
| 'kerberos.session.state': { |
| 'real': '/clusters/{clusterName}/services/KERBEROS?fields=Services/attributes/kdc_validation_result,Services/attributes/kdc_validation_failure_details', |
| 'mock': '' |
| }, |
| |
| 'admin.kerberize.cluster': { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}', |
| 'mock': '/data/wizard/kerberos/kerberize_cluster.json', |
| 'format' : function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'admin.unkerberize.cluster': { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| Clusters: { |
| security_type: "NONE" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.kerberize.cluster.force': { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}?force_toggle_kerberos=true', |
| 'mock': '/data/wizard/kerberos/kerberize_cluster.json', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| Clusters: { |
| security_type: "KERBEROS" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.unkerberize.cluster.skip': { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}?manage_kerberos_identities=false', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| Clusters: { |
| security_type: "NONE" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'get.cluster.artifact': { |
| 'real': '/clusters/{clusterName}/artifacts/{artifactName}?fields=artifact_data', |
| 'mock': '/data/wizard/kerberos/stack_descriptors.json' |
| }, |
| 'admin.kerberize.stack_descriptor': { |
| 'real': '/clusters/{clusterName}/kerberos_descriptors/STACK', |
| 'mock': '/data/wizard/kerberos/stack_descriptors.json' |
| }, |
| 'admin.kerberize.cluster_descriptor_artifact': { |
| 'real': '/clusters/{clusterName}/artifacts/kerberos_descriptor?fields=artifact_data', |
| 'mock': '/data/wizard/kerberos/stack_descriptors.json' |
| }, |
| 'admin.kerberize.cluster_descriptor': { |
| 'real': '/clusters/{clusterName}/kerberos_descriptors/COMPOSITE{queryParams}', |
| 'mock': '/data/wizard/kerberos/stack_descriptors.json' |
| }, |
| 'admin.kerberize.cluster_descriptor.stack': { |
| 'real': '/clusters/{clusterName}/kerberos_descriptors/STACK', |
| 'mock': '/data/wizard/kerberos/stack_descriptors.json' |
| }, |
| 'admin.kerberos.cluster.artifact.create': { |
| 'type': 'POST', |
| 'real': '/clusters/{clusterName}/artifacts/{artifactName}', |
| 'format' : function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'admin.kerberos.cluster.artifact.update': { |
| 'type': 'PUT', |
| 'real': '/clusters/{clusterName}/artifacts/{artifactName}', |
| 'format' : function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'admin.kerberos.cluster.csv': { |
| 'real': '/clusters/{clusterName}/kerberos_identities?fields=*&format=csv', |
| 'mock': '', |
| 'format': function(data) { |
| return { |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| 'admin.poll.kerberize.cluster.request': { |
| 'real': '/clusters/{clusterName}/requests/{requestId}?fields=stages/Stage/context,stages/Stage/status,stages/Stage/progress_percent,stages/tasks/*,Requests/*', |
| 'mock': '/data/wizard/kerberos/kerberize_cluster.json' |
| }, |
| 'admin.stack_upgrade.run_upgrade': { |
| 'real': '/clusters/{clusterName}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: data.data |
| }; |
| } |
| }, |
| 'admin.user.create': { |
| 'real': '/users/{user}', |
| 'mock': '/data/users/users.json', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| |
| 'admin.user.edit': { |
| 'real': '/users/{user}', |
| 'mock': '/data/users/users.json', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'admin.stack_upgrade.do_poll': { |
| 'real': '/clusters/{cluster}/requests/{requestId}?fields=tasks/*', |
| 'mock': '/data/wizard/{mock}' |
| }, |
| 'admin.upgrade.data': { |
| 'real': '/clusters/{clusterName}/upgrades/{id}?upgrade_groups/UpgradeGroup/status!=PENDING&fields=' + |
| 'Upgrade/progress_percent,Upgrade/request_context,Upgrade/request_status,Upgrade/direction,Upgrade/downgrade_allowed,' + |
| 'upgrade_groups/UpgradeGroup,' + |
| 'Upgrade/*,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/status,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/display_status,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/context,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/group_id,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/progress_percent,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/request_id,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/skippable,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/stage_id,' + |
| 'upgrade_groups/upgrade_items/UpgradeItem/text&' + |
| 'minimal_response=true', |
| 'mock': '/data/stack_versions/upgrade.json' |
| }, |
| 'admin.upgrade.state': { |
| 'real': '/clusters/{clusterName}/upgrades/{id}?fields=Upgrade/*', |
| 'mock': '/data/stack_versions/upgrade.json' |
| }, |
| 'admin.upgrade.finalizeContext': { |
| 'real': '/clusters/{clusterName}/upgrades/{id}?upgrade_groups/upgrade_items/UpgradeItem/status=HOLDING&fields=upgrade_groups/upgrade_items/UpgradeItem/context', |
| 'mock': '/data/stack_versions/upgrade.json' |
| }, |
| 'admin.upgrade.upgrade_item': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}/upgrade_groups/{groupId}/upgrade_items/{stageId}?fields=' + |
| 'UpgradeItem/group_id,' + |
| 'UpgradeItem/stage_id,' + |
| 'tasks/Tasks/command_detail,' + |
| 'tasks/Tasks/host_name,' + |
| 'tasks/Tasks/role,' + |
| 'tasks/Tasks/request_id,' + |
| 'tasks/Tasks/stage_id,' + |
| 'tasks/Tasks/status,' + |
| 'tasks/Tasks/structured_out&' + |
| 'minimal_response=true', |
| 'mock': '/data/stack_versions/upgrade_item.json' |
| }, |
| 'admin.upgrade.upgrade_task': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}/upgrade_groups/{groupId}/upgrade_items/{stageId}/tasks/{taskId}', |
| 'mock': '' |
| }, |
| 'admin.upgrade.service_checks': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}/upgrade_groups?upgrade_items/UpgradeItem/status=COMPLETED&upgrade_items/tasks/Tasks/status.in(FAILED,ABORTED,TIMEDOUT)&upgrade_items/tasks/Tasks/command=SERVICE_CHECK&fields=upgrade_items/tasks/Tasks/command_detail,tasks/Tasks/ops_display_name,upgrade_items/tasks/Tasks/status&minimal_response=true' |
| }, |
| 'admin.upgrade.update.options': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}', |
| 'mock': '/data/stack_versions/start_upgrade.json', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Upgrade": { |
| "skip_failures": data.skipComponentFailures, |
| "skip_service_check_failures": data.skipSCFailures |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.start': { |
| 'real': '/clusters/{clusterName}/upgrades', |
| 'mock': '/data/stack_versions/start_upgrade.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| timeout : 600000, |
| data: JSON.stringify({ |
| "Upgrade": { |
| "repository_version_id": data.id, |
| "upgrade_type": data.type, |
| "skip_failures": data.skipComponentFailures, |
| "skip_service_check_failures": data.skipSCFailures, |
| "direction": "UPGRADE" |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.downgrade.start': { |
| 'real': '/clusters/{clusterName}/upgrades', |
| 'mock': '/data/stack_versions/start_upgrade.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Upgrade": { |
| "upgrade_type": data.upgradeType, |
| "direction": "DOWNGRADE" |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.abort': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Upgrade": { |
| "request_status": "ABORTED", |
| "suspended": "false" |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.suspend': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Upgrade": { |
| "request_status": "ABORTED", |
| "suspended": "true" |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.retry': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Upgrade": { |
| "request_status": "PENDING" |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.revert': { |
| 'real': '/clusters/{clusterName}/upgrades', |
| 'mock': '/data/stack_versions/start_upgrade.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| timeout : 600000, |
| data: JSON.stringify({ |
| "Upgrade": { |
| "revert_upgrade_id": data.upgradeId |
| } |
| }) |
| } |
| } |
| }, |
| 'admin.upgrade.upgradeItem.setState': { |
| 'real': '/clusters/{clusterName}/upgrades/{upgradeId}/upgrade_groups/{groupId}/upgrade_items/{itemId}', |
| 'mock': '', |
| type: 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "UpgradeItem" : { |
| "status" : data.status |
| } |
| }) |
| }; |
| } |
| }, |
| 'admin.stack_versions.all': { |
| 'real': '/clusters/{clusterName}/stack_versions?fields=ClusterStackVersions/*,repository_versions/RepositoryVersions/*&minimal_response=true', |
| 'mock': '/data/stack_versions/stack_version_all.json' |
| }, |
| 'admin.stack_version.install.repo_version': { |
| 'real': '/clusters/{clusterName}/stack_versions', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| ClusterStackVersions: data.ClusterStackVersions |
| }) |
| } |
| }, |
| 'mock': '' |
| }, |
| |
| 'admin.stack_versions.edit.repo': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/repository_versions/{repoVersionId}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.repoVersion) |
| } |
| } |
| }, |
| 'admin.stack_versions.validate.repo': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/operating_systems/{osType}/repositories/{repoId}?validate_only=true', |
| 'mock': '', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Repositories": { |
| "base_url": data.baseUrl, |
| "repo_name": data.repoName |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.stack_versions.discard': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/repository_versions/{id}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "RepositoryVersions":{ |
| "hidden": "true" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.upgrade.pre_upgrade_check': { |
| 'real': '/clusters/{clusterName}/rolling_upgrades_check?fields=*&UpgradeChecks/repository_version_id={id}&UpgradeChecks/upgrade_type={type}', |
| 'mock': '/data/stack_versions/pre_upgrade_check.json' |
| }, |
| |
| 'admin.upgrade.get_supported_upgradeTypes': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/compatible_repository_versions?CompatibleRepositoryVersions/repository_version={toVersion}', |
| 'mock': '/data/stack_versions/supported_upgrade_types.json' |
| }, |
| |
| 'admin.upgrade.get_compatible_versions': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/compatible_repository_versions?fields=CompatibleRepositoryVersions/repository_version&minimal_response=true', |
| 'mock': '/data/stack_versions/supported_upgrade_types.json' |
| }, |
| |
| 'admin.kerberos_security.checks': { |
| //TODO when api will be known |
| 'real': '', |
| 'mock': '/data/stack_versions/pre_upgrade_check.json' |
| }, |
| |
| 'admin.kerberos_security.test_connection': { |
| 'real': '/kdc_check/{kdcHostname}', |
| 'mock': '', |
| 'format': function () { |
| return { |
| dataType: 'text' |
| }; |
| } |
| }, |
| |
| 'admin.kerberos_security.regenerate_keytabs': { |
| 'real': '/clusters/{clusterName}?regenerate_keytabs={type}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Clusters" : { |
| "security_type" : "KERBEROS" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.kerberos_security.regenerate_keytabs.service' : { |
| 'real': '/clusters/{clusterName}?regenerate_keytabs=all®enerate_components={serviceName}&config_update_policy=none', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Clusters" : { |
| "security_type" : "KERBEROS" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'admin.kerberos_security.regenerate_keytabs.host' : { |
| 'real': '/clusters/{clusterName}?regenerate_keytabs=all®enerate_hosts={hostName}&config_update_policy=none', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "Clusters" : { |
| "security_type" : "KERBEROS" |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'wizard.step1.post_version_definition_file.xml': { |
| 'real': '/version_definitions?dry_run=true', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| headers: { |
| 'X-Requested-By': 'ambari', |
| 'Content-Type': 'text/xml' |
| }, |
| type: 'POST', |
| data: data.data |
| } |
| } |
| }, |
| 'wizard.step1.post_version_definition_file.url': { |
| 'real': '/version_definitions?dry_run=true', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'wizard.step8.post_version_definition_file.xml': { |
| 'real': '/version_definitions', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| headers: { |
| 'X-Requested-By': 'ambari', |
| 'Content-Type': 'text/xml' |
| }, |
| type: 'POST', |
| data: data.data |
| } |
| } |
| }, |
| 'wizard.step8.post_version_definition_file': { |
| 'real': '/version_definitions', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'wizard.step1.get_repo_version_by_id': { |
| 'real': '/stacks/{stackName}/versions?fields=repository_versions/operating_systems/repositories/*' + |
| ',repository_versions/RepositoryVersions/*' + |
| '&repository_versions/RepositoryVersions/id={repoId}&Versions/stack_version={stackVersion}', |
| 'mock': '' |
| }, |
| |
| 'wizard.step1.get_supported_os_types': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}?fields=operating_systems/repositories/Repositories', |
| 'mock': '' |
| }, |
| |
| 'wizard.advanced_repositories.valid_url': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/operating_systems/{osType}/repositories/{repoId}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'wizard.get_version_definitions': { |
| 'real': '/version_definitions' |
| }, |
| 'wizard.delete_repository_versions': { |
| 'real': '/stacks/{stackName}/versions/{stackVersion}/repository_versions/{id}', |
| 'type': 'DELETE' |
| }, |
| 'wizard.service_components': { |
| 'real': '{stackUrl}/services?fields=StackServices/*,components/*,components/dependencies/Dependencies/scope,components/dependencies/Dependencies/service_name,artifacts/Artifacts/artifact_name', |
| 'mock': '/data/stacks/HDP-2.1/service_components.json' |
| }, |
| 'wizard.step9.installer.get_host_status': { |
| 'real': '/clusters/{cluster}/hosts?fields=Hosts/host_state,host_components/HostRoles/state', |
| 'mock': '/data/wizard/deploy/5_hosts/get_host_state.json' |
| }, |
| 'wizard.step9.load_log': { |
| 'real': '/clusters/{cluster}/requests/{requestId}?fields=tasks/Tasks/command,tasks/Tasks/command_detail,tasks/Tasks/ops_display_name,tasks/Tasks/exit_code,tasks/Tasks/start_time,tasks/Tasks/end_time,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status&minimal_response=true', |
| 'mock': '/data/wizard/deploy/5_hosts/poll_{numPolls}.json', |
| 'format': function () { |
| return { |
| dataType: 'text' |
| }; |
| } |
| }, |
| |
| 'wizard.step8.existing_cluster_names': { |
| 'real': '/clusters', |
| 'mock': '' |
| }, |
| |
| 'wizard.step8.create_cluster': { |
| 'real': '/clusters/{cluster}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.create_selected_services': { |
| 'type': 'POST', |
| 'real': '/clusters/{cluster}/services', |
| 'mock': '/data/stacks/HDP-2.1/recommendations.json', |
| 'format': function (data) { |
| return { |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.create_components': { |
| 'real': '/clusters/{cluster}/services?ServiceInfo/service_name={serviceName}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.register_host_to_cluster': { |
| 'real': '/clusters/{cluster}/hosts', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.register_host_to_component': { |
| 'real': '/clusters/{cluster}/hosts', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.apply_configuration_groups': { |
| 'real': '/clusters/{cluster}/config_groups', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| |
| 'wizard.step8.set_local_repos': { |
| 'real': '{stackVersionURL}/operating_systems/{osType}/repositories/{repoId}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| dataType: 'text', |
| data: data.data |
| } |
| } |
| }, |
| 'wizard.step3.jdk_check': { |
| 'real': '/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "context": "Check hosts", |
| "action": "check_host", |
| "parameters": { |
| "threshold": "60", |
| "java_home": data.java_home, |
| "jdk_location": data.jdk_location, |
| "check_execute_list": "java_home_check" |
| } |
| }, |
| "Requests/resource_filters": [{ |
| "hosts": data.host_names |
| }] |
| }) |
| } |
| } |
| }, |
| 'wizard.step3.jdk_check.get_results': { |
| 'real': '/requests/{requestIndex}?fields=*,tasks/Tasks/host_name,tasks/Tasks/status,tasks/Tasks/structured_out', |
| 'mock': '/data/requests/host_check/jdk_check_results.json' |
| }, |
| 'wizard.step3.host_info': { |
| 'real': '/hosts?fields=Hosts/total_mem,Hosts/cpu_count,Hosts/disk_info,Hosts/last_agent_env,Hosts/host_name,Hosts/os_type,Hosts/os_arch,Hosts/os_family,Hosts/ip', |
| 'mock': '/data/wizard/bootstrap/two_hosts_information.json', |
| 'format': function () { |
| return { |
| contentType: 'application/json' |
| }; |
| } |
| }, |
| |
| |
| 'wizard.loadrecommendations': { |
| 'real': '{stackVersionUrl}/recommendations', |
| 'mock': '/data/stacks/HDP-2.1/recommendations.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| var q = { |
| hosts: data.hosts, |
| services: data.services, |
| recommend: data.recommend |
| }; |
| |
| if (data.recommendations) { |
| q.recommendations = data.recommendations; |
| } |
| |
| return { |
| data: JSON.stringify(q) |
| } |
| } |
| }, |
| |
| |
| // TODO: merge with wizard.loadrecommendations query |
| 'config.recommendations': { |
| 'real': '{stackVersionUrl}/recommendations', |
| 'mock': '/data/configurations/recommendations/configuration_dependencies.json', |
| //'mock': '/data/stacks/HDP-2.1/recommendations_configs.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.dataToSend) |
| } |
| } |
| }, |
| |
| 'config.validations': { |
| 'real': '{stackVersionUrl}/validations', |
| 'mock': '/data/stacks/HDP-2.1/validations.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| hosts: data.hosts, |
| services: data.services, |
| validate: data.validate, |
| recommendations: data.recommendations |
| }) |
| } |
| } |
| }, |
| |
| |
| 'preinstalled.checks': { |
| 'real': '/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": data.RequestInfo, |
| "Requests/resource_filters": [data.resource_filters] |
| }) |
| } |
| } |
| }, |
| |
| 'preinstalled.checks.tasks': { |
| 'real': '/requests/{requestId}?fields=Requests/inputs,Requests/request_status,tasks/Tasks/host_name,' + |
| 'tasks/Tasks/structured_out/host_resolution_check/hosts_with_failures,' + |
| 'tasks/Tasks/structured_out/host_resolution_check/failed_count,' + |
| 'tasks/Tasks/structured_out/installed_packages,' + |
| 'tasks/Tasks/structured_out/last_agent_env_check,' + |
| 'tasks/Tasks/structured_out/transparentHugePage,' + |
| 'tasks/Tasks/stdout,' + |
| 'tasks/Tasks/stderr,' + |
| 'tasks/Tasks/error_log,' + |
| 'tasks/Tasks/command_detail,' + |
| 'tasks/Tasks/status' + |
| '&minimal_response=true', |
| 'mock': '/data/requests/host_check/1.json' |
| }, |
| |
| 'persist.get.text': { |
| 'real': '/persist/{key}', |
| 'mock': '', |
| 'type': 'GET', |
| 'format': function() { |
| return { |
| dataType: 'text' |
| } |
| } |
| }, |
| |
| 'persist.get': { |
| 'real': '/persist/{key}', |
| 'mock': '', |
| 'type': 'GET' |
| }, |
| 'persist.post': { |
| 'real': '/persist', |
| 'mock': '', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.keyValuePair) |
| } |
| } |
| }, |
| |
| 'wizard.step3.rerun_checks': { |
| 'real': '/hosts?fields=Hosts/last_agent_env', |
| 'mock': '/data/wizard/bootstrap/two_hosts_information.json', |
| 'format': function () { |
| return { |
| contentType: 'application/json' |
| }; |
| } |
| }, |
| 'wizard.step3.bootstrap': { |
| 'real': '/bootstrap/{bootRequestId}', |
| 'mock': '/data/wizard/bootstrap/poll_{numPolls}.json' |
| }, |
| 'wizard.step3.is_hosts_registered': { |
| 'real': '/hosts?fields=Hosts/host_status', |
| 'mock': '/data/wizard/bootstrap/single_host_registration.json' |
| }, |
| 'wizard.stacks': { |
| 'real': '/stacks', |
| 'mock': '/data/wizard/stack/stacks2.json' |
| }, |
| 'wizard.stacks_versions': { |
| 'real': '/stacks/{stackName}/versions?fields=Versions,operating_systems/repositories/Repositories', |
| 'mock': '/data/wizard/stack/{stackName}_versions.json' |
| }, |
| |
| 'wizard.stacks_versions_definitions': { |
| 'real': '/version_definitions?fields=VersionDefinition/stack_default,VersionDefinition/stack_repo_update_link_exists,VersionDefinition/max_jdk,VersionDefinition/min_jdk,operating_systems/repositories/Repositories/*,operating_systems/OperatingSystems/*,VersionDefinition/stack_services,VersionDefinition/repository_version' + |
| '&VersionDefinition/show_available=true&VersionDefinition/stack_name={stackName}', |
| 'mock': '/data/wizard/stack/{stackName}_version_definitions.json' |
| }, |
| 'wizard.launch_bootstrap': { |
| 'real': '/bootstrap', |
| 'mock': '/data/wizard/bootstrap/bootstrap.json', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| contentType: 'application/json', |
| data: data.bootStrapData, |
| popup: data.popup |
| } |
| } |
| }, |
| 'router.login': { |
| 'real': '/users/{loginName}?fields=*,privileges/PrivilegeInfo/cluster_name,privileges/PrivilegeInfo/permission_name', |
| 'mock': '/data/users/user_{usr}.json', |
| 'format': function (data) { |
| var statusCode = jQuery.extend({}, require('data/statusCodes')); |
| statusCode['403'] = function () { |
| console.log("Error code 403: Forbidden."); |
| }; |
| return { |
| statusCode: statusCode |
| }; |
| } |
| }, |
| 'users.all': { |
| real: '/users/?fields=*', |
| mock: '/data/users/users.json' |
| }, |
| 'users.privileges': { |
| real: '/privileges?fields=*', |
| mock: '/data/users/privileges.json' |
| }, |
| 'router.user.privileges': { |
| real: '/users/{userName}/privileges?fields=*', |
| mock: '/data/users/privileges_{userName}.json' |
| }, |
| 'router.user.authorizations': { |
| real: '/users/{userName}/authorizations?fields=*', |
| mock: '/data/users/privileges_{userName}.json' |
| }, |
| 'router.login.clusters': { |
| 'real': '/clusters?fields=Clusters/provisioning_state,Clusters/security_type,Clusters/version,Clusters/cluster_id', |
| 'mock': '/data/clusters/info.json' |
| }, |
| 'router.login.message': { |
| 'real': '/settings/motd', |
| 'mock': '/data/settings/motd.json' |
| }, |
| 'router.logoff': { |
| 'real': '/logout', |
| 'mock': '', |
| format: function() { |
| // Workaround for sign off within Basic Authorization |
| return { |
| username: Date.now(), |
| password: Date.now() |
| }; |
| } |
| }, |
| 'ambari.service': { |
| 'real': '/services/AMBARI/components/AMBARI_SERVER{fields}', |
| 'mock': '/data/services/ambari_server.json' |
| }, |
| |
| 'config_groups.create': { |
| 'real': '/clusters/{clusterName}/config_groups', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'config_groups.update': { |
| 'real': '/clusters/{clusterName}/config_groups/{id}', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| 'request_schedule.get': { |
| 'real': '/clusters/{clusterName}/request_schedules/{request_schedule_id}', |
| 'mock': '' |
| }, |
| 'request_schedule.get.pending': { |
| 'real': '/clusters/{clusterName}/request_schedules?fields=*&(RequestSchedule/status.in(SCHEDULED,IN_PROGRESS))', |
| 'mock': '' |
| }, |
| 'restart.hostComponents': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command": "RESTART", |
| "context": data.context, |
| "operation_level": data.operation_level |
| }, |
| "Requests/resource_filters": data.resource_filters |
| }) |
| } |
| } |
| }, |
| |
| 'restart.allServices': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command": "RESTART", |
| "context": 'Restart all services', |
| "operation_level": 'host_component' |
| }, |
| "Requests/resource_filters": [ |
| { |
| "hosts_predicate": "HostRoles/cluster_name=" + data.clusterName |
| } |
| ] |
| }) |
| } |
| } |
| }, |
| |
| 'restart.staleConfigs': { |
| 'real': "/clusters/{clusterName}/requests", |
| 'mock': "", |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command": "RESTART", |
| "context": "Restart all required services", |
| "operation_level": "host_component" |
| }, |
| "Requests/resource_filters": [ |
| { |
| "hosts_predicate": "HostRoles/stale_configs=true&HostRoles/cluster_name=" + data.clusterName |
| } |
| ] |
| }) |
| } |
| } |
| }, |
| |
| 'restart.custom.filter': { |
| 'real': "/clusters/{clusterName}/requests", |
| 'mock': "", |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command": "RESTART", |
| "context": data.context, |
| "operation_level": "host_component" |
| }, |
| "Requests/resource_filters": [ |
| { |
| "hosts_predicate": data.filter |
| } |
| ] |
| }) |
| } |
| } |
| }, |
| |
| 'bulk_request.decommission': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| 'RequestInfo': { |
| 'context': data.context, |
| 'command': 'DECOMMISSION', |
| 'parameters': data.parameters, |
| 'operation_level': { |
| 'level': "CLUSTER", |
| 'cluster_name': data.clusterName |
| } |
| }, |
| "Requests/resource_filters": [{"service_name": data.serviceName, "component_name": data.componentName}] |
| }) |
| } |
| } |
| }, |
| |
| 'bulk_request.hosts.passive_state': { |
| 'real': '/clusters/{clusterName}/hosts', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| context: data.requestInfo, |
| query: 'Hosts/host_name.in(' + data.hostNames + ')' |
| }, |
| Body: { |
| Hosts: { |
| maintenance_state: data.passive_state |
| } |
| } |
| }) |
| } |
| } |
| }, |
| |
| |
| 'bulk_request.hosts.update_rack_id': { |
| 'real': '/clusters/{clusterName}/hosts', |
| 'mock': '', |
| 'format': function(data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| context: data.requestInfo, |
| query: 'Hosts/host_name.in(' + data.hostNames + ')' |
| }, |
| Body: { |
| Hosts: { |
| rack_info: data.rackId |
| } |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'bulk_request.hosts.all_components.passive_state': { |
| 'real': '/clusters/{clusterName}/host_components', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify({ |
| RequestInfo: { |
| context: data.requestInfo, |
| query: data.query |
| }, |
| Body: { |
| HostRoles: { |
| maintenance_state: data.passive_state |
| } |
| } |
| }) |
| } |
| } |
| }, |
| 'views.info': { |
| 'real': '/views', |
| 'mock': '/data/views/views.json' |
| }, |
| /** |
| * Get all instances of all views across versions |
| */ |
| 'views.instances': { |
| 'real': '/views?fields=versions/instances/ViewInstanceInfo,versions/ViewVersionInfo/label&versions/ViewVersionInfo/system=false', |
| 'mock': '/data/views/instances.json' |
| }, |
| 'host.host_component.flume.metrics': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/host_components/FLUME_HANDLER?fields=metrics/flume/flume/{flumeComponent}/*', |
| 'mock': '' |
| }, |
| 'host.host_component.flume.metrics.timeseries': { |
| 'real': '', |
| 'mock': '', |
| format: function (data) { |
| return { |
| url: data.url |
| } |
| } |
| }, |
| 'host.host_components.filtered': { |
| 'real': '/clusters/{clusterName}/hosts?{fields}', |
| 'mock': '', |
| format: function (data) { |
| return { |
| headers: { |
| 'X-Http-Method-Override': 'GET' |
| }, |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": {"query": data.parameters} |
| }) |
| }; |
| } |
| }, |
| 'host.stack_versions.install': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}/stack_versions', |
| 'mock': '', |
| 'type': 'POST', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| "HostStackVersions": { |
| "stack": data.version.get('stack'), |
| "version": data.version.get('version'), |
| "repository_version": data.version.get('repoVersion') |
| } |
| }) |
| } |
| } |
| }, |
| |
| 'host.logging': { |
| 'real': '/clusters/{clusterName}/hosts/{hostName}?fields=host_components/logging,host_components/HostRoles/service_name{fields}{query}&minimal_response=true', |
| 'mock': '' |
| }, |
| 'components.filter_by_status': { |
| 'real': '/clusters/{clusterName}/components?fields=host_components/HostRoles/host_name,ServiceComponentInfo/component_name,ServiceComponentInfo/started_count{urlParams}&minimal_response=true', |
| 'mock': '' |
| }, |
| 'components.get_category': { |
| 'real': '/clusters/{clusterName}/components?fields=ServiceComponentInfo/component_name,ServiceComponentInfo/service_name,ServiceComponentInfo/category,ServiceComponentInfo/recovery_enabled,ServiceComponentInfo/total_count&minimal_response=true', |
| 'mock': '' |
| }, |
| 'components.get.staleConfigs': { |
| 'real': '/clusters/{clusterName}/components?host_components/HostRoles/stale_configs=true' + |
| '&fields=host_components/HostRoles/host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'components.update': { |
| 'real': '/clusters/{clusterName}/components?{urlParams}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify({ |
| RequestInfo: { |
| query: data.query |
| }, |
| ServiceComponentInfo: data.ServiceComponentInfo |
| }) |
| } |
| } |
| }, |
| 'hosts.all.install': { |
| 'real': '/hosts?minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.all': { |
| 'real': '/clusters/{clusterName}/hosts?minimal_response=true', |
| 'mock': '/data/hosts/HDP2/hosts.json' |
| }, |
| 'hosts.with_public_host_names': { |
| 'real': '/clusters/{clusterName}/hosts?fields=Hosts/public_host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.for_quick_links': { |
| 'real': '/clusters/{clusterName}/hosts?Hosts/host_name.in({hosts})&fields=Hosts/public_host_name{urlParams}&minimal_response=true', |
| 'mock': '/data/hosts/quick_links.json' |
| }, |
| 'hosts.confirmed.install': { |
| 'real': '/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/maintenance_state&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.confirmed': { |
| 'real': '/clusters/{clusterName}/hosts?fields=host_components/HostRoles/state&minimal_response=true', |
| 'mock': '/data/hosts/HDP2/hosts.json' |
| }, |
| 'hosts.with_searchTerm': { |
| 'real': '/clusters/{clusterName}/hosts?fields=Hosts/{facet}&minimal_response=true&page_size={page_size}', |
| 'mock': '', |
| format: function (data) { |
| return { |
| headers: { |
| 'X-Http-Method-Override': 'GET' |
| }, |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": {"query": (data.searchTerm ? "Hosts/"+ data.facet +".matches(.*" + data.searchTerm + ".*)" : "")} |
| }) |
| }; |
| } |
| }, |
| 'hosts.confirmed.minimal': { |
| 'real': '/clusters/{clusterName}/hosts?fields=host_components/HostRoles/state&minimal_response=true', |
| 'mock': '/data/hosts/HDP2/hosts.json' |
| }, |
| 'hosts.heartbeat_lost': { |
| 'real': '/clusters/{clusterName}/hosts?Hosts/host_state=HEARTBEAT_LOST', |
| 'mock': '' |
| }, |
| 'host_components.all': { |
| 'real': '/clusters/{clusterName}/host_components?fields=HostRoles/host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'host_components.with_services_names': { |
| 'real': '/clusters/{clusterName}/host_components?fields=component/ServiceComponentInfo/service_name,HostRoles/host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'components.get_installed': { |
| 'real': '/clusters/{clusterName}/components', |
| 'mock': '' |
| }, |
| 'hosts.heatmaps': { |
| 'real': '/clusters/{clusterName}/hosts?fields=Hosts/rack_info,Hosts/host_name,Hosts/public_host_name,Hosts/os_type,Hosts/ip,host_components,metrics/disk,metrics/cpu/cpu_system,metrics/cpu/cpu_user,metrics/memory/mem_total,metrics/memory/mem_free&minimal_response=true', |
| 'mock': '/data/hosts/HDP2/hosts.json' |
| }, |
| 'namenode.cpu_wio': { |
| 'real': '/clusters/{clusterName}/hosts/{nnHost}?fields=metrics/cpu', |
| 'mock': '/data/cluster_metrics/cpu.json' |
| }, |
| |
| 'custom_action.create': { |
| 'real': '/requests', |
| 'mock': '', |
| 'format': function (data) { |
| var requestInfo = { |
| context: 'Check host', |
| action: 'check_host', |
| parameters: {} |
| }; |
| $.extend(true, requestInfo, data.requestInfo); |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| 'RequestInfo': requestInfo, |
| 'Requests/resource_filters': [{ |
| hosts: data.filteredHosts.join(',') |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'cluster.custom_action.create': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| var requestInfo = { |
| context: 'Check host', |
| action: 'check_host', |
| parameters: {} |
| }; |
| $.extend(true, requestInfo, data.requestInfo); |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| 'RequestInfo': requestInfo, |
| 'Requests/resource_filters': [{ |
| hosts: data.filteredHosts.join(',') |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'custom_action.request': { |
| 'real': '/requests/{requestId}/tasks/{taskId}', |
| 'mock': '/data/requests/1.json', |
| 'format': function (data) { |
| return { |
| requestId: data.requestId, |
| taskId: data.taskId || '' |
| } |
| } |
| }, |
| 'hosts.high_availability.wizard': { |
| 'real': '/clusters/{clusterName}/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/maintenance_state&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.security.wizard': { |
| 'real': '/clusters/{clusterName}/hosts?fields=host_components/HostRoles/service_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'host_component.installed.on_hosts': { |
| 'real': '/clusters/{clusterName}/host_components?HostRoles/component_name={componentName}&HostRoles/host_name.in({hostNames})&fields=HostRoles/host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.by_component.one': { |
| 'real': '/clusters/{clusterName}/hosts?host_components/HostRoles/component_name.in({componentNames})&fields=host_components,Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/ip,Hosts/os_type,Hosts/os_arch,Hosts/public_host_name&page_size=1&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.by_component.all': { |
| 'real': '/clusters/{clusterName}/hosts?host_components/HostRoles/component_name.in({componentNames})&fields=host_components,Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/ip,Hosts/os_type,Hosts/os_arch,Hosts/public_host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.config_groups': { |
| 'real': '/clusters/{clusterName}/hosts?fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/ip,Hosts/os_type,Hosts/os_arch,Hosts/public_host_name,host_components&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.info.install': { |
| 'real': '/hosts?Hosts/host_name.in({hostNames})&fields=Hosts/cpu_count,Hosts/disk_info,Hosts/total_mem,Hosts/ip,Hosts/os_type,Hosts/os_arch,Hosts/public_host_name&minimal_response=true', |
| 'mock': '' |
| }, |
| 'hosts.ips': { |
| 'real': '/hosts?Hosts/host_name.in({hostNames})&fields=Hosts/ip', |
| 'mock': '' |
| }, |
| 'hosts.host_components.pre_load': { |
| real: '', |
| mock: '/data/hosts/HDP2/hosts.json', |
| format: function (data) { |
| return { |
| url: data.url |
| } |
| } |
| }, |
| 'hosts.metrics.lazy_load': { |
| real: '', |
| mock: '/data/hosts/HDP2/hosts.json', |
| format: function (data) { |
| return { |
| url: data.url, |
| headers: { |
| 'X-Http-Method-Override': 'GET' |
| }, |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": {"query": data.parameters} |
| }) |
| } |
| } |
| }, |
| 'hosts.bulk.operations': { |
| real: '/clusters/{clusterName}/hosts?fields=Hosts/host_name,Hosts/host_state,Hosts/maintenance_state,' + |
| 'host_components/HostRoles/state,host_components/HostRoles/maintenance_state,' + |
| 'Hosts/total_mem,stack_versions/HostStackVersions,stack_versions/repository_versions/RepositoryVersions/repository_version,' + |
| 'stack_versions/repository_versions/RepositoryVersions/id,' + |
| 'host_components/HostRoles/stale_configs' + |
| 'host_components/HostRoles/service_name&minimal_response=true', |
| mock: '', |
| format: function (data) { |
| return { |
| headers: { |
| 'X-Http-Method-Override': 'GET' |
| }, |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": {"query": data.parameters} |
| }) |
| } |
| } |
| }, |
| |
| 'logtail.get': { |
| 'real': '/clusters/{clusterName}/logging/searchEngine?component_name={logComponentName}&host_name={hostName}&pageSize={pageSize}&startIndex={startIndex}', |
| 'mock': '' |
| }, |
| |
| 'service.serviceConfigVersions.get': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&fields=service_config_version,user,hosts,group_id,group_name,is_current,createtime,service_name,service_config_version_note,stack_id,is_cluster_compatible&sortBy=service_config_version.desc&minimal_response=true', |
| mock: '/data/configurations/service_versions.json' |
| }, |
| 'service.serviceConfigVersions.get.current': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?service_name.in({serviceNames})&is_current=true&fields=*', |
| mock: '/data/configurations/service_versions.json' |
| }, |
| 'service.serviceConfigVersions.get.current.not.default': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?is_current=true&group_id>0&fields=*', |
| mock: '/data/configurations/service_versions.json' |
| }, |
| 'service.serviceConfigVersions.get.total': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?page_size=1&minimal_response=true', |
| mock: '/data/configurations/service_versions_total.json' |
| }, |
| 'service.serviceConfigVersion.get': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?service_name={serviceName}&service_config_version={serviceConfigVersion}', |
| mock: '/data/configurations/service_version.json' |
| }, |
| 'service.serviceConfigVersions.get.multiple': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?(service_name={serviceName}&service_config_version.in({serviceConfigVersions})){additionalParams}', |
| mock: '/data/configurations/service_version.json', |
| format: function (data) { |
| return { |
| serviceConfigVersions: data.serviceConfigVersions.join(','), |
| additionalParams: data.additionalParams || '' |
| } |
| } |
| }, |
| 'service.serviceConfigVersions.get.suggestions': { |
| real: '/clusters/{clusterName}/configurations/service_config_versions?fields={key}&minimal_response=true', |
| mock: '' |
| }, |
| 'service.serviceConfigVersion.revert': { |
| 'real': '/clusters/{clusterName}', |
| 'mock': '', |
| 'type': 'PUT', |
| 'format': function (data) { |
| return { |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| |
| 'service.mysql.clean': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command" : "CLEAN", "context" : "Clean MYSQL Server" |
| }, |
| "Requests/resource_filters": [{ |
| "service_name" : "HIVE", |
| "component_name" : "MYSQL_SERVER", |
| "hosts": data.host |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'service.mysql.configure': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command" : "CONFIGURE", "context" : "Configure MYSQL Server" |
| }, |
| "Requests/resource_filters": [{ |
| "service_name" : "HIVE", |
| "component_name" : "MYSQL_SERVER", |
| "hosts": data.host |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'service.mysql.testHiveConnection': { |
| 'real': '/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "context": "Check host", |
| "action": "check_host", |
| "parameters":{ |
| "db_name": data.db_name, |
| "user_name": data.db_user, |
| "user_passwd": data.db_pass, |
| "db_connection_url": data.db_connection_url, |
| "jdk_location": data.jdk_location, |
| "threshold":"60", |
| "ambari_server_host": "c6403.ambari.apache.org", |
| "check_execute_list":"db_connection_check", |
| "java_home": data.java_home, |
| "jdk_name": data.jdk_name |
| } |
| }, |
| "Requests/resource_filters": [{"hosts": data.hosts}]}) |
| } |
| } |
| }, |
| |
| 'widgets.get': { |
| real: '/clusters/{clusterName}/widgets?{urlParams}', |
| mock: '/data/widget_layouts/{sectionName}_WIDGETS.json' |
| }, |
| |
| 'widgets.all.shared.get': { |
| real: '/clusters/{clusterName}/widgets?WidgetInfo/scope=CLUSTER&fields=*', |
| mock: '/data/widget_layouts/all_shared_widgets.json' |
| }, |
| |
| 'widgets.all.mine.get': { |
| real: '/clusters/{clusterName}/widgets?WidgetInfo/scope=USER&WidgetInfo/author={loginName}&fields=*', |
| mock: '/data/widget_layouts/all_mine_widgets.json' |
| }, |
| |
| 'widgets.layout.stackDefined.get': { |
| real: '{stackVersionURL}/services/{serviceName}/artifacts/widget_descriptor', |
| mock: '/data/widget_layouts/HBASE/stack_layout.json' |
| }, |
| |
| 'widget.layout.id.get': { |
| real: '/clusters/{clusterName}/widget_layouts/{layoutId}', |
| mock: '/data/widget_layouts/{serviceName}/default_dashboard.json' |
| }, |
| |
| 'widget.layout.name.get': { |
| real: '/clusters/{clusterName}/widget_layouts?WidgetLayoutInfo/layout_name={name}', |
| mock: '/data/widget_layouts/{serviceName}/default_dashboard.json' |
| }, |
| |
| 'widget.layout.delete': { |
| real: '/clusters/{clusterName}/widget_layouts/{layoutId}', |
| type: 'DELETE' |
| }, |
| |
| 'widget.layout.get': { |
| real: '/clusters/{clusterName}/widget_layouts?{urlParams}', |
| mock: '/data/widget_layouts/{serviceName}/default_dashboard.json' |
| }, |
| |
| 'widget.layout.edit': { |
| real: '/clusters/{clusterName}/widget_layouts/{layoutId}', |
| mock: '', |
| format: function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| |
| 'widget.layout.create': { |
| real: '/clusters/{clusterName}/widget_layouts', |
| mock: '', |
| format: function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| |
| 'widgets.layout.userDefined.get': { |
| real: '/users/{loginName}/widget_layouts?section_name={sectionName}', |
| mock: '/data/widget_layouts/HBASE/empty_user_layout.json' |
| }, |
| |
| 'widgets.layouts.get': { |
| real: '/users?widget_layouts/section_name={sectionName}&widget_layouts/scope=CLUSTER', |
| mock: '/data/widget_layouts/HBASE/layouts.json' |
| }, |
| |
| 'widgets.layouts.active.get': { |
| real: '/users/{userName}/activeWidgetLayouts?{urlParams}', |
| mock: '/data/widget_layouts/{sectionName}.json' |
| }, |
| |
| 'widgets.layouts.all.active.get': { |
| real: '/users/{userName}/activeWidgetLayouts', |
| mock: '' |
| }, |
| |
| |
| 'widget.activelayouts.edit': { |
| real: '/users/{userName}/activeWidgetLayouts/', |
| mock: '', |
| format: function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| } |
| } |
| }, |
| |
| |
| 'widget.action.delete': { |
| real: '/clusters/{clusterName}/widgets/{id}', |
| mock: '', |
| format: function (data) { |
| return { |
| type: 'DELETE' |
| } |
| } |
| }, |
| |
| 'widgets.serviceComponent.metrics.get': { |
| real: '/clusters/{clusterName}/services/{serviceName}/components/{componentName}?fields={metricPaths}&format=null_padding', |
| mock: '/data/metrics/{serviceName}/Append_num_ops_&_Delete_num_ops.json' |
| }, |
| |
| 'widgets.hostComponent.metrics.get': { |
| real: '/clusters/{clusterName}/host_components?HostRoles/component_name={componentName}{hostComponentCriteria}&fields={metricPaths}&format=null_padding{selectedHostsParam}', |
| mock: '/data/metrics/{serviceName}/Append_num_ops.json' |
| }, |
| |
| 'widgets.hosts.metrics.get': { |
| real: '/clusters/{clusterName}/hosts?fields={metricPaths}', |
| mock: '/data/metrics/{serviceName}/Append_num_ops.json' |
| }, |
| |
| 'widgets.wizard.metrics.get': { |
| real: '{stackVersionURL}/services?artifacts/Artifacts/artifact_name=metrics_descriptor&StackServices/service_name.in({serviceNames})&fields=artifacts/*', |
| mock: '/data/metrics/HBASE/definition.json' |
| }, |
| |
| 'widgets.wizard.add': { |
| real: '/clusters/{clusterName}/widgets/', |
| mock: '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify(data.data) |
| }; |
| } |
| }, |
| |
| 'widgets.wizard.edit': { |
| real: '/clusters/{clusterName}/widgets/{widgetId}', |
| mock: '', |
| 'format': function (data) { |
| return { |
| type: 'PUT', |
| data: JSON.stringify(data.data) |
| }; |
| } |
| }, |
| |
| 'service.components.load': { |
| real: '/clusters/{clusterName}/services?fields=components&minimal_response=true', |
| mock: '/data/services/components.json' |
| }, |
| |
| 'nameNode.federation.formatNameNode': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command" : "FORMAT", "context" : "Format NameNode" |
| }, |
| "Requests/resource_filters": [{ |
| "service_name" : "HDFS", |
| "component_name" : "NAMENODE", |
| "hosts": data.host |
| }] |
| }) |
| } |
| } |
| }, |
| |
| 'nameNode.federation.formatZKFC': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command" : "FORMAT", "context" : "Format ZKFC" |
| }, |
| "Requests/resource_filters": [{ |
| "service_name" : "HDFS", |
| "component_name" : "ZKFC", |
| "hosts": data.host |
| }] |
| }) |
| } |
| } |
| }, |
| 'nameNode.federation.bootstrapNameNode': { |
| 'real': '/clusters/{clusterName}/requests', |
| 'mock': '', |
| 'format': function (data) { |
| return { |
| type: 'POST', |
| data: JSON.stringify({ |
| "RequestInfo": { |
| "command" : "BOOTSTRAP_STANDBY", "context" : "Bootstrap NameNode" |
| }, |
| "Requests/resource_filters": [{ |
| "service_name" : "HDFS", |
| "component_name" : "NAMENODE", |
| "hosts": data.host |
| }] |
| }) |
| } |
| } |
| }, |
| 'hiveServerInteractive.getStatus': { |
| real: '', |
| mock: '', |
| format: function (data) { |
| return { |
| url: 'http://' + data.hsiHost + ':' + data.port + '/leader' |
| } |
| } |
| } |
| }; |
| /** |
| * Replace data-placeholders to its values |
| * |
| * @param {String} url |
| * @param {Object} data |
| * @return {String} |
| */ |
| var formatUrl = function (url, data) { |
| if (!url) return null; |
| var keys = url.match(/\{\w+\}/g); |
| keys = (keys === null) ? [] : keys; |
| if (keys) { |
| keys.forEach(function (key) { |
| var raw_key = key.substr(1, key.length - 2); |
| var replace; |
| if (!data || !data[raw_key]) { |
| replace = ''; |
| } |
| else { |
| replace = data[raw_key]; |
| } |
| url = url.replace(new RegExp(key, 'g'), replace); |
| }); |
| } |
| return url; |
| }; |
| |
| /** |
| * this = object from config |
| * @return {Object} |
| */ |
| var formatRequest = function (data) { |
| var opt = { |
| type: this.type || 'GET', |
| timeout: App.timeout, |
| dataType: 'json', |
| headers: {} |
| }; |
| if (App.get('testMode')) { |
| opt.url = formatUrl(this.mock ? this.mock : '', data); |
| opt.type = 'GET'; |
| } |
| else { |
| var prefix = this.apiPrefix != null ? this.apiPrefix : App.apiPrefix; |
| opt.url = prefix + formatUrl(this.real, data); |
| } |
| |
| if (this.format) { |
| jQuery.extend(opt, this.format(data, opt)); |
| } |
| if (!('headers' in opt && 'Content-Type' in opt.headers) && opt.contentType === undefined) { |
| // With the default www-url-form-encoded Content-Type KNOX would corrupt the json content. |
| opt.headers['Content-Type'] = 'text/plain'; |
| } |
| var statusCode = jQuery.extend({}, require('data/statusCodes')); |
| statusCode['404'] = function () { |
| console.log("Error code 404: URI not found. -> " + opt.url); |
| }; |
| opt.statusCode = statusCode; |
| return opt; |
| }; |
| |
| /** |
| * transform GET to POST call |
| * @param {object} opt |
| * @returns {object} opt |
| */ |
| var doGetAsPost = function(opt) { |
| var delimiterPos = opt.url.indexOf('?'); |
| var fieldsIndex = opt.url.indexOf('&fields'); |
| |
| opt.type = "POST"; |
| opt.headers["X-Http-Method-Override"] = "GET"; |
| if (delimiterPos !== -1) { |
| var query = fieldsIndex !== -1 ? opt.url.substring(delimiterPos + 1, fieldsIndex) : opt.url.substr(delimiterPos + 1); |
| opt.data = JSON.stringify({ |
| "RequestInfo": {"query" : query} |
| }); |
| if (fieldsIndex !== -1) { |
| opt.url = opt.url.substr(0, delimiterPos) + '?' + opt.url.substr(fieldsIndex + 1) + '&_=' + App.dateTime(); |
| } else { |
| opt.url = opt.url.substr(0, delimiterPos) + '?_=' + App.dateTime(); |
| } |
| } else { |
| opt.url += '?_=' + App.dateTime(); |
| } |
| return opt; |
| }; |
| |
| /** |
| * Wrapper for all ajax requests |
| * |
| * @type {Object} |
| */ |
| var ajax = Em.Object.extend({ |
| /** |
| * max number of symbols in URL of GET call |
| * @const |
| * @type {number} |
| */ |
| MAX_GET_URL_LENGTH: 2048, |
| |
| consoleMsg: function(name, url) { |
| return Em.I18n.t('app.logger.ajax').format(name, url ? url.substr(7, 100) : ''); |
| }, |
| |
| /** |
| * Send ajax request |
| * |
| * @param {Object} config |
| * @return {$.ajax} jquery ajax object |
| * |
| * config fields: |
| * name - url-key in the urls-object *required* |
| * sender - object that send request (need for proper callback initialization) *required* |
| * data - object with data for url-format |
| * beforeSend - method-name for ajax beforeSend response callback |
| * success - method-name for ajax success response callback |
| * error - method-name for ajax error response callback |
| * callback - callback from <code>App.updater.run</code> library |
| */ |
| send: function (config) { |
| |
| if (!config.sender) { |
| console.warn('Ajax sender should be defined!'); |
| return null; |
| } |
| |
| var loadingPopup = null; |
| var loadingPopupTimeout = null; |
| if(config.hasOwnProperty("showLoadingPopup") && config.showLoadingPopup === true) { |
| loadingPopupTimeout = setTimeout(function() { |
| loadingPopup = App.ModalPopup.show({ |
| header: Em.I18n.t('common.loading.eclipses'), |
| backdrop: false, |
| primary: false, |
| secondary: false, |
| bodyClass: Em.View.extend({ |
| template: Em.Handlebars.compile('{{view App.SpinnerView}}') |
| }) |
| }); |
| }, 500); |
| } |
| |
| // default parameters |
| var params = { |
| clusterName: (App.get('clusterName') || App.clusterStatus.get('clusterName')) |
| }; |
| |
| // extend default parameters with provided |
| if (config.hasOwnProperty("data") && config.data) { |
| jQuery.extend(params, config.data); |
| } |
| |
| var opt = {}; |
| if (!urls[config.name]) { |
| console.warn('Invalid name provided `' + config.name + '`!'); |
| return null; |
| } |
| opt = formatRequest.call(urls[config.name], params); |
| |
| var consoleMsg = this.consoleMsg(config.name, opt.url); |
| |
| App.logger.setTimer(consoleMsg); |
| |
| if (opt.url && opt.url.length > this.get('MAX_GET_URL_LENGTH')) { |
| opt = doGetAsPost(opt); |
| } |
| |
| opt.context = this; |
| |
| // object sender should be provided for processing beforeSend, success and error responses |
| opt.beforeSend = function (xhr) { |
| if (config.beforeSend) { |
| config.sender[config.beforeSend](opt, xhr, params); |
| } |
| }; |
| opt.success = function (data, textStatus, request) { |
| if (config.success) { |
| config.sender[config.success](data, opt, params, request); |
| } |
| }; |
| opt.error = function (request, ajaxOptions, error) { |
| var KDCErrorMsg = this.getKDCErrorMgs(request); |
| if (!Em.isNone(KDCErrorMsg)) { |
| this.defaultErrorKDCHandler(opt, KDCErrorMsg); |
| } else if (config.error) { |
| config.sender[config.error](request, ajaxOptions, error, opt, params); |
| } else { |
| this.defaultErrorHandler(request, opt.url, opt.type); |
| } |
| }; |
| opt.complete = function () { |
| if (loadingPopupTimeout) { |
| clearTimeout(loadingPopupTimeout); |
| } |
| if(loadingPopup) { |
| Em.tryInvoke(loadingPopup, 'hide'); |
| } |
| App.logger.logTimerIfMoreThan(consoleMsg, 1000); |
| if (config.callback) { |
| config.callback(); |
| } |
| }; |
| |
| /** |
| * run this handler when click cancle on KDC error popup |
| */ |
| if (config.kdcCancelHandler) { |
| opt.kdcCancelHandler = config.kdcCancelHandler; |
| } |
| |
| if ($.mocho) { |
| opt.url = 'http://' + $.hostName + opt.url; |
| } |
| return $.ajax(opt); |
| }, |
| |
| // A single instance of App.ModalPopup view |
| modalPopup: null, |
| |
| /** |
| * Upon error with one of these statuses modal should be displayed |
| * @type {Array} |
| */ |
| statuses: [500, 401, 407, 413], |
| |
| /** |
| * defaultErrorHandler function is referred from App.ajax.send function and App.HttpClient.defaultErrorHandler function |
| * @jqXHR {jqXHR Object} |
| * @url {string} |
| * @method {String} Http method |
| * @showStatus {number} HTTP response code which should be shown. Default is 500. |
| */ |
| defaultErrorHandler: function (jqXHR, url, method, showStatus) { |
| method = method || 'GET'; |
| var self = this; |
| showStatus = (Em.isNone(showStatus)) ? this.get('statuses') : [showStatus]; |
| try { |
| var json = $.parseJSON(jqXHR.responseText); |
| var message = json.message; |
| } catch (err) { |
| } |
| |
| if (showStatus.contains(jqXHR.status) && !this.get('modalPopup')) { |
| this.set('modalPopup', App.ModalPopup.show({ |
| elementId: 'default-error-modal', |
| header: Em.I18n.t('common.error'), |
| secondary: false, |
| onPrimary: function () { |
| this.hide(); |
| self.set('modalPopup', null); |
| }, |
| bodyClass: App.AjaxDefaultErrorPopupBodyView.extend({ |
| type: method, |
| url: url, |
| status: jqXHR.status, |
| message: message |
| }) |
| })); |
| } |
| }, |
| |
| /** |
| * defines if it's admin session expiration error |
| * and if so returns short error message |
| * @param jqXHR |
| * @returns {string|null} |
| */ |
| getKDCErrorMgs: function(jqXHR) { |
| try { |
| var message = $.parseJSON(jqXHR.responseText).message; |
| } catch (err) {} |
| if (jqXHR.status === 400 && message) { |
| return App.format.kdcErrorMsg(message, true); |
| } |
| }, |
| |
| /** |
| * default handler for admin session expiration error |
| * @param {object} opt |
| * @param {string} msg |
| * @returns {*} |
| */ |
| defaultErrorKDCHandler: function(opt, msg) { |
| return App.showInvalidKDCPopup(opt, msg); |
| }, |
| |
| /** |
| * Abort all requests stored in the certain array |
| * @param requestsArray |
| */ |
| abortRequests: function (requestsArray) { |
| requestsArray.forEach(function (xhr) { |
| xhr.isForcedAbort = true; |
| Em.tryInvoke(xhr, 'abort'); |
| }); |
| requestsArray.clear(); |
| } |
| |
| }); |
| |
| /** |
| * Add few access-methods for test purposes |
| */ |
| if ($.mocho) { |
| ajax.reopen({ |
| /** |
| * Don't use it anywhere except tests! |
| * @returns {Array} |
| */ |
| fakeGetUrlNames: function () { |
| return Em.keys(urls); |
| }, |
| |
| /** |
| * Don't use it anywhere except tests! |
| * @param name |
| * @returns {*} |
| */ |
| fakeGetUrl: function (name) { |
| return urls[name]; |
| }, |
| |
| /** |
| * Don't use it anywhere except tests! |
| * @param url |
| * @param data |
| * @returns {String} |
| */ |
| fakeFormatUrl: function (url, data) { |
| return formatUrl(url, data); |
| }, |
| |
| /** |
| * Don't use it anywhere except tests! |
| * @param urlObj |
| * @param data |
| * @returns {Object} |
| */ |
| fakeFormatRequest: function (urlObj, data) { |
| return formatRequest.call(urlObj, data); |
| }, |
| |
| /** |
| * Don't use it anywhere except tests! |
| * @param urlObj |
| * @param data |
| * @returns {Object} |
| */ |
| fakeDoGetAsPost: function (urlObj, data) { |
| return doGetAsPost.call(urlObj, data); |
| } |
| }); |
| } |
| |
| App.ajax = ajax.create({}); |