Skip to end of metadata
Go to start of metadata

Goals

  • Consolidate primary project servers to the OSUOSL
    • WHY: Simplify server management, take advantage of shared resources/services offered by the OSUOSL.
  • Migrate to Puppetmaster-based configuration management infrastructure
    • WHY: Gain inventory and status reporting from puppet-managed nodes, open up ability to easily bootstrap new servers, fix lack of orchestration and quality/delivery pipeline for Jenkins' own infrastructure
  • Migrate key asset ownership to the SPI
    • WHY: Too much bus factor on domains and server ownership by R. Tyler Croy
  • Upgrade core developer services, e.g. Confluence, JIRA.
    • WHY: Some of core developer services have reached an end-of-life status from their vendors, making the continued secure operation of those services impossible.
  • Revamp infrastructure monitoring
    • WHY: Current monitoring infrastructure (Nagios-based) is not reliable and doesn't provide sufficient insight into the state of services, mostly just machines. More often downtime is noticed via Twitter/IRC rather than alerts.
  • Clean-up/prune mirroring system
    • WHY: Primary mirrors (OSUOSL), and secondaries are not intended to be the binary archive for all historical releases and need to save disk space for other projects

Projects

Migration to a modern Puppet infrastructure

Owner: R. Tyler Croy

Phases of work

  1. Set up Puppet Enterprise (Should be done in an automated fashion (no snowflakes!))
  2. Create a continuous delivery pipeline in Jenkins for our infra
    1. Define a good testing/deployment workflow that Jenkins and Puppet Labs can point to and say "this is how things should be done in 2014+"
  3. Add first production host to PE and start provisioning it via the CD pipeline
  4. Blog about progress thus far
    1. Migration strategy
    2. Developer testing and deployment pipeline
    3. ??
  5. Shift existing infrastructure over to the new model piece by piece
    1. Move primary/core services already managed by masterless Puppet, e.g. DNS, WWw, package repos
    2. Puppetize less-critical, more hacked together services (e.g. butlerbot, pieces of MirrorBrain)

Assigning ownership of key assets to SPI

Owner: Kohsuke Kawaguchi

Core user/developer Service Upgrades

Owner: R. Tyler Croy

Phases of work

  1. Puppetize JIRA installation
  2. Puppetize Confluence installation
  3. Migrate production JIRA
  4. Migrate production Confluence

Mirror cleaning

Owner: Kohsuke Kawaguchi

*COMPLETED*

Monitoring Revamp

Owner: R. Tyler Croy

Phases of work

  1. Evaluation different monitoring solutions
    1. Sensu - overly complex for monitoring our small deployment
    2. collectd
    3. Nagios
  2. Deploy/monitor one node
  3. Roll out to rest of cluster

Jenkins JIRA: Components/workflow refactoring

Owners: Daniel Beck, Oleg Nenashev

More info: 2014 JIRA Components Refactoring

Jenkins IRC Bot Improvements

Owner: Oleg Nenashev

Phases of work

  1. R. Tyler Croy - Puppetize IRC Bot => DONE
  2. Oleg Nenashev - Describe the deployment flow on GitHub/Wiki => DONE
  3. Oleg Nenashev - Introduce new commands (component management, etc.) => IN_PROGRESS
  4. Oleg Nenashev - Improve IRC Bot's testability (local debug, test suites) => IN_PROGRESS