diff options
Diffstat (limited to 'catalog-be/src/test/resources')
9 files changed, 839 insertions, 19 deletions
diff --git a/catalog-be/src/test/resources/application-context-test.xml b/catalog-be/src/test/resources/application-context-test.xml new file mode 100644 index 0000000000..9d50219354 --- /dev/null +++ b/catalog-be/src/test/resources/application-context-test.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:aop="http://www.springframework.org/schema/aop" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> + + <context:annotation-config /> + <aop:aspectj-autoproxy proxy-target-class="true" /> + + <bean class="org.openecomp.sdc.be.components.distribution.engine.DmaapConsumer" /> + <bean class="org.openecomp.sdc.be.components.distribution.engine.DmaapClientFactory" /> + <bean class="org.openecomp.sdc.be.components.distribution.engine.ExecutorFactory" /> + <bean class="org.openecomp.sdc.be.components.distribution.engine.DmaapHealth" /> + +</beans> diff --git a/catalog-be/src/test/resources/config/catalog-be/DME2preferredRouter.txt b/catalog-be/src/test/resources/config/catalog-be/DME2preferredRouter.txt new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/catalog-be/src/test/resources/config/catalog-be/DME2preferredRouter.txt diff --git a/catalog-be/src/test/resources/config/catalog-be/configuration.yaml b/catalog-be/src/test/resources/config/catalog-be/configuration.yaml index 2ec7124e1c..f948f6e3cc 100644 --- a/catalog-be/src/test/resources/config/catalog-be/configuration.yaml +++ b/catalog-be/src/test/resources/config/catalog-be/configuration.yaml @@ -6,7 +6,8 @@ identificationHeaderFields: - HTTP_CSP_WSTYPE # catalog backend hostname -beFqdn: sdccatalog.att.com +beFqdn: localhost +# sdccatalog.att.com # catalog backend http port beHttpPort: 8080 @@ -20,14 +21,14 @@ beProtocol: http # catalog backend ssl port beSslPort: 8443 -version: 1.0 +version: 1.1.0 released: 2012-11-30 toscaConformanceLevel: 5.0 minToscaConformanceLevel: 3.0 titanCfgFile: /home/vagrant/catalog-be/config/catalog-be/titan.properties -titanInMemoryGraph: true -titanLockTimeout: 600 +titanInMemoryGraph: false +titanLockTimeout: 1800 # The interval to try and reconnect to titan DB when it is down during ASDC startup: titanReconnectIntervalInSeconds: 3 @@ -40,7 +41,6 @@ esReconnectIntervalInSeconds: 3 uebHealthCheckReconnectIntervalInSeconds: 15 uebHealthCheckReadTimeout: 4 - # Protocols protocols: - http @@ -74,7 +74,7 @@ neo4j: cassandraConfig: cassandraHosts: ['localhost'] - localDataCenter: + localDataCenter: datacenter1 reconnectTimeout : 30000 authenticate: false username: koko @@ -147,6 +147,7 @@ resourceTypes: &allResourceTypes - VF - VFCMT - Abstract + - CVFC # validForResourceTypes usage # validForResourceTypes: @@ -296,9 +297,6 @@ serviceDeploymentArtifacts: YANG_XML: acceptedTypes: - xml - UCPE_LAYER_2_CONFIGURATION: - acceptedTypes: - - xml VNF_CATALOG: acceptedTypes: - xml @@ -308,6 +306,10 @@ serviceDeploymentArtifacts: MODEL_QUERY_SPEC: acceptedTypes: - xml + UCPE_LAYER_2_CONFIGURATION: + acceptedTypes: + - xml + #AAI Artifacts AAI_SERVICE_MODEL: acceptedTypes: @@ -507,6 +509,7 @@ resourceInformationalArtifacts: acceptedTypes: validForResourceTypes: - VFC + - CVFC - CP - VL - VF @@ -524,6 +527,7 @@ resourceInformationalArtifacts: validForResourceTypes: - VF - VFC + - CVFC resourceInformationalDeployedArtifacts: @@ -552,6 +556,11 @@ onboarding: downloadCsarUri: "/onboarding-api/v1.0/vendor-software-products/packages" healthCheckUri: "/onboarding-api/v1.0/healthcheck" +dcae: + protocol: http + host: 127.0.0.1 + port: 8080 + healthCheckUri: "/dcae/healthCheck" switchoverDetector: gBeFqdn: AIO-BE.ecomp.idns.cip.com @@ -574,7 +583,7 @@ switchoverDetector: applicationL1Cache: datatypes: - enabled: false + enabled: true firstRunDelay: 10 pollIntervalInSec: 60 @@ -586,8 +595,8 @@ applicationL2Cache: servicesSizeInCache: 200 productsSizeInCache: 100 queue: - syncIntervalInSecondes: 60 - waitOnShutDownInMinutes: 30 + syncIntervalInSecondes: 43200 + waitOnShutDownInMinutes: 10 numberOfCacheWorkers: 4 toscaValidators: @@ -611,10 +620,12 @@ vfModuleProperties: genericAssetNodeTypes: VFC: org.openecomp.resource.abstract.nodes.VFC + CVFC: org.openecomp.resource.abstract.nodes.VFC VF : org.openecomp.resource.abstract.nodes.VF PNF: org.openecomp.resource.abstract.nodes.PNF Service: org.openecomp.resource.abstract.nodes.service +workloadContext: Production environmentContext: defaultValue: General_Revenue-Bearing validValues: @@ -632,3 +643,35 @@ environmentContext: - Needed_Non-Revenue - Useful_Non-Revenue - General_Non-Revenue + +dmaapConsumerConfiguration: + hosts: olsd004.wnsnet.attws.com:3905 + consumerGroup: asdc + consumerId: invalidMamaUser #mama - in Order To Consume Remove This String And Replace It With -> mama + timeoutMs: 15000 + limit: 1 + pollingInterval: 2 + topic: com.att.sdc.23911-SDCforTestDev-v001 + latitude: 32.109333 + longitude: 34.855499 + version: 1.0 + serviceName: dmaap-v1.dev.dmaap.dt.saat.acsi.att.com/events + environment: TEST + partner: BOT_R + routeOffer: MR1 + protocol: https + contenttype: application/json + dme2TraceOn: true + aftEnvironment: AFTUAT + aftDme2ConnectionTimeoutMs: 15000 + aftDme2RoundtripTimeoutMs: 240000 + aftDme2ReadTimeoutMs: 50000 + dme2preferredRouterFilePath: DME2preferredRouter.txt + timeLimitForNotificationHandleMs: 0 + credential: + username: m09875@sdc.att.com + password: hmXYcznAljMSisdy8zgcag== + +dmeConfiguration: + dme2Search: DME2SEARCH + dme2Resolve: DME2RESOLVE diff --git a/catalog-be/src/test/resources/config/catalog-be/distribution-engine-configuration.yaml b/catalog-be/src/test/resources/config/catalog-be/distribution-engine-configuration.yaml index ac6ff13473..b59d8cc22a 100644 --- a/catalog-be/src/test/resources/config/catalog-be/distribution-engine-configuration.yaml +++ b/catalog-be/src/test/resources/config/catalog-be/distribution-engine-configuration.yaml @@ -40,4 +40,41 @@ createTopic: partitionCount: 1 replicationCount: 1 -startDistributionEngine: true
\ No newline at end of file +startDistributionEngine: true + +opEnvRecoveryIntervalSec: 180 +allowedTimeBeforeStaleSec: 300 + +aaiConfig: + httpRequestConfig: + serverRootUrl: https://aai-uint3.test.att.com:8443 + resourceNamespaces: + operationalEnvironments: /aai/v12/cloud-infrastructure/operational-environments + + httpClientConfig: + timeouts: + readTimeoutMs: 5000 + connectTimeoutMs: 1000 + clientCertificate: + keyStore: /opt/app/jetty/base/be/etc/non-prod.jks + keyStorePassword: hmXYcznAljMSisdy8zgcag== + headers: + X-FromAppId: asdc + numOfRetries: 3 + +msoConfig: + httpRequestConfig: + serverRootUrl: https://127.0.0.1/onap/mso/infra/modelDistributions/v1 + resourceNamespaces: + distributions: /distributions + + httpClientConfig: + timeouts: + readTimeoutMs: 2000 + connectTimeoutMs: 500 + basicAuthorization: + userName: asdc + password: OTLEp5lfVhYdyw5EAtTUBQ== + numOfRetries: 3 + +currentArtifactInstallationTimeout: 120 diff --git a/catalog-be/src/test/resources/config/catalog-be/error-configuration.yaml b/catalog-be/src/test/resources/config/catalog-be/error-configuration.yaml index 591a961150..69fef0f979 100644 --- a/catalog-be/src/test/resources/config/catalog-be/error-configuration.yaml +++ b/catalog-be/src/test/resources/config/catalog-be/error-configuration.yaml @@ -1,4 +1,4 @@ -# Errors +# Errors errors: OK: { code: 200, @@ -8,6 +8,10 @@ errors: code: 201, message: "OK" } + ACCEPTED: { + code: 202, + message: "Accepted" + } NO_CONTENT: { code: 204, message: "No Content" @@ -1832,16 +1836,230 @@ errors: messageId: "SVC4668" } - #---------SVC4669----------------------------- +#---------SVC4669----------------------------- INVALID_RESOURCE_TYPE: { code: 400, message: "Error: Invalid resource type.", messageId: "SVC4669" } - - #---------SVC4670------------------------------ +#---------SVC4670------------------------------ ARTIFACT_NAME_INVALID: { code: 400, message: "Error: Artifact name is invalid.", messageId: "SVC4670" - }
\ No newline at end of file + } +#---------SVC4671------------------------------ +# %1 - VSP name +# %2 - VFC name + CFVC_LOOP_DETECTED: { + code: 400, + message: 'Error: VSP %1 cannot be imported. The VSP contains internal loop in VFC %2', + messageId: "SVC4671" + } +#---------SVC4672------------------------------ +# %1 - capability uniqueId +# %2 - instance uniqueId +# %3 - container uniqueId + CAPABILITY_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: { + code: 404, + message: "Error: Requested capability %1 of instance %2 was not found on the container %3.", + messageId: "SVC4672" + } +#---------SVC4673------------------------------ +# %1 - requirement uniqueId +# %2 - instance uniqueId +# %3 - container uniqueId + REQUIREMENT_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: { + code: 404, + message: "Error: Requested requirement %1 of instance %2 was not found on the container %3.", + messageId: "SVC4673" + } +#---------SVC4674----------------------------- +# %1 - relation Id +# %2 - container uniqueId + RELATION_NOT_FOUND: { + code: 404, + message: "Error: Requested relation %1 was not found on the container %2.", + messageId: "SVC4674" + } + + +#---------SVC4675------------------------------ + INVALID_SERVICE_STATE: { + code: 409, + message: "Service state is invalid for this action", + messageId: "SVC4675" + } + +#---------SVC4676------------------------------ + INVALID_RESPONSE_FROM_PROXY: { + code: 502, + message: "Error: The server was acting as a gateway or proxy and received an invalid response from the upstream server", + messageId: "SVC4676" + } + +#---------SVC4677------------------------------ + API_RESOURCE_NOT_FOUND: { + code: 404, + message: "Error: Requested '%1' was not found.", + messageId: "SVC4677" + } + +#---------SVC4678------------------------------ + BAD_REQUEST_MISSING_RESOURCE: { + code: 400, + message: "Error: The required resource name/id is missing in the request", + messageId: "SVC4678" + } +#---------SVC4679------------------------------ +# %1 invalid forwarding path name + FORWARDING_PATH_INVALID_NAME: { + code: 400, + message: "Invalid forwarding path name : '%1'.", + messageId: "SVC4679" + } +#---------SVC4680------------------------------ +# %1 Forwarding path name + FORWARDING_PATH_INVALID_UNIQUE_NAME: { + code: 400, + message: "Forwarding path name is not unique : '%1'.", + messageId: "SVC4680" + } +#---------SVC4681------------------------------ +# %1 Forwarding path missing name + FORWARDING_PATH_MISSING_NAME: { + code: 400, + message: "Forwarding path name is missing.", + messageId: "SVC4681" + } +#---------SVC4671------------------------------ +# %1 - VSP name +# %2 - VFC name + CFVC_LOOP_DETECTED: { + code: 400, + message: 'Error: VSP %1 cannot be imported. The VSP contains internal loop in VFC %2', + messageId: "SVC4671" + } +#---------SVC4672------------------------------ +# %1 - capability uniqueId +# %2 - instance uniqueId +# %3 - container uniqueId + CAPABILITY_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: { + code: 404, + message: "Error: Requested capability %1 of instance %2 was not found on the container %3.", + messageId: "SVC4672" + } +#---------SVC4673------------------------------ +# %1 - requirement uniqueId +# %2 - instance uniqueId +# %3 - container uniqueId + REQUIREMENT_OF_INSTANCE_NOT_FOUND_ON_CONTAINER: { + code: 404, + message: "Error: Requested requirement %1 of instance %2 was not found on the container %3.", + messageId: "SVC4673" + } +#---------SVC4674----------------------------- +# %1 - relation Id +# %2 - container uniqueId + RELATION_NOT_FOUND: { + code: 404, + message: "Error: Requested relation %1 was not found on the container %2.", + messageId: "SVC4674" + } + + +#---------SVC4675------------------------------ + INVALID_SERVICE_STATE: { + code: 409, + message: "Service state is invalid for this action", + messageId: "SVC4675" + } + +#---------SVC4676------------------------------ + INVALID_RESPONSE_FROM_PROXY: { + code: 502, + message: "Error: The server was acting as a gateway or proxy and received an invalid response from the upstream server", + messageId: "SVC4676" + } + +#---------SVC4677------------------------------ + API_RESOURCE_NOT_FOUND: { + code: 404, + message: "Error: Requested '%1' was not found.", + messageId: "SVC4677" + } + +#---------SVC4678------------------------------ + BAD_REQUEST_MISSING_RESOURCE: { + code: 400, + message: "Error: The required resource name/id is missing in the request", + messageId: "SVC4678" + } +#---------SVC4679------------------------------ +# %1 invalid forwarding path name + FORWARDING_PATH_INVALID_NAME: { + code: 400, + message: "Invalid forwarding path name : '%1'.", + messageId: "SVC4679" + } +#---------SVC4680------------------------------ +# %1 Forwarding path name + FORWARDING_PATH_INVALID_UNIQUE_NAME: { + code: 400, + message: "Forwarding path name is not unique : '%1'.", + messageId: "SVC4680" + } +#---------SVC4681------------------------------ +# %1 Forwarding path missing name + FORWARDING_PATH_MISSING_NAME: { + code: 400, + message: "Forwarding path name is missing.", + messageId: "SVC4681" + } +#---------SVC4682------------------------------ +# %1 - resource uniqueId +# %2 - resource component type + RESOURCE_CANNOT_CONTAIN_POLICIES: { + code: 400, + message: "Error: The resource %1 type of %2 cannot contain policies.", + messageId: "SVC4682" + } +#---------SVC4683------------------------------ +# %1 - policy uniqueId +# %2 - component uniqueId + POLICY_NOT_FOUND_ON_CONTAINER: { + code: 404, + message: "Error: Requested policy %1 was not found on the container %2.", + messageId: "SVC4683" +} +#---------SVC4684------------------------------ +# %1 - policy name + INVALID_POLICY_NAME: { + code: 400, + message: "Error: Invalid policy name %1 received.", + messageId: "SVC4684" + } +#---------SVC4685------------------------------ +# %1 - policy name + POLICY_NAME_ALREADY_EXIST: { + code: 409, + message: "Error: The policy with the name %1 already exists.", + messageId: "SVC4685" + } +#---------SVC4686------------------------------ +# %1 - policy type +# %2 - policy type + EXCLUDED_POLICY_TYPE: { + code: 400, + message: "Error: The policy of the type %1 excluded to add to a component of the type %2.", + messageId: "SVC4686" + } + +#---------SVC4687------------------------------ +# %1 External Reference Value + EXT_REF_NOT_FOUND: { + code: 404, + message: "Error: External Reference '%1' was not found.", + messageId: "SVC4687" + } +
\ No newline at end of file diff --git a/catalog-be/src/test/resources/cucumber/tenantIsolation.feature b/catalog-be/src/test/resources/cucumber/tenantIsolation.feature new file mode 100644 index 0000000000..8eaac41c49 --- /dev/null +++ b/catalog-be/src/test/resources/cucumber/tenantIsolation.feature @@ -0,0 +1,42 @@ +Feature: Tenant Isolation Feature + + Scenario Outline: Recieve Notification Create Environment + #Example {"operationalEnvironmentId": "28122015552391", "operationalEnvironmentType": "ECOMP","action": "Create" } + Given Dmaap consumer recieved notification with fields <notificationFields> + #UP, DOWN + And AAI service status is <AAIServiceStatus> and Tenant returned is <tenant> and worload returned is <worload> + And AFT_DME service status is <AftDmeServiceStatus> + And UEB service status is <UebServiceStatus> + And Cassandra service status is <CassandraServiceStatus> + #NOT_RELEVANT, NOT_FOUND, FOUND_IN_PROGRESS (Status In Progress), FOUND_COMPLETED (Status Complete), FOUND_FAILED (Status Failed) + And Record status is <recordStatus> + #################################################################################### + When handle message is activated + #################################################################################### + Then handle message activates validation of eventType <isEventTypeValidated> + And trying to write message to audit log and table <isAuditUpdated> + And handle message activates validation of action <isActionValidated> + And handle message activates validation of state <isStateValidated> + And trying to save in-progress record <isSaveActivated> + And trying to get environment info from A&AI API <isAAIActivated> + And trying to retrieve Ueb Addresses From AftDme <isAftDmeActivated> + And trying to create Ueb keys <isCreateKeysActivated> + And trying to create Ueb Topics <isCreateTopicsActivated> + And handle message finished successfully <isSuccessfull> + + Examples: + | notificationFields | AAIServiceStatus | tenant | worload | AftDmeServiceStatus | UebServiceStatus | CassandraServiceStatus | recordStatus | isEventTypeValidated | isAuditUpdated | isActionValidated | isStateValidated | isSaveActivated | isAAIActivated | isAftDmeActivated | isCreateKeysActivated | isCreateTopicsActivated | isSuccessfull | + | {"operationalEnvironmentType": "NON-ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_COMPLETED | true | true | false | false | false | false | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Delete" } | UP | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_COMPLETED | true | false | true | false | false | false | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | DOWN | DOWN | DOWN | NOT_RELEVANT | true | false | true | true | false | false | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_IN_PROGRESS | true | false | true | true | false | false | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_FAILED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | | DOWN | DOWN | UP | FOUND_FAILED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | | | DOWN | DOWN | UP | FOUND_FAILED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | DOWN | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_COMPLETED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | DOWN | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_FAILED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Update" } | DOWN | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | FOUND_COMPLETED | true | false | true | true | true | true | false | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | DOWN | DOWN | UP | NOT_FOUND | true | false | true | true | true | true | true | false | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | UP | DOWN | UP | NOT_FOUND | true | false | true | true | true | true | true | true | false | false | + | {"operationalEnvironmentType": "ECOMP","action": "Create" } | UP | TEST | ECOMP_E2E-IST | UP | UP | UP | NOT_FOUND | true | false | true | true | true | true | true | true | true | true | + | {"operationalEnvironmentType": "ECOMP","action": "Update" } | UP | TEST | ECOMP_E2E-IST | UP | UP | UP | NOT_FOUND | true | false | true | true | true | true | true | true | true | true | diff --git a/catalog-be/src/test/resources/logback-test.xml b/catalog-be/src/test/resources/logback-test.xml index d2b9bff23f..f1c51e2567 100644 --- a/catalog-be/src/test/resources/logback-test.xml +++ b/catalog-be/src/test/resources/logback-test.xml @@ -7,7 +7,7 @@ </Pattern> </encoder> </appender> - <root level="OFF"> + <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>
\ No newline at end of file diff --git a/catalog-be/src/test/resources/paths/elasticsearch.yml b/catalog-be/src/test/resources/paths/elasticsearch.yml new file mode 100644 index 0000000000..e1808ad7cc --- /dev/null +++ b/catalog-be/src/test/resources/paths/elasticsearch.yml @@ -0,0 +1,392 @@ + +elasticSearch.local: true +elasticSearch.transportclient: false +cluster.name: elasticsearch_1_5_2222 + +discovery.zen.ping.multicast.enabled: false +discovery.zen.ping.unicast.enabled: true +discovery.zen.ping.unicast.hosts: 1.2.3.4 +transport.client.initial_nodes: + - 1.2.3.4:9300 + + +#plugin.types: "DeleteByQueryPlugin" + +##################### Elasticsearch Configuration Example ##################### + +# This file contains an overview of various configuration settings, +# targeted at operations staff. Application developers should +# consult the guide at <http://elasticsearch.org/guide>. +# +# The installation procedure is covered at +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup.html>. +# +# Elasticsearch comes with reasonable defaults for most settings, +# so you can try it out without bothering with configuration. +# +# Most of the time, these defaults are just fine for running a production +# cluster. If you're fine-tuning your cluster, or wondering about the +# effect of certain configuration option, please _do ask_ on the +# mailing list or IRC channel [http://elasticsearch.org/community]. + +# Any element in the configuration can be replaced with environment variables +# by placing them in ${...} notation. For example: +# +# node.rack: ${RACK_ENV_VAR} + +# For information on supported formats and syntax for the config file, see +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/setup-configuration.html> + + +################################### Cluster ################################### + +# Cluster name identifies your cluster for auto-discovery. If you're running +# multiple clusters on the same network, make sure you're using unique names. +# +# cluster.name: elasticsearch + + +#################################### Node ##################################### + +# Node names are generated dynamically on startup, so you're relieved +# from configuring them manually. You can tie this node to a specific name: +# +# node.name: "Franz Kafka" + +# Every node can be configured to allow or deny being eligible as the master, +# and to allow or deny to store the data. +# +# Allow this node to be eligible as a master node (enabled by default): +# +# node.master: true +# +# Allow this node to store data (enabled by default): +# +# node.data: true + +# You can exploit these settings to design advanced cluster topologies. +# +# 1. You want this node to never become a master node, only to hold data. +# This will be the "workhorse" of your cluster. +# +# node.master: false +# node.data: true +# +# 2. You want this node to only serve as a master: to not store any data and +# to have free resources. This will be the "coordinator" of your cluster. +# +# node.master: true +# node.data: false +# +# 3. You want this node to be neither master nor data node, but +# to act as a "search load balancer" (fetching data from nodes, +# aggregating results, etc.) +# +# node.master: false +# node.data: false + +# Use the Cluster Health API [http://localhost:9200/_cluster/health], the +# Node Info API [http://localhost:9200/_nodes] or GUI tools +# such as <http://www.elasticsearch.org/overview/marvel/>, +# <http://github.com/karmi/elasticsearch-paramedic>, +# <http://github.com/lukas-vlcek/bigdesk> and +# <http://mobz.github.com/elasticsearch-head> to inspect the cluster state. + +# A node can have generic attributes associated with it, which can later be used +# for customized shard allocation filtering, or allocation awareness. An attribute +# is a simple key value pair, similar to node.key: value, here is an example: +# +# node.rack: rack314 + +# By default, multiple nodes are allowed to start from the same installation location +# to disable it, set the following: +# node.max_local_storage_nodes: 1 + + +#################################### Index #################################### + +# You can set a number of options (such as shard/replica options, mapping +# or analyzer definitions, translog settings, ...) for indices globally, +# in this file. +# +# Note, that it makes more sense to configure index settings specifically for +# a certain index, either when creating it or by using the index templates API. +# +# See <http://elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules.html> and +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html> +# for more information. + +# Set the number of shards (splits) of an index (5 by default): +# +# index.number_of_shards: 5 + +# Set the number of replicas (additional copies) of an index (1 by default): +# +# index.number_of_replicas: 1 + +# Note, that for development on a local machine, with small indices, it usually +# makes sense to "disable" the distributed features: +# +index.number_of_shards: 1 +index.number_of_replicas: 0 + +# These settings directly affect the performance of index and search operations +# in your cluster. Assuming you have enough machines to hold shards and +# replicas, the rule of thumb is: +# +# 1. Having more *shards* enhances the _indexing_ performance and allows to +# _distribute_ a big index across machines. +# 2. Having more *replicas* enhances the _search_ performance and improves the +# cluster _availability_. +# +# The "number_of_shards" is a one-time setting for an index. +# +# The "number_of_replicas" can be increased or decreased anytime, +# by using the Index Update Settings API. +# +# Elasticsearch takes care about load balancing, relocating, gathering the +# results from nodes, etc. Experiment with different settings to fine-tune +# your setup. + +# Use the Index Status API (<http://localhost:9200/A/_status>) to inspect +# the index status. + + +#################################### Paths #################################### +path.home: /src/test/resources +# Path to directory containing configuration (this file and logging.yml): +# +path.conf: /src/test/resources + +# Path to directory where to store index data allocated for this node. +# +path.data: target/esdata +# +# Can optionally include more than one location, causing data to be striped across +# the locations (a la RAID 0) on a file level, favouring locations with most free +# space on creation. For example: +# +# path.data: /path/to/data1,/path/to/data2 + +# Path to temporary files: +# +path.work: /target/eswork + +# Path to log files: +# +path.logs: /target/eslogs + +# Path to where plugins are installed: +# +# path.plugins: /path/to/plugins + + +#################################### Plugin ################################### + +# If a plugin listed here is not installed for current node, the node will not start. +# +# plugin.mandatory: mapper-attachments,lang-groovy + + +################################### Memory #################################### + +# Elasticsearch performs poorly when JVM starts swapping: you should ensure that +# it _never_ swaps. +# +# Set this property to true to lock the memory: +# +# bootstrap.mlockall: true + +# Make sure that the ES_MIN_MEM and ES_MAX_MEM environment variables are set +# to the same value, and that the machine has enough memory to allocate +# for Elasticsearch, leaving enough memory for the operating system itself. +# +# You should also make sure that the Elasticsearch process is allowed to lock +# the memory, eg. by using `ulimit -l unlimited`. + + +############################## Network And HTTP ############################### + +# Elasticsearch, by default, binds itself to the 0.0.0.0 address, and listens +# on port [9200-9300] for HTTP traffic and on port [9300-9400] for node-to-node +# communication. (the range means that if the port is busy, it will automatically +# try the next port). + +# Set the bind address specifically (IPv4 or IPv6): +# +# network.bind_host: 192.168.0.1 + +# Set the address other nodes will use to communicate with this node. If not +# set, it is automatically derived. It must point to an actual IP address. +# +# network.publish_host: 192.168.0.1 + +# Set both 'bind_host' and 'publish_host': +# +# network.host: 192.168.0.1 + +# Set a custom port for the node to node communication (9300 by default): +# +# transport.tcp.port: 9300 + +# Enable compression for all communication between nodes (disabled by default): +# +# transport.tcp.compress: true + +# Set a custom port to listen for HTTP traffic: +# +# http.port: 9200 + +# Set a custom allowed content length: +# +# http.max_content_length: 100mb + +# Disable HTTP completely: +# +# http.enabled: false + + +################################### Gateway ################################### + +# The gateway allows for persisting the cluster state between full cluster +# restarts. Every change to the state (such as adding an index) will be stored +# in the gateway, and when the cluster starts up for the first time, +# it will read its state from the gateway. + +# There are several types of gateway implementations. For more information, see +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-gateway.html>. + +# The default gateway type is the "local" gateway (recommended): +# +# gateway.type: local + +# Settings below control how and when to start the initial recovery process on +# a full cluster restart (to reuse as much local data as possible when using shared +# gateway). + +# Allow recovery process after N nodes in a cluster are up: +# +gateway.recover_after_nodes: 1 + +# Set the timeout to initiate the recovery process, once the N nodes +# from previous setting are up (accepts time value): +# +# gateway.recover_after_time: 5m + +# Set how many nodes are expected in this cluster. Once these N nodes +# are up (and recover_after_nodes is met), begin recovery process immediately +# (without waiting for recover_after_time to expire): +# +gateway.expected_nodes: 1 + + +############################# Recovery Throttling ############################# + +# These settings allow to control the process of shards allocation between +# nodes during initial recovery, replica allocation, rebalancing, +# or when adding and removing nodes. + +# Set the number of concurrent recoveries happening on a node: +# +# 1. During the initial recovery +# +# cluster.routing.allocation.node_initial_primaries_recoveries: 4 +# +# 2. During adding/removing nodes, rebalancing, etc +# +# cluster.routing.allocation.node_concurrent_recoveries: 2 + +# Set to throttle throughput when recovering (eg. 100mb, by default 20mb): +# +# indices.recovery.max_bytes_per_sec: 20mb + +# Set to limit the number of open concurrent streams when +# recovering a shard from a peer: +# +# indices.recovery.concurrent_streams: 5 + + +################################## Discovery ################################## + +# Discovery infrastructure ensures nodes can be found within a cluster +# and master node is elected. Multicast discovery is the default. + +# Set to ensure a node sees N other master eligible nodes to be considered +# operational within the cluster. Its recommended to set it to a higher value +# than 1 when running more than 2 nodes in the cluster. +# +# discovery.zen.minimum_master_nodes: 1 + +# Set the time to wait for ping responses from other nodes when discovering. +# Set this option to a higher value on a slow or congested network +# to minimize discovery failures: +# +# discovery.zen.ping.timeout: 3s + +# For more information, see +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-zen.html> + +# Unicast discovery allows to explicitly control which nodes will be used +# to discover the cluster. It can be used when multicast is not present, +# or to restrict the cluster communication-wise. +# +# 1. Disable multicast discovery (enabled by default): +# +# discovery.zen.ping.multicast.enabled: false +# +# 2. Configure an initial list of master nodes in the cluster +# to perform discovery when new nodes (master or data) are started: +# +# discovery.zen.ping.unicast.hosts: ["host1", "host2:port"] + +# EC2 discovery allows to use AWS EC2 API in order to perform discovery. +# +# You have to install the cloud-aws plugin for enabling the EC2 discovery. +# +# For more information, see +# <http://elasticsearch.org/guide/en/elasticsearch/reference/current/modules-discovery-ec2.html> +# +# See <http://elasticsearch.org/tutorials/elasticsearch-on-ec2/> +# for a step-by-step tutorial. + +# GCE discovery allows to use Google Compute Engine API in order to perform discovery. +# +# You have to install the cloud-gce plugin for enabling the GCE discovery. +# +# For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-gce>. + +# Azure discovery allows to use Azure API in order to perform discovery. +# +# You have to install the cloud-azure plugin for enabling the Azure discovery. +# +# For more information, see <https://github.com/elasticsearch/elasticsearch-cloud-azure>. + +################################## Slow Log ################################## + +# Shard level query and fetch threshold logging. + +#index.search.slowlog.threshold.query.warn: 10s +#index.search.slowlog.threshold.query.info: 5s +#index.search.slowlog.threshold.query.debug: 2s +#index.search.slowlog.threshold.query.trace: 500ms + +#index.search.slowlog.threshold.fetch.warn: 1s +#index.search.slowlog.threshold.fetch.info: 800ms +#index.search.slowlog.threshold.fetch.debug: 500ms +#index.search.slowlog.threshold.fetch.trace: 200ms + +#index.indexing.slowlog.threshold.index.warn: 10s +#index.indexing.slowlog.threshold.index.info: 5s +#index.indexing.slowlog.threshold.index.debug: 2s +#index.indexing.slowlog.threshold.index.trace: 500ms + +################################## GC Logging ################################ + +#monitor.jvm.gc.young.warn: 1000ms +#monitor.jvm.gc.young.info: 700ms +#monitor.jvm.gc.young.debug: 400ms + +#monitor.jvm.gc.old.warn: 10s +#monitor.jvm.gc.old.info: 5s +#monitor.jvm.gc.old.debug: 2s + diff --git a/catalog-be/src/test/resources/paths/path-context.xml b/catalog-be/src/test/resources/paths/path-context.xml new file mode 100644 index 0000000000..f0067dfe55 --- /dev/null +++ b/catalog-be/src/test/resources/paths/path-context.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" + xmlns:aop="http://www.springframework.org/schema/aop" xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> + + <context:annotation-config /> + <aop:aspectj-autoproxy proxy-target-class="true" /> + + <context:component-scan + base-package="org.openecomp.sdc.be.dao.impl, + org.openecomp.sdc.be.dao.es, + org.openecomp.sdc.be.resources.impl, + org.openecomp.sdc.be.dao.neo4j, + org.openecomp.sdc.be.model.operations.impl, + org.openecomp.sdc.be.model.cache, + org.openecomp.sdc.be.dao.titan, + org.openecomp.sdc.be.user, + org.openecomp.sdc.be.impl, + org.openecomp.sdc.be.auditing.impl, + org.openecomp.sdc.be.components.impl, + org.openecomp.sdc.be.components.merge, + org.openecomp.sdc.be.components.property, + org.openecomp.sdc.be.components.distribution.engine, + org.openecomp.sdc.be.distribution, + org.openecomp.sdc.be.components.validation + org.openecomp.sdc.be.switchover.detector, + org.openecomp.sdc.be.tosca, + org.openecomp.sdc.be.model.jsontitan.operations, + org.openecomp.sdc.be.model.jsontitan.utils, + org.openecomp.sdc.be.components.csar, + org.openecomp.sdc.be.dao.jsongraph"> + + </context:component-scan> + + <bean id="resourceImportManager" class="org.openecomp.sdc.be.components.impl.ResourceImportManager" /> + <bean id="capabilityTypeImportManager" class="org.openecomp.sdc.be.components.impl.CapabilityTypeImportManager" /> + <bean id="servletUtils" class="org.openecomp.sdc.be.impl.ServletUtils" /> + <bean id="resourceBusinessLogic" class="org.openecomp.sdc.be.components.impl.ResourceBusinessLogic" /> + <bean id="productBusinessLogic" class="org.openecomp.sdc.be.components.impl.ProductBusinessLogic" /> + <bean id="artifactBusinessLogic" class="org.openecomp.sdc.be.components.impl.ArtifactsBusinessLogic" /> + <bean id="lifecycleBusinessLogic" class="org.openecomp.sdc.be.components.lifecycle.LifecycleBusinessLogic" /> + <bean id="transactionManager" class="org.openecomp.sdc.common.transaction.mngr.TransactionManager" /> + <bean id="userBusinessLogic" class="org.openecomp.sdc.be.user.UserBusinessLogic" /> + <bean id="elementsBusinessLogic" class="org.openecomp.sdc.be.components.impl.ElementBusinessLogic" /> + <bean id="propertyBusinessLogic" class="org.openecomp.sdc.be.components.impl.PropertyBusinessLogic" /> + <bean id="auditingManager" class="org.openecomp.sdc.be.auditing.impl.AuditingManager" /> + <bean id="distributionBusinessLogic" class="org.openecomp.sdc.be.distribution.DistributionBusinessLogic" /> + <bean id="interfaceLifecycleTypeImportManager" class="org.openecomp.sdc.be.components.impl.InterfaceLifecycleTypeImportManager" /> + <bean id="distributionMonitoringBusinessLogic" class="org.openecomp.sdc.be.components.impl.DistributionMonitoringBusinessLogic" /> + <bean id="additionalInformationBusinessLogic" class="org.openecomp.sdc.be.components.impl.AdditionalInformationBusinessLogic" /> + <bean id="distribution-engine-cluster-health" class="org.openecomp.sdc.be.components.distribution.engine.DistributionEngineClusterHealth" /> + <bean id="categoriesImportManager" class="org.openecomp.sdc.be.components.impl.CategoriesImportManager" /> + <bean id="asset-metadata-utils" class="org.openecomp.sdc.be.ecomp.converters.AssetMetadataConverter" /> + <bean id="titan-client" class="org.openecomp.sdc.be.components.path.beans.InMemoryTitanGraphClient" /> + <bean class="org.openecomp.sdc.be.dao.config.DAOSpringConfig"/> + <bean id="component-cassandra-dao" class="org.openecomp.sdc.be.components.path.beans.ComponentCassandraDaoMock" /> + <bean id="cassandra-client" class="org.openecomp.sdc.be.components.path.beans.CassandraClientMock" /> + <bean id="audit-cassandra-dao" class="org.openecomp.sdc.be.components.path.beans.AuditCassandraDaoMock" /> + <bean id="artifact-cassandra-dao" class="org.openecomp.sdc.be.components.path.beans.ArtifactCassandraDaoMock" /> + <bean id="operational-environment-dao" class="org.openecomp.sdc.be.components.path.beans.EnvironmentCassandraDaoMock"/> + <bean id="sdc-schema-files-cassandra-dao" class="org.openecomp.sdc.be.components.path.beans.SdcSchemaFilesCassandraDaoMock" /> + <bean id="tosca-operation-facade" class="org.openecomp.sdc.be.components.path.beans.ForwardingPathToscaOperationFacade" /> + <bean id="distributionEngine" class="org.openecomp.sdc.be.components.path.beans.DistributionEngineMock"/> + <bean id="forwardingPathValidator" class="org.openecomp.sdc.be.components.path.beans.ForwardingPathValidatorMock" /> + <util:properties id="elasticsearchConfig" location="paths/elasticsearch.yml" /> + +</beans> |