Skip to content

Instantly share code, notes, and snippets.

View jcpowermac's full-sized avatar

Joseph Callen jcpowermac

  • Red Hat
  • Paw Paw, Michigan
View GitHub Profile
/***
*
* Code from: http://sourceforge.net/p/wimlib/code/ci/master/tree/programs/imagex.c
* http://sourceforge.net/p/wimlib/code/ci/master/tree/src/xml.c
*/
#include <wimlib.h>
#include <wimlib_tchar.h>
#include <ctype.h>
This guide is for individuals just want to get Hanlon installed and running quickly. We are using Ubuntu LTS 14.04 but should also work with previous releases.
Lets first install git, mongodb, dhcpd, tftpd, ipxe installed:
```bash
root@hanlon:/# apt-get install -y git make mongodb openjdk-7-jre-headless g++ isc-dhcp-server ipxe tftp tftpd curl
```
For Windows testing only
```bash
apt-get install samba apache2 -y
diff -rupN org_ipxe/src/config/general.h ipxe/src/config/general.h
--- org_ipxe/src/config/general.h 2014-06-11 08:07:39.193081793 -0400
+++ ipxe/src/config/general.h 2014-06-10 15:15:30.628188405 -0400
@@ -111,7 +111,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
//#define IMAGE_PXE /* PXE image support */
//#define IMAGE_SCRIPT /* iPXE script image support */
//#define IMAGE_BZIMAGE /* Linux bzImage image support */
-//#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */
+#define IMAGE_COMBOOT /* SYSLINUX COMBOOT image support */
//#define IMAGE_EFI /* EFI image support */
module ProjectHanlon
module ModelTemplate
class Redhat7 < Redhat
include(ProjectHanlon::Logging)
def initialize(hash)
super(hash)
# Static config
@hidden = false
cat > /etc/yum.repos.d/epel.repo << EOF
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
diff --git a/core/image_service/base.rb b/core/image_service/base.rb
index 90433cb..be09592 100644
--- a/core/image_service/base.rb
+++ b/core/image_service/base.rb
@@ -9,7 +9,7 @@ module ProjectHanlon
MOUNT_COMMAND = (Process::uid == 0 ? "mount" : "sudo -n mount")
UMOUNT_COMMAND = (Process::uid == 0 ? "umount" : "sudo -n umount")
- # I absolutely do not like hardcoding this
+ # TODO - determine another method for providing the path to 7z, configuration file?
require "fileutils"
require "digest/sha2"
module ProjectHanlon
module ImageService
# Base image abstract
class Base < ProjectHanlon::Object
MOUNT_COMMAND = (Process::uid == 0 ? "mount" : "sudo -n mount")
UMOUNT_COMMAND = (Process::uid == 0 ? "umount" : "sudo -n umount")
Log file initialized...
E, [2014-07-02T17:10:00.977000 #5609] ERROR -- image_service/base.rb:129:in `archive_handler?'>>ProjectHanlon::ImageService::OSInstall#archive_handler?: fullpath test: Version: 20070708
Usage: /usr/bin/fuseiso [-n] [-p] [-c <iocharset>] [-h] <isofs_image_file> <mount_point> [<FUSE library options>]
Where options are:
-n -- do NOT maintain file $HOME/.mtab.fuseiso
-p -- maintain mount point;
create it if it does not exists and delete it on exit
-c <iocharset> -- specify iocharset for Joliet filesystem
-h -- print this screen
require "fileutils"
require "digest/sha2"
module ProjectHanlon
module ImageService
# Base image abstract
class Base < ProjectHanlon::Object
MOUNT_COMMAND = (Process::uid == 0 ? "mount" : "sudo -n mount")
UMOUNT_COMMAND = (Process::uid == 0 ? "umount" : "sudo -n umount")
virt-sysprep -a /dev/virtualmachine/virctlpaw002 --hostname virctlpaw002.virtomation.com \
--firstboot-command "sed -i -r 's/IPADDR=(\b[0-9]{1,3}\.){3}[0-9]{1,3}\b'/IPADDR=10.53.252.62/ /etc/sysconfig/network-scripts/ifcfg-eth0" \
--firstboot-command 'systemctl restart network' \
--firstboot-command 'yum install -y http://rdo.fedorapeople.org/rdo-release.rpm' \
--firstboot-command 'yum install openstack-packstack -y'