コード例 #1
0
ファイル: environment.py プロジェクト: rnorth/blitzemp
import os

from blitzem.model import Node, Size, defaults
from libcloud.compute.deployment import MultiStepDeployment, ScriptDeployment, SSHKeyDeployment

# Can override specific default settings.
defaults["os"] = "Ubuntu 11.10"


"""
==== WEB TIER ====
"""
# A simple node in the 'web' tier
Node(	name="web1",
		tags=["web"])

# A node with more customized settings - also tagged 'peakload' for scaling control
Node(	name="web2",
		os="Ubuntu 11.04",
		tags=["web", "peakload"],
		size=Size(ram=512))

"""
==== APP TIER ====
"""
Node(	name="app1",
		os="Ubuntu 11.04",
		tags=["app"])

# also tagged 'peakload' for scaling control
Node(	name="app2",
コード例 #2
0
ファイル: environment.py プロジェクト: rnorth/blitzemp
from blitzem.model import Node, LoadBalancer, Size, defaults, user_public_ssh_key
from libcloud.compute.deployment import MultiStepDeployment, ScriptDeployment, SSHKeyDeployment
from blitzem.deployment import LoggedScriptDeployment

defaults["deployment"] = MultiStepDeployment([
		# Note: This key will be added to the authorized keys for the root user
		# (/root/.ssh/authorized_keys)
		SSHKeyDeployment(open(user_public_ssh_key).read()),
		# Serve a simple text file on each node to demonstrate load balancing effect
		LoggedScriptDeployment("apt-get update; apt-get install dtach"),
		LoggedScriptDeployment("mkdir web; cd web; hostname > hostname.txt; dtach -n /tmp/simple_http.worker python -m SimpleHTTPServer 8080")
	])



"""
==== WEB TIER ====
"""

LoadBalancer(	name="web_lb1",
				applies_to_tag="web",
				port=8080,
				protocol="http")

# A simple pair of nodes in the 'web' tier
Node(	name="web1",
		tags=["web"])

Node(	name="web2",
		tags=["web"])
コード例 #3
0
 def create_dummies(self, node_name="", node_exists=False):
     self.node = Node(name=node_name, tags=["tag1"], size=Size(ram=512))
     self.conn = DummyConn(node_name, node_exists)