You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2014/01/10 11:33:21 UTC
[1/2] git commit: Puppetting the Load-balancer cartridge
Updated Branches:
refs/heads/master 236a1b375 -> 123a16b74
Puppetting the Load-balancer cartridge
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/94660906
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/94660906
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/94660906
Branch: refs/heads/master
Commit: 94660906af5fa1d51785d6bd95ddca79980c585c
Parents: 8195f22
Author: Melan Nimesh <me...@gmail.com>
Authored: Thu Jan 9 22:16:40 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Fri Jan 10 15:45:52 2014 +0530
----------------------------------------------------------------------
tools/puppet/manifests/classes/lb_cartridge.pp | 133 ++++++++++++++++++++
tools/puppet/manifests/classes/stratos.pp | 92 ++++++++++++++
tools/puppet/manifests/nodes.pp | 29 +++++
tools/puppet/templates/load-balancer/.erb | 0
4 files changed, 254 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/94660906/tools/puppet/manifests/classes/lb_cartridge.pp
----------------------------------------------------------------------
diff --git a/tools/puppet/manifests/classes/lb_cartridge.pp b/tools/puppet/manifests/classes/lb_cartridge.pp
new file mode 100644
index 0000000..4531d5a
--- /dev/null
+++ b/tools/puppet/manifests/classes/lb_cartridge.pp
@@ -0,0 +1,133 @@
+class stratos::lb ( $version,
+ $offset=0,
+ $tribes_port=4000,
+ $config_db=governance,
+ $maintenance_mode=true,
+ $owner=root,
+ $group=root,
+ $adc_host="lb.strato.org",
+ $adc_port=9445,
+ $target="/opt",
+ $cartridge_type,
+ $generic,
+ $mb_ip,
+ $mb_port,
+ $cep_ip,
+ $cep_port,
+ $java_truststore,
+ $java_truststore_password) {
+
+
+ $deployment_code = "load-balancer"
+
+ $stratos_version = $version
+ $service_code = "load-balancer"
+ $carbon_home = "${target}/apache-stratos-load-balancer-${stratos_version}"
+ $mgt_port = 8280 + $offset
+
+
+ $common_templates = [
+ # "conf/datasources/master-datasources.xml",
+ # "conf/etc/logging-config.xml",
+ # "conf/log4j.properties"
+ ]
+
+
+ tag ($service_code)
+
+ define push_templates ( $directory, $target ) {
+
+ file { "${target}/repository/${name}":
+ owner => $owner,
+ group => $group,
+ mode => 755,
+ content => template("${directory}/${name}.erb"),
+ ensure => present,
+ }
+ }
+
+ clean { $deployment_code:
+ mode => $maintenance_mode,
+ target => $carbon_home,
+ }
+
+ initialize { $deployment_code:
+ version => $stratos_version,
+ mode => $maintenance_mode,
+ service => $service_code,
+ local_dir => $local_package_dir,
+ owner => $owner,
+ target => $target,
+ require => Stratos::Clean[$deployment_code],
+ }
+
+ deploy { $deployment_code:
+ service => $service_code,
+ security => "true",
+ owner => $owner,
+ group => $group,
+ target => $carbon_home,
+ require => Stratos::Initialize[$deployment_code],
+ }
+
+
+
+ push_templates {
+ $service_templates:
+ target => $carbon_home,
+ directory => $service_code,
+ require => Stratos::Deploy[$deployment_code];
+
+ $common_templates:
+ target => $carbon_home,
+ directory => "commons",
+ require => Stratos::Deploy[$deployment_code],
+ }
+
+ start { $deployment_code:
+ owner => $owner,
+ target => $carbon_home,
+ require => [ Stratos::Initialize[$deployment_code],
+ Push_templates[$service_templates],
+ Push_templates[$common_templates],
+ ],
+ }
+
+ file { "/opt/apache-stratos-cartridge-agent":
+ ensure => directory
+ }
+
+
+ file { "/opt/apache-stratos-cartridge-agent/apache-stratos-cartridge-agent-4.0.0-SNAPSHOT-bin.zip":
+ source => "puppet:///commons/apache-stratos-cartridge-agent-4.0.0-SNAPSHOT-bin.zip",
+ ensure => present,
+ }
+
+
+ file { "/opt/apache-stratos-cartridge-agent/cartridge-agent.sh":
+ source => "puppet:///commons/cartridge-agent.sh",
+ ensure => present,
+ }
+
+
+ file { "/opt/apache-stratos-cartridge-agent/get-launch-params.rb":
+ source => "puppet:///commons/get-launch-params.rb",
+ ensure => present,
+ }
+
+
+ file {"/tmp/puppet-payload":
+ ensure => present,
+ content => ",MB_IP=${mb_ip},MB_PORT=${mb_port},CEP_IP=${cep_ip},CEP_PORT=${cep_port},CERT_TRUSTSTORE=${java_truststore},TRUSTSTORE_PASSWORD=${java_truststore_password}",
+ }
+
+ exec {"run_agent_script-$deployment_code":
+ command => "/opt/apache-stratos-cartridge-agent/cartridge-agent.sh",
+ require => File["/tmp/puppet-payload",
+ "/opt/apache-stratos-cartridge-agent/apache-stratos-cartridge-agent-4.0.0-SNAPSHOT-bin.zip",
+ "/opt/apache-stratos-cartridge-agent/cartridge-agent.sh",
+ "/opt/apache-stratos-cartridge-agent/get-launch-params.rb"];
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/94660906/tools/puppet/manifests/classes/stratos.pp
----------------------------------------------------------------------
diff --git a/tools/puppet/manifests/classes/stratos.pp b/tools/puppet/manifests/classes/stratos.pp
new file mode 100644
index 0000000..b1cc50b
--- /dev/null
+++ b/tools/puppet/manifests/classes/stratos.pp
@@ -0,0 +1,92 @@
+# Parent of a startos service deployment
+
+class stratos {
+
+## Cleans the previous deployment. If the maintenance mode is set to true, this will only kill the running service.
+
+ define clean ( $mode, $target ) {
+
+ exec { "remove_${name}_poop":
+ path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/bin/",
+ onlyif => "test -d ${target}/repository",
+ command => $mode ? {
+ "true" => "kill -9 `cat ${target}/stratos.pid` ; /bin/echo Killed",
+ "false" => "kill -9 `cat ${target}/stratos.pid` ; rm -rf ${target}",
+ "fresh" => "kill -9 `cat ${target}/stratos.pid` ; rm -rf ${target} ; rm -f ${local_dir}/apache-stratos-${service}-${version}.zip",
+ },
+ }
+ }
+
+## Initializing the deployment by placing a customized script in /opt/bin which will download and extract the pack.
+
+ define initialize ( $version, $service, $local_dir, $target, $mode, $owner ) {
+
+ file { "${local_dir}/apache-stratos-${service}-${version}.zip":
+ source => "puppet:///commons/apache-stratos-${service}-${version}.zip",
+ ensure => present,
+ require => [ Exec["creating_target_for_${name}"],
+ Exec["creating_local_package_repo_for_${name}"] ];
+ }
+
+ exec { "creating_target_for_${name}":
+ path => ["/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
+ command => "mkdir -p ${target}";
+
+ "creating_local_package_repo_for_${name}":
+ path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/bin/",
+ unless => "test -d ${local_dir}",
+ command => "mkdir -p ${local_dir}";
+
+
+ "extracting_apache-stratos-${service}-${version}.zip_for_${name}":
+ path => ["/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
+ cwd => $target,
+ unless => "test -d ${target}/apache-stratos-${service}-${version}/repository",
+ command => "unzip ${local_dir}/apache-stratos-${service}-${version}.zip",
+ logoutput => "on_failure",
+ creates => "${target}/apache-stratos-${service}-${version}/repository",
+ timeout => 0,
+ require => File["${local_dir}/apache-stratos-${service}-${version}.zip"];
+
+ "setting_permission_for_${name}":
+ path => ["/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
+ cwd => $target,
+ command => "chown -R ${owner}:${owner} ${target}/apache-stratos-${service}-${version} ;
+ chmod -R 755 ${target}/apache-stratos-${service}-${version}",
+ logoutput => "on_failure",
+ timeout => 0,
+ require => Exec["extracting_apache-stratos-${service}-${version}.zip_for_${name}"];
+
+
+ "update_loadbalancer_conf":
+ path => ["/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],
+ cwd => $target,
+ command => "sed -i 's/mb-ip: .*;/mb-ip: $mb_ip;/g;s/mb-port: .*;/mb-port: $mb_port;/g;s/cep-ip: .*;/cep-ip: $cep_ip;/g;s/cep-port: .*;/cep-port: $cep_port;/g' ${target}/apache-stratos-${service}-${version}/repository/conf/loadbalancer.conf",
+ logoutput => "on_failure",
+ timeout => 0,
+ require => Exec["setting_permission_for_${name}"];
+
+
+ }
+
+ }
+
+
+## Executes the deployment by pushing all necessary configurations and patches
+
+ define deploy ( $service, $security, $target, $owner, $group ) {
+
+
+ }
+
+## Starts the service once the deployment is successful.
+
+ define start ( $target, $owner ) {
+ exec { "strating_${name}":
+ user => $owner,
+ path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/bin/",
+ command => "${target}/bin/stratos.sh > /dev/null 2>&1 &",
+ creates => "${target}/repository/wso2server.log",
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/94660906/tools/puppet/manifests/nodes.pp
----------------------------------------------------------------------
diff --git a/tools/puppet/manifests/nodes.pp b/tools/puppet/manifests/nodes.pp
index ba933c9..f67c6ba 100755
--- a/tools/puppet/manifests/nodes.pp
+++ b/tools/puppet/manifests/nodes.pp
@@ -64,3 +64,32 @@ node /[0-9]{1,12}.default.php/ {
}
}
+node /[0-9]{1,12}.default.lb/ inherits confignode{
+ $server_ip = $ec2_local_ipv4
+
+ include java
+
+ class {"stratos::lb":
+ version => "4.0.0-SNAPSHOT",
+ offset => 0,
+ tribes_port => 4100,
+ maintenance_mode => "false",
+ owner => "root",
+ group => "root",
+ stage => "deploy",
+ adc_host => "sc.stratos.org",
+ adc_port => 9445,
+ cartridge_type => "load-balancer",
+ generic => 1,
+ mb_ip => "54.251.196.18",
+ mb_port => "5677",
+ cep_ip => "54.251.196.18",
+ cep_port => "7615",
+ java_truststore => "client-truststore.jks",
+ java_truststore_password => "wso2carbon",
+
+
+ }
+
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/94660906/tools/puppet/templates/load-balancer/.erb
----------------------------------------------------------------------
diff --git a/tools/puppet/templates/load-balancer/.erb b/tools/puppet/templates/load-balancer/.erb
new file mode 100644
index 0000000..e69de29
[2/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/incubator-stratos
Posted by is...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-stratos
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/123a16b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/123a16b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/123a16b7
Branch: refs/heads/master
Commit: 123a16b7472696dbc429daaa5710c677dbd790f4
Parents: 9466090 236a1b3
Author: Isuru <is...@wso2.com>
Authored: Fri Jan 10 16:02:56 2014 +0530
Committer: Isuru <is...@wso2.com>
Committed: Fri Jan 10 16:02:56 2014 +0530
----------------------------------------------------------------------
.../apache/stratos/autoscaler/Constants.java | 8 +-
.../autoscaler/rule/RuleTasksDelegator.java | 10 ++
.../stratos/cartridge/agent/CartridgeAgent.java | 51 ++++---
.../agent/util/CartridgeAgentConstants.java | 1 +
.../cartridge/agent/util/ExtensionUtils.java | 13 ++
.../InstanceCleanupClusterEventListener.java | 24 ++++
.../notifier/InstanceCleanupEventListener.java | 25 ----
.../InstanceCleanupMemberEventListener.java | 25 ++++
.../InstanceNotifierMessageProcessorChain.java | 4 +-
.../distribution/src/main/conf/autoscaler.xml | 5 +
.../distribution/src/main/conf/mincheck.drl | 2 +-
.../pom.xml | 141 +++++++++++++++++++
.../InstanceCleanupNotificationService.wsdl | 91 ++++++++++++
13 files changed, 349 insertions(+), 51 deletions(-)
----------------------------------------------------------------------