cookbook 'ucs-pxe', '~> 0.0.1'
ucs-pxe (1) Versions 0.0.1 Follow3
Installs/Configures a PXE Appliance used for bare metal provisioning for Cisco UCS
cookbook 'ucs-pxe', '~> 0.0.1', :supermarket
knife supermarket install ucs-pxe
knife supermarket download ucs-pxe
Description
A Chef cookbook (beta) that builds a PXE appliance for Cisco UCS bare-metal deployment. This cookbook acts as the stage 2 phase for DC Automation.
As of now, the recipes are tied specifically towards the workflow defined by ucs or ucs-solo cookbooks.
Requirements
The PXE appliance is currently tested on Ubuntu 12.04.1 LTS. Other platform OSs as well as target OS's will be supported in the future.
Supported Targest OS Environments:
Ubuntu 12.04.1 LTS
Attributes
#UCS
default[:pxe][:ucs][:ip] = '192.168.73.131'
default[:pxe][:ucs][:username] = 'admin'
default[:pxe][:ucs][:password] = 'admin'
#DHCP
default[:pxe][:dhcpd][:dns_server] = "192.168.73.250"
default[:pxe][:dhcpd][:next_server] = "192.168.73.136"
default[:pxe][:dhcpd][:subnet] = "192.168.73.0"
default[:pxe][:dhcpd][:subnet_mask] = "255.255.255.0"
default[:pxe][:dhcpd][:broadcast] = "192.168.73.255"
default[:pxe][:dhcpd][:gateway] = "192.168.73.1"
default[:pxe][:dhcpd][:host_range] = "192.168.73.150 192.168.73.200"
default[:pxe][:dhcpd][:interfaces] = ['eth0']
default[:pxe][:dhcpd][:filename] = "pxelinux.0"
default[:pxe][:dhcpd][:databag] = "dhcpd"
#OS
default[:pxe][:preseed][:username] = "chef"
default[:pxe][:preseed][:password] = "chef101"
#Ubuntu
default[:pxe][:os][:release] = "ubuntu-12.04.1"
default[:pxe][:linux][:release][:dist] = "ubuntu-12.04.1"
default[:pxe][:linux][:release][:path] = "http://mirror.anl.gov/pub/ubuntu-iso/CDs/12.04/ubuntu-12.04.1-server-amd64.iso"
Usage
Follows a convention. include_recipe considered harmful and therefore we do not use it as part of our philosophy.
We prefer more explicit ways to do things forcing us to declare all dependencies when orchestrating.
The run_list order using knife:
1. Install packages
knife node run_list add recipe[ucs-pxe::default]
knife ssh name: -x -P "sudo chef-client"
2. Setup the databags needed for generating the custom dhcpd.conf
knife node run_list remove recipe[ucs-pxe::default]
knife node run_list add recipe[ucs-pxe::databag]
knife ssh name: -x -P "sudo chef-client"
3. Setup dhcpd.conf based on mac addresses of all assigned service profiles
knife node run_list remove recipe[ucs-pxe::databag]
knife node run_list add recipe[ucs-pxe::dhcpd]
knife ssh name: -x -P "sudo chef-client"
4. Build target OS environment to be deployed.
knife node run_list remove recipe[ucs-pxe::dhcpd]
knife node run_list add recipe[ucs-pxe::ubuntu]
knife ssh name: -x -P "sudo chef-client"
5. Reboot Service Profile(s). The install should begin.
6. The system halts after installation is complete.
ToDo
- Reciple for toggling boot policy to boot from disk to move towards Stage 3 - service provisioning.
License
Author:: Velankani Engineering Team eng@velankani.net
Copyright:: Copyright (c) 2011 Murali Raju, murali.raju@appliv.com
Copyright:: Copyright (c) 2012 Velankani Information Systems, Inc.
License:: Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.0.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.0.1 failed this metric
FC034: Unused template variables: ucs-pxe/templates/default/pxelinux.debian.erb:1
FC034: Unused template variables: ucs-pxe/templates/default/pxelinux.ubuntu.erb:1
FC043: Prefer new notification syntax: ucs-pxe/recipes/debian.rb:75
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:25
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:33
FC043: Prefer new notification syntax: ucs-pxe/recipes/ubuntu.rb:95
FC064: Ensure issues_url is set in metadata: ucs-pxe/metadata.rb:1
FC065: Ensure source_url is set in metadata: ucs-pxe/metadata.rb:1
FC066: Ensure chef_version is set in metadata: ucs-pxe/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: ucs-pxe/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.0.1 passed this metric
Testing File Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.0.1 failed this metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.0.1 failed this metric
FC034: Unused template variables: ucs-pxe/templates/default/pxelinux.debian.erb:1
FC034: Unused template variables: ucs-pxe/templates/default/pxelinux.ubuntu.erb:1
FC043: Prefer new notification syntax: ucs-pxe/recipes/debian.rb:75
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:25
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:33
FC043: Prefer new notification syntax: ucs-pxe/recipes/ubuntu.rb:95
FC064: Ensure issues_url is set in metadata: ucs-pxe/metadata.rb:1
FC065: Ensure source_url is set in metadata: ucs-pxe/metadata.rb:1
FC066: Ensure chef_version is set in metadata: ucs-pxe/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: ucs-pxe/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.0.1 passed this metric
Testing File Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.0.1 failed this metric
FC034: Unused template variables: ucs-pxe/templates/default/pxelinux.ubuntu.erb:1
FC043: Prefer new notification syntax: ucs-pxe/recipes/debian.rb:75
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:25
FC043: Prefer new notification syntax: ucs-pxe/recipes/dhcpd.rb:33
FC043: Prefer new notification syntax: ucs-pxe/recipes/ubuntu.rb:95
FC064: Ensure issues_url is set in metadata: ucs-pxe/metadata.rb:1
FC065: Ensure source_url is set in metadata: ucs-pxe/metadata.rb:1
FC066: Ensure chef_version is set in metadata: ucs-pxe/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: ucs-pxe/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.0.1 passed this metric
Testing File Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.0.1 failed this metric
0.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number