pivotal-cf / telemetry-release

Telemetry Tile for use in TAS Ops Manager
https://docs.pivotal.io/telemetry/index.html
Apache License 2.0
2 stars 4 forks source link

telemetry/0.14.0 fails to deploy #11

Open abg opened 3 days ago

abg commented 3 days ago

Describe the bug

My team maintains https://github.com/pivotal-cf/on-demand-service-broker-release

Internally the on-demand-service-broker pipeline tests with telemetry release and has done so for a very long time without issue.

This morning our deployments started failing with telemetry/0.14.0. bosh deploy fails on this error:

$ bosh -d on-demand-broker-475d1490-telemetry-contract-tests deploy test_manifest.yml
...
Task 75 | 20:53:43 | L starting jobs: broker/c57369c5-3b4d-4677-be7d-fbd04afafab7 (0) (canary) (00:03:26)
                   L Error: 'broker/c57369c5-3b4d-4677-be7d-fbd04afafab7 (0)' is not running after update. Review logs for failed jobs: telemetry-centralizer

Investigating the telemetry-centralizer job showed and issue with ruby/bundler

# tail /var/vcap/sys/log/telemetry-centralizer/telemetry-centralizer.stderr.log
...
Activating bundler (~> 2.5) failed:
Could not find 'bundler' (~> 2.5) - did find: [bundler-2.4.22]
Checked in 'GEM_PATH=/var/vcap/data/telemetry-centralizer/.local/share/gem/ruby/3.2.0:/var/vcap/data/packages/ruby-3.2/c9b0a72479374f51a8d99747d8b9737c6fd63f97/lib/ruby/gems/3.2.0:/var/vcap/packages/fluentd/gem_home/ruby/3.2.5' , execute `gem env` for more information

To install the version of bundler this project requires, run `gem install bundler -v '~> 2.5'`

We surmise this commit is likely responsible - perhaps something didn't get vendored properly.

Pinning back to telemetry/0.13.13 resolves our issue.

Reproduction steps

  1. bosh deploy telemetry/0.14.0 w/ the telemetry-centralizer job
  2. Observe the job fails to start
  3. Inspect /var/vcap/sys/log/telemetry-centralizer/telemetry-centralizer.stderr.log and see Activating bundler (~> 2.5) failed

Example reduced manifest:

name: failing-telemetry-deployment
addons:
- jobs:
  - name: bpm
    release: bpm
  name: bpm
instance_groups:
- azs:
  - z1
  instances: 1
  jobs:
  - name: telemetry-centralizer
    properties:
      audit_mode: true
      flush_interval: 60
      telemetry:
        api_key: not-a-good-api-key
        endpoint: http://not-the-real-endpoint
        env_type: contract-test-env
        foundation_id: contract-test-foundation
        iaas_type: gcp
      tls:
        agent_cert: ((telemetry-agent-cert.certificate))
        agent_private_key: ((telemetry-agent-cert.private_key))
        ca_cert: ((telemetry-ca-cert.certificate))
        cert: ((telemetry-centralizer-cert.certificate))
        private_key: ((telemetry-centralizer-cert.private_key))
    provides:
      telemetry-centralizer-address:
        as: my-custom-telemetry-centralizer-address
    release: telemetry
  name: telemetry-test
  networks:
  - name: default
  stemcell: jammy
  vm_type: default
releases:
- name: bpm
  url: https://bosh.io/d/github.com/cloudfoundry/bpm-release
  version: latest
- name: telemetry
  version: "0.14.0"
stemcells:
- alias: jammy
  os: ubuntu-jammy
  version: "1.572"
update:
  canaries: 1
  canary_watch_time: 3000-180000
  max_in_flight: 4
  update_watch_time: 3000-180000
variables:
- name: telemetry-ca-cert
  options:
    common_name: Telemetry CA
    is_ca: true
  type: certificate
- consumes:
    alternative_name:
      from: my-custom-telemetry-centralizer-address
  name: telemetry-centralizer-cert
  options:
    ca: telemetry-ca-cert
    common_name: Telemetry centralizer
  type: certificate
- name: telemetry-agent-cert
  options:
    ca: telemetry-ca-cert
    common_name: telemetry-agent
  type: certificate

Expected behavior

Deployment should be successful.

Additional context

No response

joyvuu-dave commented 1 day ago

@abg Thanks for reporting the issue. We just pushed 0.14.1 which should now rely on the version of bundler available in https://github.com/cloudfoundry/bosh-package-ruby-release. Let us know if your team still has any issues with this build.