Skip to content

This Cirrus project aims to create an extensible service that connects applications to cloud computing architectures and manages the resources they consume

Notifications You must be signed in to change notification settings

mrguitar/Cirrus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#############
# Cirrus
# README
# [email protected]
#############

1. About
	1.1 Overview
	1.2 Directory Structure
	1.3 Cirrus.sh
	1.4 Requirements
2. Installation
	2.1 Obtaining the latest source
	2.2 Unpacking
3. Configuration
	3.1 CirrusVmList
4. Help


1. About
	1.1 Overview
		Cirrus is intended to allow users to automatically scale a service running on a virtualization substrate. The approach is "driver" based so that various virtualization technologies can be managed and multiple applications can be monitored from a single point. The main difference between Cirrus and other projects is that it aims to monitor a service running in the cloud  and provide it the resources it needs and also aims to tie systems management into the equation (dhcp, dns, patch management).

| Apache | <---- Cirrus ----> | Virtualization Manager |
	          \--"Hey, give Apache more resources"

	1.2 Directory Structure
		/bin/ - Control Scripts
		/conf/ - Configuration Files
		/drivers/ - Drivers for components (virtualization, systems management, etc)
		/drivers/conf - Driver Specific Configuration
		/log/ - Log files
	1.3 Cirrus.sh
		/bin/Cirrus.sh is used to add virtual machines and remove virtual machines from a private cloud.
	1.4 Requirements
		The following are required
		1.4.1 Cirrus Server
			On the server which you wish to run Cirrus create a cirrus user
			`useradd cirrus`
			Make a directory to hold the Cirrus scripts. By default /usr/local/Cirrus
			`mkdir /usr/local/Cirrus`
			Change ownership to cirrus
			`chown -R cirrus:cirrus /usr/local/Cirrus`
		1.4.2 SSH keypair
			As the Cirrus user create a SSH keypair
			`ssh-keygen`
			The public key, by default /home/cirrus/.ssh/id_rsa.pub, will need to be copied to the servers you wish to connect to via the Cirrus scripts.
		

2. Installation
	2.1 Obtain the latest source
		http://github.com/jameslabocki/Cirrus
	2.2 Unpack
		`tar -xvzf Cirrus-archive.tar.gz`
		`unzip Cirrus-archive.zip`

3. Configuration
	3.1 CirrusVmList
		The CirrusVmList is a csv file located in the global configuration directory (./conf) with the following attributes

		Service Name, Virtual Machine Name, IP Address, MAC Address, Technologies in Use

		For example:

		-- Arbitrary Service Name
		|	-- Virtual Machine Name
		|	|		-- IP Address
		|	|		|		-- MAC Address
		|	|		|		|	    -- Call RHEV Driver
		|	|		|		|	    |   -- Call Satellite Action
		|	|		|		|	    |	|
		mrggrid,mrgexec19,172.20.128.128,00:1A:4A:14:80:CD,rhev,satellite

		It is important to populate this file with entries for each service you wish to scale. 

4. Help
	If you need help, email me <[email protected]>
	

About

This Cirrus project aims to create an extensible service that connects applications to cloud computing architectures and manages the resources they consume

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 94.9%
  • Perl 5.1%