From 0875ce0faad191c21b32cc9c95ffc20ebd57d586 Mon Sep 17 00:00:00 2001 From: Yuli Shlosberg Date: Thu, 25 Jan 2018 13:53:36 +0200 Subject: Cassandra OOM Alignment Change-Id: If9792919dba17936965b45361888a44a12a76b67 Issue-ID: SDC-911 Signed-off-by: Yuli Shlosberg --- .../recipes/01-configureCassandra.rb | 2 +- .../cassandra-actions/recipes/02-changeCSpass.rb | 16 + .../cassandra-actions/recipes/02-createCsUser.rb | 17 - .../recipes/03-createDoxKeyspace.rb | 38 -- .../recipes/03-prepareProbeFile.rb | 9 + .../cassandra-actions/recipes/04-schemaCreation.rb | 65 --- .../recipes/05-titanSchemaCreation.rb | 68 --- .../recipes/06-migrateZusammenFromDox.rb | 14 - .../recipes/07-importComformance.rb | 28 - .../templates/default/change_cassandra_pass.sh.erb | 31 ++ .../templates/default/configuration.yaml.erb | 611 --------------------- .../templates/default/create_cassandra_user.sh.erb | 57 -- .../templates/default/create_dox_keyspace.sh.erb | 34 -- .../templates/default/elasticsearch.yml.erb | 11 - .../templates/default/ready-probe.sh.erb | 16 + .../templates/default/titan.properties.erb | 29 - .../chef-solo/roles/cassandra-actions.json | 7 +- sdc-os-chef/sdc-cassandra/startup.sh | 20 +- 18 files changed, 80 insertions(+), 993 deletions(-) create mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-createCsUser.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-createDoxKeyspace.rb create mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/04-schemaCreation.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/05-titanSchemaCreation.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/06-migrateZusammenFromDox.rb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/07-importComformance.rb create mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/change_cassandra_pass.sh.erb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_cassandra_user.sh.erb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_dox_keyspace.sh.erb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/elasticsearch.yml.erb create mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/ready-probe.sh.erb delete mode 100644 sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/titan.properties.erb (limited to 'sdc-os-chef/sdc-cassandra') diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/01-configureCassandra.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/01-configureCassandra.rb index f167c3ec8d..32e89c9b21 100644 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/01-configureCassandra.rb +++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/01-configureCassandra.rb @@ -47,4 +47,4 @@ template "cassandra-rackdc.properties" do :dc => cluster_name, :rack => "Rack"+"#{rackNum}-"+node.chef_environment }) -end +end \ No newline at end of file diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb new file mode 100644 index 0000000000..22ef07907d --- /dev/null +++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-changeCSpass.rb @@ -0,0 +1,16 @@ +template "/tmp/change_cassandra_pass.sh" do + source "change_cassandra_pass.sh.erb" + sensitive true + mode 0755 + variables({ + :cassandra_ip => node['Nodes']['CS'], + :cassandra_pwd => ENV['CS_PASSWORD'] + }) +end + + +bash "change-cassandra-pass" do + code <<-EOH + cd /tmp ; /tmp/change_cassandra_pass.sh + EOH +end \ No newline at end of file diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-createCsUser.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-createCsUser.rb deleted file mode 100644 index d9041f2841..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/02-createCsUser.rb +++ /dev/null @@ -1,17 +0,0 @@ -template "/tmp/create_cassandra_user.sh" do - source "create_cassandra_user.sh.erb" - sensitive true - mode 0755 - variables({ - :cassandra_ip => "HOSTIP", - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user] - }) -end - - -bash "create-sdc-user" do - code <<-EOH - cd /tmp ; /tmp/create_cassandra_user.sh - EOH -end diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-createDoxKeyspace.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-createDoxKeyspace.rb deleted file mode 100644 index 4e37d49ee0..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-createDoxKeyspace.rb +++ /dev/null @@ -1,38 +0,0 @@ -template "/tmp/create_dox_keyspace.sh" do - source "create_dox_keyspace.sh.erb" - sensitive true - mode 0755 - variables({ - :cassandra_ip => "HOSTIP", - :DC_NAME => node['cassandra'][:cluster_name]+node.chef_environment, - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user] - }) -end - - -remote_directory '/tmp/tools' do - source 'tools' - mode '0755' - files_mode '0755' - action :create -end - - -bash "onboard-db-schema-creation" do - ignore_failure true - code <<-EOH - cd /tmp/tools/build/scripts - chmod +x onboard-db-schema-creation.sh - bash /tmp/tools/build/scripts/onboard-db-schema-creation.sh - EOH -end - -bash "create-DOX-schema" do - ignore_failure true - code <<-EOH - cd /tmp - chmod +x /tmp/create_dox_keyspace.sh - /tmp/create_dox_keyspace.sh - EOH -end diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb new file mode 100644 index 0000000000..0eb9800fe5 --- /dev/null +++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/03-prepareProbeFile.rb @@ -0,0 +1,9 @@ +template "/var/lib/ready-probe.sh" do + source "ready-probe.sh.erb" + sensitive true + mode 0755 + variables({ + :cassandra_ip => node['Nodes']['CS'], + :cassandra_pwd => ENV['CS_PASSWORD'] + }) +end \ No newline at end of file diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/04-schemaCreation.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/04-schemaCreation.rb deleted file mode 100644 index 0bb0027325..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/04-schemaCreation.rb +++ /dev/null @@ -1,65 +0,0 @@ -cookbook_file "/tmp/sdctool.tar" do - source "sdctool.tar" - mode 0755 -end - -## extract sdctool.tar -bash "install tar" do - cwd "/tmp" - code <<-EOH - /bin/tar xf /tmp/sdctool.tar -C /tmp - EOH -end - - -template "titan.properties" do - sensitive true - path "/tmp/sdctool/config/titan.properties" - source "titan.properties.erb" - mode "0755" - variables({ - :DC_NAME => node['cassandra'][:cluster_name]+node.chef_environment, - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user], - :titan_connection_timeout => node['cassandra']['titan_connection_timeout'] - }) -end - - -template "/tmp/sdctool/config/configuration.yaml" do - sensitive true - source "configuration.yaml.erb" - mode 0755 - variables({ - :host_ip => node['HOST_IP'], - :catalog_port => node['BE'][:http_port], - :ssl_port => node['BE'][:https_port], - :cassandra_ip => node['Nodes']['CS'], - :rep_factor => 1, - :DC_NAME => node['cassandra'][:cluster_name]+node.chef_environment, - :titan_Path => "/tmp/sdctool/config/", - :socket_connect_timeout => node['cassandra']['socket_connect_timeout'], - :socket_read_timeout => node['cassandra']['socket_read_timeout'], - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user] - }) -end - - -template "/tmp/sdctool/config/elasticsearch.yml" do - sensitive true - source "elasticsearch.yml.erb" - mode 0755 - variables({ - :elastic_ip => "HOSTIP" - }) -end - - -bash "excuting-schema-creation" do - code <<-EOH - cd /tmp - chmod +x /tmp/sdctool/scripts/schemaCreation.sh - /tmp/sdctool/scripts/schemaCreation.sh /tmp/sdctool/config - EOH -end diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/05-titanSchemaCreation.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/05-titanSchemaCreation.rb deleted file mode 100644 index fa9ae79690..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/05-titanSchemaCreation.rb +++ /dev/null @@ -1,68 +0,0 @@ -cookbook_file "/tmp/sdctool.tar" do - sensitive true - source "sdctool.tar" - mode 0755 -end - -## extract sdctool.tar -bash "install tar" do - cwd "/tmp" - code <<-EOH - /bin/tar xf /tmp/sdctool.tar -C /tmp - EOH -end - - -template "titan.properties" do - sensitive true - path "/tmp/sdctool/config/titan.properties" - source "titan.properties.erb" - mode "0755" - variables({ - :DC_NAME => node['cassandra'][:cluster_name]+node.chef_environment, - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user], - :titan_connection_timeout => node['cassandra']['titan_connection_timeout'] - }) -end - - -template "/tmp/sdctool/config/configuration.yaml" do - sensitive true - source "configuration.yaml.erb" - mode 0755 - variables({ - :host_ip => node['HOST_IP'], - :catalog_port => node['BE'][:http_port], - :ssl_port => node['BE'][:https_port], - :cassandra_ip => node['Nodes']['CS'], - :rep_factor => 1, - :DC_NAME => node['cassandra'][:cluster_name]+node.chef_environment, - :titan_Path => "/tmp/sdctool/config", - :socket_connect_timeout => node['cassandra']['socket_connect_timeout'], - :socket_read_timeout => node['cassandra']['socket_read_timeout'], - :cassandra_pwd => node['cassandra'][:cassandra_password], - :cassandra_usr => node['cassandra'][:cassandra_user] - }) -end - -template "/tmp/sdctool/config/elasticsearch.yml" do - sensitive true - source "elasticsearch.yml.erb" - mode 0755 - variables({ - :elastic_ip => "HOSTIP" - }) -end - - -bash "excuting-titanSchemaCreation.sh" do - code <<-EOH - echo "XXXXXXXXXXXX executing /tmp/sdctool/scripts/titanSchemaCreation.sh XXXXXXXXXXXX" - chmod +x /tmp/sdctool/scripts/titanSchemaCreation.sh - /tmp/sdctool/scripts/titanSchemaCreation.sh /tmp/sdctool/config - EOH -end - - - diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/06-migrateZusammenFromDox.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/06-migrateZusammenFromDox.rb deleted file mode 100644 index e1fcf4f556..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/06-migrateZusammenFromDox.rb +++ /dev/null @@ -1,14 +0,0 @@ -#onboarding_version = "#{node['onboarding'][:version]}" -#GROUP_ID = "com/att/asdc/onboarding/#{onboarding_version}" -#NEXUS_IP = "#{node['nexus_ip']}" - -bash "Excuting openecomp-zusammen-migration-1707.0.0-SNAPSHOT.jar" do - code <<-EOH - [ -d /var/tmp/onboarding/migration ] && rm -rf /var/tmp/onboarding || mkdir -p /var/tmp/onboarding/migration - cd /var/tmp/onboarding/migration - /bin/tar -xzf /root/chef-solo/cookbooks/cassandra-actions/files/default/zusammen.tgz -C /var/tmp/onboarding/migration - cd /var/tmp/onboarding/migration - java -Dlog.home=/var/tmp/onboarding/migration/logs -Dconfiguration.yaml=/tmp/sdctool/config/configuration.yaml -jar openecomp-zusammen-migration-1707.0.0-SNAPSHOT.jar org.openecomp.core.migration.MigrationMain - EOH -end - diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/07-importComformance.rb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/07-importComformance.rb deleted file mode 100644 index ce1d50b8ea..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/recipes/07-importComformance.rb +++ /dev/null @@ -1,28 +0,0 @@ -working_directory = "/tmp" -cl_release=node['version'].split('.')[0..2].join('.').split('-')[0] -printf("\033[33mcl_release=[%s]\n\033[0m", cl_release) - - - -bash "import-Comformance" do - cwd "#{working_directory}" - code <<-EOH - conf_dir=/tmp/sdctool/config - tosca_dir=/tmp/sdctool/tosca - - cl_version=`grep 'toscaConformanceLevel:' $conf_dir/configuration.yaml |awk '{print $2}'` - - cd /tmp/sdctool/scripts - /bin/chmod +x sdcSchemaFileImport.sh - echo "execute /tmp/sdctool/scripts/sdcSchemaFileImport.sh ${tosca_dir} #{cl_release} ${cl_version} ${conf_dir} " - ./sdcSchemaFileImport.sh ${tosca_dir} #{cl_release} ${cl_version} ${conf_dir} - EOH -end -bash "echo status" do - code <<-EOH - echo "DOCKER STARTED" - EOH -end - - - diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/change_cassandra_pass.sh.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/change_cassandra_pass.sh.erb new file mode 100644 index 0000000000..d1fdcf3c2c --- /dev/null +++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/change_cassandra_pass.sh.erb @@ -0,0 +1,31 @@ +#!/bin/bash + +CASSANDRA_PASS=<%= @cassandra_pwd %> +CASSANDRA_IP=<%= @cassandra_ip %> + +pass_changed=99 +retry_num=1 +is_up=0 +while [ $is_up -eq 0 -a $retry_num -le 100 ]; do + echo "exit" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP > /dev/null 2>&1 + res1=$? + echo "exit" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP > /dev/null 2>&1 + res2=$? + + if [ $res1 -eq 0 -o $res2 -eq 0 ]; then + echo "`date` --- cqlsh is enabled to connect." + is_up=1 + else + echo "`date` --- cqlsh is NOT enabled to connect yet. sleep 5" + sleep 5 + fi + let "retry_num++" +done + +if [ $res1 -eq 0 -a $res2 -eq 1 -a $is_up -eq 1 ]; then + echo "Modify cassandra password" + echo "ALTER USER cassandra WITH PASSWORD '$CASSANDRA_PASS';" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP +elif [ $res1 -eq 1 -a $res2 -eq 0 -a $is_up -eq 1 ]; then + echo "cassandra password already modified" +else exit 1 +fi \ No newline at end of file diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb deleted file mode 100644 index f99737b0f9..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/configuration.yaml.erb +++ /dev/null @@ -1,611 +0,0 @@ -identificationHeaderFields: - - HTTP_IV_USER - - HTTP_CSP_FIRSTNAME - - HTTP_CSP_LASTNAME - - HTTP_IV_REMOTE_ADDRESS - - HTTP_CSP_WSTYPE - - -# catalog backend hostname -beFqdn: <%= @host_ip %> - -# catalog backend http port -beHttpPort: <%= @catalog_port %> - -# catalog backend http context -beContext: /sdc/rest/config/get - -# catalog backend protocol -beProtocol: http - -# catalog backend ssl port -beSslPort: <%= @ssl_port %> -version: 1.0 -released: 2012-11-30 -toscaConformanceLevel: 5.0 -minToscaConformanceLevel: 3.0 - -titanCfgFile: <%= @titan_Path %>/titan.properties -titanInMemoryGraph: false -titanLockTimeout: 1800 -# The interval to try and reconnect to titan DB when it is down during ASDC startup: -titanReconnectIntervalInSeconds: 3 - -# The read timeout towards Titan DB when health check is invoked: -titanHealthCheckReadTimeout: 1 - -# The interval to try and reconnect to Elasticsearch when it is down during ASDC startup: - -esReconnectIntervalInSeconds: 3 -uebHealthCheckReconnectIntervalInSeconds: 15 -uebHealthCheckReadTimeout: 4 - -# Protocols -protocols: - - http - - https - -# Default imports -defaultImports: - - nodes: - file: nodes.yml - - datatypes: - file: data.yml - - capabilities: - file: capabilities.yml - - relationships: - file: relationships.yml - - groups: - file: groups.yml - - policies: - file: policies.yml - -# Users -users: - tom: passwd - bob: passwd - - -cassandraConfig: - cassandraHosts: [<%= @cassandra_ip %>] - localDataCenter: <%= @DC_NAME %> - reconnectTimeout : 30000 - socketReadTimeout: <%= @socket_read_timeout %> - socketConnectTimeout: <%= @socket_connect_timeout %> - authenticate: true - username: asdc_user - password: Aa1234%^! - ssl: false - truststorePath : /config/.truststore - truststorePassword : Aa123456 - keySpaces: - - { name: dox, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']} - - { name: sdcaudit, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']} - - { name: sdcartifact, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']} - - { name: sdccomponent, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']} - - { name: sdcrepository, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['<%= @DC_NAME %>','<%= @rep_factor %>']} - -#Application-specific settings of ES -elasticSearch: - # Mapping of index prefix to time-based frame. For example, if below is configured: - # - # - indexPrefix: auditingevents - # creationPeriod: minute - # - # then ES object of type which is mapped to "auditingevents-*" template, and created on 2015-12-23 13:24:54, will enter "auditingevents-2015-12-23-13-24" index. - # Another object created on 2015-12-23 13:25:54, will enter "auditingevents-2015-12-23-13-25" index. - # If creationPeriod: month, both of the above will enter "auditingevents-2015-12" index. - # - # PLEASE NOTE: the timestamps are created in UTC/GMT timezone! This is needed so that timestamps will be correctly presented in Kibana. - # - # Legal values for creationPeriod - year, month, day, hour, minute, none (meaning no time-based behaviour). - # - # If no creationPeriod is configured for indexPrefix, default behavour is creationPeriod: month. - - indicesTimeFrequency: - - indexPrefix: auditingevents - creationPeriod: month - - indexPrefix: monitoring_events - creationPeriod: month -artifactTypes: - - CHEF - - PUPPET - - SHELL - - YANG - - YANG_XML - - HEAT - - BPEL - - DG_XML - - MURANO_PKG - - WORKFLOW - - NETWORK_CALL_FLOW - - TOSCA_TEMPLATE - - TOSCA_CSAR - - AAI_SERVICE_MODEL - - AAI_VF_MODEL - - AAI_VF_MODULE_MODEL - - AAI_VF_INSTANCE_MODEL - - OTHER - - SNMP_POLL - - SNMP_TRAP - - GUIDE - -licenseTypes: - - User - - Installation - - CPU - -#Deployment artifacts placeHolder -resourceTypes: &allResourceTypes - - VFC - - CP - - VL - - VF - - VFCMT - - Abstract - -# validForResourceTypes usage -# validForResourceTypes: -# - VF -# - VL -deploymentResourceArtifacts: - - -deploymentResourceInstanceArtifacts: - heatEnv: - displayName: "HEAT ENV" - type: HEAT_ENV - description: "Auto-generated HEAT Environment deployment artifact" - fileExtension: "env" - VfHeatEnv: - displayName: "VF HEAT ENV" - type: HEAT_ENV - description: "VF Auto-generated HEAT Environment deployment artifact" - fileExtension: "env" - -#tosca artifacts placeholders -toscaArtifacts: - assetToscaTemplate: - artifactName: -template.yml - displayName: Tosca Template - type: TOSCA_TEMPLATE - description: TOSCA representation of the asset - assetToscaCsar: - artifactName: -csar.csar - displayName: Tosca Model - type: TOSCA_CSAR - description: TOSCA definition package of the asset - -#Informational artifacts placeHolder -excludeResourceCategory: - - Generic -informationalResourceArtifacts: - features: - displayName: Features - type: OTHER - capacity: - displayName: Capacity - type: OTHER - vendorTestResult: - displayName: Vendor Test Result - type: OTHER - testScripts: - displayName: Test Scripts - type: OTHER - CloudQuestionnaire: - displayName: Cloud Questionnaire (completed) - type: OTHER - HEATTemplateFromVendor: - displayName: HEAT Template from Vendor - type: HEAT - resourceSecurityTemplate: - displayName: Resource Security Template - type: OTHER - -excludeServiceCategory: - -informationalServiceArtifacts: - serviceArtifactPlan: - displayName: Service Artifact Plan - type: OTHER - summaryOfImpactsToECOMPElements: - displayName: Summary of impacts to ECOMP elements,OSSs, BSSs - type: OTHER - controlLoopFunctions: - displayName: Control Loop Functions - type: OTHER - dimensioningInfo: - displayName: Dimensioning Info - type: OTHER - affinityRules: - displayName: Affinity Rules - type: OTHER - operationalPolicies: - displayName: Operational Policies - type: OTHER - serviceSpecificPolicies: - displayName: Service-specific Policies - type: OTHER - engineeringRules: - displayName: Engineering Rules (ERD) - type: OTHER - distributionInstructions: - displayName: Distribution Instructions - type: OTHER - certificationTestResults: - displayName: TD Certification Test Results - type: OTHER - deploymentVotingRecord: - displayName: Deployment Voting Record - type: OTHER - serviceQuestionnaire: - displayName: Service Questionnaire - type: OTHER - serviceSecurityTemplate: - displayName: Service Security Template - type: OTHER - -serviceApiArtifacts: - configuration: - displayName: Configuration - type: OTHER - instantiation: - displayName: Instantiation - type: OTHER - monitoring: - displayName: Monitoring - type: OTHER - reporting: - displayName: Reporting - type: OTHER - logging: - displayName: Logging - type: OTHER - testing: - displayName: Testing - type: OTHER - - -additionalInformationMaxNumberOfKeys: 50 - -systemMonitoring: - enabled: true - isProxy: false - probeIntervalInSeconds: 15 -defaultHeatArtifactTimeoutMinutes: 60 - -serviceDeploymentArtifacts: - YANG_XML: - acceptedTypes: - - xml - VNF_CATALOG: - acceptedTypes: - - xml - MODEL_INVENTORY_PROFILE: - acceptedTypes: - - xml - MODEL_QUERY_SPEC: - acceptedTypes: - - xml - AAI_SERVICE_MODEL: - acceptedTypes: - - xml - AAI_VF_MODULE_MODEL: - acceptedTypes: - - xml - AAI_VF_INSTANCE_MODEL: - acceptedTypes: - - xml - OTHER: - acceptedTypes: - - -resourceDeploymentArtifacts: - HEAT: - acceptedTypes: - - yaml - - yml - validForResourceTypes: *allResourceTypes - HEAT_VOL: - acceptedTypes: - - yaml - - yml - validForResourceTypes: *allResourceTypes - HEAT_NET: - acceptedTypes: - - yaml - - yml - validForResourceTypes: *allResourceTypes - HEAT_NESTED: - acceptedTypes: - - yaml - - yml - validForResourceTypes: *allResourceTypes - HEAT_ARTIFACT: - acceptedTypes: - validForResourceTypes: *allResourceTypes - YANG_XML: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - VNF_CATALOG: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - VF_LICENSE: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - VENDOR_LICENSE: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - MODEL_INVENTORY_PROFILE: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - MODEL_QUERY_SPEC: - acceptedTypes: - - xml - validForResourceTypes: *allResourceTypes - LIFECYCLE_OPERATIONS: - acceptedTypes: - - yaml - - yml - validForResourceTypes: - - VF - - VFC - VES_EVENTS: - acceptedTypes: - - yaml - - yml - validForResourceTypes: *allResourceTypes - PERFORMANCE_COUNTER: - acceptedTypes: - - csv - validForResourceTypes: *allResourceTypes - APPC_CONFIG: - acceptedTypes: - validForResourceTypes: - - VF - DCAE_TOSCA: - acceptedTypes: - - yml - - yaml - validForResourceTypes: - - VF - - VFCMT - DCAE_JSON: - acceptedTypes: - - json - validForResourceTypes: - - VF - - VFCMT - DCAE_POLICY: - acceptedTypes: - - emf - validForResourceTypes: - - VF - - VFCMT - DCAE_DOC: - acceptedTypes: - validForResourceTypes: - - VF - - VFCMT - DCAE_EVENT: - acceptedTypes: - validForResourceTypes: - - VF - - VFCMT - AAI_VF_MODEL: - acceptedTypes: - - xml - validForResourceTypes: - - VF - AAI_VF_MODULE_MODEL: - acceptedTypes: - - xml - validForResourceTypes: - - VF - OTHER: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SNMP_POLL: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SNMP_TRAP: - acceptedTypes: - validForResourceTypes: *allResourceTypes - -resourceInstanceDeploymentArtifacts: - HEAT_ENV: - acceptedTypes: - - env - VF_MODULES_METADATA: - acceptedTypes: - - json - VES_EVENTS: - acceptedTypes: - - yaml - - yml - PERFORMANCE_COUNTER: - acceptedTypes: - - csv - DCAE_INVENTORY_TOSCA: - acceptedTypes: - - yml - - yaml - DCAE_INVENTORY_JSON: - acceptedTypes: - - json - DCAE_INVENTORY_POLICY: - acceptedTypes: - - emf - DCAE_INVENTORY_DOC: - acceptedTypes: - DCAE_INVENTORY_BLUEPRINT: - acceptedTypes: - DCAE_INVENTORY_EVENT: - acceptedTypes: - SNMP_POLL: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SNMP_TRAP: - acceptedTypes: - validForResourceTypes: *allResourceTypes - -resourceInformationalArtifacts: - CHEF: - acceptedTypes: - validForResourceTypes: *allResourceTypes - PUPPET: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SHELL: - acceptedTypes: - validForResourceTypes: *allResourceTypes - YANG: - acceptedTypes: - validForResourceTypes: *allResourceTypes - YANG_XML: - acceptedTypes: - validForResourceTypes: *allResourceTypes - HEAT: - acceptedTypes: - validForResourceTypes: *allResourceTypes - BPEL: - acceptedTypes: - validForResourceTypes: *allResourceTypes - DG_XML: - acceptedTypes: - validForResourceTypes: *allResourceTypes - MURANO_PKG: - acceptedTypes: - validForResourceTypes: *allResourceTypes - OTHER: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SNMP_POLL: - acceptedTypes: - validForResourceTypes: *allResourceTypes - SNMP_TRAP: - acceptedTypes: - validForResourceTypes: *allResourceTypes - GUIDE: - acceptedTypes: - validForResourceTypes: - - VF - - VFC - -resourceInformationalDeployedArtifacts: - - -requirementsToFulfillBeforeCert: - -capabilitiesToConsumeBeforeCert: - -unLoggedUrls: - - /sdc2/rest/healthCheck - -cleanComponentsConfiguration: - cleanIntervalInMinutes: 1440 - componentsToClean: - - Resource - - Service - -artifactsIndex: resources - -heatEnvArtifactHeader: "" -heatEnvArtifactFooter: "" - -onboarding: - protocol: http - host: <%= @host_ip %> - port: <%= @catalog_port %> - downloadCsarUri: "/onboarding-api/v1.0/vendor-software-products/packages" - healthCheckUri: "/onboarding-api/v1.0/healthcheck" - -dcae: - protocol: http - host: <%= @host_ip %> - port: <%= @catalog_port %> - healthCheckUri: "/dcae/healthCheck" - -# #GSS IDNS -switchoverDetector: - gBeFqdn: - gFeFqdn: - beVip: 1.2.3.4 - feVip: 1.2.3.4 - beResolveAttempts: 3 - feResolveAttempts: 3 - enabled: false - interval: 60 - changePriorityUser: ecompasdc - changePriorityPassword: ecompasdc123 - publishNetworkUrl: - publishNetworkBody: '{"note":"comment"}' - groups: - beSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["","","failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'} - feSet: { changePriorityUrl: "", changePriorityBody: '{"name":"","uri":"","no_ad_redirection":false,"v4groups":{"failover_groups":["",""],"failover_policy":["FAILALL"]},"comment":"","intended_app_proto":"DNS"}'} - -applicationL1Cache: - datatypes: - enabled: true - firstRunDelay: 10 - pollIntervalInSec: 60 - -applicationL2Cache: - enabled: true - catalogL1Cache: - enabled: true - resourcesSizeInCache: 300 - servicesSizeInCache: 200 - productsSizeInCache: 100 - queue: - syncIntervalInSecondes: 43200 - waitOnShutDownInMinutes: 10 - numberOfCacheWorkers: 4 - -toscaValidators: - stringMaxLength: 2500 - -disableAudit: false -vfModuleProperties: - min_vf_module_instances: - forBaseModule: 1 - forNonBaseModule: 0 - max_vf_module_instances: - forBaseModule: 1 - forNonBaseModule: - initial_count: - forBaseModule: 1 - forNonBaseModule: 0 - vf_module_type: - forBaseModule: Base - forNonBaseModule: Expansion - -genericAssetNodeTypes: - VFC: org.openecomp.resource.abstract.nodes.VFC - VF : org.openecomp.resource.abstract.nodes.VF - Service: org.openecomp.resource.abstract.nodes.service - -workloadContext: Production - -environmentContext: - defaultValue: General_Revenue-Bearing - validValues: - - Critical_Revenue-Bearing - - Vital_Revenue-Bearing - - Essential_Revenue-Bearing - - Important_Revenue-Bearing - - Needed_Revenue-Bearing - - Useful_Revenue-Bearing - - General_Revenue-Bearing - - Critical_Non-Revenue - - Vital_Non-Revenue - - Essential_Non-Revenue - - Important_Non-Revenue - - Needed_Non-Revenue - - Useful_Non-Revenue - - General_Non-Revenue diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_cassandra_user.sh.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_cassandra_user.sh.erb deleted file mode 100644 index 9fcf165f44..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_cassandra_user.sh.erb +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -CASSANDRA_USER=<%= @cassandra_usr %> -CASSANDRA_PASS=<%= @cassandra_pwd %> -CASSANDRA_IP=<%= @cassandra_ip %> - -pass_changed=99 -retry_num=1 -is_up=0 -while [ $is_up -eq 0 -a $retry_num -le 100 ]; do - echo "exit" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP > /dev/null 2>&1 - res1=$? - echo "exit" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP > /dev/null 2>&1 - res2=$? - - if [ $res1 -eq 0 -o $res2 -eq 0 ]; then - echo "`date` --- cqlsh is enabled to connect." - is_up=1 - [ $res1 -eq 0 ] && pass_changed=0 - [ $res2 -eq 0 ] && pass_changed=1 - else - echo "`date` --- cqlsh is NOT enabled to connect yet. sleep 5" - sleep 5 - fi - let "retry_num++" -done - - -echo "pass_changed=[$pass_changed]" -case $pass_changed in - 0) - cassandra_user_exist=`echo "list users;" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP |grep -c $CASSANDRA_USER` - if [ $cassandra_user_exist -eq 1 ] ; then - echo "cassandra user $CASSANDRA_USER already exist" - echo "alter user $CASSANDRA_USER with password '$CASSANDRA_PASS' nosuperuser;" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP - else - echo "Going to create $CASSANDRA_USER" - echo "create user $CASSANDRA_USER with password '$CASSANDRA_PASS' nosuperuser;" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP - fi - echo "Modify cassandra password" - echo "ALTER USER cassandra WITH PASSWORD '$CASSANDRA_PASS';" | cqlsh -u cassandra -p cassandra $CASSANDRA_IP - ;; - 1) - cassandra_user_exist=`echo "list users;" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP |grep -c $CASSANDRA_USER` - if [ $cassandra_user_exist -eq 1 ] ; then - echo "cassandra user $CASSANDRA_USER already exist" - echo "alter user $CASSANDRA_USER with password '$CASSANDRA_PASS' nosuperuser;" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP - else - echo "Going to create $CASSANDRA_USER" - echo "create user $CASSANDRA_USER with password '$CASSANDRA_PASS' nosuperuser;" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP - fi - ;; - *) - echo "pass_changed doen't have value" - ;; -esac - diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_dox_keyspace.sh.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_dox_keyspace.sh.erb deleted file mode 100644 index e316234d1e..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/create_dox_keyspace.sh.erb +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -CASSANDRA_USER='<%= @cassandra_usr %>' -CASSANDRA_PASS='<%= @cassandra_pwd %>' - -KEYSPACE="CREATE KEYSPACE IF NOT EXISTS dox WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', '<%= @DC_NAME %>': '1'};" -KEYSPACE1="CREATE KEYSPACE IF NOT EXISTS zusammen_dox WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', '<%= @DC_NAME %>': '1'};" - -echo "run create_dox_keyspace.cql" -echo -e "$KEYSPACE\n$KEYSPACE1" > /tmp/create_dox_keyspace.cql - -chmod 755 /tmp/create_dox_keyspace.cql -cqlsh -u $CASSANDRA_USER -p $CASSANDRA_PASS -f /tmp/create_dox_keyspace.cql > /dev/null 2>&1 - - -res=`echo "select keyspace_name from system.schema_keyspaces ;" | cqlsh -u $CASSANDRA_USER -p $CASSANDRA_PASS |grep -c dox 2>/dev/null` - -if [ $res -gt 0 ]; then - echo "`date` --- dox keyspace was created " -else - echo "`date` --- Failed to create dox keyspace" -fi - - -echo "run create_dox_db.cql" -chmod 755 /tmp/tools/build/scripts/create_dox_db.cql -cqlsh -u $CASSANDRA_USER -p $CASSANDRA_PASS -f /tmp/tools/build/scripts/create_dox_db.cql > /dev/null 2>&1 - -sleep 10 - -echo "run alter_dox_db.cql" -chmod 755 /tmp/tools/build/scripts/alter_dox_db.cql -cqlsh -u $CASSANDRA_USER -p $CASSANDRA_PASS -f /tmp/tools/build/scripts/alter_dox_db.cql > /dev/null 2>&1 - diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/elasticsearch.yml.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/elasticsearch.yml.erb deleted file mode 100644 index 79d11f4610..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/elasticsearch.yml.erb +++ /dev/null @@ -1,11 +0,0 @@ -discovery.zen.ping.multicast.enabled: false -discovery.zen.ping.unicast.enabled: true -node.name: asdc-01 -cluster.name: elasticsearch -node.master: false -node.data: false -http.cors.enabled: true -path.home: "/var/lib/jetty/config" -elasticSearch.transportclient: true -transport.client.initial_nodes: - - <%= @elastic_ip %>:9300 diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/ready-probe.sh.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/ready-probe.sh.erb new file mode 100644 index 0000000000..2f97d0768e --- /dev/null +++ b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/ready-probe.sh.erb @@ -0,0 +1,16 @@ +#!/bin/bash + +CASSANDRA_PASS=<%= @cassandra_pwd %> +CASSANDRA_IP=<%= @cassandra_ip %> + +if [[ $(nodetool status |tail -n2 | grep -Ev "^$"a) == *"UN"* ]]; then + echo "exit" | cqlsh -u cassandra -p $CASSANDRA_PASS $CASSANDRA_IP > /dev/null 2>&1 + rc=$? + if [[ $rc != 0 ]]; then exit $rc; fi + fi + exit 0; +else + echo "Not Up"; + exit 1; +fi + diff --git a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/titan.properties.erb b/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/titan.properties.erb deleted file mode 100644 index 6f7859e184..0000000000 --- a/sdc-os-chef/sdc-cassandra/chef-repo/cookbooks/cassandra-actions/templates/default/titan.properties.erb +++ /dev/null @@ -1,29 +0,0 @@ -storage.backend=cassandra -storage.hostname=localhost -storage.port=9160 -storage.username=<%= @cassandra_usr %> -storage.password=<%= @cassandra_pwd %> -storage.connection-timeout=<%= @titan_connection_timeout %> -storage.cassandra.keyspace=sdctitan - - -storage.cassandra.ssl.enabled=false -storage.cassandra.ssl.truststore.location=/var/lib/jetty/config/.truststore -storage.cassandra.ssl.truststore.password=Aa123456 - -storage.cassandra.read-consistency-level=LOCAL_QUORUM -storage.cassandra.write-consistency-level=LOCAL_QUORUM -storage.cassandra.replication-strategy-class=org.apache.cassandra.locator.NetworkTopologyStrategy -storage.cassandra.replication-strategy-options=<%= @DC_NAME %>,1 -storage.cassandra.astyanax.local-datacenter=<%= @DC_NAME %> - -cache.db-cache = false -cache.db-cache-clean-wait = 20 -cache.db-cache-time = 180000 -cache.db-cache-size = 0.5 - -cache.tx-cache-size = 1000000 - -storage.lock.retries=5 -storage.lock.wait-time=500 - diff --git a/sdc-os-chef/sdc-cassandra/chef-solo/roles/cassandra-actions.json b/sdc-os-chef/sdc-cassandra/chef-solo/roles/cassandra-actions.json index d8155e2068..cd8478c5ca 100644 --- a/sdc-os-chef/sdc-cassandra/chef-solo/roles/cassandra-actions.json +++ b/sdc-os-chef/sdc-cassandra/chef-solo/roles/cassandra-actions.json @@ -10,11 +10,8 @@ }, "chef_type": "role", "run_list": [ - "recipe[cassandra-actions::02-createCsUser]", - "recipe[cassandra-actions::03-createDoxKeyspace]", - "recipe[cassandra-actions::04-schemaCreation]", - "recipe[cassandra-actions::05-titanSchemaCreation]", - "recipe[cassandra-actions::07-importComformance]" + "recipe[cassandra-actions::02-changeCSpass]", + "recipe[cassandra-actions::03-prepareProbeFile]" ], "env_run_lists": { diff --git a/sdc-os-chef/sdc-cassandra/startup.sh b/sdc-os-chef/sdc-cassandra/startup.sh index 49edc26130..0daa82ff88 100755 --- a/sdc-os-chef/sdc-cassandra/startup.sh +++ b/sdc-os-chef/sdc-cassandra/startup.sh @@ -1,26 +1,16 @@ #!/bin/bash cd /root/chef-solo -echo "normal['HOST_IP'] = \"${HOST_IP}\"" >> /root/chef-solo/cookbooks/cassandra-actions/attributes/default.rb - -export CHEFNAME=${ENVNAME} - -sed -i "s/HOSTIP/${HOST_IP}/g" /root/chef-solo/cookbooks/cassandra-actions/recipes/02-createCsUser.rb -sed -i "s/HOSTIP/${HOST_IP}/g" /root/chef-solo/cookbooks/cassandra-actions/recipes/03-createDoxKeyspace.rb -sed -i "s/HOSTIP/${HOST_IP}/g" /root/chef-solo/cookbooks/cassandra-actions/recipes/04-schemaCreation.rb - -chef-solo -c solo.rb -o recipe[cassandra-actions::01-configureCassandra] -E ${CHEFNAME} +chef-solo -c solo.rb -o recipe[cassandra-actions::01-configureCassandra] -E ${ENVNAME} rc=$? - if [[ $rc != 0 ]]; then exit $rc; fi + echo "########### starting cassandra ###########" # start cassandra /docker-entrypoint.sh cassandra -f & -sleep 10 - -chef-solo -c solo.rb -E ${CHEFNAME} -rc=$? +chef-solo -c solo.rb -E ${ENVNAME} if [[ $rc != 0 ]]; then exit $rc; fi -while true; do sleep 2; done + +exec "$@"; -- cgit 1.2.3-korg