Puppet in UEC/EC2 images

Registered by Mathias Gug

A puppet master service should be provided as part of the UEC installation. UEC/EC2 images should also support a puppet environment where instances can be booted and automatically be configured via puppet.

Blueprint information

Status:
Complete
Approver:
Jos Boumans
Priority:
Medium
Drafter:
Mathias Gug
Direction:
Needs approval
Assignee:
Mathias Gug
Definition:
Approved
Series goal:
Accepted for lucid
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-10.04
Started by
Mathias Gug
Completed by
Mathias Gug

Related branches

Sprints

Whiteboard

Secondary Engineer: smoser

jib review 2009-12-18: This spec has a very good use case and I'd like to see it further specified for alpha3. It may carry risks that aren't yet documented. Please update the outstanding workitems along the lines of https://wiki.ubuntu.com/WorkItemsHowto so we can target the implementation for alpha3.

jib review 2010-1-13: This should integrate server-lucid-ec2-boothooks to get the puppet master address.

The discussion has been move to the specification wiki page: https://wiki.ubuntu.com/PuppetUECEC2Integration

Status:
Upstream patch to fix test failures uploaded to Lucid. Reduced the number of errors and failures: 3 errors and 7 failures left.
Blog posts series on puppet in uec/ec2 published.

Work items for lucid-alpha-3:
Write an upstart job that sets up an instance as a puppet client: DONE
Write a puppet recipe to setup a puppet master in UEC/EC2: DONE
Upload a new cloud-init package to lucid: DONE

Work items for ubuntu-10.04-beta-1:
Run the puppet test suite and list the number of failing tests - 20 failures, 13 errors: DONE
File upstream bugs for 13 errors: DONE
File upstream bugs for 20 failures: DONE
Create a puppetmaster configuration that supports facts sharing and plugins share in ec2/uec: POSTPONED
Write a puppet fact to export the facts from a yaml file: POSTPONED
Document how to bootstrap a puppet managed infrastructure in UEC/EC2: DONE
Write script for puppetca that pools pending requests and sign them if they're part of running instances: DONE
Document the security choices (client auto-registration) and assumption made in the puppet master and the EC2/UEC network infrastructure: POSTPONED
Investigate strategies for nodes allocation in the puppet-base UEC/EC2 infrastructure: DONE
Document strategies for nodes allocation in the puppet-base UEC/EC2 infrastructure: POSTPONED
Test the puppet master setup in UEC/EC2: POSTPONED

Work items for ubuntu-10.04-beta-2:
Document the security choices (client auto-registration) and assumption made in the puppet master and the EC2/UEC network infrastructure: DONE
Document strategies for nodes allocation in the puppet-base UEC/EC2 infrastructure: DONE
Test the puppet master setup in UEC/EC2: DONE
Publish blog posts about puppet usage in UEC/EC2: DONE
Integrate upstream patches that fix errors/failures in the test suite (#waiting for upstream patches): POSTPONED
Write a puppet fact to export the facts from a yaml file: POSTPONED
Create a puppetmaster configuration that supports facts sharing and plugins share in ec2/uec: POSTPONED
Test stored configs with libactiverecords-ruby pkg only: POSTPONED

Work items for ubuntu-10.04:
Integrate upstream patches that fix errors/failures in the test suite (upstream patches available): DONE
Package spec/ tests: DONE
Fix init provider to support upstart status command: DONE
Fix remaining 7 failures and 3 errors (#wait upstream) from tests/: POSTPONED
File 4 failures from specs/ tests: DONE
Fix spec/ failure: POSTPONED
Write a puppet fact to export the facts from a yaml file: POSTPONED
Create a puppetmaster configuration that supports facts sharing and plugins share in ec2/uec: POSTPONED
Test stored configs with libactiverecords-ruby pkg only: POSTPONED

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.