### Collecting and Analyzing Performance Test Results Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Commands to download, extract, and analyze performance test results from the errand VM. Includes an example using `jq` to parse JSON reports. ```bash # Download results from the errand VM bosh -d cf scp cf-performance-tests-errand:/tmp/results.tar.gz ./ # Extract results tar -xzf results.tar.gz # Results structure ls -la ./results/ # go/postgres/results/ or rails/mysql/results/ # Contains JSON performance reports per test suite # Example: Parse results with jq cat ./results/go/postgres/results/isolation_segments.json | jq '.measurements[] | {name, mean, stddev}' ``` -------------------------------- ### BOSH Links Configuration for Database Connections Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Configure BOSH links for Cloud Controller and UAA database jobs to automatically set up database connections. This example shows how to consume links from CC and UAA DB jobs and provide them from a database instance group. ```yaml # Required BOSH links consumed by the errand consumes: - name: cloud_controller_db type: cloud_controller_db - name: uaa_db type: uaa_db # Example: providing links from database instance groups instance_groups: - name: database jobs: - name: pxc-mysql release: pxc provides: cloud_controller_db: as: cloud_controller_db uaa_db: as: uaa_db properties: ccdb: db_scheme: mysql address: sql-db.service.cf.internal port: 3306 databases: - name: ccdb tag: cc roles: - name: ccadmin password: ((cc_database_password)) tag: admin uaadb: address: sql-db.service.cf.internal port: 3306 databases: - name: uaa tag: uaa roles: - name: uaaadmin password: ((uaa_database_password)) tag: admin ``` -------------------------------- ### Concourse CI/CD Pipeline for Performance Tests Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt An example Concourse task configuration for running the CF performance tests errand. It includes steps to deploy, run tests, retrieve results, and prepare them for storage. ```yaml # Concourse task example for running performance tests jobs: - name: run-performance-tests plan: - get: cf-deployment trigger: true - task: deploy-and-test config: platform: linux params: BOSH_ENVIRONMENT: ((bosh_environment)) BOSH_CLIENT: ((bosh_client)) BOSH_CLIENT_SECRET: ((bosh_client_secret)) BOSH_CA_CERT: ((bosh_ca_cert)) run: path: bash args: - -c - | # Run the performance tests errand bosh -d cf run-errand cf-performance-tests-errand # Retrieve results bosh -d cf scp cf-performance-tests-errand:/tmp/results.tar.gz ./results.tar.gz # Upload to results storage tar -xzf results.tar.gz # Process and store results for historical comparison ``` -------------------------------- ### Run Performance Tests Errand Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Execute the performance tests against your deployed Cloud Foundry environment using the BOSH run-errand command. Use --keep-alive for verbose output and scp to download results. ```bash # Run all performance tests bosh -d cf run-errand cf-performance-tests-errand # Run with verbose output to see test progress bosh -d cf run-errand cf-performance-tests-errand --keep-alive # Download results after the errand completes bosh -d cf scp cf-performance-tests-errand:/tmp/results.tar.gz ./results.tar.gz ``` -------------------------------- ### Generated Configuration File Structure Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt The errand generates a configuration file that connects to Cloud Controller and UAA databases using BOSH links. This configuration is automatically populated during deployment. ```yaml # Generated config.yml structure (created from template) api: "cloud-controller-ng.service.cf.internal:9022" use_http: true skip_ssl_validation: true cf_deployment_version: "v25.0.0" capi_version: "1.150.0" users: admin: username: admin password: admin-secret-password # Database type is auto-detected from BOSH links database_type: postgres # Database connection strings (auto-generated from BOSH links) # For PostgreSQL: ccdb_connection: "postgres://ccadmin:password@sql-db.service.cf.internal:5524/ccdb?sslmode=disable" uaadb_connection: "postgres://uaadmin:password@sql-db.service.cf.internal:5524/uaa?sslmode=disable" # For MySQL: ``` -------------------------------- ### Package Dependencies for CF Performance Tests Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Specifies the vendored packages included in the release, such as Go runtime and CF CLI, to ensure consistent test execution. This YAML snippet lists package names and their fingerprints. ```yaml # Package specifications included in the release packages: - name: golang-1.23-linux fingerprint: f46b6d3e8b659ee6bc5324ead33bc8e0b19a78e65afbfe2573828b55aa0def66 - name: cf-cli-8-linux fingerprint: f883120c8d154af17f09d126fe9b91e5801720de013c69dff4b7a6a336323bd5 - name: cf_performance_tests files: - cf-performance-tests/**/* ``` -------------------------------- ### Add Errand to CF Deployment Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Deploy the performance tests errand to your Cloud Foundry environment using the provided ops file. Ensure you replace placeholder values with your actual credentials and versions. ```bash # Add the errand to your CF deployment using the ops file bosh -d cf deploy cf-deployment.yml \ -o https://github.com/cloudfoundry/cf-performance-tests-pipeline/operations/performance-tests-errand.yml \ -v cf_admin_username=admin \ -v cf_admin_password=your-admin-password \ -v cf_deployment_version=v25.0.0 \ -v capi_version=1.150.0 # After deployment completes, verify the errand is available bosh -d cf errands ``` -------------------------------- ### Run Specific Test Suites Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Target specific test folders to run a subset of the performance tests. This is useful for focused testing or debugging specific areas. ```bash # Run only isolation segment tests bosh -d cf run-errand cf-performance-tests-errand \ -v test_suite_folder="isolation_segments" # Run only service broker tests bosh -d cf run-errand cf-performance-tests-errand \ -v test_suite_folder="service_brokers" # Run only organization-related tests bosh -d cf run-errand cf-performance-tests-errand \ -v test_suite_folder="organizations" ``` -------------------------------- ### Job Specification Properties for Performance Tests Source: https://context7.com/cloudfoundry/cf-performance-tests-release/llms.txt Configure the performance tests behavior through BOSH job properties. These properties control test execution parameters, timeouts, and result storage locations. ```yaml # Example BOSH deployment manifest snippet for cf-performance-tests job instance_groups: - name: cf-performance-tests-errand jobs: - name: cf-performance-tests release: cf-performance-tests properties: # Test execution settings test_suite_folder: "" # Run specific test folder (empty = all tests) samples: 5 # Number of samples per test ginkgo_timeout: "3h" # Maximum test suite duration # Timeout settings basic_timeout: "60s" # Timeout for basic operations long_timeout: "180s" # Timeout for complex operations # Pagination settings large_page_size: 500 # Page size for large result sets large_elements_filter: 100 # Filter threshold for large elements # Reporting metadata cf_deployment_version: "v25.0.0" capi_version: "1.150.0" # Credentials users: admin: username: admin password: ((cf_admin_password)) existing: username: test-user password: ((test_user_password)) # Results storage path results_folder: "/tmp/results/go/postgres/results/" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.