install puppet service when creating OS instances 95/13395/1
authorwangyaoguang <sunshine.wang@huawei.com>
Thu, 28 Apr 2016 12:15:54 +0000 (20:15 +0800)
committerwangyaoguang <sunshine.wang@huawei.com>
Thu, 28 Apr 2016 12:17:13 +0000 (20:17 +0800)
JIRA: BOTTLENECKS-73

Change-Id: I2500c6c81aa154cb8b025e3b425c4362fa798a18
Signed-off-by: wangyaoguang <sunshine.wang@huawei.com>
testsuites/rubbos/testcase_cfg/rubbos_1-1-0-1.yaml
utils/infra_setup/user_data/p-agent-user-data [new file with mode: 0644]
utils/infra_setup/user_data/p-master-user-data [new file with mode: 0644]

index dd6d5c9..01e9d57 100755 (executable)
@@ -43,6 +43,14 @@ parameters:
     type: string
     description: End of private network IP address allocation pool
     default: "10.0.10.199"
+  master_user_data:
+    type: string
+    description: User data for the server with master role
+    default: ""
+  agent_user_data:
+    type: string
+    description: User data for the server with agent role
+    default: ""
 
 resources:
   private_net:
@@ -82,6 +90,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_control_port }
       admin_user: ubuntu
+      user_data: { get_param: master_user_data }
+      user_data_format: RAW
 
   rubbos_control_port:
     type: OS::Neutron::Port
@@ -107,6 +117,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_httpd_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_httpd_port:
     type: OS::Neutron::Port
@@ -126,6 +138,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_mysql1_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_mysql1_port:
     type: OS::Neutron::Port
@@ -145,6 +159,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_tomcat1_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_tomcat1_port:
     type: OS::Neutron::Port
@@ -164,6 +180,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_client1_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_client1_port:
     type: OS::Neutron::Port
@@ -183,6 +201,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_client2_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_client2_port:
     type: OS::Neutron::Port
@@ -202,6 +222,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_client3_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_client3_port:
     type: OS::Neutron::Port
@@ -221,6 +243,8 @@ resources:
       networks:
         - port: { get_resource: rubbos_client4_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
   rubbos_client4_port:
     type: OS::Neutron::Port
@@ -230,18 +254,20 @@ resources:
         - subnet_id: { get_resource: private_subnet }
       security_groups: [{ get_resource: server_security_group }]
 
-  rubbos_benchmark:
+  rubbos_client5:
     type: OS::Nova::Server
     properties:
-      name: rubbos_benchmark
+      name: rubbos_client5
       image: { get_param: image }
       flavor: { get_param: flavor }
       key_name: { get_param: key_name }
       networks:
-        - port: { get_resource: rubbos_benchmark_port }
+        - port: { get_resource: rubbos_client5_port }
       admin_user: ubuntu
+      user_data: { get_param: agent_user_data }
+      user_data_format: RAW
 
-  rubbos_benchmark_port:
+  rubbos_client5_port:
     type: OS::Neutron::Port
     properties:
       network_id: { get_resource: private_net }
@@ -294,7 +320,7 @@ outputs:
   rubbos_client4_private_ip:
     description: IP address of rubbos_client4 in private network
     value: { get_attr: [ rubbos_client4, first_address ] }
-  rubbos_benchmark_private_ip:
-    description: IP address of rubbos_benchmark in private network
-    value: { get_attr: [ rubbos_benchmark, first_address ] }
+  rubbos_client5_private_ip:
+    description: IP address of rubbos_client5 in private network
+    value: { get_attr: [ rubbos_client5, first_address ] }
 
diff --git a/utils/infra_setup/user_data/p-agent-user-data b/utils/infra_setup/user_data/p-agent-user-data
new file mode 100644 (file)
index 0000000..2641c90
--- /dev/null
@@ -0,0 +1,14 @@
+#cloud-config
+
+runcmd:
+  - wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
+  - sudo dpkg -i puppetlabs-release-trusty.deb
+  - sudo apt-get update
+  - sudo apt-get -y install puppet
+  - sed -i '/^factpath/a basemodulepath=\/etc\/puppet\/modules' /etc/puppet/puppet.conf
+  - sed -i '/^factpath/a server=REPLACED_PUPPET_MASTER_SERVER' /etc/puppet/puppet.conf
+  - sed -i '/^factpath/a runinterval=1d' /etc/puppet/puppet.conf
+  - sed -i '/^templatedir/d' /etc/puppet/puppet.conf
+  - sed -i 's/START=no/START=yes/g' /etc/default/puppet
+
+final_message: "The system with puppet is finally up, after $UPTIME seconds."
diff --git a/utils/infra_setup/user_data/p-master-user-data b/utils/infra_setup/user_data/p-master-user-data
new file mode 100644 (file)
index 0000000..05d137d
--- /dev/null
@@ -0,0 +1,13 @@
+#cloud-config
+
+runcmd:
+  - wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
+  - sudo dpkg -i puppetlabs-release-trusty.deb
+  - sudo apt-get update
+  - sudo apt-get -y install puppetserver
+  - sed -i '/^factpath/a basemodulepath=\/etc\/puppet\/modules' /etc/puppet/puppet.conf
+  - sed -i '/^factpath/a server=REPLACED_PUPPET_MASTER_SERVER' /etc/puppet/puppet.conf
+  - sed -i '/^factpath/a runinterval=1d' /etc/puppet/puppet.conf
+  - sed -i '/^templatedir/d' /etc/puppet/puppet.conf
+
+final_message: "The system with puppet is finally up, after $UPTIME seconds."