diff --git a/agent-simulator/scripts/__old__/deletePod.sh b/agent-simulator/scripts/__old__/deletePod.sh deleted file mode 100755 index 01cb7ce9e56..00000000000 --- a/agent-simulator/scripts/__old__/deletePod.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -pod_query="GET http://10.91.30.226:8096/client/?command=deletePod&id=$x HTTP/1.0\n\n" - - -echo -e $pod_query | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/__old__/deleteServiceOffering.sh b/agent-simulator/scripts/__old__/deleteServiceOffering.sh deleted file mode 100755 index 1a6c8084628..00000000000 --- a/agent-simulator/scripts/__old__/deleteServiceOffering.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -delete_so="GET http://10.91.30.226:8096/client/?command=deleteServiceOffering&id=$x HTTP/1.0\n\n" - -echo -e $delete_so | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/__old__/deleteVlan.sh b/agent-simulator/scripts/__old__/deleteVlan.sh deleted file mode 100755 index 34ced903850..00000000000 --- a/agent-simulator/scripts/__old__/deleteVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -vlan_query="GET http://10.91.30.226:8096/client/?command=deleteVlanIpRange&id=$x HTTP/1.0\n\n" - - -echo -e $vlan_query | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/__old__/deployVirtualMachine.sh b/agent-simulator/scripts/__old__/deployVirtualMachine.sh deleted file mode 100755 index 15539d23a7c..00000000000 --- a/agent-simulator/scripts/__old__/deployVirtualMachine.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -zoneid=$1 -templateId=$2 -serviceOfferingId=$3 - -query="GET http://10.91.30.226:8096/client/?command=deployVirtualMachine&zoneId=$1&templateId=$2&serviceOfferingId=$3&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/listRouters.sh b/agent-simulator/scripts/__old__/listRouters.sh deleted file mode 100755 index d98a8e5ea32..00000000000 --- a/agent-simulator/scripts/__old__/listRouters.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.226:8096/client/?command=listRouters&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/listVirtualMachine.sh b/agent-simulator/scripts/__old__/listVirtualMachine.sh deleted file mode 100755 index 40e2a444d5a..00000000000 --- a/agent-simulator/scripts/__old__/listVirtualMachine.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.28.33:8096/client/?command=listVirtualMachines&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 20 10.91.28.33 8096 diff --git a/agent-simulator/scripts/__old__/queryAsyncJobResult.sh b/agent-simulator/scripts/__old__/queryAsyncJobResult.sh deleted file mode 100755 index 768b331caed..00000000000 --- a/agent-simulator/scripts/__old__/queryAsyncJobResult.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -usage() { - printf "Query job result Usage: %s: -h management-server -j jobid\n" $(basename $0) >&2 -} - -#options -jflag= -hflag= - -jobid= -host="127.0.0.1" #defaults to localhost - -while getopts 'h:j:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - j) jflag=1 - jobid="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $jflag != "1" ] -then - usage - exit 2 -fi - - -job_query="GET http://$host:8096/client/?command=queryAsyncJobResult&jobid=$jobid HTTP/1.0\n\n" -echo -e $job_query | nc -v -w 60 $host 8096 diff --git a/agent-simulator/scripts/__old__/run.sh b/agent-simulator/scripts/__old__/run.sh deleted file mode 100644 index 015f3f724e7..00000000000 --- a/agent-simulator/scripts/__old__/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - -#run.sh runs the agent simulator client. -java -cp cloud-utils.jar:agent-simulator.jar:log4j-1.2.15.jar:apache-log4j-extras-1.0.jar:ws-commons-util-1.0.2.jar:xmlrpc-client-3.1.3.jar:cloud-agent.jar:cloud-core.jar:xmlrpc-common-3.1.3.jar:javaee-api-5.0-1.jar:gson-1.3.jar:commons-httpclient-3.1.jar:commons-logging-1.1.1.jar:commons-codec-1.4.jar:commons-collections-3.2.1.jar:commons-pool-1.4.jar:.:./conf com.cloud.agent.AgentSimulator $@ - - diff --git a/agent-simulator/scripts/__old__/setupDirectPods.sh b/agent-simulator/scripts/__old__/setupDirectPods.sh deleted file mode 100755 index 2a252d4c8a7..00000000000 --- a/agent-simulator/scripts/__old__/setupDirectPods.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -pod_query="GET http://10.91.30.226:8096/client/?command=createPod&zoneId=1&name=SSP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 -HTTP/1.0\n\n" - -echo -e $pod_query | nc -v -q 20 10.91.30.226 8096 - -#vlan_query="GET http://10.91.30.226/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - -#echo -e $vlan_query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/setupHosts.sh b/agent-simulator/scripts/__old__/setupHosts.sh deleted file mode 100755 index b36d728ea72..00000000000 --- a/agent-simulator/scripts/__old__/setupHosts.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -name=$1 - -host_query="GET http://10.91.30.226:8096/client/?command=addHost&zoneId=1&podId=$((name+250))&username=sim&password=sim&clustername=simulator-$name&hosttags=RP$name&url=http%3A%2F%2Fsim HTTP/1.0\n\n" -echo -e $host_query | nc -v -w 60 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/setupPodAndNetwork.sh b/agent-simulator/scripts/__old__/setupPodAndNetwork.sh deleted file mode 100755 index 8b224367bd1..00000000000 --- a/agent-simulator/scripts/__old__/setupPodAndNetwork.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -workers=$1 -x=$2 #CIDR - 16bytes -y=$3 #CIDR - 8 bytes - -for name in `seq 1 $workers` -do - pod_query="GET http://10.91.30.226:8096/client/?command=createPod&zoneId=1&name=RP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.226:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$((name+250))&forVirtualNetwork=false&gateway=182.$y.$x.1&netmask=255.255.255.0&startip=182.$y.$x.2&endip=182.$y.$x.252 HTTP/1.0\n\n" - so_query="GET http://10.91.30.226:8096/client/?command=createServiceOffering&name=RP$name&displayText=RP$name&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=RP$name HTTP/1.0\n\n" - - echo -e $pod_query | nc -v -w 20 10.91.30.226 8096 - echo -e $vlan_query | nc -v -w 20 10.91.30.226 8096 - echo -e $so_query | nc -v -w 20 10.91.30.226 8096 - - let x+=1 - let y+=1 -done - - - diff --git a/agent-simulator/scripts/__old__/setupServiceOffering.sh b/agent-simulator/scripts/__old__/setupServiceOffering.sh deleted file mode 100755 index fecf242e02c..00000000000 --- a/agent-simulator/scripts/__old__/setupServiceOffering.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -so_query="GET http://10.91.30.226:8096/client/?command=createServiceOffering&name=SO$x&displayText=SO$x&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=SP$x HTTP/1.0\n\n" - -echo -e $so_query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/setupVlan.sh b/agent-simulator/scripts/__old__/setupVlan.sh deleted file mode 100755 index 983dceca18c..00000000000 --- a/agent-simulator/scripts/__old__/setupVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -vlan_query="GET http://10.91.30.226/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$x.$y.1&netmask=255.255.255.0&startip=172.$x.$y.2&endip=172.$x.$y.252 HTTP/1.0\n\n" - -echo -e $vlan_query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/__old__/simulator_advanced.sh b/agent-simulator/scripts/__old__/simulator_advanced.sh deleted file mode 100755 index e353c0a904a..00000000000 --- a/agent-simulator/scripts/__old__/simulator_advanced.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -a=$1 #CIDR - 16bytes -b=$2 #CIDR - 8 bytes -host=$3 -zoneid=$4 - -zone_query="GET http://$host/client/?command=createZone&networktype=Advanced&securitygroupenabled=false&name=SimulatorAdvanced&dns1=4.2.2.2&internaldns1=4.2.2.2&vlan=10-4000&guestcidraddress=10.1.1.0%2F24 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w 120 $host 8096 - -let x=a -let y=b -for name in `seq 1 1` -do - pod_query="GET http://$host/client/?command=createPod&zoneid=$zoneid&name=POD$name&netmask=255.255.0.0&startIp=172.$x.$y.2&endIp=172.$x.$y.252&gateway=172.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&forVirtualNetwork=true&vlan=untagged&zoneid=$zoneid&podId=$name&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w 20 $host 8096 - echo -e $vlan_query | nc -v -w 20 $host 8096 -done -let x+=1 -let y+=1 - -name=1 - -clusterid=1 -for cluster in `seq 1 1` -do - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneid=$zoneid&podId=1&clustername=POD$name-CLUSTER$cluster HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -w 120 $host 8096 - - host_query="GET http://$host/client/?command=addHost&zoneid=$zoneid&podId=1&username=sim&password=sim&clusterid=$cluster&hypervisor=Simulator&clustertype=CloudManaged&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -w 6000 $host 8096 - - spool_query="GET http://$host/client/?command=createStoragePool&zoneid=$zoneid&podId=1&clusterid=$cluster&name=SPOOL$cluster&url=nfs://172.1.25.$((cluster+1))/export/share/$cluster HTTP/1.0\n\n" - echo -e $spool_query | nc -v -w 6000 $host 8096 - let clusterid+=1 -done - -sstorquery="GET http://$host/client/?command=addSecondaryStorage&zoneid=$zoneid&url=nfs://172.1.25.32/export/share/ HTTP/1.0\n\n" -echo -e $sstorquery | nc -v -w 6000 $host 8096 diff --git a/agent-simulator/scripts/__old__/simulator_basic.sh b/agent-simulator/scripts/__old__/simulator_basic.sh deleted file mode 100755 index 11de82a17ab..00000000000 --- a/agent-simulator/scripts/__old__/simulator_basic.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -a=$1 #CIDR - 16bytes -b=$2 #CIDR - 8 bytes -host=$3 #MSHOST -zoneid=$4 - -zone_query="GET http://$host/client/?command=createZone&networktype=Basic&securitygroupenabled=false&name=SimulatorBasic&dns1=4.2.2.2&internaldns1=4.2.2.2&vlan=10-4000 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w 120 $host 8096 - -let x=a -let y=b - -for name in `seq $zoneid 1` -do - pod_query="GET http://$host/client/?command=createPod&zoneId=$zoneid&name=POD$name&netmask=255.255.255.0&startIp=172.$x.$y.2&endIp=172.$x.$y.252&gateway=172.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zoneid&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w 20 $host 8096 - echo -e $vlan_query | nc -v -w 20 $host 8096 - - let x+=1 - let y+=1 -done - -clusterid=1 - -for podid in `seq $zoneid 1` -do - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneid=$zoneid&podId=$podid&clustername=POD$name-CLUSTER$cluster HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -w 120 $host 8096 - - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged HTTP/1.0\n\n" - echo -e $host_query | nc -v -w 6000 $host 8096 - let clusterid+=1 -done - -sstorquery="GET http://$host/client/?command=addSecondaryStorage&zoneid=$zoneid&url=nfs://172.1.25.32/export/share/ HTTP/1.0\n\n" -echo -e $sstorquery | nc -v -w 6000 $host 8096 diff --git a/agent-simulator/scripts/__old__/startRouter.sh b/agent-simulator/scripts/__old__/startRouter.sh deleted file mode 100755 index 8f36d65a02c..00000000000 --- a/agent-simulator/scripts/__old__/startRouter.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -start_router="GET http://10.91.30.226:8096/client/?command=startRouter&id=$x HTTP/1.0\n\n" - - -echo -e $start_router | nc -v -q 60 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/__old__/testQuery.sh b/agent-simulator/scripts/__old__/testQuery.sh deleted file mode 100755 index 5571fd272eb..00000000000 --- a/agent-simulator/scripts/__old__/testQuery.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -test="GET http://10.91.30.226:8096/?command=listEvents&page=1 HTTP/1.0\n\n" -echo -e $test | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/addHostStats.py b/agent-simulator/scripts/addHostStats.py deleted file mode 100644 index c53e0d52779..00000000000 --- a/agent-simulator/scripts/addHostStats.py +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -from datetime import datetime -import sys -import matplotlib.cbook as cbook -import matplotlib.image as image -import matplotlib.pyplot as plt - -def formGraph(list_timedelta): - """ Draw a graph of the performance of host add response """ - plt.plot(list(map(lambda x:x.seconds, list_timedelta))) - plt.ylabel("time(s) to add host") - plt.xlabel("number of hosts") - plt.title("Add Host Performance") - plt.grid(True) - plt.show() - - -if __name__=='__main__': - time_file=open(sys.argv[1], 'r') - timelist=[] - diffs=[] - for line in time_file.readlines(): - try: - timelist.append(datetime.strptime(line.strip(), "%d %b %Y %H:%M:%S")) - except ValueError: - print "Unable to parse:",line - - stime=timelist[:-1] - btime=timelist[1:] - - diffs=list(map(lambda x,y: y - x,stime,btime)) - - formGraph(diffs) - - - diff --git a/agent-simulator/scripts/addHosts.png b/agent-simulator/scripts/addHosts.png deleted file mode 100644 index ae40e5022ed..00000000000 Binary files a/agent-simulator/scripts/addHosts.png and /dev/null differ diff --git a/agent-simulator/scripts/guava/__old__/1000routers.sh b/agent-simulator/scripts/guava/__old__/1000routers.sh deleted file mode 100755 index 78717d8fc68..00000000000 --- a/agent-simulator/scripts/guava/__old__/1000routers.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - -zoneid=$1 -templateId=$2 -serviceOfferingId=$3 - -for j in `seq 1 100` -do - let add=0 - for i in `seq 1 10` - do - let account=$(($i+$add)) - echo Account Name: , $account - query="GET http://127.0.0.1/client/?command=deployVirtualMachine&zoneId=$1&hypervisor=Simulator&templateId=$2&serviceOfferingId=$3&account=DummyAccount$account&domainid=1 HTTP/1.0\n\n" - echo -e $query | nc -v -q 20 127.0.0.1 8096 - done - let add=add+10 - sleep 60s -done diff --git a/agent-simulator/scripts/guava/__old__/createAdminAccount.sh b/agent-simulator/scripts/guava/__old__/createAdminAccount.sh deleted file mode 100755 index fc1ea1c7bed..00000000000 --- a/agent-simulator/scripts/guava/__old__/createAdminAccount.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -name=$1 - -account_query="GET http://127.0.0.1/client/?command=createAccount&accounttype=1&email=simulator%40simulator.com&username=$name&firstname=first$name&lastname=last$name&password=5f4dcc3b5aa765d61d8327deb882cf99&account=$name&domainid=1 HTTP/1.1\n\n" - -echo -e $account_query | nc -v -q 120 127.0.0.1 8096 diff --git a/agent-simulator/scripts/guava/__old__/createStoragePool.sh b/agent-simulator/scripts/guava/__old__/createStoragePool.sh deleted file mode 100755 index 22c58fe3736..00000000000 --- a/agent-simulator/scripts/guava/__old__/createStoragePool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -spool_query="GET http://127.0.0.1/client/?command=createStoragePool&zoneId=1&podId=1&clusterid=1&name=SPOOL&url=nfs://10.91.25.6/export/share/1 HTTP/1.0\n\n" -echo -e $spool_query | nc -v -q 60 127.0.0.1 8096 diff --git a/agent-simulator/scripts/guava/__old__/createUserAccount.sh b/agent-simulator/scripts/guava/__old__/createUserAccount.sh deleted file mode 100755 index 4418f4f7f13..00000000000 --- a/agent-simulator/scripts/guava/__old__/createUserAccount.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -name=$1 - -account_query="GET http://127.0.0.1/client/?command=createAccount&accounttype=0&email=simulator%40simulator.com&username=$name&firstname=first$name&lastname=last$name&password=5f4dcc3b5aa765d61d8327deb882cf99&account=$name&domainid=1 HTTP/1.1\n\n" - -echo -e $account_query | nc -v -q 120 127.0.0.1 8096 diff --git a/agent-simulator/scripts/guava/__old__/deleteAccount.sh b/agent-simulator/scripts/guava/__old__/deleteAccount.sh deleted file mode 100755 index 5e06ca686ca..00000000000 --- a/agent-simulator/scripts/guava/__old__/deleteAccount.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -delete="GET http://127.0.0.1/client/?command=deleteAccount&id=$x HTTP/1.0\n\n" - -echo -e $delete | nc -v -q 60 127.0.0.1 8096 - diff --git a/agent-simulator/scripts/guava/__old__/deletePod.sh b/agent-simulator/scripts/guava/__old__/deletePod.sh deleted file mode 100755 index 588eecdfb00..00000000000 --- a/agent-simulator/scripts/guava/__old__/deletePod.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -pod_query="GET http://10.91.30.219:8096/client/?command=deletePod&id=$x HTTP/1.0\n\n" - - -echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/deleteServiceOffering.sh b/agent-simulator/scripts/guava/__old__/deleteServiceOffering.sh deleted file mode 100755 index a5bcd40df5a..00000000000 --- a/agent-simulator/scripts/guava/__old__/deleteServiceOffering.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -delete_so="GET http://10.91.30.219:8096/client/?command=deleteServiceOffering&id=$x HTTP/1.0\n\n" - -echo -e $delete_so | nc -v -q 20 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/deleteVlan.sh b/agent-simulator/scripts/guava/__old__/deleteVlan.sh deleted file mode 100755 index 48deae4db15..00000000000 --- a/agent-simulator/scripts/guava/__old__/deleteVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -vlan_query="GET http://10.91.30.219:8096/client/?command=deleteVlanIpRange&id=$x HTTP/1.0\n\n" - - -echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/deployVirtualMachine.sh b/agent-simulator/scripts/guava/__old__/deployVirtualMachine.sh deleted file mode 100755 index 3f623ecd75b..00000000000 --- a/agent-simulator/scripts/guava/__old__/deployVirtualMachine.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -zoneid=$1 -templateId=$2 -serviceOfferingId=$3 -networkIds=$4 - -query="GET http://10.91.30.219/client/?command=deployVirtualMachine&zoneId=$1&hypervisor=Simulator&templateId=$2&serviceOfferingId=$3&networkIds=$4&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 20 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/destroyVirtualMachine.sh b/agent-simulator/scripts/guava/__old__/destroyVirtualMachine.sh deleted file mode 100755 index 089ccb193d0..00000000000 --- a/agent-simulator/scripts/guava/__old__/destroyVirtualMachine.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -destroy="GET http://10.91.30.219:8096/client/?command=destroyVirtualMachine&id=$x HTTP/1.0\n\n" - -echo -e $destroy | nc -v -q 60 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/listCapacity.sh b/agent-simulator/scripts/guava/__old__/listCapacity.sh deleted file mode 100755 index 9a1117edc94..00000000000 --- a/agent-simulator/scripts/guava/__old__/listCapacity.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.219:8096/client/?command=listCapacity&zoneId=$1&podid=$2&response=json HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/listEvents.sh b/agent-simulator/scripts/guava/__old__/listEvents.sh deleted file mode 100755 index 79ecdc3d445..00000000000 --- a/agent-simulator/scripts/guava/__old__/listEvents.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -test="GET http://10.91.30.219:8096/?command=listEvents HTTP/1.0\n\n" -echo -e $test | nc -v -q 120 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/listHosts.sh b/agent-simulator/scripts/guava/__old__/listHosts.sh deleted file mode 100755 index bb0fa11201a..00000000000 --- a/agent-simulator/scripts/guava/__old__/listHosts.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.219:8096/client/?command=listHosts&zoneId=$1&account=admin&domainid=1&page=$2 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/listRouters.sh b/agent-simulator/scripts/guava/__old__/listRouters.sh deleted file mode 100755 index 716a13266b4..00000000000 --- a/agent-simulator/scripts/guava/__old__/listRouters.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.219:8096/client/?command=listRouters&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/listTemplates.sh b/agent-simulator/scripts/guava/__old__/listTemplates.sh deleted file mode 100755 index a8bd73a95d2..00000000000 --- a/agent-simulator/scripts/guava/__old__/listTemplates.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.219:8096/client/?command=listTemplates&templatefilter=featured&zoneid=$1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/listVirtualMachine.sh b/agent-simulator/scripts/guava/__old__/listVirtualMachine.sh deleted file mode 100755 index 51a05ed6346..00000000000 --- a/agent-simulator/scripts/guava/__old__/listVirtualMachine.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.219:8096/client/?command=listVirtualMachines&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/load.sh b/agent-simulator/scripts/guava/__old__/load.sh deleted file mode 100755 index 8ff31414912..00000000000 --- a/agent-simulator/scripts/guava/__old__/load.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -do - start_vm="GET http://127.0.0.1:8096/client/?command=startVirtualMachine&id=$x HTTP/1.0\n\n" - echo -e $start_vm | nc -v -q 60 127.0.0.1 8096 -done - -sleep 60s - -for x in `seq 3 1102` -do - stop_vm="GET http://127.0.0.1/client/?command=stopVirtualMachine&id=$x HTTP/1.0\n\n" - echo -e $stop_vm | nc -v -q 60 127.0.0.1 8096 -done - -sleep 60s diff --git a/agent-simulator/scripts/guava/__old__/networkShutDown.sh b/agent-simulator/scripts/guava/__old__/networkShutDown.sh deleted file mode 100755 index e9f61e039f4..00000000000 --- a/agent-simulator/scripts/guava/__old__/networkShutDown.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -y=$2 - -for i in `seq $x $y` -do - stop_vm="GET http://127.0.0.1/client/?command=stopVirtualMachine&id=$i HTTP/1.0\n\n" - echo -e $stop_vm | nc -v -q 60 127.0.0.1 8096 -done diff --git a/agent-simulator/scripts/guava/__old__/networkStart.sh b/agent-simulator/scripts/guava/__old__/networkStart.sh deleted file mode 100755 index 088496ee472..00000000000 --- a/agent-simulator/scripts/guava/__old__/networkStart.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -y=$2 - -for i in `seq $x $y` -do - start_vm="GET http://127.0.0.1:8096/client/?command=startVirtualMachine&id=$i HTTP/1.0\n\n" - echo -e $start_vm | nc -v -q 60 127.0.0.1 8096 -done diff --git a/agent-simulator/scripts/guava/__old__/reconnectStats.sh b/agent-simulator/scripts/guava/__old__/reconnectStats.sh deleted file mode 100755 index 8cba78a6ca8..00000000000 --- a/agent-simulator/scripts/guava/__old__/reconnectStats.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - -name=$1 -while [ 1 ] -do - mysql -s -r -uroot -Dcloud -h10.1.1.215 -e"select count(id),now(),max(disconnected),mgmt_server_id,status from host group by mgmt_server_id,status;" >> $1 - sleep 5 - echo --------------------------------------------------------------------------------------------------------------------- >> $1 -done diff --git a/agent-simulator/scripts/guava/__old__/setup.sh b/agent-simulator/scripts/guava/__old__/setup.sh deleted file mode 100755 index 3a935273a29..00000000000 --- a/agent-simulator/scripts/guava/__old__/setup.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - - -#1. 1 host per cluster - -zone_query="GET http://10.91.30.219/client/?command=createZone&networktype=Advanced&securitygroupenabled=false&name=Go&dns1=4.2.2.2&internaldns1=4.2.2.2&vlan=500-1000&guestcidraddress=10.1.1.0%2F24 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -q 120 10.91.30.219 8096 - -pod_query="GET http://10.91.30.219/client/?command=createPod&zoneId=1&name=Guava&netmask=255.255.0.0&startIp=172.1.2.2&endIp=172.1.255.252&gateway=172.1.2.1 HTTP/1.0\n\n" -echo -e $pod_query | nc -v -q 120 10.91.30.219 8096 - -vlan_query="GET http://10.91.30.219/client/?command=createVlanIpRange&forVirtualNetwork=true&zoneId=1&vlan=untagged&gateway=172.2.1.1&netmask=255.255.0.0&startip=172.2.1.2&endip=172.2.255.254 HTTP/1.0\n\n" -echo -e $vlan_query | nc -v -q 120 10.91.30.219 8096 - -for name in `seq 1 100` -do - cluster_query="GET http://10.91.30.219/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=1&podId=1&clustername=CS$name HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -q 120 10.91.30.219 8096 - - host_query="GET http://10.91.30.219/client/api?_=1302625706202&command=addHost&zoneId=1&podId=1&clusterid=$name&hypervisor=Simulator&clustertype=CloudManaged&hosttags=&username=sim&password=sim&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -q 60 10.91.30.219 8096 - - spool_query="GET http://10.91.30.219/client/?command=createStoragePool&zoneId=1&podId=1&clusterid=$name&name=SPOOL$name&url=nfs://172.1.25.$name/export/share/$name HTTP/1.0\n\n" - echo -e $spool_query | nc -v -q 60 10.91.30.219 8096 -done diff --git a/agent-simulator/scripts/guava/__old__/setupDirectPods.sh b/agent-simulator/scripts/guava/__old__/setupDirectPods.sh deleted file mode 100755 index 594a15b1308..00000000000 --- a/agent-simulator/scripts/guava/__old__/setupDirectPods.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -pod_query="GET http://10.91.30.219:8096/client/?command=createPod&zoneId=1&name=SSP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 -HTTP/1.0\n\n" - -echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - -#vlan_query="GET http://10.91.30.219/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - -#echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/setupHosts.sh b/agent-simulator/scripts/guava/__old__/setupHosts.sh deleted file mode 100755 index f2235afd803..00000000000 --- a/agent-simulator/scripts/guava/__old__/setupHosts.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -name=$1 - -host_query="GET http://10.91.30.219:8096/client/?command=addHost&zoneId=1&podId=$((name+250))&username=sim&password=sim&clustername=simulator-$name&hosttags=RP$name&url=http%3A%2F%2Fsim HTTP/1.0\n\n" -echo -e $host_query | nc -v -q 60 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/setupPodAndNetwork.sh b/agent-simulator/scripts/guava/__old__/setupPodAndNetwork.sh deleted file mode 100755 index d11ecc39c03..00000000000 --- a/agent-simulator/scripts/guava/__old__/setupPodAndNetwork.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -workers=$1 -x=$2 #CIDR - 16bytes -y=$3 #CIDR - 8 bytes - -for name in `seq 1 $workers` -do - pod_query="GET http://10.91.30.219:8096/client/?command=createPod&zoneId=1&name=RP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.219:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$((name+250))&forVirtualNetwork=false&gateway=182.$y.$x.1&netmask=255.255.255.0&startip=182.$y.$x.2&endip=182.$y.$x.252 HTTP/1.0\n\n" - so_query="GET http://10.91.30.219:8096/client/?command=createServiceOffering&name=RP$name&displayText=RP$name&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=RP$name HTTP/1.0\n\n" - - echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 - echo -e $so_query | nc -v -q 20 10.91.30.219 8096 - - let x+=1 - let y+=1 -done - - - diff --git a/agent-simulator/scripts/guava/__old__/setupServiceOffering.sh b/agent-simulator/scripts/guava/__old__/setupServiceOffering.sh deleted file mode 100755 index 763812a8abe..00000000000 --- a/agent-simulator/scripts/guava/__old__/setupServiceOffering.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -so_query="GET http://10.91.30.219:8096/client/?command=createServiceOffering&name=SO$x&displayText=SO$x&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=SP$x HTTP/1.0\n\n" - -echo -e $so_query | nc -v -q 20 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/setupVlan.sh b/agent-simulator/scripts/guava/__old__/setupVlan.sh deleted file mode 100755 index e282f367029..00000000000 --- a/agent-simulator/scripts/guava/__old__/setupVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -vlan_query="GET http://10.91.30.219/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$x.$y.1&netmask=255.255.255.0&startip=172.$x.$y.2&endip=172.$x.$y.252 HTTP/1.0\n\n" - -echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 diff --git a/agent-simulator/scripts/guava/__old__/startRouter.sh b/agent-simulator/scripts/guava/__old__/startRouter.sh deleted file mode 100755 index 1b3e040d6e2..00000000000 --- a/agent-simulator/scripts/guava/__old__/startRouter.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -start_router="GET http://10.91.30.219:8096/client/?command=startRouter&id=$x HTTP/1.0\n\n" - - -echo -e $start_router | nc -v -q 60 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/startVirtualMachine.sh b/agent-simulator/scripts/guava/__old__/startVirtualMachine.sh deleted file mode 100755 index 287d2c4621f..00000000000 --- a/agent-simulator/scripts/guava/__old__/startVirtualMachine.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -start_vm="GET http://10.91.30.219:8096/client/?command=startVirtualMachine&id=$x HTTP/1.0\n\n" - - -echo -e $start_vm | nc -v -q 60 10.91.30.219 8096 - diff --git a/agent-simulator/scripts/guava/__old__/stopVirtualMachine.sh b/agent-simulator/scripts/guava/__old__/stopVirtualMachine.sh deleted file mode 100755 index d20c7b6048e..00000000000 --- a/agent-simulator/scripts/guava/__old__/stopVirtualMachine.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -stop_vm="GET http://127.0.0.1/client/?command=stopVirtualMachine&id=$x HTTP/1.0\n\n" - - -echo -e $stop_vm | nc -v -q 60 127.0.0.1 8096 - diff --git a/agent-simulator/scripts/guava/__old__/stress.sh b/agent-simulator/scripts/guava/__old__/stress.sh deleted file mode 100755 index a02670a8275..00000000000 --- a/agent-simulator/scripts/guava/__old__/stress.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -templateid=3 -account="u" -x=$1 -y=$2 -p=$3 -q=$4 - -for i in `seq 1 3` -do - serviceOfferingId=10 - query="GET http://127.0.0.1/client/?command=deployVirtualMachine&zoneId=$zoneid&hypervisor=Simulator&templateId=$templateid&serviceOfferingId=$serviceOfferingId&account=$account&domainid=1 HTTP/1.0\n\n" - echo -e $query | nc -v -q 20 127.0.0.1 8096 -done - -sleep 15s - -for x in `seq $x $y` -do - destroy="GET http://127.0.0.1:8096/client/?command=destroyVirtualMachine&id=$x HTTP/1.0\n\n" - echo -e $destroy | nc -v -q 60 127.0.0.1 8096 -done - -sleep 240s - -for i in `seq 1 30` -do - serviceOfferingId=9 - query="GET http://127.0.0.1/client/?command=deployVirtualMachine&zoneId=$zoneid&hypervisor=Simulator&templateId=$templateid&serviceOfferingId=$serviceOfferingId&account=$account&domainid=1 HTTP/1.0\n\n" - echo -e $query | nc -v -q 20 127.0.0.1 8096 -done - -sleep 150s - -for x in `seq $p $q` -do - destroy="GET http://127.0.0.1:8096/client/?command=destroyVirtualMachine&id=$x HTTP/1.0\n\n" - echo -e $destroy | nc -v -q 60 127.0.0.1 8096 -done diff --git a/agent-simulator/scripts/guava/__old__/stress2.sh b/agent-simulator/scripts/guava/__old__/stress2.sh deleted file mode 100755 index 5e2b705f919..00000000000 --- a/agent-simulator/scripts/guava/__old__/stress2.sh +++ /dev/null @@ -1,127 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Setup Stress. Destroy and Deploy Virtual Machines on -# Guava like environment -#Environment -#1. 1 host per cluster - -# Create 300 Accounts -# Deploy 300 VMs -# Destroy 300 VMs -# Repeat - - -usage() { - printf "Setup Stress\nUsage: %s: -h management-server -z zoneid [-d delay] [-t templateid] -s service-offering-id [-n number of accounts]\n" $(basename $0) >&2 -} - -create_account() { - seq=$1 - account_query="GET http://$host/client/?command=createAccount&accounttype=0&email=simulator%40simulator.com&username=$account_prefix$seq&firstname=first$seq&lastname=last$seq&password=5f4dcc3b5aa765d61d8327deb882cf99&account=$account_prefix$seq&domainid=1 HTTP/1.1\n\n" - echo -e $account_query | nc -v -q 120 $host 8096 -} - -stress() { - #Deploy 300 VMs in these accounts - for ((i=1;i<=$numberofaccounts;i++)) - do - out=$(./deployVirtualMachine.sh -h $host -z $zoneid -t $template -s $service -a $account_prefix$i) - id=$(echo $out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "deployed vm with id: " $id - VmArray[$i]=$id - done - sleep $delay - - rindex=$(($RANDOM%$numberofaccounts)) - #Stop/Start 300 VMs at random - for ((i=1;i<=$numberofaccounts;i++)) - do - ./stopVirtualMachine.sh -h $host -i ${VmArray:$rindex} - rindex=$(($RANDOM%$numberofaccounts)) - echo "stopped vm with id: " ${VmArray:$rindex} - - ./startVirtualMachine.sh -h $host -i ${VmArray:$rindex} - rindex=$(($RANDOM%$numberofaccounts)) - echo "started vm with id: " ${VmArray:$rindex} - done - sleep $delay -} - -#options -hflag=1 -zflag= -dflag=1 -tflag=1 -sflag= -nflag=1 - - -declare -a VmArray -host="127.0.0.1" #default localhost -zoneid= -delay=300 #default 5 minutes -template=2 #default centos -service= -account_prefix="USER" -numberofaccounts=300 - -while getopts 'h:z:d:t:s:n:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - z) zflag=1 - zoneid="$OPTARG" - ;; - d) dflag=1 - delay="$OPTARG" - ;; - t) tflag=1 - template="$OPTARG" - ;; - s) sflag=1 - service="$OPTARG" - ;; - n) nflag=1 - numberofaccounts="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $hflag$zflag$dflag$tflag$sflag$nflag != "111111" ] -then - usage - exit 2 -fi - -#Create 300 Accounts -#for ((i=1;i<=$numberofaccounts;i++)) -#do -# create_account $i -#done - -for i in {1..5} -do - #Do the stress test - stress -done diff --git a/agent-simulator/scripts/guava/setup.py b/agent-simulator/scripts/guava/setup.py deleted file mode 100644 index 76d1199bd76..00000000000 --- a/agent-simulator/scripts/guava/setup.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -''' -# guava uses nfs storage, before setting up make sure -# * optionally turn off stats collectors -# * expunge.delay and expunge.interval are 60s -''' - -from optparse import OptionParser -from configGenerator import * -import random - - -def getGlobalSettings(): - global_settings = {'expunge.delay': '60', - 'expunge.interval': '60', - 'expunge.workers': '3', - 'workers': '10', - 'use.user.concentrated.pod.allocation': 'true', - 'vm.allocation.algorithm': 'random', - 'vm.op.wait.interval': '5', - 'guest.domain.suffix': 'guava.simulator', - 'instance.name': 'TEST', - 'direct.agent.load.size': '1000', - 'default.page.size': '10000', - 'linkLocalIp.nums': '10', - 'check.pod.cidrs': 'false', - } - for k, v in global_settings.iteritems(): - cfg = configuration() - cfg.name = k - cfg.value = v - yield cfg - - -def describeGuavaResources(dbnode='localhost', mshost='localhost'): - zs = cloudstackConfiguration() - numberofpods = 1 - - clustersPerPod = 100 - hostsPerCluster = 10 - - z = zone() - z.dns1 = '4.2.2.2' - z.dns2 = '192.168.110.254' - z.internaldns1 = '10.91.28.6' - z.internaldns2 = '192.168.110.254' - z.name = 'Guava' - z.networktype = 'Advanced' - z.guestcidraddress = '10.1.1.0/24' - z.vlan='100-3000' - - p = pod() - p.name = 'POD1' - p.gateway = '172.1.2.1' - p.startip = '172.1.2.2' - p.endip = '172.1.255.252' - p.netmask = '255.255.0.0' - - v = iprange() - v.vlan = 'untagged' - v.startip = '172.2.1.2' - v.endip = '172.2.255.252' - v.gateway = '172.2.1.1' - v.netmask = '255.255.0.0' - - curhost = 1 - for i in range(1, clustersPerPod + 1): - c = cluster() - c.clustername = 'POD1-CLUSTER' + str(i) - c.hypervisor = 'Simulator' - c.clustertype = 'CloudManaged' - - for j in range(1, hostsPerCluster + 1): - h = host() - h.username = 'root' - h.password = 'password' - h.url = 'http://sim/test-%d'%(curhost) - c.hosts.append(h) - curhost = curhost + 1 - - ps = primaryStorage() - ps.name = 'spool'+str(i) - ps.url = 'nfs://172.16.24.32/export/path/'+str(i) - c.primaryStorages.append(ps) - p.clusters.append(c) - - - secondary = secondaryStorage() - secondary.url = 'nfs://172.16.25.32/secondary/path' - - z.pods.append(p) - z.ipranges.append(v) - z.secondaryStorages.append(secondary) - zs.zones.append(z) - - '''Add mgt server''' - mgt = managementServer() - mgt.mgtSvrIp = mshost - zs.mgtSvr.append(mgt) - - '''Add a database''' - db = dbServer() - db.dbSvr = opts.dbnode - zs.dbSvr = db - - '''Add some configuration''' - [zs.globalConfig.append(cfg) for cfg in getGlobalSettings()] - - ''''add loggers''' - testClientLogger = logger() - testClientLogger.name = 'TestClient' - testClientLogger.file = '/var/log/testclient.log' - - testCaseLogger = logger() - testCaseLogger.name = 'TestCase' - testCaseLogger.file = '/var/log/testcase.log' - - zs.logger.append(testClientLogger) - zs.logger.append(testCaseLogger) - return zs - - -if __name__ == '__main__': - parser = OptionParser() - parser.add_option('-o', '--output', action='store', default='./guavaCfg', dest='output', help='the path where the json config file generated') - parser.add_option('-d', '--dbnode', dest='dbnode', help='hostname/ip of the database node', action='store') - parser.add_option('-m', '--mshost', dest='mshost', help='hostname/ip of management server', action='store') - - (opts, args) = parser.parse_args() - cfg = describeGuavaResources(opts.dbnode, opts.mshost) - generate_setup_config(cfg, opts.output) diff --git a/agent-simulator/scripts/guava/tests/testProvision.py b/agent-simulator/scripts/guava/tests/testProvision.py deleted file mode 100644 index 5fef55c3829..00000000000 --- a/agent-simulator/scripts/guava/tests/testProvision.py +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - import unittest2 as unittest -except ImportError: - import unittest - -import random -import hashlib -from cloudstackTestCase import * - -class Provision(cloudstackTestCase): - ''' - ''' - def setUp(self): - pass - - - def tearDown(self): - pass - - - def test_1_createAccounts(self, numberOfAccounts=5): - ''' - Create a bunch of user accounts - ''' - mdf = hashlib.md5() - mdf.update('password') - mdf_pass = mdf.hexdigest() - api = self.testClient.getApiClient() - for i in range(1, numberOfAccounts + 1): - acct = createAccount.createAccountCmd() - acct.accounttype = 0 - acct.firstname = 'user' + str(i) - acct.lastname = 'user' + str(i) - acct.password = mdf_pass - acct.username = 'user' + str(i) - acct.email = 'user@example.com' - acct.account = 'user' + str(i) - acct.domainid = 1 - acctResponse = api.createAccount(acct) - self.debug("successfully created account: %s, user: %s, id: %s"%(acctResponse.account, acctResponse.username, acctResponse.id)) - - - def test_2_createServiceOffering(self): - apiClient = self.testClient.getApiClient() - createSOcmd=createServiceOffering.createServiceOfferingCmd() - createSOcmd.name='Sample SO' - createSOcmd.displaytext='Sample SO' - createSOcmd.storagetype='shared' - createSOcmd.cpunumber=1 - createSOcmd.cpuspeed=100 - createSOcmd.memory=128 - createSOcmd.offerha='false' - createSOresponse = apiClient.createServiceOffering(createSOcmd) - return createSOresponse.id - - def deployCmd(self, account, service): - deployVmCmd = deployVirtualMachine.deployVirtualMachineCmd() - deployVmCmd.zoneid = 1 - deployVmCmd.hypervisor='Simulator' - deployVmCmd.account=account - deployVmCmd.domainid=1 - deployVmCmd.templateid=10 - deployVmCmd.serviceofferingid=service - return deployVmCmd - - def listVmsInAccountCmd(self, acct): - api = self.testClient.getApiClient() - listVmCmd = listVirtualMachines.listVirtualMachinesCmd() - listVmCmd.account = acct - listVmCmd.zoneid = 1 - listVmCmd.domainid = 1 - listVmResponse = api.listVirtualMachines(listVmCmd) - return listVmResponse - - - def destroyVmCmd(self, key): - api = self.testClient.getApiClient() - destroyVmCmd = destroyVirtualMachine.destroyVirtualMachineCmd() - destroyVmCmd.id = key - api.destroyVirtualMachine(destroyVmCmd) - - - def test_3_stressDeploy(self): - ''' - Deploy 20 Vms in each account - ''' - service_id = self.test_2_createServiceOffering() - api = self.testClient.getApiClient() - for acct in range(1, 5): - [api.deployVirtualMachine(self.deployCmd('user'+str(acct), service_id)) for x in range(0,20)] - - def test_4_stressDestroy(self): - ''' - Cleanup all Vms in every account - ''' - api = self.testClient.getApiClient() - for acct in range(1, 6): - for vm in self.listVmsInAccountCmd('user'+str(acct)): - if vm is not None: - self.destroyVmCmd(vm.id) - - def test_5_combineStress(self): - for i in range(0, 5): - self.test_3_stressDeploy() - self.test_4_stressDestroy() - - def deployN(self,nargs=300,batchsize=0): - ''' - Deploy Nargs number of VMs concurrently in batches of size {batchsize}. - When batchsize is 0 all Vms are deployed in one batch - VMs will be deployed in 5:2:6 ratio - ''' - cmds = [] - - if batchsize == 0: - self.testClient.submitCmdsAndWait(cmds) - else: - while len(z) > 0: - try: - newbatch = [cmds.pop() for b in range(batchsize)] #pop batchsize items - self.testClient.submitCmdsAndWait(newbatch) - except IndexError: - break diff --git a/agent-simulator/scripts/kumquat/setup.py b/agent-simulator/scripts/kumquat/setup.py deleted file mode 100644 index 2a305a14a88..00000000000 --- a/agent-simulator/scripts/kumquat/setup.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -''' -# Kumquat uses nfs storage, before setting up make sure -# * optionally turn off stats collectors -# * expunge.delay and expunge.interval are 60s -''' - -from optparse import OptionParser -from configGenerator import * -import random - - -def getGlobalSettings(): - global_settings = {'expunge.delay': '60', - 'expunge.interval': '60', - 'capacity.skipcounting.hours': '2', - 'cpu.overprovisioning.factor': '1.5', - 'expunge.workers': '3', - 'workers': '10', - 'use.user.concentrated.pod.allocation': 'true', - 'vm.allocation.algorithm': 'random', - 'vm.op.wait.interval': '5', - 'guest.domain.suffix': 'kumquat.simulator', - 'instance.name': 'KIM', - 'direct.agent.load.size': '16', - 'default.page.size': '500', - 'linkLocalIp.nums': '10', - 'check.pod.cidrs': 'false', - 'max.account.public.ips': '10000', - 'max.account.snapshots': '10000', - 'max.account.templates': '10000', - 'max.account.user.vms': '10000', - 'max.account.volumes': '10000', - } - for k, v in global_settings.iteritems(): - cfg = configuration() - cfg.name = k - cfg.value = v - yield cfg - - -def podIpRangeGenerator(): - x=1 - y=2 - while 1: - if y == 255: - x=x+1 - if x == 255: - x=1 - break - - y=1 - - y=y+1 - #pod mangement network - yield ('172.'+str(x)+'.'+str(y)+'.129', '172.'+str(x)+'.'+str(y)+'.130', '172.'+str(x)+'.'+str(y)+'.189') - - -def vlanIpRangeGenerator(): - x=1 - y=2 - while 1: - if y == 255: - x=x+1 - if x==255: - x=1 - break - - y=1 - - y=y+1 - #vlan ip range - yield ('172.'+str(x)+'.'+str(y)+'.129', '172.'+str(x)+'.'+str(y)+'.190', '172.'+str(x)+'.'+str(y)+'.249') - - -def describeKumquatResources(dbnode='localhost', mshost='localhost'): - zs = cloudstackConfiguration() - numberofpods = 5 - - clustersPerPod = 2 - hostsPerCluster = 8 - - curpod = 0 - curhost = 0 - - z = zone() - z.dns1 = '4.2.2.2' - z.dns2 = '192.168.110.254' - z.internaldns1 = '10.91.28.6' - z.internaldns2 = '192.168.110.254' - z.name = 'Kumquat' - z.networktype = 'Advanced' - z.guestcidraddress = '10.1.1.0/24' - z.vlan='100-3000' - - for podRange,vlanRange in zip(podIpRangeGenerator(), vlanIpRangeGenerator()): - p = pod() - curpod=curpod+1 - p.name = 'POD'+str(curpod) - p.gateway=podRange[0] - p.startip=podRange[1] - p.endip=podRange[2] - p.netmask='255.255.255.128' - - for i in range(1,clustersPerPod+1): - c = cluster() - c.clustername = 'POD'+str(curpod)+'-CLUSTER'+str(i) - c.hypervisor = 'Simulator' - c.clustertype = 'CloudManaged' - - ps = primaryStorage() - ps.name = 'spool'+str(i) - ps.url = 'nfs://172.16.24.32/export/path/'+str(curpod)+'/'+str(i) - c.primaryStorages.append(ps) - - for i in range(1, hostsPerCluster + 1): - h = host() - h.username = 'root' - h.password = 'password' - h.url = "http://sim/test-%d"%(curhost) - c.hosts.append(h) - curhost=curhost+1 - - p.clusters.append(c) - - z.pods.append(p) - if curpod == numberofpods: - break - - v = iprange() - v.vlan = 'untagged' - v.gateway='172.2.1.1' - v.startip='172.2.1.2' - v.endip='172.2.255.252' - v.netmask="255.255.0.0" - z.ipranges.append(v) - - secondary = secondaryStorage() - secondary.url = 'nfs://172.16.25.32/secondary/path' - z.secondaryStorages.append(secondary) - zs.zones.append(z) - - '''Add mgt server''' - mgt = managementServer() - mgt.mgtSvrIp = mshost - zs.mgtSvr.append(mgt) - - '''Add a database''' - db = dbServer() - db.dbSvr = opts.dbnode - zs.dbSvr = db - - '''Add some configuration''' - [zs.globalConfig.append(cfg) for cfg in getGlobalSettings()] - - ''''add loggers''' - testClientLogger = logger() - testClientLogger.name = 'TestClient' - testClientLogger.file = '/var/log/testclient.log' - - testCaseLogger = logger() - testCaseLogger.name = 'TestCase' - testCaseLogger.file = '/var/log/testcase.log' - - zs.logger.append(testClientLogger) - zs.logger.append(testCaseLogger) - return zs - - -if __name__ == '__main__': - parser = OptionParser() - parser.add_option('-o', '--output', action='store', default='./KumquatCfg', dest='output', help='the path where the json config file generated') - parser.add_option('-d', '--dbnode', dest='dbnode', help='hostname/ip of the database node', action='store') - parser.add_option('-m', '--mshost', dest='mshost', help='hostname/ip of management server', action='store') - - (opts, args) = parser.parse_args() - cfg = describeKumquatResources(opts.dbnode, opts.mshost) - generate_setup_config(cfg, opts.output) diff --git a/agent-simulator/scripts/kumquat/tests/testProvision.py b/agent-simulator/scripts/kumquat/tests/testProvision.py deleted file mode 100644 index e0d531e8656..00000000000 --- a/agent-simulator/scripts/kumquat/tests/testProvision.py +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - import unittest2 as unittest -except ImportError: - import unittest - -import random -import hashlib -from cloudstackTestCase import * -import string -import time - -import pdb - -class Provision(cloudstackTestCase): - numberOfAccounts = 5 - accounts = [] - - def setUp(self): - pass - - def tearDown(self): - pass - - def setupServiceOffering(self): - socreate = createServiceOffering.createServiceOfferingCmd() - socreate.cpunumber = 1 - socreate.cpuspeed = 100 - socreate.displaytext = 'Sample SO' - socreate.memory = 128 - socreate.name = 'Sample SO' - api = self.testClient.getApiClient() - soresponse = api.createServiceOffering(socreate) - return soresponse.id - - - def test_1_createAccounts(self): - ''' - Create a bunch of user accounts - ''' - mdf = hashlib.md5() - mdf.update('password') - mdf_pass = mdf.hexdigest() - api = self.testClient.getApiClient() - for i in range(1, self.numberOfAccounts + 1): - acct = createAccount.createAccountCmd() - acct.accounttype = 0 - name = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10)) - acct.firstname = name - acct.lastname = name - acct.password = mdf_pass - acct.username = name - acct.email = 'user@example.com' - acct.account = name - acct.domainid = 1 - acctResponse = api.createAccount(acct) - self.accounts.append(acctResponse.account.name) - self.debug("created account %s with id %d:"%(acctResponse.account.name, acctResponse.account.id)) - - - def deployCmd(self, acct): - deployVmCmd = deployVirtualMachine.deployVirtualMachineCmd() - deployVmCmd.zoneid = 1 - deployVmCmd.hypervisor='Simulator' - deployVmCmd.account=acct - deployVmCmd.domainid=1 - deployVmCmd.templateid=10 - deployVmCmd.serviceofferingid=self.setupServiceOffering() - return deployVmCmd - - - def destroyCmd(self, vmid): - destroyVmCmd = destroyVirtualMachine.destroyVirtualMachineCmd() - destroyVmCmd.zoneid = 1 - destroyVmCmd.id = vmid - return destroyVmCmd - - def startCmd(self, vmid): - startVmCmd = startVirtualMachine.startVirtualMachineCmd() - startVmCmd.id = vmid - return startVmCmd - - def listVmsInAccount(self, acct): - listVm = listVirtualMachines.listVirtualMachinesCmd() - listVm.account = acct - listVm.zoneid = 1 - listVm.domainid = 1 - return self.testClient.getApiClient().listVirtualMachines(listVm) - - def listAccounts(self, acct): - listacct = listAccounts.listAccountsCmd() - listacct.name = acct - listacct.accounttype = 0 - return self.testClient.getApiClient().listAccounts(listacct) - - - def test_2_stressDeploy(self): - api = self.testClient.getApiClient() - for acct in self.accounts: - [api.deployVirtualMachine(self.deployCmd(acct)) for x in range(0, 25)] - - - def test_3_parallelDeployAndDestroy(self): - p_accts = [] - #create 3 user accounts - mdf = hashlib.md5() - mdf.update('password') - mdf_pass = mdf.hexdigest() - api = self.testClient.getApiClient() - for i in range(1, 3): - acct = createAccount.createAccountCmd() - acct.accounttype = 0 - name = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10)) - acct.firstname = name - acct.lastname = name - acct.password = mdf_pass - acct.username = name - acct.email = 'puser@example.com' - acct.account = name - acct.domainid = 1 - acctResponse = api.createAccount(acct) - p_accts.append(acctResponse.account.name) - self.debug("created account %s under root"%name) - - #deploy VMs each parallely in all three accounts - deployCmds = [] - for acct in p_accts: - for i in range(0, 50): - deployCmds.append(self.deployCmd(acct)) - random.shuffle(deployCmds) - self.execCmds(deployCmds) - - #destroy VMs each parallely in all three accounts - destroyCmds = [] - for acct in p_accts: - acctVms = self.listVmsInAccount(acct) - self.debug("%d vms deployed in account: %s. Destroying them"%(len(acctVms),acct)) - for vm in acctVms[:45]: - destroyCmds.append(self.destroyCmd(vm.id)) - random.shuffle(destroyCmds) - self.execCmds(destroyCmds) - - for acct in p_accts: - acctVms = self.listVmsInAccount(acct) - self.assertEqual(len(acctVms), 5) - listacct = self.listAccounts(acct) - self.assertEqual(int(listacct[0].vmrunning) + int(listacct[0].vmstopped),\ - int(listacct[0].vmtotal)) - self.debug("%d vms found left in account: %s. Finishing Test"%(len(acctVms),acct)) - - - def test_4_listVm(self): - allVms = self.listVmsInAccount(None) - self.debug("%d vms in all"%len(allVms)) - - - def test_5_multipleStartRequests(self): - ''' - Start a few Vms, start them again before they reach running state, - make sure the resource count remains consistent - ''' - mdf = hashlib.md5() - mdf.update('password') - mdf_pass = mdf.hexdigest() - api = self.testClient.getApiClient() - acct = createAccount.createAccountCmd() - acct.accounttype = 0 - name = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10)) - acct.firstname = name - acct.lastname = name - acct.password = mdf_pass - acct.username = name - acct.email = 'puser@example.com' - acct.account = name - acct.domainid = 1 - acctResponse = api.createAccount(acct) - - for i in range(0, 5): - resp = api.deployVirtualMachine(self.deployCmd(name)) - api.startVirtualMachine(self.startCmd(resp.id)) - - acctVms = self.listVmsInAccount(name) - self.debug("%d vms found in account: %s."%(len(acctVms),name)) - self.assertEqual(5, len(acctVms)) - listacctresponse = self.listAccounts(name) - self.assertEqual(int(listacctresponse[0].vmrunning) +\ - int(listacctresponse[0].vmstopped),\ - int(listacctresponse[0].vmtotal)) - - - def test_6_multipleDestroyRequests(self): - ''' - Start a few Vms, destroy them, destroy them again before they reach - expunging state, make sure the resource count remains consistent - ''' - mdf = hashlib.md5() - mdf.update('password') - mdf_pass = mdf.hexdigest() - api = self.testClient.getApiClient() - acct = createAccount.createAccountCmd() - acct.accounttype = 0 - name = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(10)) - acct.firstname = name - acct.lastname = name - acct.password = mdf_pass - acct.username = name - acct.email = 'puser@example.com' - acct.account = name - acct.domainid = 1 - acctResponse = api.createAccount(acct) - - vmlist = [] - for i in range(0, 5): - resp = api.deployVirtualMachine(self.deployCmd(name)) - vmlist.append(resp.id) - - for vm in vmlist: - api.destroyVirtualMachine(self.destroyCmd(vm)) - time.sleep(1) - api.destroyVirtualMachine(self.destroyCmd(vm)) - - acctVms = self.listVmsInAccount(name) - if acctVms is not None: - self.debug("%d vms found in account: %s."%(len(acctVms),name)) - self.assertEqual(5, len(acctVms)) - listacctresponse = self.listAccounts(name) - self.assertEqual(int(listacctresponse[0].vmrunning) +\ - int(listacctresponse[0].vmstopped),\ - int(listacctresponse[0].vmtotal)) - - - def execCmds(self,cmds=[],batchsize=0): - ''' - When batchsize is 0 all Vms are deployed in one batch - ''' - if batchsize == 0: - self.testClient.submitCmdsAndWait(cmds) - else: - while len(cmds) > 0: - try: - newbatch = [cmds.pop() for b in range(batchsize)] #pop batchsize items - self.testClient.submitCmdsAndWait(newbatch) - except IndexError: - break diff --git a/agent-simulator/scripts/run.bat b/agent-simulator/scripts/run.bat deleted file mode 100644 index 1138ce0cd2b..00000000000 --- a/agent-simulator/scripts/run.bat +++ /dev/null @@ -1,19 +0,0 @@ -rem - Licensed to the Apache Software Foundation (ASF) under one -rem - or more contributor license agreements. See the NOTICE file -rem - distributed with this work for additional information -rem - regarding copyright ownership. The ASF licenses this file -rem - to you under the Apache License, Version 2.0 (the -rem - "License"); you may not use this file except in compliance -rem - with the License. You may obtain a copy of the License at -rem - -rem - http://www.apache.org/licenses/LICENSE-2.0 -rem - -rem - Unless required by applicable law or agreed to in writing, -rem - software distributed under the License is distributed on an -rem - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -rem - KIND, either express or implied. See the License for the -rem - specific language governing permissions and limitations -rem - under the License. - -java -cp cloud-utils.jar;agent-simulator.jar;log4j-1.2.15.jar;apache-log4j-extras-1.0.jar;ws-commons-util-1.0.2.jar;xmlrpc-client-3.1.3.jar;cloud-agent.jar;cloud-core.jar;xmlrpc-common-3.1.3.jar;javaee-api-5.0-1.jar;gson-1.3.jar;commons-httpclient-3.1.jar;commons-logging-1.1.1.jar;commons-codec-1.3.jar;commons-collections-3.2.1.jar;commons-pool-1.4.jar;.\;.\conf com.cloud.agent.AgentSimulator %* - diff --git a/agent-simulator/scripts/zucchini/__old__/deletePod.sh b/agent-simulator/scripts/zucchini/__old__/deletePod.sh deleted file mode 100755 index 01cb7ce9e56..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deletePod.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -pod_query="GET http://10.91.30.226:8096/client/?command=deletePod&id=$x HTTP/1.0\n\n" - - -echo -e $pod_query | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/deleteServiceOffering.sh b/agent-simulator/scripts/zucchini/__old__/deleteServiceOffering.sh deleted file mode 100755 index 1a6c8084628..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deleteServiceOffering.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -delete_so="GET http://10.91.30.226:8096/client/?command=deleteServiceOffering&id=$x HTTP/1.0\n\n" - -echo -e $delete_so | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/deleteVlan.sh b/agent-simulator/scripts/zucchini/__old__/deleteVlan.sh deleted file mode 100755 index 34ced903850..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deleteVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -vlan_query="GET http://10.91.30.226:8096/client/?command=deleteVlanIpRange&id=$x HTTP/1.0\n\n" - - -echo -e $vlan_query | nc -v -q 20 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/deployBulk-sg.sh b/agent-simulator/scripts/zucchini/__old__/deployBulk-sg.sh deleted file mode 100755 index 427fbe2e023..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deployBulk-sg.sh +++ /dev/null @@ -1,206 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -usage() { - printf "Deploy many VMs: %s: -h management-server -n numberofvms [[-b batchsize] [-w wait for success] [-d db-node]]\n" $(basename $0) >&2 - printf "-w option when specifed waits for successful deployment of batchsize (specifed by -b option) number of VMs. default batchsize =100\n" -} - -getSgListRandom() { - num_groups=$((RANDOM%groups_per_vm)) - if [[ $num_groups -eq 0 ]]; then - num_groups=1 #set back to default - fi - - #form sg list string - local sg_list="" - for ((i=0;i<$num_groups;i++)) - do - sgid=$((RANDOM%numberofgroups)) - if [[ $sgid -eq 0 || $sgid -eq 1 ]]; then - sgid=1 #set back to default security group - sg_list=$sgid","$sg_list - continue - fi - - sg_exists="GET http://$host/client/?command=listSecurityGroups&id=$sgid HTTP/1.0\n\n" - sg_out=$(echo -e $sg_exists | nc -v -q 60 $host 8096) - count=$(echo $sg_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if [[ $count != "1" ]]; then #FAIL: Invalid security group was randomly selected - continue - fi - sg_list=$sgid","$sg_list - done - echo "$sg_list" -} - - -waitDeploy() { - local dbnode=$1 - local batchsize=$2 - while [ 1 ] - do - donecount=$(mysql -uroot -Dcloud -h$dbnode -s -r --skip-column-names -e"select count(*) from async_job where job_cmd like '%DeployVM%' and last_updated is null") - echo "[DEBUG] " $(date) " " $donecount " VMs still deploying" - if [[ $donecount == "0" || $donecount -eq 0 ]] - then - break - fi - sleep $(($donecount*2))s #2 seconds per VM - done -} - -hflag= -nflag=1 -wflag= -bflag= -dflag= -iterator=0 - -declare -a sg_array=('79' '79' '79' '79' '79' '79' '79' '79' '79') -#declare -a sg_array=('72' '73' '74' '75' '76' '77' '78' '79' '80') - -host="127.0.0.1" #defaults to locahost -numberofvms=1040 #defaults -batchsize=100 #default -dbnode= -waitSuccess=false - -while getopts 'h:n:b:d:w' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - n) nflag=1 - numberofvms="$OPTARG" - ;; - w) wflag=1 - waitSuccess=true - ;; - b) bflag=1 - batchsize="$OPTARG" - ;; - d) dflag=1 - dbnode="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $hflag$nflag != "11" ] -then - usage - exit 2 -fi - -if [[ $wflag == "1" && $dflag != "1" ]] -then - echo "please specify dbnode -d option" - usage - exit 2 -fi - - -if [[ $bflag == "1" && $wflag != "1" ]] -then - echo "-w option mandatory when -b is given" - usage - exit 2 -fi - -tag1=$(($numberofvms*5/13)) -tag2=$(($numberofvms*2/13)) -tag3=$(($numberofvms*6/13)) - -tag1_so=9 #defaults from a regular installation -tag2_so=10 -tag3_so=11 -vmcount=0 - -echo -n "Service Offering ID with TAG1 hosttag: " -read tag1_so - -echo -n "Service Offering ID with TAG2 hosttag: " -read tag2_so - -echo -n "Service Offering ID with TAG3 hosttag: " -read tag3_so - -echo "Deploying TAG1 VMs with Service Offering: " $tag1_so -for ((c=1;c<$tag1;c++)) -do - if [[ $vmcount -eq $batchsize && waitSuccess ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - sglist=${sg_array[$((iterator % 9))]} - iterator=$((iterator+1)) - - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag1_so -u -g $sglist) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - - vmcount=$((vmcount+1)) -done - -sleep 60s - -echo "Deploying TAG2 VMs with Service Offering: " $tag2_so -for ((c=1;c<$tag2;c++)) -do - if [[ $vmcount -eq $batchsize && wflag == "1" ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - sglist=${sg_array[$((iterator % 9))]} - iterator=$((iterator+1)) - - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag2_so -u -g $sglist) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - - vmcount=$((vmcount+1)) -done - -sleep 60s - -echo "Deploying TAG3 VMs with Service Offering: " $tag3_so -for ((c=1;c<$tag3;c++)) -do - if [[ $vmcount -eq $batchsize && wflag == "1" ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - sglist=${sg_array[$((iterator % 9))]} - iterator=$((iterator+1)) - - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag3_so -u -g $sglist) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - - vmcount=$((vmcount+1)) -done diff --git a/agent-simulator/scripts/zucchini/__old__/deployBulk.sh b/agent-simulator/scripts/zucchini/__old__/deployBulk.sh deleted file mode 100755 index 226a8aa2526..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deployBulk.sh +++ /dev/null @@ -1,159 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -usage() { - printf "Deploy many VMs: %s: -h management-server -n numberofvms [[-b batchsize] [-w wait for success] [-d db-node]]\n" $(basename $0) >&2 -} - -waitDeploy() { - local dbnode=$1 - local batchsize=$2 - while [ 1 ] - do - donecount=$(mysql -uroot -Dcloud -h$dbnode -s -r --skip-column-names -e"select count(*) from async_job where job_cmd like '%DeployVM%' and last_updated is null") - echo "[DEBUG] " $(date) " " $donecount " VMs still deploying" - if [[ $donecount == "0" || $donecount -eq 0 ]] - then - break - fi - sleep $(($donecount*2))s #2 seconds per VM - done -} - -hflag= -nflag=1 -wflag= -bflag= -dflag= -iterator=0 - -host="127.0.0.1" #defaults to locahost -numberofvms=1040 #defaults -numberofgroups= -groups_per_vm=1 #default one group per vm -batchsize=100 -waitSuccess=false - -while getopts 'h:n:b:d:w' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - n) nflag=1 - numberofvms="$OPTARG" - ;; - w) wflag=1 - waitSuccess=true - ;; - b) bflag=1 - batchsize="$OPTARG" - ;; - d) dflag=1 - dbnode="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $hflag$nflag != "11" ] -then - usage - exit 2 -fi - -if [[ $wflag == "1" && $dflag != "1" ]] -then - echo "please specify dbnode -d option" - usage - exit 2 -fi - - -if [[ $bflag == "1" && $wflag != "1" ]] -then - echo "-w option mandatory when -b is given" - usage - exit 2 -fi - -tag1=$(($numberofvms*5/13)) -tag2=$(($numberofvms*2/13)) -tag3=$(($numberofvms*6/13)) - -tag1_so=9 #defaults from a regular installation -tag2_so=10 -tag3_so=11 -vmcount=0 - -echo -n "Service Offering ID with TAG1 hosttag: " -read tag1_so - -echo -n "Service Offering ID with TAG2 hosttag: " -read tag2_so - -echo -n "Service Offering ID with TAG3 hosttag: " -read tag3_so - -echo "Deploying TAG1 VMs with Service Offering: " $tag1_so -for ((c=1;c<$tag1;c++)) -do - if [[ $vmcount -eq $batchsize && waitSuccess ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag1_so -u) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - vmcount=$((vmcount+1)) -done - -echo "Deploying TAG2 VMs with Service Offering: " $tag2_so -for ((c=1;c<$tag2;c++)) -do - if [[ $vmcount -eq $batchsize && waitSuccess ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag2_so -u) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - vmcount=$((vmcount+1)) -done - - -echo "Deploying TAG3 VMs with Service Offering: " $tag3_so -for ((c=1;c<$tag3;c++)) -do - if [[ $vmcount -eq $batchsize && waitSuccess ]] - then - waitDeploy $dbnode $batchsize - vmcount=0 - fi - job_out=$(./deployVirtualMachine.sh -h $host -z 1 -t 2 -s $tag3_so -u) - job_id=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - vmid=$(echo $job_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - echo "[DEBUG] $(date) deployed vm: " $vmid " in job: " $job_id - vmcount=$((vmcount+1)) -done diff --git a/agent-simulator/scripts/zucchini/__old__/deployVirtualMachine.sh b/agent-simulator/scripts/zucchini/__old__/deployVirtualMachine.sh deleted file mode 100755 index 15539d23a7c..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/deployVirtualMachine.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -zoneid=$1 -templateId=$2 -serviceOfferingId=$3 - -query="GET http://10.91.30.226:8096/client/?command=deployVirtualMachine&zoneId=$1&templateId=$2&serviceOfferingId=$3&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/destroySystemVm.sh b/agent-simulator/scripts/zucchini/__old__/destroySystemVm.sh deleted file mode 100755 index a2907a1a143..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/destroySystemVm.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -usage() { - printf "Destroy System Virtual Machine\nUsage: %s: -h management-server-ip -i vmid\n" $(basename $0) >&2 -} - - -hflag= -iflag= - -vmid= -host="127.0.0.1" #defaults to localhost - -while getopts 'h:i:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - i) iflag=1 - vmid="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [[ $iflag != "1" ]] -then - usage - exit 2 -fi - -destroy="GET http://$host:8096/client/?command=destroySystemVm&id=$vmid HTTP/1.0\n\n" -echo -e $destroy | nc -v -w 60 $host 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/destroyVirtualMachine.sh b/agent-simulator/scripts/zucchini/__old__/destroyVirtualMachine.sh deleted file mode 100755 index df9201ef728..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/destroyVirtualMachine.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -destroy="GET http://10.91.30.226:8096/client/?command=destroyVirtualMachine&id=$x HTTP/1.0\n\n" - -echo -e $destroy | nc -v -q 60 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/listCapacity.sh b/agent-simulator/scripts/zucchini/__old__/listCapacity.sh deleted file mode 100755 index 9b273058a2c..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listCapacity.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.226:8096/client/?command=listCapacity&zoneId=$1&podid=$2&response=json HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/listEvents.sh b/agent-simulator/scripts/zucchini/__old__/listEvents.sh deleted file mode 100755 index bd4e3d8c78c..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listEvents.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -test="GET http://10.91.30.226:8096/?command=listEvents&page=1 HTTP/1.0\n\n" -echo -e $test | nc -v -q 120 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/listHosts.sh b/agent-simulator/scripts/zucchini/__old__/listHosts.sh deleted file mode 100755 index ec74fdb6ef7..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listHosts.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.226:8096/client/?command=listHosts&zoneId=$1&account=admin&domainid=1&page=$2 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/listRouters.sh b/agent-simulator/scripts/zucchini/__old__/listRouters.sh deleted file mode 100755 index 015e5b0a1d1..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listRouters.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.226:8096/client/?command=listRouters&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/listTemplates.sh b/agent-simulator/scripts/zucchini/__old__/listTemplates.sh deleted file mode 100755 index 1c5fa4da114..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listTemplates.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.212:8096/client/?command=listTemplates&templatefilter=featured&zoneid=$1 HTTP/1.0\n\n" - -echo -e $query | nc -v -w 120 10.91.30.212 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/listVirtualMachine.sh b/agent-simulator/scripts/zucchini/__old__/listVirtualMachine.sh deleted file mode 100755 index dc20f11e4f6..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/listVirtualMachine.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -query="GET http://10.91.30.226:8096/client/?command=listVirtualMachines&zoneId=$1&account=admin&domainid=1 HTTP/1.0\n\n" - -echo -e $query | nc -v -q 120 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/monitor.sh b/agent-simulator/scripts/zucchini/__old__/monitor.sh deleted file mode 100755 index 2cd4f58ea02..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/monitor.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -while [ 1 ] -do - echo ==== $(date) ==== -# mysql -uroot -Dcloud -h$host -e"select count(*), status, mgmt_server_id from host group by status, mgmt_server_id;" - mysql -uroot -Dcloud -h$host -e"select count(*), state, type from vm_instance group by state, type;" - mysql -uroot -Dcloud -h$host -e"select avg(timestampdiff(second,created,last_updated)),count(id),job_cmd,job_status,job_result_code from async_job where last_updated is not null group by job_cmd,job_status,job_result_code;" - mysql -uroot -Dcloud -h$host -e "select count(*) as locks from op_lock;" - echo === last 5 successful DeployVM === - mysql -uroot -Dcloud -h$host -e"select created,last_updated,id, timestampdiff(second,created,last_updated) from async_job where job_cmd like '%DeployVM%' and job_result_code=0 and last_updated is not null order by id desc limit 5;" - echo === nwgroup status === - mysql -uroot -Dcloud -h$host -e"select step, count(*) from op_nwgrp_work group by step;" - mysql -uroot -Dcloud -h$host -e"select avg(timestampdiff(second,created,taken)), count(id),mgmt_server_id from op_nwgrp_work where step='Done' and taken is not null and created < taken group by mgmt_server_id;" - mysql -uroot -Dcloud -h$host -e"select id,mgmt_server_id,instance_id,created,taken,timestampdiff(second,created,taken) from op_nwgrp_work where taken is not null and created!=taken order by id desc limit 5;" - echo - echo - echo - sleep 30s -done diff --git a/agent-simulator/scripts/zucchini/__old__/newsetup.sh b/agent-simulator/scripts/zucchini/__old__/newsetup.sh deleted file mode 100755 index 03e85e308f9..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/newsetup.sh +++ /dev/null @@ -1,228 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# zucchini uses local storage, before setting up make sure -# * xen.public.network.device is set -# * use.local.storage and systemvm.use.local.storage are true -# * optionally turn off stats collectors -# * expunge.delay and expunge.interval are 60s -# * ping.interval is around 3m -# * turn off dns updates to entire zone, network.dns.basiczone.update=pod -# * capacity.skipcounting.hours=0 -# * direct.agent.load.size=1000 - -# This script will only setup an approximate number of hosts. To achieve the ratio -# by 13. So if 4000 hosts are added, you might see only 3900 come up -# 10 hosts per pod @ 1 host per cluster in a single zone -# Each pod has a /25, so 128 addresses. I think we reserved 5 IP addresses for system VMs in each pod. -# Then we had something like 60 addresses for hosts and 60 addresses for VMs. - -#Environment -#1. Approximately 10 hosts per pod. -#2. Only 3 host tags. -#3. With in each pod, the host tags are the same. Homogenous Pods -#5. In simulator.properties, workers=1 - -usage() { - printf "Setup Zucchini Like Environment\nUsage: %s: -h management-server -z zoneid [-d delay] -n numberofhosts\n" $(basename $0) >&2 -} - -a=1 #CIDR - 16bytes -b=2 #CIDR - 8 bytes - -#options -hflag=1 -zflag= -dflag=1 -nflag=1 - -host="127.0.0.1" #default localhost -zoneid= -delay=300 #default 5 minutes -numberofhosts=1300 #default 1300 hosts -tag1="TAG1" -tag2="TAG2" -tag3="TAG3" - -while getopts 'h:z:d:n:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - z) zflag=1 - zoneid="$OPTARG" - ;; - d) dflag=1 - delay="$OPTARG" - ;; - n) nflag=1 - numberofhosts="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $zflag$nflag != "11" ] -then - usage - exit 2 -fi - -numberofpods=$(($numberofhosts/10)) #10 hosts per pod -tag_one_range=$(($numberofpods*5/13)) -tag_two_range=$(($numberofpods*2/13)) -tag_three_range=$(($numberofpods-$tag_one_range-$tag_two_range)) - -clusters_per_pod=10 #each cluster has one host -hosts_per_pod=10 - - -declare -a pod_array -declare -a cluster_array - -echo "Split Ratio :: " $tag_one_range":"$tag_two_range":"$tag_three_range - -#create the zone -zone_query="GET http://$host/client/?command=createZone&networktype=Basic&securitygroupenabled=false&name=Zucchini&dns1=4.2.2.2&internaldns1=4.2.2.2 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w $delay $host 8096 - -#Add Secondary Storage -sstor_query="GET http://$host/client/?command=addSecondaryStorage&zoneid=$zoneid&url=nfs://172.16.15.32/export/share/secondary HTTP/1.0\n\n" -echo -e $sstor_query | nc -v -w $delay $host 8096 - -let x=a -let y=b - -echo "[DEBUG] $(date) Starting Creation of $numberofpods Pods" -for ((name=1;name<=$numberofpods;name++)) -do - echo "[DEBUG] $(date) Creating pod[POD$name]" - pod_query="GET http://$host/client/?command=createPod&zoneId=$zoneid&name=POD$name&netmask=255.255.255.128&startIp=172.$x.$y.130&endIp=172.$x.$y.189&gateway=172.$x.$y.129 HTTP/1.0\n\n" - pod_out=$(echo -e $pod_query | nc -v -w $delay $host 8096) - pod_id=$(echo $pod_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$pod_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) pod [POD$name] creation failed"; continue - fi - echo "[DEBUG] $(date) Created pod["$pod_id":POD"$name"]" - pod_array[$name]=$pod_id - - echo "[DEBUG] $(date) Creating vlan for pod[POD$name]" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zoneid&podId=$pod_id&forVirtualNetwork=false&gateway=172.$x.$y.129&netmask=255.255.255.128&startip=172.$x.$y.190&endip=172.$x.$y.249 HTTP/1.0\n\n" - vlan_out=$(echo -e $vlan_query | nc -v -w $delay $host 8096) - vlan_id=$(echo $vlan_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$vlan_id" =~ ^[0-9]+$ ]] ; then - let y+=1 - if [ "$y" -eq 256 ] - then - let x+=1 - y=1 - fi - exec >&2; echo "[ERROR] $(date) vlan creation for pod[POD$name] failed"; continue - fi - echo "[DEBUG] $(date) Created vlan for pod[POD$name]" - - #add clusters - echo "[DEBUG] $(date) Starting Creation of $clusters_per_pod clusters for pod[POD$name]" - for ((cluster=1;cluster<=$clusters_per_pod;cluster++)) - do - echo "[DEBUG] $(date) Creating cluster[POD$name-CLUSTER$cluster] for pod[POD$name]" - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=$pod_id&clustername=POD$name-CLUSTER$cluster HTTP/1.0\n\n" - cluster_out=$(echo -e $cluster_query | nc -v -w $delay $host 8096) - cluster_id=$(echo $cluster_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$cluster_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) cluster[POD$name-CLUSTER$cluster] creation for pod[POD$name] failed"; continue - fi - echo "[DEBUG] $(date) Created cluster["$cluster_id":POD"$name"-CLUSTER"$cluster"]" - cluster_array[$(($name*$clusters_per_pod + $cluster))]=$cluster_id - done - echo "[DEBUG] $(date) Finished Creating clusters for pod[POD$name]" - let y+=1 - if [ "$y" -eq 256 ] - then - let x+=1 - y=1 - fi -done -echo "[DEBUG] $(date) Finished Creating $numberofpods Pods" - -#echo "DEBUG:Pods and Clusters" -#echo "PODS:("${#pod_array[@]}")" ${pod_array[@]} -#echo "CLUSTERS:("${#cluster_array[@]}")" ${cluster_array[@]} -echo -echo - -#Add hosts -#TAG1 -for ((i=1;i<=$tag_one_range;i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag1 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG1" - done -done - -#TAG2 -for ((i=$(($tag_one_range + 1));i<=$(($tag_one_range + $tag_two_range));i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag2 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG2" - done -done - -#TAG3 -for ((i=$(($tag_two_range + $tag_one_range + 1));i<=$(($tag_three_range + $tag_two_range + $tag_one_range));i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag3 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG3" - done -done - -echo "Setup complete" -exit 0 diff --git a/agent-simulator/scripts/zucchini/__old__/reconnectStats.sh b/agent-simulator/scripts/zucchini/__old__/reconnectStats.sh deleted file mode 100755 index 8cba78a6ca8..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/reconnectStats.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - -name=$1 -while [ 1 ] -do - mysql -s -r -uroot -Dcloud -h10.1.1.215 -e"select count(id),now(),max(disconnected),mgmt_server_id,status from host group by mgmt_server_id,status;" >> $1 - sleep 5 - echo --------------------------------------------------------------------------------------------------------------------- >> $1 -done diff --git a/agent-simulator/scripts/zucchini/__old__/setup.sh b/agent-simulator/scripts/zucchini/__old__/setup.sh deleted file mode 100755 index afb561b79db..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setup.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - - -#1. Approximately 10 hosts per pod. -#2. Only 3 host tags. - -a=$1 #CIDR - 16bytes -b=$2 #CIDR - 8 bytes - -zone_query="GET http://10.91.30.219/client/?command=createZone&name=Zucchini&dns1=4.2.2.2&internaldns1=4.2.2.2&vlan=10-4000&guestcidraddress=10.1.1.0%2F24 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -q 120 10.91.30.219 8096 - -# Pod Ratio: 38:15:47 @ 10 hosts per pod -let x=a -let y=b -for name in `seq 1 152` -do - pod_query="GET http://10.91.30.219:8096/client/?command=createPod&zoneId=1&name=POD$name&cidr=172.$x.$y.0%2F24&startIp=172.$x.$y.2&endIp=172.$x.$y.252&gateway=172.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.219:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 - - for cluster in `seq 1 10` - do - host_query="GET http://10.91.30.219:8096/client/?command=addHost&zoneId=1&podId=$name&username=sim&password=sim&clustername=simulator-POD$name-CLUSTER$cluster&hosttags=TAG1&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -q 6000 10.91.30.219 8096 - done - - let x+=1 - let y+=1 -done - -#reset for tag2 -let x=a -let y=b -for name in `seq 153 212` -do - pod_query="GET http://10.91.30.219:8096/client/?command=createPod&zoneId=1&name=POD$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.219:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=182.$y.$x.1&netmask=255.255.255.0&startip=182.$y.$x.2&endip=182.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 - - for cluster in `seq 1 10` - do - host_query="GET http://10.91.30.219:8096/client/?command=addHost&zoneId=1&podId=$name&username=sim&password=sim&clustername=simulator-POD$name-CLUSTER$cluster&hosttags=TAG2&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -q 6000 10.91.30.219 8096 - done - - let x+=1 - let y+=1 -done - -#reset for TAG3 -let x=a -let y=b -for name in `seq 213 400` -do - pod_query="GET http://10.91.30.219:8096/client/?command=createPod&zoneId=1&name=POD$name&cidr=192.$x.$y.0%2F24&startIp=192.$x.$y.2&endIp=192.$x.$y.252&gateway=192.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.219:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=192.$y.$x.1&netmask=255.255.255.0&startip=192.$y.$x.2&endip=192.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -q 20 10.91.30.219 8096 - echo -e $vlan_query | nc -v -q 20 10.91.30.219 8096 - - for cluster in `seq 1 10` - do - host_query="GET http://10.91.30.219:8096/client/?command=addHost&zoneId=1&podId=$name&username=sim&password=sim&clustername=simulator-POD$name-CLUSTER$cluster&hosttags=TAG3&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -q 6000 10.91.30.219 8096 - done - - let x+=1 - let y+=1 -done diff --git a/agent-simulator/scripts/zucchini/__old__/setupDirectPods.sh b/agent-simulator/scripts/zucchini/__old__/setupDirectPods.sh deleted file mode 100755 index 199309646ce..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setupDirectPods.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -pod_query="GET http://10.91.30.212:8096/client/?command=createPod&zoneId=1&name=SSP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 -HTTP/1.0\n\n" - -echo -e $pod_query | nc -v -w 20 10.91.30.212 8096 - -#vlan_query="GET http://10.91.30.212/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - -#echo -e $vlan_query | nc -v -w 20 10.91.30.212 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/setupHosts.sh b/agent-simulator/scripts/zucchini/__old__/setupHosts.sh deleted file mode 100755 index 29607ce39d4..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setupHosts.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -name=$1 - -host_query="GET http://10.91.30.226:8096/client/?command=addHost&zoneId=1&podId=$((name+250))&username=sim&password=sim&clustername=simulator-$name&hosttags=RP$name&url=http%3A%2F%2Fsim HTTP/1.0\n\n" -echo -e $host_query | nc -v -q 60 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/setupPodAndNetwork.sh b/agent-simulator/scripts/zucchini/__old__/setupPodAndNetwork.sh deleted file mode 100755 index 606daf7b1cb..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setupPodAndNetwork.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -workers=$1 -x=$2 #CIDR - 16bytes -y=$3 #CIDR - 8 bytes - -for name in `seq 1 $workers` -do - pod_query="GET http://10.91.30.226:8096/client/?command=createPod&zoneId=1&name=RP$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://10.91.30.226:8096/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$((name+250))&forVirtualNetwork=false&gateway=182.$y.$x.1&netmask=255.255.255.0&startip=182.$y.$x.2&endip=182.$y.$x.252 HTTP/1.0\n\n" - so_query="GET http://10.91.30.226:8096/client/?command=createServiceOffering&name=RP$name&displayText=RP$name&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=RP$name HTTP/1.0\n\n" - - echo -e $pod_query | nc -v -q 20 10.91.30.226 8096 - echo -e $vlan_query | nc -v -q 20 10.91.30.226 8096 - echo -e $so_query | nc -v -q 20 10.91.30.226 8096 - - let x+=1 - let y+=1 -done - - - diff --git a/agent-simulator/scripts/zucchini/__old__/setupServiceOffering.sh b/agent-simulator/scripts/zucchini/__old__/setupServiceOffering.sh deleted file mode 100755 index fecf242e02c..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setupServiceOffering.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -so_query="GET http://10.91.30.226:8096/client/?command=createServiceOffering&name=SO$x&displayText=SO$x&storageType=local&cpuNumber=1&cpuSpeed=1000&memory=512&offerha=false&usevirtualnetwork=false&hosttags=SP$x HTTP/1.0\n\n" - -echo -e $so_query | nc -v -q 20 10.91.30.226 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/setupVlan.sh b/agent-simulator/scripts/zucchini/__old__/setupVlan.sh deleted file mode 100755 index 0d2587e6cb0..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setupVlan.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 -y=$2 -name=$3 - -vlan_query="GET http://10.91.30.212/client/?command=createVlanIpRange&vlan=untagged&zoneid=1&podId=$name&forVirtualNetwork=false&gateway=172.$x.$y.1&netmask=255.255.255.0&startip=172.$x.$y.2&endip=172.$x.$y.252 HTTP/1.0\n\n" - -echo -e $vlan_query | nc -v -w 20 10.91.30.212 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/setup_sg.sh b/agent-simulator/scripts/zucchini/__old__/setup_sg.sh deleted file mode 100755 index 94884d99003..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/setup_sg.sh +++ /dev/null @@ -1,252 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# zucchini uses local storage, before setting up make sure -# * xen.public.network.device is set -# * use.local.storage and systemvm.use.local.storage are true -# * optionally turn off stats collectors -# * expunge.delay and expunge.interval are 60s -# * ping.interval is around 3m -# * turn off dns updates to entire zone, network.dns.basiczone.update=pod -# * capacity.skipcounting.hours=0 -# * direct.agent.load.size=1000 -# * security groups are enabled - -# This script will only setup an approximate number of hosts. To achieve the ratio -# by 13. So if 4000 hosts are added, you might see only 3900 come up -# 10 hosts per pod @ 1 host per cluster in a single zone -# Each pod has a /25, so 128 addresses. I think we reserved 5 IP addresses for system VMs in each pod. -# Then we had something like 60 addresses for hosts and 60 addresses for VMs. - -#Environment -#1. Approximately 10 hosts per pod. -#2. Only 3 host tags. -#3. With in each pod, the host tags are the same. Homogenous Pods -#5. In simulator.properties, workers=1 - -usage() { - printf "Setup Zucchini Like Environment\nUsage: %s: -h management-server -z zoneid [-d delay] -n numberofhosts [-g numberof security groups]\n" $(basename $0) >&2 -} - -a=1 #CIDR - 16bytes -b=2 #CIDR - 8 bytes - -#options -hflag=1 -zflag= -dflag=1 -nflag=1 -gflag=1 - -host="127.0.0.1" #default localhost -zoneid= -delay=300 #default 5 minutes -numberofhosts=1300 #default 1300 hosts -numberofgroups=130 #default 130 groups -tag1="TAG1" -tag2="TAG2" -tag3="TAG3" - -while getopts 'h:z:d:n:g:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - z) zflag=1 - zoneid="$OPTARG" - ;; - d) dflag=1 - delay="$OPTARG" - ;; - n) nflag=1 - numberofhosts="$OPTARG" - ;; - g) gflag=1 - numberofgroups="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $zflag$nflag != "11" ] -then - usage - exit 2 -fi - -numberofpods=$(($numberofhosts/10)) #10 hosts per pod -tag_one_range=$(($numberofpods*5/13)) -tag_two_range=$(($numberofpods*2/13)) -tag_three_range=$(($numberofpods-$tag_one_range-$tag_two_range)) - -clusters_per_pod=10 #each cluster has one host -hosts_per_pod=10 - - -declare -a pod_array -declare -a cluster_array - -echo "Split Ratio :: " $tag_one_range":"$tag_two_range":"$tag_three_range - -#create the zone -zone_query="GET http://$host/client/?command=createZone&networktype=Basic&securitygroupenabled=true&name=Zucchini&dns1=4.2.2.2&internaldns1=4.2.2.2 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w $delay $host 8096 - -#Add Secondary Storage -sstor_query="GET http://$host/client/?command=addSecondaryStorage&zoneid=$zoneid&url=nfs://172.16.15.32/export/share/secondary HTTP/1.0\n\n" -echo -e $sstor_query | nc -v -w $delay $host 8096 - -let x=a -let y=b - -echo "[DEBUG] $(date) Starting Creation of $numberofpods Pods" -for ((name=1;name<=$numberofpods;name++)) -do - echo "[DEBUG] $(date) Creating pod[POD$name]" - pod_query="GET http://$host/client/?command=createPod&zoneId=$zoneid&name=POD$name&netmask=255.255.255.128&startIp=172.$x.$y.130&endIp=172.$x.$y.189&gateway=172.$x.$y.129 HTTP/1.0\n\n" - pod_out=$(echo -e $pod_query | nc -v -w $delay $host 8096) - pod_id=$(echo $pod_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$pod_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) pod [POD$name] creation failed"; continue - fi - echo "[DEBUG] $(date) Created pod["$pod_id":POD"$name"]" - pod_array[$name]=$pod_id - - echo "[DEBUG] $(date) Creating vlan for pod[POD$name]" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zoneid&podId=$pod_id&forVirtualNetwork=false&gateway=172.$x.$y.129&netmask=255.255.255.128&startip=172.$x.$y.190&endip=172.$x.$y.249 HTTP/1.0\n\n" - vlan_out=$(echo -e $vlan_query | nc -v -w $delay $host 8096) - vlan_id=$(echo $vlan_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$vlan_id" =~ ^[0-9]+$ ]] ; then - let y+=1 - if [ "$y" -eq 256 ] - then - let x+=1 - y=1 - fi - exec >&2; echo "[ERROR] $(date) vlan creation for pod[POD$name] failed"; continue - fi - echo "[DEBUG] $(date) Created vlan for pod[POD$name]" - - #add clusters - echo "[DEBUG] $(date) Starting Creation of $clusters_per_pod clusters for pod[POD$name]" - for ((cluster=1;cluster<=$clusters_per_pod;cluster++)) - do - echo "[DEBUG] $(date) Creating cluster[POD$name-CLUSTER$cluster] for pod[POD$name]" - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=$pod_id&clustername=POD$name-CLUSTER$cluster HTTP/1.0\n\n" - cluster_out=$(echo -e $cluster_query | nc -v -w $delay $host 8096) - cluster_id=$(echo $cluster_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$cluster_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) cluster[POD$name-CLUSTER$cluster] creation for pod[POD$name] failed"; continue - fi - echo "[DEBUG] $(date) Created cluster["$cluster_id":POD"$name"-CLUSTER"$cluster"]" - cluster_array[$(($name*$clusters_per_pod + $cluster))]=$cluster_id - done - echo "[DEBUG] $(date) Finished Creating clusters for pod[POD$name]" - let y+=1 - if [ "$y" -eq 256 ] - then - let x+=1 - y=1 - fi -done -echo "[DEBUG] $(date) Finished Creating $numberofpods Pods" - -#echo "DEBUG:Pods and Clusters" -#echo "PODS:("${#pod_array[@]}")" ${pod_array[@]} -#echo "CLUSTERS:("${#cluster_array[@]}")" ${cluster_array[@]} -echo -echo - - -echo "[DEBUG] $(date) Creating $numberofgroups security groups" -for ((sg=1;sg<=$numberofgroups;sg++)) -do - sg_create_query="GET http://$host/client/?command=createSecurityGroup&name=zGroup$sg&description=zGroup$sg&domainid=1&account=admin HTTP/1.0\n\n" - sg_create_out=$(echo -e $sg_create_query | nc -v -w $delay $host 8096) - sg_id=$(echo $sg_create_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$sg_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) security group[zGroup$sg] creation failed"; continue - fi - echo "[DEBUG] $(date) Created security group[$sg_id:zGroup$sg]" - - echo "[DEBUG] $(date) Adding ingress rule start,end=$((2000 + $sg)), $((2000 + $sg)) to security group[$sg_id:zGroup$sg]" - sg_auth_query="GET http://$host/client/?command=authorizeSecurityGroupIngress&domainid=1&account=admin&securitygroupid=$sg_id&protocol=TCP&startport=$((2000 + $sg))&endport=$((2000 + $sg))&usersecuritygrouplist[0].account=admin&usersecuritygrouplist[0].group=zGroup$sg HTTP/1.0\n\n" - sg_auth_out=$(echo -e $sg_auth_query | nc -v -w $delay $host 8096) -done -echo "[DEBUG] $(date) Finished Creating security groups" - -#Add hosts -#TAG1 -for ((i=1;i<=$tag_one_range;i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag1 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG1" - done -done - -#TAG2 -for ((i=$(($tag_one_range + 1));i<=$(($tag_one_range + $tag_two_range));i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag2 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG2" - done -done - -#TAG3 -for ((i=$(($tag_two_range + $tag_one_range + 1));i<=$(($tag_three_range + $tag_two_range + $tag_one_range));i++)) -do - podid=${pod_array[$i]} - for ((j=1;j<=$hosts_per_pod;j++)) - do - clusterid=${cluster_array[$(($i*$clusters_per_pod + $j))]} - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=$podid&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag3 HTTP/1.0\n\n" - host_out=$(echo -e $host_query | nc -v -w $delay $host 8096) - host_id=$(echo $host_out | sed 's/\(.*\)\([0-9]*\)\(.*\)/\2/g') - if ! [[ "$host_id" =~ ^[0-9]+$ ]] ; then - exec >&2; echo "[ERROR] $(date) host addition failed in [pod:$podid,cluster:$clusterid]"; continue - fi - host_name=$(echo $host_out | sed 's/\(.*\)\(SimulatedAgent.[-0-9a-zA-Z]*\)\(.*\)/\2/g') - echo "[DEBUG] $date added host [$host_id:$host_name] to [pod:$podid,cluster:$clusterid] for TAG3" - done -done - -echo "Setup complete" -exit 0 diff --git a/agent-simulator/scripts/zucchini/__old__/small.sh b/agent-simulator/scripts/zucchini/__old__/small.sh deleted file mode 100755 index 429cdd05a70..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/small.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# zucchini uses local storage, before setting up make sure -# * xen.public.network.device is set -# * use.local.storage and systemvm.use.local.storage are true -# * optionally turn off stats collector -# * expunge.delay and expunge.interval are 60s -# * capacity.skipcounting.hours=0 - -#Environment -#1. Small setup for zucchini : 13, 26, 39, 52 hosts only -#2. Only 3 host tags. -#5. simulator.properties, workers=1 - -usage() { - printf "Setup Zucchini Like Environment\nUsage: %s: -h management-server -z zoneid [-d delay] -n numberofhosts\n" $(basename $0) >&2 -} - -a=1 #CIDR - 16bytes -b=2 #CIDR - 8 bytes - -#options -hflag=1 -zflag=1 -dflag=1 -nflag=1 - -host="127.0.0.1" #default localhost -zoneid= -delay=300 #default 5 minutes -numberofhosts=13 #default 13 hosts -tag1="TAG1" -tag2="TAG2" -tag3="TAG3" - -while getopts 'h:z:d:n:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - z) zflag=1 - zoneid="$OPTARG" - ;; - d) dflag=1 - delay="$OPTARG" - ;; - n) nflag=1 - numberofhosts="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [ $hflag$zflag$dflag$nflag != "1111" ] -then - usage - exit 2 -fi - -if [ $numberofhosts -gt 52 ] -then - echo "Can't exceed 52 hosts" - exit 130 -fi - -numberofpods=3 #130 hosts per pod. So need only 3. each pod is homogenous -tag_one_range=$(($numberofhosts*5/13)) -tag_two_range=$(($numberofhosts*2/13)) -tag_three_range=$(($numberofhosts-$tag_one_range-$tag_two_range)) - -#create the zone -zone_query="GET http://$host/client/?command=createZone&networktype=Basic&securitygroupenabled=true&name=Zucchini&dns1=4.2.2.2&internaldns1=4.2.2.2 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w $delay $host 8096 - -sstor_query="GET http://$host/client/?command=addSecondaryStorage&zoneid=$zoneid&url=nfs://172.16.15.32/export/share/secondary HTTP/1.0\n\n" -echo -e $sstor_query | nc -v -w $delay $host 8096 - -let x=a -let y=b -for name in `seq 1 $numberofpods` -do - pod_query="GET http://$host/client/?command=createPod&zoneId=$zoneid&name=POD$name&netmask=255.255.255.0&startIp=172.$x.$y.2&endIp=172.$x.$y.131&gateway=172.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zoneid&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.131 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w $delay $host 8096 - echo -e $vlan_query | nc -v -w $delay $host 8096 - - let x+=1 - let y+=1 -done - -#add clusters - -#for i in `seq 1 10` -# cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=$podid&clustername=POD$podid-CLUSTER$cluster HTTP/1.0\n\n" -# echo -e $cluster_query | nc -v -w $delay $host 8096 -#do - -clusterid=1 -#TAG1 -for cluster in `seq 1 $tag_one_range` -do - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=1&clustername=POD1-CLUSTER$cluster HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -w $delay $host 8096 - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=1&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag1 HTTP/1.0\n\n" - echo -e $host_query | nc -v -w $delay $host 8096 - let clusterid+=1 -done - -#TAG2 -for cluster in `seq $(($tag_one_range + 1)) $(($tag_one_range + $tag_two_range))` -do - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=2&clustername=POD2-CLUSTER$cluster HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -w $delay $host 8096 - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=2&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag2 HTTP/1.0\n\n" - echo -e $host_query | nc -v -w $delay $host 8096 - let clusterid+=1 -done - -#TAG3 -for cluster in `seq $(($tag_two_range + $tag_one_range + 1)) $(($tag_three_range + $tag_two_range + $tag_one_range))` -do - cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zoneid&podId=3&clustername=POD3-CLUSTER$cluster HTTP/1.0\n\n" - echo -e $cluster_query | nc -v -w $delay $host 8096 - host_query="GET http://$host/client/?command=addHost&zoneId=$zoneid&podId=3&username=sim&password=sim&clusterid=$clusterid&url=http%3A%2F%2Fsim&hypervisor=Simulator&clustertype=CloudManaged&hosttags=$tag3 HTTP/1.0\n\n" - echo -e $host_query | nc -v -w $delay $host 8096 - let clusterid+=1 - -done - -for i in {1..60} -do - sg_create_query="GET http://$host/client/?command=createSecurityGroup&name=TestGroup1&description=Test HTTP/1.0\n\n" - echo -e $sg_create_query | nc -v -w $delay $host 8096 - - sg_auth_query="GET http://$host/client/?command=authorizeSecurityGroupIngress&domainid=1&account=admin&securitygroupid=$((i+2))&protocol=TCP&startport=2002&endport=2002&usersecuritygrouplist[0].account=admin&usersecuritygrouplist[0].group=TestGroup1 HTTP/1.0\n\n" - echo -e $sg_create_query | nc -v -w $delay $host 8096 -done - -echo "Setup complete" -exit 0 diff --git a/agent-simulator/scripts/zucchini/__old__/so_setup.sh b/agent-simulator/scripts/zucchini/__old__/so_setup.sh deleted file mode 100755 index ffdd243400f..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/so_setup.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -./setupServiceOffering.sh -h $host -i T1 -l -m 7168 -c 1024 -n 1 -g TAG1 -./setupServiceOffering.sh -h $host -i T2 -l -m 7168 -c 1024 -n 1 -g TAG2 -./setupServiceOffering.sh -h $host -i T3 -l -m 7168 -c 1024 -n 1 -g TAG3 diff --git a/agent-simulator/scripts/zucchini/__old__/startRouter.sh b/agent-simulator/scripts/zucchini/__old__/startRouter.sh deleted file mode 100755 index 8f36d65a02c..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/startRouter.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -start_router="GET http://10.91.30.226:8096/client/?command=startRouter&id=$x HTTP/1.0\n\n" - - -echo -e $start_router | nc -v -q 60 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/startVirtualMachine.sh b/agent-simulator/scripts/zucchini/__old__/startVirtualMachine.sh deleted file mode 100755 index d25cd492138..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/startVirtualMachine.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - -x=$1 - -start_vm="GET http://10.91.30.226:8096/client/?command=startVirtualMachine&id=$x HTTP/1.0\n\n" - - -echo -e $start_vm | nc -v -q 60 10.91.30.226 8096 - diff --git a/agent-simulator/scripts/zucchini/__old__/stopRouter.sh b/agent-simulator/scripts/zucchini/__old__/stopRouter.sh deleted file mode 100755 index c933b7dbc6b..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/stopRouter.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -usage() { - printf "Stop Router: %s: -h management-server -i vmid\n" $(basename $0) >&2 -} - -iflag= -hflag= - -host="127.0.0.1" #defaults to localhost -vmid= - -while getopts 'h:i:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - i) iflag=1 - vmid="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [[ $iflag != "1" ]] -then - usage - exit 2 -fi -stop_vm="GET http://$host:8096/client/?command=stopRouter&id=$vmid HTTP/1.0\n\n" -echo -e $stop_vm | nc -v -w 60 $host 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/stopVirtualMachine.sh b/agent-simulator/scripts/zucchini/__old__/stopVirtualMachine.sh deleted file mode 100755 index 1ed1106f0e6..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/stopVirtualMachine.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -usage() { - printf "Stop Virtual Machine: %s: -h management-server -i vmid\n" $(basename $0) >&2 -} - -iflag= -hflag= - -host="127.0.0.1" #defaults to localhost -vmid= - -while getopts 'h:i:' OPTION -do - case $OPTION in - h) hflag=1 - host="$OPTARG" - ;; - i) iflag=1 - vmid="$OPTARG" - ;; - ?) usage - exit 2 - ;; - esac -done - -if [[ $iflag != "1" ]] -then - usage - exit 2 -fi -stop_vm="GET http://$host:8096/client/?command=stopVirtualMachine&id=$vmid HTTP/1.0\n\n" -echo -e $stop_vm | nc -v -w 60 $host 8096 diff --git a/agent-simulator/scripts/zucchini/__old__/zucchini219.sh b/agent-simulator/scripts/zucchini/__old__/zucchini219.sh deleted file mode 100755 index ca54e5c4556..00000000000 --- a/agent-simulator/scripts/zucchini/__old__/zucchini219.sh +++ /dev/null @@ -1,119 +0,0 @@ -#!/usr/bin/env bash -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - - - - - -#1. Approximately 10 hosts per pod. -#2. Only 3 host tags. - -a=$1 #CIDR - 16bytes -b=$2 #CIDR - 8 bytes -host=$3 #MSHOST -zone=$4 - -zone_query="GET http://$host/client/?command=createZone&name=Zucchini&dns1=4.2.2.2&internaldns1=4.2.2.2&vlan=10-4000&guestcidraddress=10.1.1.0%2F24 HTTP/1.0\n\n" -echo -e $zone_query | nc -v -w 120 $host 8096 - -# Pod Ratio: 38:15:47 -let x=a -let y=b -for name in `seq 1 152` -do - pod_query="GET http://$host/client/?command=createPod&zoneId=$zone&name=POD$name&cidr=172.$x.$y.0%2F24&startIp=172.$x.$y.2&endIp=172.$x.$y.252&gateway=172.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zone&podId=$name&forVirtualNetwork=false&gateway=172.$y.$x.1&netmask=255.255.255.0&startip=172.$y.$x.2&endip=172.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w 20 $host 8096 - echo -e $vlan_query | nc -v -w 20 $host 8096 - - let x+=1 - let y+=1 -done - - -let x=a -let y=b -for name in `seq 153 212` -do - pod_query="GET http://$host/client/?command=createPod&zoneId=$zone&name=POD$name&cidr=182.$x.$y.0%2F24&startIp=182.$x.$y.2&endIp=182.$x.$y.252&gateway=182.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zone&podId=$name&forVirtualNetwork=false&gateway=182.$y.$x.1&netmask=255.255.255.0&startip=182.$y.$x.2&endip=182.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w 20 $host 8096 - echo -e $vlan_query | nc -v -w 20 $host 8096 - - let x+=1 - let y+=1 -done - -let x=a -let y=b -for name in `seq 213 400` -do - - pod_query="GET http://$host/client/?command=createPod&zoneId=$zone&name=POD$name&cidr=192.$x.$y.0%2F24&startIp=192.$x.$y.2&endIp=192.$x.$y.252&gateway=192.$x.$y.1 HTTP/1.0\n\n" - vlan_query="GET http://$host/client/?command=createVlanIpRange&vlan=untagged&zoneid=$zone&podId=$name&forVirtualNetwork=false&gateway=192.$y.$x.1&netmask=255.255.255.0&startip=192.$y.$x.2&endip=192.$y.$x.252 HTTP/1.0\n\n" - echo -e $pod_query | nc -v -w 20 $host 8096 - echo -e $vlan_query | nc -v -w 20 $host 8096 - - let x+=1 - let y+=1 -done - -#add clusters -#for name in `seq 1 400` -#do -# for cluster in `seq 1 10` -# do -# cluster_query="GET http://$host/client/?command=addCluster&hypervisor=Simulator&clustertype=CloudManaged&zoneId=$zone&podId=$name&clustername=POD$name-CLUSTER$cluster HTTP/1.0\n\n" -# echo -e $cluster_query | nc -v -w 120 $host 8096 -# done -#done - -# @ 10 hosts per pod @ 10 clusters per pod -clusterid=1 -#TAG1 -for podid in `seq 58 152` -do - for i in `seq 1 10` - do - host_query="GET http://$host/client/?command=addHost&zoneId=$zone&podId=$podid&username=sim&password=sim&clustername=CLUSTER$clusterid&hosttags=TAG1&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -w 6000 $host 8096 - done - let clusterid+=1 -done - -#TAG2 -for podid in `seq 153 212` -do - for i in `seq 1 10` - do - host_query="GET http://$host/client/?command=addHost&zoneId=$zone&podId=$podid&username=sim&password=sim&clustername=CLUSTER$clusterid&hosttags=TAG2&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -w 6000 $host 8096 - done - let clusterid+=1 -done - -#TAG3 -for podid in `seq 213 400` -do - for i in `seq 1 10` - do - host_query="GET http://$host/client/?command=addHost&zoneId=$zone&podId=$podid&username=sim&password=sim&cluster=CLUSTER$clusterid&hosttags=TAG3&url=http%3A%2F%2Fsim HTTP/1.0\n\n" - echo -e $host_query | nc -v -w 6000 $host 8096 - done - let clusterid+=1 -done diff --git a/agent-simulator/scripts/zucchini/setup.py b/agent-simulator/scripts/zucchini/setup.py deleted file mode 100644 index 6624f060656..00000000000 --- a/agent-simulator/scripts/zucchini/setup.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -''' -# zucchini uses local storage, before setting up make sure -# * xen.public.network.device is set -# * use.local.storage and systemvm.use.local.storage are true -# * optionally turn off stats collectors -# * expunge.delay and expunge.interval are 60s -# * ping.interval is around 3m -# * turn off dns updates to entire zone, network.dns.basiczone.update=pod -# * capacity.skipcounting.hours=0 -# * direct.agent.load.size=1000 -# * security groups are enabled -# This script will only setup an approximate number of hosts. To achieve the ratio -# by 13. So if 4000 hosts are added, you might see only 3900 come up -# 10 hosts per pod @ 1 host per cluster in a single zone -# Each pod has a /25, so 128 addresses. I think we reserved 5 IP addresses for system VMs in each pod. -# Then we had something like 60 addresses for hosts and 60 addresses for VMs. - -#Environment -#1. Approximately 10 hosts per pod. -#2. Only 3 host tags. -#3. With in each pod, the host tags are the same. Homogenous Pods -#5. In simulator.properties, workers=1 -''' - -from optparse import OptionParser -from configGenerator import * -import random - -def getGlobalSettings(): - global_settings = {'expunge.delay': '60', - 'expunge.interval': '60', - 'expunge.workers': '3', - 'workers': '10', - 'network.dns.basiczone.updates':'pod', - 'use.user.concentrated.pod.allocation':'false', - 'vm.allocation.algorithm':'firstfit', - 'capacity.check.period':'0', -# 'host.stats.interval':'-1', -# 'vm.stats.interval':'-1', -# 'storage.stats.interval':'-1', -# 'router.stats.interval':'-1', - 'vm.op.wait.interval':'5', - 'xen.public.network.device':'10.10.10.10', #only a dummy for the simulator - 'guest.domain.suffix':'zucchini.simulator', - 'instance.name':'ZIM', - 'direct.agent.load.size':'1000', - 'default.page.size':'10000', - 'linkLocalIp.nums':'4', - 'system.vm.use.local.storage':'true', - 'use.local.storage':'true', - 'check.pod.cidrs':'false', - } - for k,v in global_settings.iteritems(): - cfg=configuration() - cfg.name=k - cfg.value=v - yield cfg - -def podIpRangeGenerator(): - x=1 - y=2 - while 1: - if y == 255: - x=x+1 - if x == 255: - x=1 - break - y=1 - y=y+1 - #pod mangement network - yield ('172.'+str(x)+'.'+str(y)+'.129', '172.'+str(x)+'.'+str(y)+'.130', '172.'+str(x)+'.'+str(y)+'.189') - - -def vlanIpRangeGenerator(): - x=1 - y=2 - while 1: - if y == 255: - x=x+1 - if x==255: - x=1 - break - y=1 - y=y+1 - #vlan ip range - yield ('172.'+str(x)+'.'+str(y)+'.129', '172.'+str(x)+'.'+str(y)+'.190', '172.'+str(x)+'.'+str(y)+'.249') - - -def describeZucchiniResources(numberOfAgents=1300, dbnode='localhost', mshost='localhost', randomize=False, sgenabled=False): - zs=cloudstackConfiguration() - numberofpods=numberOfAgents/10 - tagOneHosts = numberOfAgents*5/13 - tagTwoHosts = numberOfAgents*2/13 - tagThreeHosts = numberOfAgents-tagOneHosts-tagTwoHosts - - clustersPerPod=10 - hostsPerPod=10 - - z = zone() - z.dns1 = '4.2.2.2' - z.dns2 = '192.168.110.254' - z.internaldns1 = '10.91.28.6' - z.internaldns2 = '192.168.110.254' - z.name = 'Zucchini' - z.networktype = 'Basic' - z.securitygroupenabled = sgenabled - - hosttags=['TAG1' for x in range(tagOneHosts)] + ['TAG2' for x in range(tagTwoHosts)] + ['TAG3' for x in range(tagThreeHosts)] - curhost=0 - curpod=0 - if randomize: - random.shuffle(hosttags) #randomize the host distribution - - for podRange,vlanRange in zip(podIpRangeGenerator(), vlanIpRangeGenerator()): - p = pod() - curpod=curpod+1 - p.name = 'POD'+str(curpod) - p.gateway=podRange[0] - p.startip=podRange[1] - p.endip=podRange[2] - p.netmask='255.255.255.128' - - v = iprange() - v.gateway=vlanRange[0] - v.startip=vlanRange[1] - v.endip=vlanRange[2] - v.netmask="255.255.255.128" - p.guestIpRanges.append(v) - - for i in range(1,clustersPerPod+1): - c = cluster() - c.clustername = 'POD'+str(curpod)+'-CLUSTER'+str(i) - c.hypervisor = 'Simulator' - c.clustertype = 'CloudManaged' - - try: - h = host() - h.username = 'root' - h.password = 'password' - h.url = "http://sim/test-%d"%(curhost) - h.hosttags = hosttags.pop() - c.hosts.append(h) - curhost=curhost+1 - p.clusters.append(c) - except IndexError: - break - #end clusters - z.pods.append(p) - if curpod == numberofpods or curhost == numberOfAgents: - break - #end pods - secondary = secondaryStorage() - secondary.url = 'nfs://172.16.25.32/secondary/path' - z.secondaryStorages.append(secondary) - zs.zones.append(z) - - '''Add mgt server''' - mgt = managementServer() - mgt.mgtSvrIp = mshost #could be the LB balancing the cluster of management server as well - zs.mgtSvr.append(mgt) - - '''Add a database''' - db = dbServer() - db.dbSvr = opts.dbnode - zs.dbSvr = db - - '''Add some configuration''' - [zs.globalConfig.append(cfg) for cfg in getGlobalSettings()] - - ''''add loggers''' - testClientLogger = logger() - testClientLogger.name = "TestClient" - testClientLogger.file = "/var/log/testclient.log" - - testCaseLogger = logger() - testCaseLogger.name = "TestCase" - testCaseLogger.file = "/var/log/testcase.log" - - zs.logger.append(testClientLogger) - zs.logger.append(testCaseLogger) - return zs - -if __name__=="__main__": - parser = OptionParser() - # parser.add_option('-h','--host',dest='host',help='location of management server(s) or load-balancer') - parser.add_option('-n', '--number-of-agents', action='store', dest='agents', help='number of agents in the deployment') - parser.add_option('-g', '--enable-security-groups', dest='sgenabled', help='specify if security groups are to be enabled', default=False, action='store_true') - parser.add_option('-o', '--output', action='store', default='./z.cfg', dest='output', help='the path where the json config file generated') - parser.add_option('-d', '--dbnode', dest='dbnode', help='hostname/ip of the database node', action='store') - parser.add_option('-m', '--mshost', dest='mshost', help='hostname/ip of management server', action='store') - parser.add_option('-r', '--randomize', dest='randomize', help='randomize the distribution of tags (hetergenous clusters)', action='store_true', default=False) - - (opts, args) = parser.parse_args() - mandatories = ['agents'] - for m in mandatories: - if not opts.__dict__[m]: - print 'mandatory option missing' - - cfg = describeZucchiniResources(int(opts.agents), opts.dbnode, opts.mshost, opts.randomize, opts.sgenabled) - generate_setup_config(cfg, opts.output) diff --git a/agent-simulator/scripts/zucchini/tests/testListVm.py b/agent-simulator/scripts/zucchini/tests/testListVm.py deleted file mode 100644 index ca72bfd8fa4..00000000000 --- a/agent-simulator/scripts/zucchini/tests/testListVm.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - import unittest2 as unittest -except ImportError: - import unittest - -import timeit -import random -from cloudstackAPI import * -from cloudstackTestCase import * - - -class ListVmTests(cloudstackTestCase): - ''' - List Virtual Machine tests - ''' - - def setUp(self): - pass - - def tearDown(self): - pass - - def listAllVm(self): - numVms = 0 - api = self.testClient.getApiClient() - listVmCmd = listVirtualMachines.listVirtualMachinesCmd() - listVmCmd.account = 'admin' - listVmCmd.zoneid = 1 - listVmCmd.domainid = 1 - listVmResponse = api.listVirtualMachines(listVmCmd) - if listVmResponse is not None: - numVms = len(listVmResponse) - - @unittest.skip("skipping") - def test_timeListVm(self): - t = timeit.Timer(self.listAllVm) - l = t.repeat(50, 50) diff --git a/agent-simulator/scripts/zucchini/tests/testProvision.py b/agent-simulator/scripts/zucchini/tests/testProvision.py deleted file mode 100644 index 01c1e1d02ef..00000000000 --- a/agent-simulator/scripts/zucchini/tests/testProvision.py +++ /dev/null @@ -1,184 +0,0 @@ -#!/usr/bin/env python -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - import unittest2 as unittest -except ImportError: - import unittest -import random -from cloudstackAPI import * -from cloudstackTestCase import * - -class Provision(cloudstackTestCase): - ''' - This should test basic provisioning of virtual machines - 1. Deploy a no-frills VM - 2. Deploy with tags - hosttags - 3. Deploy with/without security groups - ''' - - solist = {} - sgid = [] - - def setUp(self): - pass - - - def tearDown(self): - pass - - - def test_0_createServiceOfferings(self): - for tag in ['TAG1', 'TAG2', 'TAG3']: - csocmd = createServiceOffering.createServiceOfferingCmd() - csocmd.cpunumber = 1 - csocmd.cpuspeed = 2048 - csocmd.displaytext = tag - csocmd.memory = 7168 - csocmd.name = tag - csocmd.hosttags = tag - csocmd.storagetype = 'local' - csoresponse = self.testClient.getApiClient().createServiceOffering(csocmd) - self.debug(csoresponse) - self.solist[tag]=csoresponse.id - - - def test_1_createSecurityGroupAndRules(self): - apiClient = self.testClient.getApiClient() - sgCmd=createSecurityGroup.createSecurityGroupCmd() - sgCmd.description='default-ps' - sgCmd.name='default-ps' - sgCmd.account='admin' - sgCmd.domainid='1' - sgRes = apiClient.createSecurityGroup(sgCmd) - self.sgid.append(sgRes.id) - - ruleCmd=authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd() - ruleCmd.cidrlist = '172.1.0.0/12' - ruleCmd.startport = '1' - ruleCmd.endport = '65535' - ruleCmd.protocol = 'TCP' - ruleCmd.securitygroupid = sgRes.id - ruleCmd.account='admin' - ruleCmd.domainid='1' - sgIngressresponse=apiClient.authorizeSecurityGroupIngress(ruleCmd) - - ruleCmd=authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd() - ruleCmd.cidrlist = '172.1.0.0/12' - ruleCmd.startport = '22' - ruleCmd.endport = '22' - ruleCmd.protocol = 'TCP' - ruleCmd.securitygroupid = sgRes.id - ruleCmd.account='admin' - ruleCmd.domainid='1' - sgIngressresponse=apiClient.authorizeSecurityGroupIngress(ruleCmd) - - ruleCmd=authorizeSecurityGroupIngress.authorizeSecurityGroupIngressCmd() - ruleCmd.cidrlist = '10.0.0.0/8' - ruleCmd.startport = '80' - ruleCmd.endport = '80' - ruleCmd.protocol = 'TCP' - ruleCmd.securitygroupid = sgRes.id - ruleCmd.account='admin' - ruleCmd.domainid='1' - sgIngressresponse=apiClient.authorizeSecurityGroupIngress(ruleCmd) - self.debug("Security group created with id: %d"%sgRes.id) - - - - @unittest.skip("needs fixing") - def test_2_DeployVMWithHostTags(self): - ''' - Deploy 3 virtual machines one with each hosttag - ''' - for k,v in self.solist: - deployVmCmd = deployVirtualMachine.deployVirtualMachineCmd() - deployVmCmd.zoneid = 1 - deployVmCmd.hypervisor='Simulator' - deployVmCmd.serviceofferingid=v - deployVmCmd.account='admin' - deployVmCmd.domainid=1 - deployVmCmd.templateid=10 - deployVmResponse = self.testClient.getApiClient().deployVirtualMachine(deployVmCmd) - self.debug("Deployed VM :%d in job: %d"%(deployVmResponse[0].id, deployVmResponse[0].jobid)) - - - def deployCmd(self, tag, sgid): - deployVmCmd = deployVirtualMachine.deployVirtualMachineCmd() - deployVmCmd.zoneid = 1 - deployVmCmd.hypervisor='Simulator' - deployVmCmd.serviceofferingid=self.solist[tag] - deployVmCmd.account='admin' - deployVmCmd.domainid=1 - deployVmCmd.templateid=10 - deployVmCmd.securitygroupids=sgid - return deployVmCmd - - - def listVmsInAccountCmd(self, acct='admin'): - api = self.testClient.getApiClient() - listVmCmd = listVirtualMachines.listVirtualMachinesCmd() - listVmCmd.account = acct - listVmCmd.zoneid = 1 - listVmCmd.domainid = 1 - listVmResponse = api.listVirtualMachines(listVmCmd) - return listVmResponse - - - def destroyCmd(self, vmid): - destroyVmCmd = destroyVirtualMachine.destroyVirtualMachineCmd() - destroyVmCmd.zoneid=1 - destroyVmCmd.id=vmid - self.testClient.getApiClient().destroyVirtualMachine(destroyVmCmd) - - - def deployN(self,nargs=300,batchsize=0): - ''' - Deploy Nargs number of VMs concurrently in batches of size {batchsize}. - When batchsize is 0 all Vms are deployed in one batch - VMs will be deployed in 5:2:6 ratio - ''' - tag1=nargs*5/13 - tag2=nargs*2/13 - tag3=nargs-tag1-tag2 - - cmds = [] - [cmds.append(self.deployCmd('TAG1', self.sgid[0])) for i in range(tag1)] - [cmds.append(self.deployCmd('TAG2', self.sgid[0])) for i in range(tag2)] - [cmds.append(self.deployCmd('TAG3', self.sgid[0])) for i in range(tag3)] - random.shuffle(cmds) #with mix-and-match of Tags - - if batchsize == 0: - self.testClient.submitCmdsAndWait(cmds) - else: - while len(cmds) > 0: - try: - newbatch = [cmds.pop() for b in range(batchsize)] #pop batchsize items - self.testClient.submitCmdsAndWait(newbatch) - except IndexError: - break - - - def test_3_bulkDeploy(self): - self.deployN(nargs=500,batchsize=100) - - - def test_4_bulkDestroy(self): - api = self.testClient.getApiClient() - for vm in self.listVmsInAccountCmd('admin'): - if vm is not None: - self.destroyCmd(vm.id) - diff --git a/agent-simulator/scripts/zucchini/zucchini.configuration.sql b/agent-simulator/scripts/zucchini/zucchini.configuration.sql deleted file mode 100644 index 34e135d4354..00000000000 --- a/agent-simulator/scripts/zucchini/zucchini.configuration.sql +++ /dev/null @@ -1,46 +0,0 @@ --- Licensed to the Apache Software Foundation (ASF) under one --- or more contributor license agreements. See the NOTICE file --- distributed with this work for additional information --- regarding copyright ownership. The ASF licenses this file --- to you under the Apache License, Version 2.0 (the --- "License"); you may not use this file except in compliance --- with the License. You may obtain a copy of the License at --- --- http://www.apache.org/licenses/LICENSE-2.0 --- --- Unless required by applicable law or agreed to in writing, --- software distributed under the License is distributed on an --- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --- KIND, either express or implied. See the License for the --- specific language governing permissions and limitations --- under the License. - -update configuration set value='pod' where name='network.dns.basiczone.updates'; - -update configuration set value='false' where name='use.user.concentrated.pod.allocation'; -update configuration set value='firstfit' where name='vm.allocation.algorithm'; - -update configuration set value='60' where name='expunge.delay'; -update configuration set value='60' where name='expunge.interval'; -update configuration set value='3' where name='expunge.workers'; -update configuration set value='10' where name='workers'; - -update configuration set value='0' where name='capacity.check.period'; -update configuration set value='-1' where name='host.stats.interval'; -update configuration set value='-1' where name='vm.stats.interval'; -update configuration set value='-1' where name='storage.stats.interval'; -update configuration set value='-1' where name='router.stats.interval'; -update configuration set value='5' where name like 'vm.op.wait.interval'; - -update configuration set value='10.10.10.10' where name='xen.public.network.device'; -update configuration set value='zcloud.simulator' where name='guest.domain.suffix'; -update configuration set value='ZIM' where name='instance.name'; - -update configuration set value='1000' where name='direct.agent.load.size'; -update configuration set value='10000' where name='default.page.size'; -update configuration set value='4' where name='linkLocalIp.nums'; -update configuration set value='true' where name like '%local.storage%'; -update configuration set value='false' where name like '%check.pod.cidr%'; - -update configuration set value='100' where name like '%network.security%pool%'; -update configuration set value='120' where name like 'network.securitygroups.work.cleanup.interval'; diff --git a/api/src/com/cloud/api/ApiConstants.java b/api/src/com/cloud/api/ApiConstants.java index 732fe813935..923385dd78a 100755 --- a/api/src/com/cloud/api/ApiConstants.java +++ b/api/src/com/cloud/api/ApiConstants.java @@ -183,6 +183,7 @@ public class ApiConstants { public static final String TARGET_IQN = "targetiqn"; public static final String TEMPLATE_FILTER = "templatefilter"; public static final String TEMPLATE_ID = "templateid"; + public static final String ISO_ID = "isoid"; public static final String TIMEOUT = "timeout"; public static final String TIMEZONE = "timezone"; public static final String TYPE = "type"; @@ -378,6 +379,7 @@ public class ApiConstants { public static final String NICIRA_NVP_TRANSPORT_ZONE_UUID = "transportzoneuuid"; public static final String NICIRA_NVP_DEVICE_NAME = "niciradevicename"; + public enum HostDetails { all, capacity, events, stats, min; } diff --git a/api/src/com/cloud/api/commands/CreateVPCCmd.java b/api/src/com/cloud/api/commands/CreateVPCCmd.java index 22073ec2011..8a67f9ff8a1 100644 --- a/api/src/com/cloud/api/commands/CreateVPCCmd.java +++ b/api/src/com/cloud/api/commands/CreateVPCCmd.java @@ -17,10 +17,12 @@ package com.cloud.api.commands; import org.apache.log4j.Logger; + import com.cloud.api.ApiConstants; import com.cloud.api.BaseAsyncCreateCmd; import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.VpcResponse; @@ -31,6 +33,8 @@ import com.cloud.exception.ResourceAllocationException; import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.vpc.Vpc; import com.cloud.user.UserContext; + +@Implementation(description="Creates a VPC", responseObject=VpcResponse.class) public class CreateVPCCmd extends BaseAsyncCreateCmd{ public static final Logger s_logger = Logger.getLogger(CreateVPCCmd.class.getName()); private static final String s_name = "createvpcresponse"; diff --git a/api/src/com/cloud/api/commands/DeleteVPCCmd.java b/api/src/com/cloud/api/commands/DeleteVPCCmd.java index 9a4a177d5fa..21b84020b99 100644 --- a/api/src/com/cloud/api/commands/DeleteVPCCmd.java +++ b/api/src/com/cloud/api/commands/DeleteVPCCmd.java @@ -22,6 +22,7 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseAsyncCmd; import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; @@ -31,6 +32,8 @@ import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.vpc.Vpc; import com.cloud.user.Account; + +@Implementation(description="Deletes a VPC", responseObject=SuccessResponse.class) public class DeleteVPCCmd extends BaseAsyncCmd{ public static final Logger s_logger = Logger.getLogger(DeleteVPCCmd.class.getName()); private static final String s_name = "deletevpcresponse"; diff --git a/api/src/com/cloud/api/commands/ListVMsCmd.java b/api/src/com/cloud/api/commands/ListVMsCmd.java index acc459bed86..f8b694a2a1e 100755 --- a/api/src/com/cloud/api/commands/ListVMsCmd.java +++ b/api/src/com/cloud/api/commands/ListVMsCmd.java @@ -87,7 +87,14 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd { @Parameter(name=ApiConstants.DETAILS, type=CommandType.LIST, collectionType=CommandType.STRING, description="comma separated list of host details requested, " + "value can be a list of [all, group, nics, stats, secgrp, tmpl, servoff, iso, volume, min]. If no parameter is passed in, the details will be defaulted to all" ) private List viewDetails; - + + @IdentityMapper(entityTableName="vm_template") + @Parameter(name=ApiConstants.TEMPLATE_ID, type=CommandType.LONG, description="list vms by template") + private Long templateId; + + @IdentityMapper(entityTableName="vm_template") + @Parameter(name=ApiConstants.ISO_ID, type=CommandType.LONG, description="list vms by iso") + private Long isoId; ///////////////////////////////////////////////////// /////////////////// Accessors /////////////////////// @@ -140,7 +147,15 @@ public class ListVMsCmd extends BaseListTaggedResourcesCmd { public Long getStorageId() { return storageId; } + + public Long getTemplateId() { + return templateId; + } + public Long getIsoId() { + return isoId; + } + public EnumSet getDetails() throws InvalidParameterValueException { EnumSet dv; if (viewDetails==null || viewDetails.size() <=0){ diff --git a/api/src/com/cloud/api/commands/RestartVPCCmd.java b/api/src/com/cloud/api/commands/RestartVPCCmd.java index 5a5e5dc65f9..bbb5cddbd63 100644 --- a/api/src/com/cloud/api/commands/RestartVPCCmd.java +++ b/api/src/com/cloud/api/commands/RestartVPCCmd.java @@ -22,9 +22,11 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseAsyncCmd; import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.SuccessResponse; +import com.cloud.api.response.VpcResponse; import com.cloud.event.EventTypes; import com.cloud.exception.ConcurrentOperationException; import com.cloud.exception.InsufficientCapacityException; @@ -32,6 +34,7 @@ import com.cloud.exception.ResourceUnavailableException; import com.cloud.network.vpc.Vpc; import com.cloud.user.Account; +@Implementation(description="Restarts a VPC", responseObject=VpcResponse.class) public class RestartVPCCmd extends BaseAsyncCmd{ public static final Logger s_logger = Logger.getLogger(RestartVPCCmd.class.getName()); private static final String _name = "restartvpcresponse"; diff --git a/api/src/com/cloud/api/commands/UpdateVPCCmd.java b/api/src/com/cloud/api/commands/UpdateVPCCmd.java index 3f2b932cb49..0331be66bc4 100644 --- a/api/src/com/cloud/api/commands/UpdateVPCCmd.java +++ b/api/src/com/cloud/api/commands/UpdateVPCCmd.java @@ -22,6 +22,7 @@ import com.cloud.api.ApiConstants; import com.cloud.api.BaseAsyncCmd; import com.cloud.api.BaseCmd; import com.cloud.api.IdentityMapper; +import com.cloud.api.Implementation; import com.cloud.api.Parameter; import com.cloud.api.ServerApiException; import com.cloud.api.response.VpcResponse; @@ -29,6 +30,7 @@ import com.cloud.event.EventTypes; import com.cloud.network.vpc.Vpc; import com.cloud.user.Account; +@Implementation(description="Updates a VPC", responseObject=VpcResponse.class) public class UpdateVPCCmd extends BaseAsyncCmd{ public static final Logger s_logger = Logger.getLogger(UpdateVPCCmd.class.getName()); private static final String _name = "updatevpcresponse"; diff --git a/build/build-cloud.xml b/build/build-cloud.xml index b8ad09edc30..b4d120ff2d8 100755 --- a/build/build-cloud.xml +++ b/build/build-cloud.xml @@ -131,6 +131,7 @@ + diff --git a/console-proxy/.project b/console-proxy/.project index 414fed84978..d3efcb5b448 100644 --- a/console-proxy/.project +++ b/console-proxy/.project @@ -1,4 +1,22 @@ + console-proxy diff --git a/console-proxy/conf.dom0/consoleproxy.properties.in b/console-proxy/conf.dom0/consoleproxy.properties.in index 743db37ce54..858ef444cd3 100644 --- a/console-proxy/conf.dom0/consoleproxy.properties.in +++ b/console-proxy/conf.dom0/consoleproxy.properties.in @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + consoleproxy.tcpListenPort=0 consoleproxy.httpListenPort=80 consoleproxy.httpCmdListenPort=8001 diff --git a/console-proxy/conf.dom0/log4j-cloud.xml.in b/console-proxy/conf.dom0/log4j-cloud.xml.in index bff32e3688c..dde844fabe4 100644 --- a/console-proxy/conf.dom0/log4j-cloud.xml.in +++ b/console-proxy/conf.dom0/log4j-cloud.xml.in @@ -1,4 +1,22 @@ + diff --git a/console-proxy/conf/agent.properties b/console-proxy/conf/agent.properties index 137688c063c..11853ba6ca9 100644 --- a/console-proxy/conf/agent.properties +++ b/console-proxy/conf/agent.properties @@ -1,2 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + instance=ConsoleProxy resource=com.cloud.agent.resource.consoleproxy.ConsoleProxyResource diff --git a/console-proxy/conf/consoleproxy.properties b/console-proxy/conf/consoleproxy.properties index 3467704d1b0..3e5f69ab241 100644 --- a/console-proxy/conf/consoleproxy.properties +++ b/console-proxy/conf/consoleproxy.properties @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + consoleproxy.tcpListenPort=0 consoleproxy.httpListenPort=8088 consoleproxy.httpCmdListenPort=8001 diff --git a/console-proxy/conf/log4j-cloud.xml b/console-proxy/conf/log4j-cloud.xml index 7e455c12966..5b31c9db967 100644 --- a/console-proxy/conf/log4j-cloud.xml +++ b/console-proxy/conf/log4j-cloud.xml @@ -1,4 +1,22 @@ + diff --git a/console-proxy/scripts/run.bat b/console-proxy/scripts/run.bat index e5fab0dbf41..39655f9f09f 100644 --- a/console-proxy/scripts/run.bat +++ b/console-proxy/scripts/run.bat @@ -1 +1,18 @@ +rem Licensed to the Apache Software Foundation (ASF) under one +rem or more contributor license agreements. See the NOTICE file +rem distributed with this work for additional information +rem regarding copyright ownership. The ASF licenses this file +rem to you under the Apache License, Version 2.0 (the +rem "License"); you may not use this file except in compliance +rem with the License. You may obtain a copy of the License at +rem +rem http://www.apache.org/licenses/LICENSE-2.0 +rem +rem Unless required by applicable law or agreed to in writing, +rem software distributed under the License is distributed on an +rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +rem KIND, either express or implied. See the License for the +rem specific language governing permissions and limitations +rem under the License. + java -mx700m -cp cloud-console-proxy.jar;;cloud-console-common.jar;log4j-1.2.15.jar;apache-log4j-extras-1.0.jar;gson-1.3.jar;commons-logging-1.1.1.jar;.;.\conf; com.cloud.consoleproxy.ConsoleProxy %* diff --git a/console-proxy/ui/viewer-update.ftl b/console-proxy/ui/viewer-update.ftl index 2217a136bcf..ab3d4d19a56 100644 --- a/console-proxy/ui/viewer-update.ftl +++ b/console-proxy/ui/viewer-update.ftl @@ -1,6 +1,24 @@ +<#-- +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. +--> tileMap = [ ${tileSequence} ]; <#if resized == true> ajaxViewer.resize('main_panel', ${width}, ${height}, ${tileWidth}, ${tileHeight}); ajaxViewer.refresh('${imgUrl}', tileMap, false); - \ No newline at end of file + diff --git a/core/.classpath b/core/.classpath index 7411e482344..281ee60d897 100644 --- a/core/.classpath +++ b/core/.classpath @@ -1,4 +1,22 @@ + diff --git a/core/.project b/core/.project index 9884df8b9ca..a6fbce3d362 100644 --- a/core/.project +++ b/core/.project @@ -1,4 +1,22 @@ + core diff --git a/debian/cloud-agent-deps.install b/debian/cloud-agent-deps.install index 13c444ec96d..d980d23efce 100644 --- a/debian/cloud-agent-deps.install +++ b/debian/cloud-agent-deps.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-google-gson-1.7.1.jar /usr/share/java/libvirt-0.4.8.jar /usr/share/java/cloud-log4j-extras.jar diff --git a/debian/cloud-agent-libs.install b/debian/cloud-agent-libs.install index 157b0a66812..ba25935588c 100644 --- a/debian/cloud-agent-libs.install +++ b/debian/cloud-agent-libs.install @@ -1,2 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-agent.jar /usr/share/java/cloud-plugin-hypervisor-kvm.jar diff --git a/debian/cloud-agent-scripts.config b/debian/cloud-agent-scripts.config index e69de29bb2d..00ae6c00d2e 100644 --- a/debian/cloud-agent-scripts.config +++ b/debian/cloud-agent-scripts.config @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + diff --git a/debian/cloud-agent-scripts.install b/debian/cloud-agent-scripts.install index 69f36ae50f1..675383d0cbf 100644 --- a/debian/cloud-agent-scripts.install +++ b/debian/cloud-agent-scripts.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/lib/cloud/agent/scripts/installer/* /usr/lib/cloud/agent/scripts/network/* /usr/lib/cloud/agent/scripts/storage/* diff --git a/debian/cloud-agent-scripts.postinst b/debian/cloud-agent-scripts.postinst index c4255780d4f..bf7f2c3057a 100644 --- a/debian/cloud-agent-scripts.postinst +++ b/debian/cloud-agent-scripts.postinst @@ -1,4 +1,20 @@ #!/bin/sh -e +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. case "$1" in configure) diff --git a/debian/cloud-agent.config b/debian/cloud-agent.config index e69de29bb2d..00ae6c00d2e 100644 --- a/debian/cloud-agent.config +++ b/debian/cloud-agent.config @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + diff --git a/debian/cloud-agent.install b/debian/cloud-agent.install index aecba304d8b..1afb7fa9f94 100644 --- a/debian/cloud-agent.install +++ b/debian/cloud-agent.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /etc/cloud/agent/agent.properties /etc/cloud/agent/developer.properties.template /etc/cloud/agent/environment.properties diff --git a/debian/cloud-agent.postinst b/debian/cloud-agent.postinst index 934ee02efed..f022f6d16bc 100644 --- a/debian/cloud-agent.postinst +++ b/debian/cloud-agent.postinst @@ -1,4 +1,20 @@ #!/bin/sh -e +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. case "$1" in configure) @@ -15,4 +31,4 @@ case "$1" in ;; esac -#DEBHELPER# \ No newline at end of file +#DEBHELPER# diff --git a/debian/cloud-cli.config b/debian/cloud-cli.config index e69de29bb2d..00ae6c00d2e 100644 --- a/debian/cloud-cli.config +++ b/debian/cloud-cli.config @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + diff --git a/debian/cloud-cli.install b/debian/cloud-cli.install index 15ed1271502..ce178461150 100644 --- a/debian/cloud-cli.install +++ b/debian/cloud-cli.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /etc/cloud/cli/commands.xml /usr/bin/cloud-grab-dependent-library-versions /usr/bin/cloud-tool diff --git a/debian/cloud-client-ui.install b/debian/cloud-client-ui.install index 0b03235469b..ba1408afcc5 100644 --- a/debian/cloud-client-ui.install +++ b/debian/cloud-client-ui.install @@ -1,2 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/cloud/management/webapps/client/* diff --git a/debian/cloud-client.config b/debian/cloud-client.config index e69de29bb2d..00ae6c00d2e 100644 --- a/debian/cloud-client.config +++ b/debian/cloud-client.config @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + diff --git a/debian/cloud-client.install b/debian/cloud-client.install index aa10d08d127..0d4f809ee0c 100644 --- a/debian/cloud-client.install +++ b/debian/cloud-client.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /etc/cloud/management/catalina.policy /etc/cloud/management/catalina.properties /etc/cloud/management/commands.properties diff --git a/debian/cloud-client.postinst b/debian/cloud-client.postinst index af731f19be7..87c7610320c 100644 --- a/debian/cloud-client.postinst +++ b/debian/cloud-client.postinst @@ -1,4 +1,20 @@ #!/bin/sh -e +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. case "$1" in configure) diff --git a/debian/cloud-core.install b/debian/cloud-core.install index 9993ce94574..00a43d48259 100644 --- a/debian/cloud-core.install +++ b/debian/cloud-core.install @@ -1,2 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-core.jar diff --git a/debian/cloud-deps.install b/debian/cloud-deps.install index f0f7235baeb..53e4f4a2583 100644 --- a/debian/cloud-deps.install +++ b/debian/cloud-deps.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-commons-codec-1.5.jar /usr/share/java/cloud-commons-dbcp-1.4.jar /usr/share/java/cloud-commons-pool-1.5.6.jar diff --git a/debian/cloud-management.config b/debian/cloud-management.config index e69de29bb2d..00ae6c00d2e 100644 --- a/debian/cloud-management.config +++ b/debian/cloud-management.config @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + diff --git a/debian/cloud-python.install b/debian/cloud-python.install index b4b60b822ac..b8eac722a6d 100644 --- a/debian/cloud-python.install +++ b/debian/cloud-python.install @@ -1 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/lib/python*/dist-packages/cloud* diff --git a/debian/cloud-server.install b/debian/cloud-server.install index a88fbf01f83..711d928dbfd 100644 --- a/debian/cloud-server.install +++ b/debian/cloud-server.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-server.jar /usr/share/java/cloud-ovm.jar /etc/cloud/server/* diff --git a/debian/cloud-setup.install b/debian/cloud-setup.install index 0d092f54aac..5c37c64920d 100644 --- a/debian/cloud-setup.install +++ b/debian/cloud-setup.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/bin/cloud-setup-databases /usr/bin/cloud-migrate-databases /usr/bin/cloud-set-guest-password diff --git a/debian/cloud-system-iso.install b/debian/cloud-system-iso.install index 8f9192c8ede..6caac6ae761 100644 --- a/debian/cloud-system-iso.install +++ b/debian/cloud-system-iso.install @@ -1 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/lib/cloud/agent/vms/systemvm.iso diff --git a/debian/cloud-usage.install b/debian/cloud-usage.install index ce4cb4dc5fe..22f58344102 100644 --- a/debian/cloud-usage.install +++ b/debian/cloud-usage.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-usage.jar /etc/init.d/cloud-usage /var/log/cloud/usage diff --git a/debian/cloud-usage.postinst b/debian/cloud-usage.postinst index 809d624a4af..56f895df6e0 100644 --- a/debian/cloud-usage.postinst +++ b/debian/cloud-usage.postinst @@ -1,4 +1,20 @@ #!/bin/sh -e +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. case "$1" in configure) @@ -28,4 +44,4 @@ case "$1" in ;; esac -#DEBHELPER# \ No newline at end of file +#DEBHELPER# diff --git a/debian/cloud-utils.install b/debian/cloud-utils.install index b552626efcd..b26a02c5095 100644 --- a/debian/cloud-utils.install +++ b/debian/cloud-utils.install @@ -1,3 +1,20 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + /usr/share/java/cloud-utils.jar /usr/share/java/cloud-api.jar /usr/share/doc/cloud/sccs-info diff --git a/deps/.classpath b/deps/.classpath index 0ae345797a1..1376b4fb907 100755 --- a/deps/.classpath +++ b/deps/.classpath @@ -1,4 +1,22 @@ + diff --git a/deps/.project b/deps/.project index 901f15e089b..3420597719a 100644 --- a/deps/.project +++ b/deps/.project @@ -1,4 +1,22 @@ + deps diff --git a/docs/en-US/Author_Group.xml b/docs/en-US/Author_Group.xml index faccf5e2c1a..ccb615ba0ab 100644 --- a/docs/en-US/Author_Group.xml +++ b/docs/en-US/Author_Group.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + Jessica diff --git a/docs/en-US/Book_Info.xml b/docs/en-US/Book_Info.xml index 155a20bf2fd..6ff42f28bd1 100644 --- a/docs/en-US/Book_Info.xml +++ b/docs/en-US/Book_Info.xml @@ -1,18 +1,37 @@ - %BOOK_ENTITIES; ]> + + + - CloudPlatform (powered by Apache CloudStack) version 3.0.4 Release Notes + &PRODUCT; version 3.0.4 Release Notes Revised June 14, 2012 5:48 pm Pacific - Citrix CloudPlatform 3.0.4 Powered by Apache CloudStack + Citrix &PRODUCT; 3.0.4 Powered by Apache CloudStack 1 - Release notes for patch release of CloudPlatform to support the XenServer patch XS602E003. + Release notes for patch release of &PRODUCT; to support the XenServer patch XS602E003. @@ -24,4 +43,4 @@ - \ No newline at end of file + diff --git a/docs/en-US/about-pods.xml b/docs/en-US/about-pods.xml index 45c4da7e781..2183ed6a505 100644 --- a/docs/en-US/about-pods.xml +++ b/docs/en-US/about-pods.xml @@ -1,9 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
About Pods TODO -
\ No newline at end of file + diff --git a/docs/en-US/about-virtual-networks.xml b/docs/en-US/about-virtual-networks.xml index 0273bf43844..2fc6ba9ddd5 100644 --- a/docs/en-US/about-virtual-networks.xml +++ b/docs/en-US/about-virtual-networks.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
About Virtual Networks - A virtual network is a logical construct that enables multi-tenancy on a single physical network. In CloudPlatform, a virtual network can be shared or isolated. + A virtual network is a logical construct that enables multi-tenancy on a single physical network. In &PRODUCT;, a virtual network can be shared or isolated. XenServer and Maintenance Mode Working with Usage XenServer and Maintenance Mode diff --git a/docs/en-US/about-working-with-vms.xml b/docs/en-US/about-working-with-vms.xml index 11d97c0a1b1..f7f3087de67 100644 --- a/docs/en-US/about-working-with-vms.xml +++ b/docs/en-US/about-working-with-vms.xml @@ -1,15 +1,33 @@ + +
About Working with Virtual Machines - CloudPlatform provides administrators with complete control over the lifecycle of all guest VMs executing in the cloud. CloudPlatform provides several guest management operations for end users and administrators. VMs may be stopped, started, rebooted, and destroyed. - Guest VMs have a name and group. VM names and groups are opaque to CloudPlatform and are available for end users to organize their VMs. Each VM can have three names for use in different contexts. Only two of these names can be controlled by the user: + &PRODUCT; provides administrators with complete control over the lifecycle of all guest VMs executing in the cloud. &PRODUCT; provides several guest management operations for end users and administrators. VMs may be stopped, started, rebooted, and destroyed. + Guest VMs have a name and group. VM names and groups are opaque to &PRODUCT; and are available for end users to organize their VMs. Each VM can have three names for use in different contexts. Only two of these names can be controlled by the user: - Instance name – a unique, immutable ID that is generated by CloudPlatform and can not be modified by the user. This name conforms to the requirements in IETF RFC 1123. - Display name – the name displayed in the CloudPlatform web UI. Can be set by the user. Defaults to instance name. - Name – host name that the DHCP server assigns to the VM. Can be set by the user. Defaults to instance name + Instance name – a unique, immutable ID that is generated by &PRODUCT; and can not be modified by the user. This name conforms to the requirements in IETF RFC 1123. + Display name – the name displayed in the &PRODUCT; web UI. Can be set by the user. Defaults to instance name. + Name – host name that the DHCP server assigns to the VM. Can be set by the user. Defaults to instance name Guest VMs can be configured to be Highly Available (HA). An HA-enabled VM is monitored by the system. If the system detects that the VM is down, it will attempt to restart the VM, possibly on a different host. For more information, see HA-Enabled Virtual Machines on - Each new VM is allocated one public IP address. When the VM is started, CloudPlatform automatically creates a static NAT between this public IP address and the private IP address of the VM. + Each new VM is allocated one public IP address. When the VM is started, &PRODUCT; automatically creates a static NAT between this public IP address and the private IP address of the VM. If elastic IP is in use (with the NetScaler load balancer), the IP address initially allocated to the new VM is not marked as elastic. The user must replace the automatically configured IP with a specifically acquired elastic IP, and set up the static NAT mapping between this new IP and the guest VM’s private IP. The VM’s original IP address is then released and returned to the pool of available public IPs. - CloudPlatform cannot distinguish a guest VM that was shut down by the user (such as with the “shutdown” command in Linux) from a VM that shut down unexpectedly. If an HA-enabled VM is shut down from inside the VM, CloudPlatform will restart it. To shut down an HA-enabled VM, you must go through the CloudPlatform UI or API. + &PRODUCT; cannot distinguish a guest VM that was shut down by the user (such as with the “shutdown” command in Linux) from a VM that shut down unexpectedly. If an HA-enabled VM is shut down from inside the VM, &PRODUCT; will restart it. To shut down an HA-enabled VM, you must go through the &PRODUCT; UI or API.
diff --git a/docs/en-US/accept-membership-invite.xml b/docs/en-US/accept-membership-invite.xml index cb53f7eeb4f..dc59d00af65 100644 --- a/docs/en-US/accept-membership-invite.xml +++ b/docs/en-US/accept-membership-invite.xml @@ -1,16 +1,35 @@ - %BOOK_ENTITIES; ]> + + +
Accepting a Membership Invitation - If you have received an invitation to join a CloudPlatform project, and you want to accept the invitation, follow these steps: + If you have received an invitation to join a &PRODUCT; project, and you want to accept the invitation, follow these steps: - Log in to the CloudPlatform UI. + Log in to the &PRODUCT; UI. In the left navigation, click Projects. In Select View, choose Invitations. - If you see the invitation listed onscreen, click the Accept button. Invitations listed on screen were sent to you using your CloudPlatform account name. + If you see the invitation listed onscreen, click the Accept button. Invitations listed on screen were sent to you using your &PRODUCT; account name. If you received an email invitation, click the Enter Token button, and provide the project ID and unique ID code (token) from the email.
diff --git a/docs/en-US/accessing-vms.xml b/docs/en-US/accessing-vms.xml index 47089e0a4d8..7058716ad2e 100644 --- a/docs/en-US/accessing-vms.xml +++ b/docs/en-US/accessing-vms.xml @@ -1,16 +1,34 @@ + +
Accessing VMs Any user can access their own virtual machines. The administrator can access all VMs running in the cloud. - To access a VM through the CloudPlatform UI: + To access a VM through the &PRODUCT; UI: - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. Click Instances, then click the name of a running VM. Click the View Console button . To access a VM directly over the network: The VM must have some port open to incoming traffic. For example, in a basic zone, a new VM might be assigned to a security group which allows incoming traffic. This depends on what security group you picked when creating the VM. In other cases, you can open a port by setting up a port forwarding policy. See IP Forwarding and Firewalling. - If a port is open but you can not access the VM using ssh, it’s possible that ssh is not already enabled on the VM. This will depend on whether ssh is enabled in the template you picked when creating the VM. Access the VM through the CloudPlatform UI and enable ssh on the machine using the commands for the VM’s operating system. + If a port is open but you can not access the VM using ssh, it’s possible that ssh is not already enabled on the VM. This will depend on whether ssh is enabled in the template you picked when creating the VM. Access the VM through the &PRODUCT; UI and enable ssh on the machine using the commands for the VM’s operating system. If the network has an external firewall device, you will need to create a firewall rule to allow access. See IP Forwarding and Firewalling.
diff --git a/docs/en-US/accounts-users-domains.xml b/docs/en-US/accounts-users-domains.xml index b896f3f4b3a..85491295218 100644 --- a/docs/en-US/accounts-users-domains.xml +++ b/docs/en-US/accounts-users-domains.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Accounts, Users, and Domains diff --git a/docs/en-US/accounts.xml b/docs/en-US/accounts.xml index 1061ce06813..5292a9ca2f6 100644 --- a/docs/en-US/accounts.xml +++ b/docs/en-US/accounts.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
diff --git a/docs/en-US/acquire-new-ip-address.xml b/docs/en-US/acquire-new-ip-address.xml index b8df5ed0950..5c02f8abb55 100644 --- a/docs/en-US/acquire-new-ip-address.xml +++ b/docs/en-US/acquire-new-ip-address.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
Acquiring a New IP Address - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, choose Network. Click the name of the network where you want to work with. Click View IP Addresses. diff --git a/docs/en-US/add-additional-guest-network.xml b/docs/en-US/add-additional-guest-network.xml index 76baf448108..e9ddd3327ce 100644 --- a/docs/en-US/add-additional-guest-network.xml +++ b/docs/en-US/add-additional-guest-network.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
Adding an Additional Guest Network - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, choose Network Click Add guest network. Provide the following information: @@ -17,9 +36,8 @@ VLAN ID. The VLAN tag for this network. Gateway. The gateway that the guests should use. Netmask. The netmask in use on the subnet the guests will use. - Start IP/End IP. Enter the first and last IP addresses that define a range that CloudPlatform can assign to guests. We strongly recommend the use of multiple NICs. If multiple NICs are used, they may be in a different subnet. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. + Start IP/End IP. Enter the first and last IP addresses that define a range that &PRODUCT; can assign to guests. We strongly recommend the use of multiple NICs. If multiple NICs are used, they may be in a different subnet. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. Click Create.
- diff --git a/docs/en-US/add-ingress-egress-rules.xml b/docs/en-US/add-ingress-egress-rules.xml index 805761e4d7e..4ea072b28e2 100644 --- a/docs/en-US/add-ingress-egress-rules.xml +++ b/docs/en-US/add-ingress-egress-rules.xml @@ -1,39 +1,41 @@ - %BOOK_ENTITIES; ]> + + +
Adding Ingress and Egress Rules to a Security Group - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, choose Network In Select view, choose Security Groups, then click the security group you want . To add an ingress rule, click the Ingress Rules tab and fill out the following fields to specify what network traffic is allowed into VM instances in this security group. If no ingress rules are specified, then no traffic will be allowed in, except for responses to any traffic that has been allowed out through an egress rule. - Add by CIDR/Account. Indicate whether the source of the - traffic will be defined by IP address (CIDR) or an existing security group - in a CloudPlatform account (Account). Choose Account if you want to allow - incoming traffic from all VMs in another security group - Protocol. The networking protocol that sources will use to - send traffic to the security group. TCP and UDP are typically used for data - exchange and end-user communications. ICMP is typically used to send error - messages or network monitoring data. - Start Port, End Port. (TCP, UDP only) A range of listening - ports that are the destination for the incoming traffic. If you are opening - a single port, use the same number in both fields. - ICMP Type, ICMP Code. (ICMP only) The type of message and - error code that will be accepted. - CIDR. (Add by CIDR only) To accept only traffic from IP - addresses within a particular address block, enter a CIDR or a - comma-separated list of CIDRs. The CIDR is the base IP address of the - incoming traffic. For example, 192.168.0.0/22. To allow all CIDRs, set to - 0.0.0.0/0. - Account, Security Group. (Add by Account only) To accept only - traffic from another security group, enter the CloudPlatform account and - name of a security group that has already been defined in that account. To - allow traffic between VMs within the security group you are editing now, - enter the same name you used in step 7. + Add by CIDR/Account. Indicate whether the source of the traffic will be defined by IP address (CIDR) or an existing security group in a &PRODUCT; account (Account). Choose Account if you want to allow incoming traffic from all VMs in another security group + Protocol. The networking protocol that sources will use to send traffic to the security group. TCP and UDP are typically used for data exchange and end-user communications. ICMP is typically used to send error messages or network monitoring data. + Start Port, End Port. (TCP, UDP only) A range of listening ports that are the destination for the incoming traffic. If you are opening a single port, use the same number in both fields. + ICMP Type, ICMP Code. (ICMP only) The type of message and error code that will be accepted. + CIDR. (Add by CIDR only) To accept only traffic from IP addresses within a particular address block, enter a CIDR or a comma-separated list of CIDRs. The CIDR is the base IP address of the incoming traffic. For example, 192.168.0.0/22. To allow all CIDRs, set to 0.0.0.0/0. + Account, Security Group. (Add by Account only) To accept only traffic from another security group, enter the &PRODUCT; account and name of a security group that has already been defined in that account. To allow traffic between VMs within the security group you are editing now, enter the same name you used in step 7. The following example allows inbound HTTP access from anywhere: @@ -45,28 +47,12 @@ To add an egress rule, click the Egress Rules tab and fill out the following fields to specify what type of traffic is allowed to be sent out of VM instances in this security group. If no egress rules are specified, then all traffic will be allowed out. Once egress rules are specified, the following types of traffic are allowed out: traffic specified in egress rules; queries to DNS and DHCP servers; and responses to any traffic that has been allowed in through an ingress rule - Add by CIDR/Account. Indicate whether the destination of the - traffic will be defined by IP address (CIDR) or an existing security group - in a CloudPlatform account (Account). Choose Account if you want to allow - outgoing traffic to all VMs in another security group. - Protocol. The networking protocol that VMs will use to send - outgoing traffic. TCP and UDP are typically used for data exchange and - end-user communications. ICMP is typically used to send error messages or - network monitoring data. - Start Port, End Port. (TCP, UDP only) A range of listening - ports that are the destination for the outgoing traffic. If you are opening - a single port, use the same number in both fields. - ICMP Type, ICMP Code. (ICMP only) The type of message and - error code that will be sent - CIDR. (Add by CIDR only) To send traffic only to IP addresses - within a particular address block, enter a CIDR or a comma-separated list of - CIDRs. The CIDR is the base IP address of the destination. For example, - 192.168.0.0/22. To allow all CIDRs, set to 0.0.0.0/0. - Account, Security Group. (Add by Account only) To allow - traffic to be sent to another security group, enter the CloudPlatform - account and name of a security group that has already been defined in that - account. To allow traffic between VMs within the security group you are - editing now, enter its name. + Add by CIDR/Account. Indicate whether the destination of the traffic will be defined by IP address (CIDR) or an existing security group in a &PRODUCT; account (Account). Choose Account if you want to allow outgoing traffic to all VMs in another security group. + Protocol. The networking protocol that VMs will use to send outgoing traffic. TCP and UDP are typically used for data exchange and end-user communications. ICMP is typically used to send error messages or network monitoring data. + Start Port, End Port. (TCP, UDP only) A range of listening ports that are the destination for the outgoing traffic. If you are opening a single port, use the same number in both fields. + ICMP Type, ICMP Code. (ICMP only) The type of message and error code that will be sent + CIDR. (Add by CIDR only) To send traffic only to IP addresses within a particular address block, enter a CIDR or a comma-separated list of CIDRs. The CIDR is the base IP address of the destination. For example, 192.168.0.0/22. To allow all CIDRs, set to 0.0.0.0/0. + Account, Security Group. (Add by Account only) To allow traffic to be sent to another security group, enter the &PRODUCT; account and name of a security group that has already been defined in that account. To allow traffic between VMs within the security group you are editing now, enter its name. Click Add. diff --git a/docs/en-US/add-iso.xml b/docs/en-US/add-iso.xml index 1b6cc411ffa..9376bc75192 100644 --- a/docs/en-US/add-iso.xml +++ b/docs/en-US/add-iso.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Adding an ISO To make additional operating system or other software available for use with guest VMs, you can add an ISO. The ISO is typically thought of as an operating system image, but you can also add ISOs for other types of software, such as desktop applications that you want to be installed as part of a template. - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation bar, click Templates. In Select View, choose ISOs. Click Add ISO. @@ -16,9 +35,9 @@ Name. Short name for the ISO image. (E.g. CentOS 6.2 64 bit). Description. Display test for the ISO image. (E.g. CentOS 6.2 64 bit). URL. The URL that hosts the ISO image. The Management Server must be able to access this location via HTTP. If needed you can place the ISO image directly on the Management Server - Zone. Choose the zone where you want the ISO to be available, or All Zones to make it available throughout CloudPlatform. + Zone. Choose the zone where you want the ISO to be available, or All Zones to make it available throughout &PRODUCT;. Bootable. Whether or not a guest could boot off this ISO image. For example, a CentOS ISO is bootable, a Microsoft Office ISO is not bootable. - OS Type. This helps CloudPlatform and the hypervisor perform certain operations and make assumptions that improve the performance of the guest. Select one of the following. + OS Type. This helps &PRODUCT; and the hypervisor perform certain operations and make assumptions that improve the performance of the guest. Select one of the following. If the operating system of your desired ISO image is listed, choose it. If the OS Type of the ISO is not listed or if the ISO is not bootable, choose Other. @@ -67,8 +86,6 @@ Click OK. The Management Server will download the ISO. Depending on the size of the ISO, this may take a long time. The ISO status column will display Ready once it has been successfully downloaded into secondary storage. Clicking Refresh updates the download percentage. - Important: Wait for the ISO to finish downloading. If you - move on to the next task and try to use the ISO right away, it will appear to fail. - The entire ISO must be available before CloudPlatform can work with it + Important: Wait for the ISO to finish downloading. If you move on to the next task and try to use the ISO right away, it will appear to fail. The entire ISO must be available before &PRODUCT; can work with it
diff --git a/docs/en-US/add-load-balancer-rule.xml b/docs/en-US/add-load-balancer-rule.xml index 99e61a77d73..42895571dbb 100644 --- a/docs/en-US/add-load-balancer-rule.xml +++ b/docs/en-US/add-load-balancer-rule.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
Adding a Load Balancer Rule - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, choose Network. Click the name of the network where you want to load balance the traffic. Click View IP Addresses. @@ -17,7 +36,7 @@ Name. A name for the load balancer rule. Public Port. The port receiving incoming traffic to be balanced. Private Port. The port that the VMs will use to receive the traffic. - Algorithm. Choose the load balancing algorithm you want CloudPlatform to use. CloudPlatform supports a variety of well-known algorithms. If you are not familiar with these choices, you will find plenty of information about them on the Internet. + Algorithm. Choose the load balancing algorithm you want &PRODUCT; to use. &PRODUCT; supports a variety of well-known algorithms. If you are not familiar with these choices, you will find plenty of information about them on the Internet. Stickiness. (Optional) Click Configure and choose the algorithm for the stickiness policy. See Sticky Session Policies for Load Balancer Rules. Click Add VMs, then select two or more VMs that will divide the load of incoming traffic, and click Apply. diff --git a/docs/en-US/add-members-to-projects.xml b/docs/en-US/add-members-to-projects.xml index 94888abc998..a51726e14fc 100644 --- a/docs/en-US/add-members-to-projects.xml +++ b/docs/en-US/add-members-to-projects.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Adding Members to a Project - New members can be added to a project by the project’s administrator, the domain administrator of the domain where the project resides or any parent domain, or the CloudPlatform root administrator. There are two ways to add members in CloudPlatform, but only one way is enabled at a time: + New members can be added to a project by the project’s administrator, the domain administrator of the domain where the project resides or any parent domain, or the &PRODUCT; root administrator. There are two ways to add members in &PRODUCT;, but only one way is enabled at a time: If invitations have been enabled, you can send invitations to new members. If invitations are not enabled, you can add members directly through the UI. diff --git a/docs/en-US/add-password-management-to-templates.xml b/docs/en-US/add-password-management-to-templates.xml index 69e16725e9f..05c40afcf10 100644 --- a/docs/en-US/add-password-management-to-templates.xml +++ b/docs/en-US/add-password-management-to-templates.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
Adding Password Management to Your Templates - CloudPlatform provides an optional password reset feature that allows users to set a temporary admin or root password as well as reset the existing admin or root password from the CloudPlatform UI. - To enable the Reset Password feature, you will need to download an additional script to patch your template. When you later upload the template into CloudPlatform, you can specify whether reset admin/root password feature should be enabled for this template. + &PRODUCT; provides an optional password reset feature that allows users to set a temporary admin or root password as well as reset the existing admin or root password from the &PRODUCT; UI. + To enable the Reset Password feature, you will need to download an additional script to patch your template. When you later upload the template into &PRODUCT;, you can specify whether reset admin/root password feature should be enabled for this template. The password management feature works always resets the account password on instance boot. The script does an HTTP call to the virtual router to retrieve the account password that should be set. As long as the virtual router is accessible the guest will have access to the account password that should be used. When the user requests a password reset the management server generates and sends a new password to the virtual router for the account. Thus an instance reboot is necessary to effect any password changes. If the script is unable to contact the virtual router during instance boot it will not set the password but boot will continue normally. diff --git a/docs/en-US/add-projects-members-from-ui.xml b/docs/en-US/add-projects-members-from-ui.xml index 4ad12063575..670a0ec75ab 100644 --- a/docs/en-US/add-projects-members-from-ui.xml +++ b/docs/en-US/add-projects-members-from-ui.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Adding Project Members From the UI The steps below tell how to add a new member to a project if the invitations feature is not enabled in the cloud. If the invitations feature is enabled cloud,as described in , use the procedure in . - Log in to the CloudPlatform UI. + Log in to the &PRODUCT; UI. In the left navigation, click Projects. In Select View, choose Projects. Click the name of the project you want to work with. diff --git a/docs/en-US/add-security-group.xml b/docs/en-US/add-security-group.xml index 2f00b6d47ec..c6ddbf57e82 100644 --- a/docs/en-US/add-security-group.xml +++ b/docs/en-US/add-security-group.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Adding a Security Group A user or administrator can change the network offering that is associated with an existing guest network. - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, choose Network In Select view, choose Security Groups. Click Add Security Group. diff --git a/docs/en-US/added-API-commands.xml b/docs/en-US/added-API-commands.xml index 7136ad496c8..824eb572856 100644 --- a/docs/en-US/added-API-commands.xml +++ b/docs/en-US/added-API-commands.xml @@ -1,10 +1,28 @@ + +
Added API commands Added in 3.0.3: - enableCiscoNexusVSM (Enables Nexus 1000v dvSwitch in CloudPlatform.) - disableCiscoNexusVSM (Disables Nexus 1000v dvSwitch in CloudPlatform.) - deleteCiscoNexusVSM (Deletes Nexus 1000v dvSwitch in CloudPlatform.) + enableCiscoNexusVSM (Enables Nexus 1000v dvSwitch in &PRODUCT;.) + disableCiscoNexusVSM (Disables Nexus 1000v dvSwitch in &PRODUCT;.) + deleteCiscoNexusVSM (Deletes Nexus 1000v dvSwitch in &PRODUCT;.) listCiscoNexusVSMs (Lists the control VLAN ID, packet VLAN ID, and data VLAN ID, as well as the IP address of the Nexus 1000v dvSwitch.) Added in 3.0.2: @@ -79,7 +97,7 @@ listPhysicalNetworks (Lists physical networks) updatePhysicalNetwork (Updates a physical network) - listSupportedNetworkServices (Lists all network services provided by CloudPlatform or for the given Provider.) + listSupportedNetworkServices (Lists all network services provided by &PRODUCT; or for the given Provider.) addNetworkServiceProvider (Adds a network serviceProvider to a physical network) @@ -140,4 +158,3 @@
- diff --git a/docs/en-US/added-cloudPlatform-error-codes.xml b/docs/en-US/added-cloudPlatform-error-codes.xml index 05ac8833cbb..e3f9b4248ca 100644 --- a/docs/en-US/added-cloudPlatform-error-codes.xml +++ b/docs/en-US/added-cloudPlatform-error-codes.xml @@ -1,6 +1,24 @@ + +
- Added CloudPlatform Error Codes - You can now find the CloudPlatform-specific error code in the exception response for each type of exception. The following list of error codes is added to the new class named CSExceptionErrorCode. These codes are applicable in CloudPlatform 3.0.3 and later versions. + Added &PRODUCT; Error Codes + You can now find the &PRODUCT;-specific error code in the exception response for each type of exception. The following list of error codes is added to the new class named CSExceptionErrorCode. These codes are applicable in &PRODUCT; 3.0.3 and later versions. diff --git a/docs/en-US/adding-IP-addresses-for-the-public-network.xml b/docs/en-US/adding-IP-addresses-for-the-public-network.xml index 50126518ebb..2bc7494db68 100644 --- a/docs/en-US/adding-IP-addresses-for-the-public-network.xml +++ b/docs/en-US/adding-IP-addresses-for-the-public-network.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Adding IP Addresses for the Public Network - These instructions assume you have already logged in to the CloudPlatform UI. + These instructions assume you have already logged in to the &PRODUCT; UI. In the left navigation, choose Infrastructure. In Zones, click View More, then click the desired zone . Click the Network tab. diff --git a/docs/en-US/admin-alerts.xml b/docs/en-US/admin-alerts.xml index ebb68c1e36b..4e47032c77a 100644 --- a/docs/en-US/admin-alerts.xml +++ b/docs/en-US/admin-alerts.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Administrator Alerts The system provides alerts and events to help with the management of the cloud. Alerts are notices to an administrator, generally delivered by e-mail, notifying the administrator that an error has occurred in the cloud. Alert behavior is configurable. diff --git a/docs/en-US/admin-guide.xml b/docs/en-US/admin-guide.xml index a4fbb425255..c10455d4213 100644 --- a/docs/en-US/admin-guide.xml +++ b/docs/en-US/admin-guide.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + Administrator Guide diff --git a/docs/en-US/advanced-zone-configuration.xml b/docs/en-US/advanced-zone-configuration.xml index cd8a4da0e97..6803888b881 100644 --- a/docs/en-US/advanced-zone-configuration.xml +++ b/docs/en-US/advanced-zone-configuration.xml @@ -1,9 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
Advanced Zone Configuration TODO -
\ No newline at end of file +
diff --git a/docs/en-US/advanced-zone-physical-network-configuration.xml b/docs/en-US/advanced-zone-physical-network-configuration.xml index 73fadec049c..8e1e4456843 100644 --- a/docs/en-US/advanced-zone-physical-network-configuration.xml +++ b/docs/en-US/advanced-zone-physical-network-configuration.xml @@ -1,10 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
Advanced Zone Physical Network Configuration Within a zone that uses advanced networking, you need to tell the Management Server how the physical network is set up to carry different kinds of traffic in isolation. -
diff --git a/docs/en-US/alerts.xml b/docs/en-US/alerts.xml index 81f5f7fbd8b..65f957b5ab5 100644 --- a/docs/en-US/alerts.xml +++ b/docs/en-US/alerts.xml @@ -1,3 +1,21 @@ + +
Alerts The following is the list of alert type numbers. The current alerts can be found by calling listAlerts. diff --git a/docs/en-US/allocators.xml b/docs/en-US/allocators.xml index 99c9e572dd6..d8ce2b8612b 100644 --- a/docs/en-US/allocators.xml +++ b/docs/en-US/allocators.xml @@ -1,9 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
Allocators - CloudPlatform enables administrators to write custom allocators that will choose the Host to place a new guest and the storage host from which to allocate guest virtual disk images. -
\ No newline at end of file + &PRODUCT; enables administrators to write custom allocators that will choose the Host to place a new guest and the storage host from which to allocate guest virtual disk images. +
diff --git a/docs/en-US/api-reference.xml b/docs/en-US/api-reference.xml index c4ca74b3328..74dcbb849cb 100644 --- a/docs/en-US/api-reference.xml +++ b/docs/en-US/api-reference.xml @@ -1,3 +1,21 @@ + +
API Reference Documentation 2.2 API Reference: diff --git a/docs/en-US/appendix-a-time-zones.xml b/docs/en-US/appendix-a-time-zones.xml index 8cd904efede..83648ca3c05 100644 --- a/docs/en-US/appendix-a-time-zones.xml +++ b/docs/en-US/appendix-a-time-zones.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Appendix A—Time Zones - The following time zone identifiers are accepted by CloudPlatform. There are several places that have a time zone as a required or optional parameter. These include scheduling recurring snapshots, creating a user, and specifying the usage time zone in the Configuration table. + The following time zone identifiers are accepted by &PRODUCT;. There are several places that have a time zone as a required or optional parameter. These include scheduling recurring snapshots, creating a user, and specifying the usage time zone in the Configuration table. diff --git a/docs/en-US/asynchronous-commands-example.xml b/docs/en-US/asynchronous-commands-example.xml index 3bc65b66dd8..be72997143d 100644 --- a/docs/en-US/asynchronous-commands-example.xml +++ b/docs/en-US/asynchronous-commands-example.xml @@ -1,3 +1,21 @@ + +
Example @@ -85,4 +103,4 @@ <jobresult>Unable to deploy virtual machine id = 100 due to not enough capacity</jobresult> </queryasyncjobresult> -
\ No newline at end of file +
diff --git a/docs/en-US/asynchronous-commands.xml b/docs/en-US/asynchronous-commands.xml index 8a6255b3387..b0a86b6a374 100644 --- a/docs/en-US/asynchronous-commands.xml +++ b/docs/en-US/asynchronous-commands.xml @@ -1,6 +1,24 @@ + +
Asynchronous Commands - Starting in CloudStack 2.x, the notion of asynchronous commands has been introduced. Commands are designated as asynchronous when they can potentially take a long period of time to complete such as creating a snapshot or disk volume. They differ from synchronous commands by the following: + Asynchronous commands were introduced in &PRODUCT; 2.x. Commands are designated as asynchronous when they can potentially take a long period of time to complete such as creating a snapshot or disk volume. They differ from synchronous commands by the following: They are identified in the API Reference by an (A). @@ -12,4 +30,3 @@
- diff --git a/docs/en-US/attach-iso-to-vm.xml b/docs/en-US/attach-iso-to-vm.xml index 4db9db0dd17..b5cc177b76b 100644 --- a/docs/en-US/attach-iso-to-vm.xml +++ b/docs/en-US/attach-iso-to-vm.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Attaching an ISO to a VM diff --git a/docs/en-US/attaching-volume.xml b/docs/en-US/attaching-volume.xml index e818a474188..c65337a6479 100644 --- a/docs/en-US/attaching-volume.xml +++ b/docs/en-US/attaching-volume.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Attaching a Volume You can attach a volume to a guest VM to provide extra disk storage. Attach a volume when you first create a new volume, when you are moving an existing volume from one VM to another, or after you have migrated a volume from one storage pool to another. - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation, click Storage. In Select View, choose Volumes. 4. Click the volume name in the Volumes list, then click the Attach Disk button @@ -22,4 +41,3 @@ When the volume has been attached, you should be able to see it by clicking Instances, the instance name, and View Volumes.
- diff --git a/docs/en-US/automatic-snapshot-creation-retention.xml b/docs/en-US/automatic-snapshot-creation-retention.xml index 9bf6b34d9f6..cd013143586 100644 --- a/docs/en-US/automatic-snapshot-creation-retention.xml +++ b/docs/en-US/automatic-snapshot-creation-retention.xml @@ -1,18 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Automatic Snapshot Creation and Retention - (Supported for the following hypervisors: XenServer, - VMware vSphere, and KVM) + (Supported for the following hypervisors: XenServer, VMware vSphere, and KVM) Users can set up a recurring snapshot policy to automatically create multiple snapshots of a disk at regular intervals. Snapshots can be created on an hourly, daily, weekly, or monthly interval. One snapshot policy can be set up per disk volume. For example, a user can set up a daily snapshot at 02:30. - With each snapshot schedule, users can also specify the number of scheduled snapshots to be - retained. Older snapshots that exceed the retention limit are automatically deleted. This - user-defined limit must be equal to or lower than the global limit set by the CloudPlatform - administrator. See . The limit applies only to - those snapshots that are taken as part of an automatic recurring snapshot policy. Additional - manual snapshots can be created and retained. + With each snapshot schedule, users can also specify the number of scheduled snapshots to be retained. Older snapshots that exceed the retention limit are automatically deleted. This user-defined limit must be equal to or lower than the global limit set by the &PRODUCT; administrator. See . The limit applies only to those snapshots that are taken as part of an automatic recurring snapshot policy. Additional manual snapshots can be created and retained.
diff --git a/docs/en-US/basic-zone-configuration.xml b/docs/en-US/basic-zone-configuration.xml index 5c5d176a45e..bbfd6ec4bb5 100644 --- a/docs/en-US/basic-zone-configuration.xml +++ b/docs/en-US/basic-zone-configuration.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Basic Zone Configuration @@ -47,7 +66,7 @@ Choose which traffic types will be carried by the physical network. The traffic types are management, public, guest, and storage traffic. For more information about the types, roll over the icons to display their tool tips, or see Basic Zone Network Traffic Types. This screen starts out with some traffic types already assigned. To add more, drag and drop traffic types onto the network. You can also change the network name if desired. - 3. (Introduced in version 3.0.1) Assign a network traffic label to each traffic type on the physical network. These labels must match the labels you have already defined on the hypervisor host. To assign each label, click the Edit button under the traffic type icon. A popup dialog appears where you can type the label, then click OK. + (Introduced in version 3.0.1) Assign a network traffic label to each traffic type on the physical network. These labels must match the labels you have already defined on the hypervisor host. To assign each label, click the Edit button under the traffic type icon. A popup dialog appears where you can type the label, then click OK. These traffic labels will be defined only for the hypervisor selected for the first cluster. For all other hypervisors, the labels can be configured after the zone is created. (VMware only) If you have enabled Nexus dvSwitch in the environment, you must specify the corresponding Ethernet port profile names as network traffic label for each traffic type on the physical network. For more information on Nexus dvSwitch, see Configuring a vSphere Cluster with Nexus 1000v Virtual Switch. @@ -125,4 +144,4 @@ -
\ No newline at end of file +
diff --git a/docs/en-US/basic-zone-physical-network-configuration.xml b/docs/en-US/basic-zone-physical-network-configuration.xml index dac86b3a209..a9b8f55fb80 100644 --- a/docs/en-US/basic-zone-physical-network-configuration.xml +++ b/docs/en-US/basic-zone-physical-network-configuration.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Basic Zone Physical Network Configuration In a basic network, configuring the physical network is fairly straightforward. You only need to configure one guest network to carry traffic that is generated by guest VMs. When you first add a zone to CloudPlatform, you set up the guest network through the Add Zone screens. diff --git a/docs/en-US/best-practices-for-vms.xml b/docs/en-US/best-practices-for-vms.xml index 000f6766153..59e270864e5 100644 --- a/docs/en-US/best-practices-for-vms.xml +++ b/docs/en-US/best-practices-for-vms.xml @@ -1,6 +1,23 @@ + +
VM Lifecycle The CloudPlatform administrator should monitor the total number of VM instances in each cluster, and disable allocation to the cluster if the total is approaching the maximum that the hypervisor can handle. Be sure to leave a safety margin to allow for the possibility of one or more hosts failing, which would increase the VM load on the other hosts as the VMs are automatically redeployed. Consult the documentation for your chosen hypervisor to find the maximum permitted number of VMs per host, then use CloudPlatform global configuration settings to set this as the default limit. Monitor the VM activity in each cluster at all times. Keep the total number of VMs below a safe level that allows for the occasional host failure. For example, if there are N hosts in the cluster, and you want to allow for one host in the cluster to be down at any given time, the total number of VM instances you can permit in the cluster is at most (N-1) * (per-host-limit). Once a cluster reaches this number of VMs, use the CloudPlatform UI to disable allocation of more VMs to the cluster..
- diff --git a/docs/en-US/best-practices-primary-storage.xml b/docs/en-US/best-practices-primary-storage.xml index 4b4ef9a8f82..c02501bcdb1 100644 --- a/docs/en-US/best-practices-primary-storage.xml +++ b/docs/en-US/best-practices-primary-storage.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Best Practices for Primary Storage @@ -10,4 +29,3 @@ Ensure that nothing is stored on the server. Adding the server to CloudPlatform will destroy any existing data
- diff --git a/docs/en-US/best-practices-secondary-storage.xml b/docs/en-US/best-practices-secondary-storage.xml index 27b889d539b..5c08f9dbd1d 100644 --- a/docs/en-US/best-practices-secondary-storage.xml +++ b/docs/en-US/best-practices-secondary-storage.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Best Practices for Secondary Storage @@ -11,4 +30,3 @@ Ensure that nothing is stored on the server. Adding the server to CloudPlatform will destroy any existing data.
- diff --git a/docs/en-US/best-practices-templates.xml b/docs/en-US/best-practices-templates.xml index 71bc97be8f1..411ae3a061d 100644 --- a/docs/en-US/best-practices-templates.xml +++ b/docs/en-US/best-practices-templates.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Best Practices for Templates If you plan to use large templates (100 GB or larger), be sure you have a 10-gigabit network to support the large templates. A slower network can lead to timeouts and other errors when large templates are used. diff --git a/docs/en-US/best-practices-virtual-router.xml b/docs/en-US/best-practices-virtual-router.xml index 07324e804f1..060d8680992 100644 --- a/docs/en-US/best-practices-virtual-router.xml +++ b/docs/en-US/best-practices-virtual-router.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
Best Practices for Virtual Routers - WARNING: Restarting a virtual router from a hypervisor console deletes all the iptables rules. To work around this issue, stop the virtual router and start it from the CloudPlatform UI. + WARNING: Restarting a virtual router from a hypervisor console deletes all the iptables rules. To work around this issue, stop the virtual router and start it from the &PRODUCT; UI. WARNING: Do not use the destroyRouter API when only one router is available in the network, because restartNetwork API with the cleanup=false parameter can't recreate it later. If you want to destroy and recreate the single router available in the network, use the restartNetwork API with the cleanup=true parameter. diff --git a/docs/en-US/change-console-proxy-ssl-certificate-domain.xml b/docs/en-US/change-console-proxy-ssl-certificate-domain.xml index 04c341ba38b..46ceaae1a19 100644 --- a/docs/en-US/change-console-proxy-ssl-certificate-domain.xml +++ b/docs/en-US/change-console-proxy-ssl-certificate-domain.xml @@ -1,23 +1,42 @@ - %BOOK_ENTITIES; ]> + + +
Changing the Console Proxy SSL Certificate and Domain If the administrator prefers, it is possible for the URL of the customer's console session to show a domain other than realhostip.com. The administrator can customize the displayed domain by selecting a different domain and uploading a new SSL certificate and private key. The domain must run a DNS service that is capable of resolving queries for addresses of the form aaa-bbb-ccc-ddd.your.domain to an IPv4 IP address in the form aaa.bbb.ccc.ddd, for example, 202.8.44.1. To change the console proxy domain, SSL certificate, and private key: Set up dynamic name resolution or populate all possible DNS names in your public IP range into your existing DNS server with the format aaa-bbb-ccc-ddd.company.com -> aaa.bbb.ccc.ddd. - Generate the private key and certificate signing request (CSR). When you are using openssl to generate private/public key pairs and CSRs, for the private key that you are going to paste into the CloudPlatform UI, be sure to convert it into PKCS#8 format. + Generate the private key and certificate signing request (CSR). When you are using openssl to generate private/public key pairs and CSRs, for the private key that you are going to paste into the &PRODUCT; UI, be sure to convert it into PKCS#8 format. Generate a new 2048-bit private keyopenssl genrsa -des3 -out yourprivate.key 2048 Generate a new certificate CSRopenssl req -new -key yourprivate.key -out yourcertificate.csr Head to the website of your favorite trusted Certificate Authority, purchase an SSL certificate, and submit the CSR. You should receive a valid certificate in return Convert your private key format into PKCS#8 encrypted format.openssl pkcs8 -topk8 -in yourprivate.key -out yourprivate.pkcs8.encryped.key - Convert your PKCS#8 encrypted private key into the PKCS#8 format that is compliant with CloudPlatformopenssl pkcs8 -in yourprivate.pkcs8.encrypted.key -out yourprivate.pkcs8.key + Convert your PKCS#8 encrypted private key into the PKCS#8 format that is compliant with &PRODUCT;openssl pkcs8 -in yourprivate.pkcs8.encrypted.key -out yourprivate.pkcs8.key - In the Update SSL Certificate screen of the CloudPlatform UI, paste the following + In the Update SSL Certificate screen of the &PRODUCT; UI, paste the following Certificate from step 1(c). Private key from step 1(e). diff --git a/docs/en-US/change-host-password.xml b/docs/en-US/change-host-password.xml index 42a852c241a..7221fe62417 100644 --- a/docs/en-US/change-host-password.xml +++ b/docs/en-US/change-host-password.xml @@ -1,15 +1,34 @@ - %BOOK_ENTITIES; ]> + + +
Changing Host Password The password for a XenServer Node, KVM Node, or vSphere Node may be changed in the database. Note that all Nodes in a Cluster must have the same password. To change a Node's password: Identify all hosts in the cluster. - Change the password on all hosts in the cluster. Now the password for the host and the password known to CloudPlatform will not match. Operations on the cluster will fail until the two passwords match. + Change the password on all hosts in the cluster. Now the password for the host and the password known to &PRODUCT; will not match. Operations on the cluster will fail until the two passwords match. Get the list of host IDs for the host in the cluster where you are changing the password. You will need to access the database to determine these host IDs. For each hostname "h" (or vSphere cluster) that you are changing the password for, execute: mysql> select id from cloud.host where name like '%h%'; diff --git a/docs/en-US/change-network-offering-on-guest-network.xml b/docs/en-US/change-network-offering-on-guest-network.xml index c2448b947ba..7a9482c760b 100644 --- a/docs/en-US/change-network-offering-on-guest-network.xml +++ b/docs/en-US/change-network-offering-on-guest-network.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Changing the Network Offering on a Guest Network A user or administrator can change the network offering that is associated with an existing guest network. - Log in to the CloudPlatform UI as an administrator or end user. - 2. If you are changing from a network offering that uses the CloudPlatform virtual router to one that uses external devices as network service providers, you must first stop all the VMs on the network. See Stopping and Starting VMs. Then return here and continue to the next step + Log in to the &PRODUCT; UI as an administrator or end user. + If you are changing from a network offering that uses the &PRODUCT; virtual router to one that uses external devices as network service providers, you must first stop all the VMs on the network. See Stopping and Starting VMs. Then return here and continue to the next step In the left navigation, choose Network Click the name of the network you want to modify @@ -23,4 +42,3 @@
- diff --git a/docs/en-US/change-to-behavior-of-list-commands.xml b/docs/en-US/change-to-behavior-of-list-commands.xml index 2270db2e334..aa5f96595b9 100644 --- a/docs/en-US/change-to-behavior-of-list-commands.xml +++ b/docs/en-US/change-to-behavior-of-list-commands.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Change to Behavior of List Commands There was a major change in how our List* API commands work in CloudStack 3.0 compared to 2.2.x. The rules below apply only for managed resources – those that belong to an account, domain, or project. They are irrelevant for the List* commands displaying unmanaged (system) resources, such as hosts, clusters, and external network resources. @@ -66,5 +85,5 @@ - The CloudPlatform UI on a general view will display all resources that the logged-in user is authorized to see, except for project resources. To see the project resources, select the project view. + The &PRODUCT; UI on a general view will display all resources that the logged-in user is authorized to see, except for project resources. To see the project resources, select the project view.
diff --git a/docs/en-US/changing-root-password.xml b/docs/en-US/changing-root-password.xml index a30b461f3ff..0b8ad0fc2ef 100644 --- a/docs/en-US/changing-root-password.xml +++ b/docs/en-US/changing-root-password.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Changing the Root Password During installation and ongoing cloud administration, you will need to log in to the UI as the root administrator. diff --git a/docs/en-US/changing-secondary-storage-ip.xml b/docs/en-US/changing-secondary-storage-ip.xml index 21ed9771c7f..e39a68effd0 100644 --- a/docs/en-US/changing-secondary-storage-ip.xml +++ b/docs/en-US/changing-secondary-storage-ip.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Making API Requests You can change the secondary storage IP address after it has been provisioned. After changing the IP address on the host, log in to your management server and execute the following commands. Replace HOSTID below with your own value, and change the URL to use the appropriate IP address and path for your server: @@ -23,4 +42,3 @@ Then log in to the cloud console UI and stop and start (not reboot) the Secondary Storage VM for that Zone.
- diff --git a/docs/en-US/changing-secondary-storage-servers.xml b/docs/en-US/changing-secondary-storage-servers.xml index 92590f2c124..2ab8836adda 100644 --- a/docs/en-US/changing-secondary-storage-servers.xml +++ b/docs/en-US/changing-secondary-storage-servers.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Changing Secondary Storage Servers You can change the secondary storage NFS mount. Perform the following steps to do so: diff --git a/docs/en-US/changing-secondary-storage-serversp.xml b/docs/en-US/changing-secondary-storage-serversp.xml index 889f8b84f47..2ab8836adda 100644 --- a/docs/en-US/changing-secondary-storage-serversp.xml +++ b/docs/en-US/changing-secondary-storage-serversp.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Changing Secondary Storage Servers You can change the secondary storage NFS mount. Perform the following steps to do so: @@ -11,7 +30,7 @@ Wait 30 minutes. This allows any writes to secondary storage to complete. Copy all files from the old secondary storage mount to the new. Use the procedure above to change the IP address for secondary storage if required. - 5. Start the Management Server. + Start the Management Server.
diff --git a/docs/en-US/changing-service-offering-for-vm.xml b/docs/en-US/changing-service-offering-for-vm.xml index c4748f0ee44..7448b4d47d8 100644 --- a/docs/en-US/changing-service-offering-for-vm.xml +++ b/docs/en-US/changing-service-offering-for-vm.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Changing the Service Offering for a VM To upgrade or downgrade the level of compute resources available to a virtual machine, you can change the VM's compute offering. - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation, click Instances. Choose the VM that you want to work with. Click the Stop button to stop the VM diff --git a/docs/en-US/changing-vm-name-os-group.xml b/docs/en-US/changing-vm-name-os-group.xml index 810d0e7c63a..3515082837e 100644 --- a/docs/en-US/changing-vm-name-os-group.xml +++ b/docs/en-US/changing-vm-name-os-group.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Changing the VM Name, OS, or Group After a VM is created, you can modify the display name, operating system, and the group it belongs to. - To access a VM through the CloudPlatform UI: + To access a VM through the &PRODUCT; UI: - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation, click Instances. Select the VM that you want to modify. Click the Stop button to stop the VM @@ -33,4 +52,3 @@ Click Apply.
- diff --git a/docs/en-US/cloud-infrastructure-concepts.xml b/docs/en-US/cloud-infrastructure-concepts.xml index cdf8ed0c2a9..e423d24df16 100644 --- a/docs/en-US/cloud-infrastructure-concepts.xml +++ b/docs/en-US/cloud-infrastructure-concepts.xml @@ -1,9 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
Cloud Infrastructure Concepts -
\ No newline at end of file +
diff --git a/docs/en-US/cloud-infrastructure-overview.xml b/docs/en-US/cloud-infrastructure-overview.xml index 9c10acf7867..29197157acb 100644 --- a/docs/en-US/cloud-infrastructure-overview.xml +++ b/docs/en-US/cloud-infrastructure-overview.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Cloud Infrastructure Overview @@ -25,4 +44,3 @@ More Information For more information, see .
- diff --git a/docs/en-US/cloud_infrastructure_overview.xml b/docs/en-US/cloud_infrastructure_overview.xml index 89b8f6328e8..6184240ad17 100644 --- a/docs/en-US/cloud_infrastructure_overview.xml +++ b/docs/en-US/cloud_infrastructure_overview.xml @@ -1,3 +1,21 @@ + +
Cloud Infrastructure Overview @@ -18,4 +36,3 @@ infrastructure_overview.png: Nested organization of a zone
- diff --git a/docs/en-US/cloudplatform-api.xml b/docs/en-US/cloudplatform-api.xml index ac96b0cb457..3c4a91481d0 100644 --- a/docs/en-US/cloudplatform-api.xml +++ b/docs/en-US/cloudplatform-api.xml @@ -1,12 +1,31 @@ - %BOOK_ENTITIES; ]> + + +
- CloudPlatform API - The CloudPlatform API is a low level API that has been used to implement the CloudPlatform web UIs. It is also a good basis for implementing other popular APIs such as EC2/S3 and emerging DMTF standards. - Many CloudPlatform API calls are asynchronous. These will return a Job ID immediately when called. This Job ID can be used to query the status of the job later. Also, status calls on impacted resources will provide some indication of their state. + &PRODUCT; API + The &PRODUCT; API is a low level API that has been used to implement the &PRODUCT; web UIs. It is also a good basis for implementing other popular APIs such as EC2/S3 and emerging DMTF standards. + Many &PRODUCT; API calls are asynchronous. These will return a Job ID immediately when called. This Job ID can be used to query the status of the job later. Also, status calls on impacted resources will provide some indication of their state. The API has a REST-like query basis and returns results in XML or JSON. See the Developer’s Guide and the API Reference.
diff --git a/docs/en-US/cloudstack-admin.xml b/docs/en-US/cloudstack-admin.xml index 8b1d0b24021..cfdfcf07d2b 100644 --- a/docs/en-US/cloudstack-admin.xml +++ b/docs/en-US/cloudstack-admin.xml @@ -1,12 +1,30 @@ - %BOOK_ENTITIES; ]> + + + - diff --git a/docs/en-US/cloudstack.ent b/docs/en-US/cloudstack.ent index 4607134bc79..65ecebd8c7a 100644 --- a/docs/en-US/cloudstack.ent +++ b/docs/en-US/cloudstack.ent @@ -1,4 +1,4 @@ - + diff --git a/docs/en-US/cloudstack.xml b/docs/en-US/cloudstack.xml index 143e0a64e22..c64b3c9c4cb 100644 --- a/docs/en-US/cloudstack.xml +++ b/docs/en-US/cloudstack.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + @@ -13,4 +32,4 @@ - \ No newline at end of file + diff --git a/docs/en-US/cloudstack_admin.xml b/docs/en-US/cloudstack_admin.xml index 8b1d0b24021..e6c392327bc 100644 --- a/docs/en-US/cloudstack_admin.xml +++ b/docs/en-US/cloudstack_admin.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + diff --git a/docs/en-US/cloudstack_developers.xml b/docs/en-US/cloudstack_developers.xml index 8fc5e2a69da..39817abc907 100644 --- a/docs/en-US/cloudstack_developers.xml +++ b/docs/en-US/cloudstack_developers.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + diff --git a/docs/en-US/cloudstack_features.xml b/docs/en-US/cloudstack_features.xml index 5cf619e0d47..ae837921d60 100644 --- a/docs/en-US/cloudstack_features.xml +++ b/docs/en-US/cloudstack_features.xml @@ -1,42 +1,60 @@ + +
- What Can CloudStack Do? + What Can &PRODUCT; Do? Multiple Hypervisor Support - CloudStack works with a variety of hypervisors. A single cloud deployment can contain multiple hypervisor implementations. You have the complete freedom to choose the right hypervisor for your workload. CloudStack is designed to work with open source Xen and KVM hypervisors as well as enterprise-grade hypervisors such as Citrix XenServer, VMware vSphere, and Oracle VM (OVM). You can also provision “bare metal” hosts with no hypervisor (Beta feature. Untested in CloudStack 3.0.x0.) + &PRODUCT; works with a variety of hypervisors. A single cloud deployment can contain multiple hypervisor implementations. You have the complete freedom to choose the right hypervisor for your workload. &PRODUCT; is designed to work with open source Xen and KVM hypervisors as well as enterprise-grade hypervisors such as Citrix XenServer, VMware vSphere, and Oracle VM (OVM). You can also provision “bare metal” hosts with no hypervisor (Beta feature. Untested in &PRODUCT; 3.0.x0.) Massively Scalable Infrastructure Management - CloudStack can manage tens of thousands of servers installed in multiple geographically distributed datacenters. The centralized management server scales linearly, eliminating the need for intermediate cluster-level management servers. No single component failure can cause cloud-wide outage. Periodic maintenance of the management server can be performed without affecting the functioning of virtual machines running in the cloud. + &PRODUCT; can manage tens of thousands of servers installed in multiple geographically distributed datacenters. The centralized management server scales linearly, eliminating the need for intermediate cluster-level management servers. No single component failure can cause cloud-wide outage. Periodic maintenance of the management server can be performed without affecting the functioning of virtual machines running in the cloud. Automatic Configuration Management - CloudStack automatically configures each guest virtual machine’s networking and storage settings. + &PRODUCT; automatically configures each guest virtual machine’s networking and storage settings. - CloudStack internally manages a pool of virtual appliances to support the cloud itself. These appliances offer services such as firewalling, routing, DHCP, VPN access, console proxy, storage access, and storage replication. The extensive use of virtual appliances simplifies the installation, configuration, and ongoing management of a cloud deployment. + &PRODUCT; internally manages a pool of virtual appliances to support the cloud itself. These appliances offer services such as firewalling, routing, DHCP, VPN access, console proxy, storage access, and storage replication. The extensive use of virtual appliances simplifies the installation, configuration, and ongoing management of a cloud deployment. Graphical User Interface - CloudStack offers an administrator's Web interface, used for provisioning and managing the cloud, as well as an end-user's Web interface, used for running VMs and managing VM templates. The UI can be customized to reflect the desired service provider or enterprise look and feel. + &PRODUCT; offers an administrator's Web interface, used for provisioning and managing the cloud, as well as an end-user's Web interface, used for running VMs and managing VM templates. The UI can be customized to reflect the desired service provider or enterprise look and feel. API and Extensibility - CloudStack provides an API that gives programmatic access to all the management features available in the UI. The API is maintained and documented. This API enables the creation of command line tools and new user interfaces to suit particular needs. See the Developer’s Guide and API Reference, both available at http://docs.cloud.com/CloudStack_Documentation. + &PRODUCT; provides an API that gives programmatic access to all the management features available in the UI. The API is maintained and documented. This API enables the creation of command line tools and new user interfaces to suit particular needs. See the Developer’s Guide and API Reference, both available at http://docs.cloud.com/CloudStack_Documentation. - The CloudStack platform pluggable allocation architecture allows the creation of new types of allocators for the selection of storage and Hosts. See the Allocator Implementation Guide (http://docs.cloud.com/CloudStack_Documentation/Allocator_Implementation_Guide). + The &PRODUCT; platform pluggable allocation architecture allows the creation of new types of allocators for the selection of storage and Hosts. See the Allocator Implementation Guide (http://docs.cloud.com/CloudStack_Documentation/Allocator_Implementation_Guide). High Availability - The CloudStack platform has a number of features to increase the availability of the system. The Management Server itself may be deployed in a multi-node installation where the servers are load balanced. MySQL may be configured to use replication to provide for a manual failover in the event of database loss. For the Hosts, the CloudStack platform supports NIC bonding and the use of separate networks for storage as well as iSCSI Multipath. + The &PRODUCT; platform has a number of features to increase the availability of the system. The Management Server itself may be deployed in a multi-node installation where the servers are load balanced. MySQL may be configured to use replication to provide for a manual failover in the event of database loss. For the Hosts, the &PRODUCT; platform supports NIC bonding and the use of separate networks for storage as well as iSCSI Multipath. -
\ No newline at end of file +
diff --git a/docs/en-US/cloudstack_installation.xml b/docs/en-US/cloudstack_installation.xml index c57fc478f29..7e06dfd5fcd 100644 --- a/docs/en-US/cloudstack_installation.xml +++ b/docs/en-US/cloudstack_installation.xml @@ -1,12 +1,30 @@ - %BOOK_ENTITIES; ]> + + + - diff --git a/docs/en-US/cloudstack_system_requirements.xml b/docs/en-US/cloudstack_system_requirements.xml index b8ce043dd82..cff8a67a09f 100644 --- a/docs/en-US/cloudstack_system_requirements.xml +++ b/docs/en-US/cloudstack_system_requirements.xml @@ -1,3 +1,21 @@ + +
Minimum System Requirements @@ -27,19 +45,18 @@ At least 1 NIC Statically allocated IP Address Latest hotfixes applied to hypervisor software - When you deploy CloudStack, the hypervisor host must not have any VMs already running + When you deploy &PRODUCT;, the hypervisor host must not have any VMs already running Hosts have additional requirements depending on the hypervisor. See the requirements listed at the top of the Installation section for your chosen hypervisor: - Citrix XenServer Installation for CloudStack + Citrix XenServer Installation for &PRODUCT; VMware vSphere Installation and Configuration KVM Installation and Configuration Oracle VM (OVM) Installation and Configuration - Be sure you fulfill the additional hypervisor requirements and installation steps provided in this Guide. Hypervisor hosts must be properly prepared to work with CloudStack. For example, the requirements for XenServer are listed under Citrix XenServer Installation for CloudStack. + Be sure you fulfill the additional hypervisor requirements and installation steps provided in this Guide. Hypervisor hosts must be properly prepared to work with &PRODUCT;. For example, the requirements for XenServer are listed under Citrix XenServer Installation for &PRODUCT;.
- diff --git a/docs/en-US/cloudstack_trial_installation.xml b/docs/en-US/cloudstack_trial_installation.xml index 084c867a835..e3cb0c65079 100644 --- a/docs/en-US/cloudstack_trial_installation.xml +++ b/docs/en-US/cloudstack_trial_installation.xml @@ -1,12 +1,30 @@ - %BOOK_ENTITIES; ]> + + + - diff --git a/docs/en-US/cloudstack_whatis.xml b/docs/en-US/cloudstack_whatis.xml index 00f010a0892..a158f8c9e27 100644 --- a/docs/en-US/cloudstack_whatis.xml +++ b/docs/en-US/cloudstack_whatis.xml @@ -1,25 +1,32 @@ + +
- What Is CloudStack? - - Who Should Read This - - - If you are new to CloudStack or you want to learn more about concepts before installing and running CloudStack, read this overview. - If you just want to get started, you can skip to Overview of Installation Steps. - - - - CloudStack is an open source software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. CloudStack manages the network, storage, and compute nodes that make up a cloud infrastructure. Use CloudStack to deploy, manage, and configure cloud computing environments. - Typical users are service providers and enterprises. With CloudStack, you can: + What Is &PRODUCT;? + Who Should Read This + If you are new to &PRODUCT; or you want to learn more about concepts before installing and running &PRODUCT;, read this overview. If you just want to get started, you can skip to Overview of Installation Steps. + &PRODUCT; is an open source software platform that pools computing resources to build public, private, and hybrid Infrastructure as a Service (IaaS) clouds. &PRODUCT; manages the network, storage, and compute nodes that make up a cloud infrastructure. Use &PRODUCT; to deploy, manage, and configure cloud computing environments. Typical users are service providers and enterprises. With &PRODUCT;, you can: - Set up an on-demand, elastic cloud computing service. Service providers can sell self service virtual machine instances, storage volumes, and networking configurations over the Internet. - + Set up an on-demand, elastic cloud computing service. Service providers can sell self service virtual machine instances, storage volumes, and networking configurations over the Internet. - Set up an on-premise private cloud for use by employees. Rather than managing virtual machines in the same way as physical machines, with CloudStack an enterprise can offer self-service virtual machines to users without involving IT departments. + Set up an on-premise private cloud for use by employees. Rather than managing virtual machines in the same way as physical machines, with &PRODUCT; an enterprise can offer self-service virtual machines to users without involving IT departments. -
- diff --git a/docs/en-US/cluster-add.xml b/docs/en-US/cluster-add.xml index e269ab10add..d1ba3084e5e 100644 --- a/docs/en-US/cluster-add.xml +++ b/docs/en-US/cluster-add.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Adding a Cluster TODO diff --git a/docs/en-US/compatibility-matrix.xml b/docs/en-US/compatibility-matrix.xml index e96be712742..ac8e838f2f4 100644 --- a/docs/en-US/compatibility-matrix.xml +++ b/docs/en-US/compatibility-matrix.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Compatibility Matrix diff --git a/docs/en-US/compute-disk-service-offerings.xml b/docs/en-US/compute-disk-service-offerings.xml index a5680e45ff7..2469dfe3a15 100644 --- a/docs/en-US/compute-disk-service-offerings.xml +++ b/docs/en-US/compute-disk-service-offerings.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Compute and Disk Service Offerings A service offering is a set of virtual hardware features such as CPU core count and speed, memory, and disk size. The CloudPlatform administrator can set up various offerings, and then end users choose from the available offerings when they create a new VM. A service offering includes the following elements: @@ -12,7 +31,7 @@ How the resource usage is charged How often the charges are generated - For example, one service offering might allow users to create a virtual machine instance that is equivalent to a 1 GHz Intel® Core™ 2 CPU, with 1 GB memory at $0.20/hour, with network traffic metered at $0.10/GB. Based on the user’s selected offering, CloudPlatform emits usage records that can be integrated with billing systems. CloudPlatform separates service offerings into compute offerings and disk offerings. The computing service offering specifies: + For example, one service offering might allow users to create a virtual machine instance that is equivalent to a 1 GHz Intel Core 2 CPU, with 1 GB memory at $0.20/hour, with network traffic metered at $0.10/GB. Based on the user’s selected offering, CloudPlatform emits usage records that can be integrated with billing systems. CloudPlatform separates service offerings into compute offerings and disk offerings. The computing service offering specifies: Guest CPU Guest RAM @@ -25,5 +44,3 @@ Tags on the data disk
- - diff --git a/docs/en-US/concepts.xml b/docs/en-US/concepts.xml index 3cd3b720b7a..f49fc3ece00 100644 --- a/docs/en-US/concepts.xml +++ b/docs/en-US/concepts.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + Concepts diff --git a/docs/en-US/configure-guest-traffic-in-advanced-zone.xml b/docs/en-US/configure-guest-traffic-in-advanced-zone.xml index 82204df434a..af7c21bbe41 100644 --- a/docs/en-US/configure-guest-traffic-in-advanced-zone.xml +++ b/docs/en-US/configure-guest-traffic-in-advanced-zone.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Configure Guest Traffic in an Advanced Zone - These steps assume you have already logged in to the CloudPlatform UI. To configure the base guest network: + These steps assume you have already logged in to the &PRODUCT; UI. To configure the base guest network: In the left navigation, choose Infrastructure. On Zones, click View More, then click the zone to which you want to add a network. Click the Network tab. @@ -20,7 +39,7 @@ Network offering: If the administrator has configured multiple network offerings, select the one you want to use for this network Gateway: The gateway that the guests should use Netmask: The netmask in use on the subnet the guests will use - Start IP/End IP: Enter the first and last IP addresses that define a range that CloudPlatform can assign to guests. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. If multiple NICs are used, they may be in a different subnet. + Start IP/End IP: Enter the first and last IP addresses that define a range that &PRODUCT; can assign to guests. If one NIC is used, these IPs should be in the same CIDR as the pod CIDR. If multiple NICs are used, they may be in a different subnet. Network Domain: (Optional) If you want to assign a special domain name to this network, specify the DNS suffix. diff --git a/docs/en-US/configure-public-traffic-in-an-advanced-zone.xml b/docs/en-US/configure-public-traffic-in-an-advanced-zone.xml index 2420410d59d..8a9fb4a164f 100644 --- a/docs/en-US/configure-public-traffic-in-an-advanced-zone.xml +++ b/docs/en-US/configure-public-traffic-in-an-advanced-zone.xml @@ -1,10 +1,9 @@ - %BOOK_ENTITIES; ]>
Configure Public Traffic in an Advanced Zone In a zone that uses advanced networking, you need to configure at least one range of IP addresses for Internet traffic. - -
+
diff --git a/docs/en-US/configure-usage-server.xml b/docs/en-US/configure-usage-server.xml index 60973614023..55d3908a544 100644 --- a/docs/en-US/configure-usage-server.xml +++ b/docs/en-US/configure-usage-server.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Configuring the Usage Server To configure the usage server: - Be sure the Usage Server has been installed. This requires extra steps beyond just installing the CloudPlatform software. See Installing the Usage Server (Optional) in the Advanced Installation Guide. - Log in to the CloudPlatform UI as administrator. + Be sure the Usage Server has been installed. This requires extra steps beyond just installing the &PRODUCT; software. See Installing the Usage Server (Optional) in the Advanced Installation Guide. + Log in to the &PRODUCT; UI as administrator. Click Global Settings. In Search, type usage. Find the configuration parameter that controls the behavior you want to set. See the table below for a description of the available parameters. In Actions, click the Edit icon. @@ -56,13 +75,13 @@ usage.aggregation.timezone = GMT usage.stats.job.aggregation.range The time period in minutes between Usage Server processing jobs. For example, if you set it to 1440, the Usage Server will run once per day. If you set it to 600, it will run every ten hours. In general, when a Usage Server job runs, it processes all events generated since usage was last run. - There is special handling for the case of 1440 (once per day). In this case the Usage Server does not necessarily process all records since Usage was last run. CloudPlatform assumes that you require processing once per day for the previous, complete day’s records. For example, if the current day is October 7, then it is assumed you would like to process records for October 6, from midnight to midnight. CloudPlatform assumes this “midnight to midnight” is relative to the usage.execution.timezone. + There is special handling for the case of 1440 (once per day). In this case the Usage Server does not necessarily process all records since Usage was last run. &PRODUCT; assumes that you require processing once per day for the previous, complete day’s records. For example, if the current day is October 7, then it is assumed you would like to process records for October 6, from midnight to midnight. &PRODUCT; assumes this "midnight to midnight" is relative to the usage.execution.timezone. Default: 1440 usage.stats.job.exec.time - The time when the Usage Server processing will start. It is specified in 24-hour format (HH:MM) in the time zone of the server, which should be GMT. For example, to start the Usage job at 10:30 GMT, enter “10:30”. + The time when the Usage Server processing will start. It is specified in 24-hour format (HH:MM) in the time zone of the server, which should be GMT. For example, to start the Usage job at 10:30 GMT, enter "10:30". If usage.stats.job.aggregation.range is also set, and its value is not 1440, then its value will be added to usage.stats.job.exec.time to get the time to run the Usage Server job again. This is repeated until 24 hours have elapsed, and the next day's processing begins again at usage.stats.job.exec.time. Default: 00:15. @@ -79,4 +98,4 @@ usage.aggregation.timezone = GMT With this configuration, the Usage job will run every night at 2 AM EST and will process records for the previous day’s midnight-midnight as defined by the EST (America/New_York) time zone. Because the special value 1440 has been used for usage.stats.job.aggregation.range, the Usage Server will ignore the data between midnight and 2 AM. That data will be included in the next day's run -
\ No newline at end of file +
diff --git a/docs/en-US/configure-virtual-router.xml b/docs/en-US/configure-virtual-router.xml index 7aab6b369d6..8740c0cef8b 100644 --- a/docs/en-US/configure-virtual-router.xml +++ b/docs/en-US/configure-virtual-router.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Configuring the Virtual Router You can set the following: @@ -11,7 +30,7 @@ Supported network services Default domain name for the network serviced by the virtual router Gateway IP address - How often CloudPlatform fetches network usage statistics from CloudPlatform virtual routers. If you want to collect traffic metering data from the virtual router, set the global configuration parameter router.stats.interval. If you are not using the virtual router to gather network usage statistics, set it to 0. + How often &PRODUCT; fetches network usage statistics from &PRODUCT; virtual routers. If you want to collect traffic metering data from the virtual router, set the global configuration parameter router.stats.interval. If you are not using the virtual router to gather network usage statistics, set it to 0.
diff --git a/docs/en-US/configure-vpn.xml b/docs/en-US/configure-vpn.xml index cab25fd9342..0ab3ef55cae 100644 --- a/docs/en-US/configure-vpn.xml +++ b/docs/en-US/configure-vpn.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Configuring VPN To set up VPN for the cloud: - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation, click Global Settings. Set the following global configuration parameters. @@ -17,7 +36,7 @@ To enable VPN for a particular network: - Log in as a user or administrator to the CloudPlatform UI. + Log in as a user or administrator to the &PRODUCT; UI. In the left navigation, click Network. Click the name of the network you want to work with. Click View IP Addresses. diff --git a/docs/en-US/configure-xenserver-dom-memory.xml b/docs/en-US/configure-xenserver-dom-memory.xml index c647cd81330..0a02d3e3818 100644 --- a/docs/en-US/configure-xenserver-dom-memory.xml +++ b/docs/en-US/configure-xenserver-dom-memory.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Configure XenServer dom0 Memory Configure the XenServer dom0 settings to allocate more memory to dom0. This can enable XenServer to handle larger numbers of virtual machines. We recommend 2940 MB of RAM for XenServer dom0. For instructions on how to do this, see Citrix Knowledgebase Article.The article refers to XenServer 5.6, but the same information applies to XenServer 6 diff --git a/docs/en-US/configure-xenserver-dom0-memory.xml b/docs/en-US/configure-xenserver-dom0-memory.xml index c647cd81330..0a02d3e3818 100644 --- a/docs/en-US/configure-xenserver-dom0-memory.xml +++ b/docs/en-US/configure-xenserver-dom0-memory.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Configure XenServer dom0 Memory Configure the XenServer dom0 settings to allocate more memory to dom0. This can enable XenServer to handle larger numbers of virtual machines. We recommend 2940 MB of RAM for XenServer dom0. For instructions on how to do this, see Citrix Knowledgebase Article.The article refers to XenServer 5.6, but the same information applies to XenServer 6 diff --git a/docs/en-US/configuring-projects.xml b/docs/en-US/configuring-projects.xml index 925f3606b9d..e18843d15d6 100644 --- a/docs/en-US/configuring-projects.xml +++ b/docs/en-US/configuring-projects.xml @@ -1,10 +1,29 @@ - %BOOK_ENTITIES; ]> + + +
Configuring Projects - Before CloudPlatform users start using projects, the CloudPlatform administrator must set up various systems to support them, including membership invitations, limits on project resources, and controls on who can create projects + Before &PRODUCT; users start using projects, the &PRODUCT; administrator must set up various systems to support them, including membership invitations, limits on project resources, and controls on who can create projects
diff --git a/docs/en-US/console-proxy.xml b/docs/en-US/console-proxy.xml index bc14445ebbf..df29c428ad2 100644 --- a/docs/en-US/console-proxy.xml +++ b/docs/en-US/console-proxy.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Console Proxy The Console Proxy is a type of System Virtual Machine that has a role in presenting a console view via the web UI. It connects the user’s browser to the VNC port made available via the hypervisor for the console of the guest. Both the administrator and end user web UIs offer a console connection. @@ -12,5 +31,5 @@ The console proxy VM will periodically report its active session count to the Management Server. The default reporting interval is five seconds. This can be changed through standard Management Server configuration with the parameter consoleproxy.loadscan.interval. Assignment of guest VM to console proxy is determined by first determining if the guest VM has a previous session associated with a console proxy. If it does, the Management Server will assign the guest VM to the target Console Proxy VM regardless of the load on the proxy VM. Failing that, the first available running Console Proxy VM that has the capacity to handle new sessions is used. Console proxies can be restarted by administrators but this will interrupt existing console sessions for users. - The console viewing functionality uses a dynamic DNS service under the domain name realhostip.com to assist in providing SSL security to console sessions. The console proxy is assigned a public IP address. In order to avoid browser warnings for mismatched SSL certificates, the URL for the new console window is set to the form of https://aaa-bbb-ccc-ddd.realhostip.com. Customers will see this URL during console session creation. CloudPlatform includes the realhostip.com SSL certificate in the console proxy VM. Of course, CloudPlatform cannot know about DNS A records for our customers' public IPs prior to shipping the software. CloudPlatform therefore runs a dynamic DNS server that is authoritative for the realhostip.com domain. It maps the aaa-bbb-ccc-ddd part of the DNS name to the IP address aaa.bbb.ccc.ddd on lookups. This allows the browser to correctly connect to the console proxy's public IP, where it then expects and receives a SSL certificate for realhostip.com, and SSL is set up without browser warnings. + The console viewing functionality uses a dynamic DNS service under the domain name realhostip.com to assist in providing SSL security to console sessions. The console proxy is assigned a public IP address. In order to avoid browser warnings for mismatched SSL certificates, the URL for the new console window is set to the form of https://aaa-bbb-ccc-ddd.realhostip.com. Customers will see this URL during console session creation. &PRODUCT; includes the realhostip.com SSL certificate in the console proxy VM. Of course, &PRODUCT; cannot know about DNS A records for our customers' public IPs prior to shipping the software. &PRODUCT; therefore runs a dynamic DNS server that is authoritative for the realhostip.com domain. It maps the aaa-bbb-ccc-ddd part of the DNS name to the IP address aaa.bbb.ccc.ddd on lookups. This allows the browser to correctly connect to the console proxy's public IP, where it then expects and receives a SSL certificate for realhostip.com, and SSL is set up without browser warnings.
diff --git a/docs/en-US/contacting-support.xml b/docs/en-US/contacting-support.xml index ef165b37e45..7fe86b1ddba 100644 --- a/docs/en-US/contacting-support.xml +++ b/docs/en-US/contacting-support.xml @@ -1,5 +1,22 @@ + +
Contacting Support The support team is available to help customers plan and execute their installations. To contact the support team, log in to the support portal at support.citrix.com/cloudsupport by using the account credentials you received when you purchased your support contract.
- diff --git a/docs/en-US/convert-hyperv-vm-to-template.xml b/docs/en-US/convert-hyperv-vm-to-template.xml index 813112c5c74..1ceaa758e32 100644 --- a/docs/en-US/convert-hyperv-vm-to-template.xml +++ b/docs/en-US/convert-hyperv-vm-to-template.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
Converting a Hyper-V VM to a Template - To convert a Hyper-V VM to a XenServer-compatible CloudPlatform template, you will need a standalone XenServer host with an attached NFS VHD SR. Use whatever XenServer version you are using with CloudPlatform, but use XenCenter 5.6 FP1 or SP2 (it is backwards compatible to 5.6). Additionally, it may help to have an attached NFS ISO SR. + To convert a Hyper-V VM to a XenServer-compatible &PRODUCT; template, you will need a standalone XenServer host with an attached NFS VHD SR. Use whatever XenServer version you are using with &PRODUCT;, but use XenCenter 5.6 FP1 or SP2 (it is backwards compatible to 5.6). Additionally, it may help to have an attached NFS ISO SR. For Linux VMs, you may need to do some preparation in Hyper-V before trying to get the VM to work in XenServer. Clone the VM and work on the clone if you still want to use the VM in Hyper-V. Uninstall Hyper-V Integration Components and check for any references to device names in /etc/fstab: From the linux_ic/drivers/dist directory, run make uninstall (where "linux_ic" is the path to the copied Hyper-V Integration Components files). @@ -37,14 +56,13 @@ Either option above will create a VM in HVM mode. This is fine for Windows VMs, but Linux VMs may not perform optimally. Converting a Linux VM to PV mode will require additional steps and will vary by distribution. Shut down the VM and copy the VHD from the NFS storage to a web server; for example, mount the NFS share on the web server and copy it, or from the XenServer host use sftp or scp to upload it to the web server. - In CloudPlatform, create a new template using the following values: + In &PRODUCT;, create a new template using the following values: URL. Give the URL for the VHD OS Type. Use the appropriate OS. For PV mode on CentOS, choose Other PV (32-bit) or Other PV (64-bit). This choice is available only for XenServer. Hypervisor. XenServer Format. VHD - The template will be created, and you can create instances from it.
diff --git a/docs/en-US/create-bare-metal-template.xml b/docs/en-US/create-bare-metal-template.xml index 9effd86889f..635e13faade 100644 --- a/docs/en-US/create-bare-metal-template.xml +++ b/docs/en-US/create-bare-metal-template.xml @@ -1,31 +1,46 @@ - %BOOK_ENTITIES; ]> + + +
Creating a Bare Metal Template - Beta feature. Untested in CloudPlatform 3.0.3. Provided without guarantee of performance. + Beta feature. Untested in &PRODUCT; 3.0.3. Provided without guarantee of performance. Before you can create a bare metal template, you must have performed several other installation and setup steps to create a bare metal cluster and environment. See Bare Metal Installation in the Installation Guide. It is assumed you already have a directory named "win7_64bit" on your CIFS server, containing the image for the bare metal instance. This directory and image are set up as part of the Bare Metal Installation procedure. - Log in to the CloudPlatform UI as an administrator or end user. + Log in to the &PRODUCT; UI as an administrator or end user. In the left navigation bar, click Templates. Click Create Template. In the dialog box, enter the following values. Name. Short name for the template. Display Text. Description of the template. - URL. The directory name which contains image file on your - CIFS server. For example, win7_64bit. + URL. The directory name which contains image file on your CIFS server. For example, win7_64bit. Zone. All Zones. - OS Type. Select the OS type of the ISO image. Choose other if - the OS Type of the ISO is not listed or if the ISO is not bootable. + OS Type. Select the OS type of the ISO image. Choose other if the OS Type of the ISO is not listed or if the ISO is not bootable. Hypervisor. BareMetal. Format. BareMetal. Password Enabled. No. Public. No. - Featured. Choose Yes if you would like this template to be - more prominent for users to select. Only administrators may make templates - featured. + Featured. Choose Yes if you would like this template to be more prominent for users to select. Only administrators may make templates featured.
diff --git a/docs/en-US/create-new-projects.xml b/docs/en-US/create-new-projects.xml index 69e836013b7..7696c9ee00f 100644 --- a/docs/en-US/create-new-projects.xml +++ b/docs/en-US/create-new-projects.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New Project - CloudPlatform administrators and domain administrators can create projects. If the global configuration parameter allow.user.create.projects is set to true, end users can also create projects. + &PRODUCT; administrators and domain administrators can create projects. If the global configuration parameter allow.user.create.projects is set to true, end users can also create projects. - Log in as administrator to the CloudPlatform UI. + Log in as administrator to the &PRODUCT; UI. In the left navigation, click Projects. In Select view, click Projects. Click New Project. @@ -16,4 +35,3 @@ Click Save.
- diff --git a/docs/en-US/create-template-from-existing-vm.xml b/docs/en-US/create-template-from-existing-vm.xml index b3b951f9851..d6b6f0db0bd 100644 --- a/docs/en-US/create-template-from-existing-vm.xml +++ b/docs/en-US/create-template-from-existing-vm.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Creating a Template from an Existing Virtual Machine Once you have at least one VM set up in the way you want, you can use it as the prototype for other VMs. @@ -12,11 +31,8 @@ Wait for the VM to stop. When the status shows Stopped, go to the next step. Click Create Template and provide the following: - Name and Display Text. These will be shown in the UI, so - choose something descriptive. - OS Type. This helps CloudPlatform and the hypervisor perform - certain operations and make assumptions that improve the performance of the - guest. Select one of the following. + Name and Display Text. These will be shown in the UI, so choose something descriptive. + OS Type. This helps &PRODUCT; and the hypervisor perform certain operations and make assumptions that improve the performance of the guest. Select one of the following. If the operating system of the stopped VM is listed, choose it. If the OS type of the stopped VM is not listed, choose Other. @@ -24,13 +40,8 @@ Note: Generally you should not choose an older version of the OS than the version in the image. For example, choosing CentOS 5.4 to support a CentOS 6.2 image will in general not work. In those cases you should choose Other. - Public. Choose Yes to make this template accessible to all - users of this CloudPlatform installation. The template will appear in the - Community Templates list. See . - Password Enabled. Choose Yes if your template has the - CloudPlatform password change script installed. See Adding Password - Management to Your Templates . + Public. Choose Yes to make this template accessible to all users of this &PRODUCT; installation. The template will appear in the Community Templates list. See . + Password Enabled. Choose Yes if your template has the &PRODUCT; password change script installed. See Adding Password Management to Your Templates. Click Add. diff --git a/docs/en-US/create-template-from-snapshot.xml b/docs/en-US/create-template-from-snapshot.xml index 23599da26a4..30750326c9f 100644 --- a/docs/en-US/create-template-from-snapshot.xml +++ b/docs/en-US/create-template-from-snapshot.xml @@ -1,11 +1,29 @@ - %BOOK_ENTITIES; ]> + + +
Creating a Template from a Snapshot Not supported by Oracle VM - If you do not want to stop the VM in order to use the Create Template menu item (as described in ), you can create a template directly from any snapshot through the CloudPlatform UI. - + If you do not want to stop the VM in order to use the Create Template menu item (as described in ), you can create a template directly from any snapshot through the &PRODUCT; UI.
diff --git a/docs/en-US/create-templates-overview.xml b/docs/en-US/create-templates-overview.xml index 9c8bf37266d..7e41035a733 100644 --- a/docs/en-US/create-templates-overview.xml +++ b/docs/en-US/create-templates-overview.xml @@ -1,17 +1,35 @@ - %BOOK_ENTITIES; ]> + + +
Creating Templates: Overview - CloudPlatform ships with a default template for the CentOS operating system. There are a variety of ways to add more templates. Administrators and end users can add templates. The typical sequence of events is: + &PRODUCT; ships with a default template for the CentOS operating system. There are a variety of ways to add more templates. Administrators and end users can add templates. The typical sequence of events is: Launch a VM instance that has the operating system you want. Make any other desired configuration changes to the VM. Stop the VM. Convert the volume into a template. - There are other ways to add templates to CloudPlatform. For example, you can take a snapshot of the VM's volume and create a template from the snapshot, or import a VHD from another system into CloudPlatform + There are other ways to add templates to &PRODUCT;. For example, you can take a snapshot of the VM's volume and create a template from the snapshot, or import a VHD from another system into &PRODUCT; The various techniques for creating templates are described in the next few sections. -
diff --git a/docs/en-US/create-windows-template.xml b/docs/en-US/create-windows-template.xml index 70a71af21da..ef36020799a 100644 --- a/docs/en-US/create-windows-template.xml +++ b/docs/en-US/create-windows-template.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Creating a Windows Template Windows templates must be prepared with Sysprep before they can be provisioned on multiple machines. Sysprep allows you to create a generic Windows template and avoid any possible SID conflicts. diff --git a/docs/en-US/creating-compute-offerings.xml b/docs/en-US/creating-compute-offerings.xml index fc0b6a938bb..56679a422f4 100644 --- a/docs/en-US/creating-compute-offerings.xml +++ b/docs/en-US/creating-compute-offerings.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New Compute Offering To create a new compute offering: - Log in with admin privileges to the CloudPlatform UI. + Log in with admin privileges to the &PRODUCT; UI. In the left navigation bar, click Service Offerings. In Select Offering, choose Compute Offering. Click Add Compute Offering. @@ -17,17 +36,15 @@ Description. A short description of the offering that can be displayed to users Storage type. The type of disk that should be allocated. Local allocates from storage attached directly to the host where the system VM is running. Shared allocates from storage accessible via NFS. # of CPU cores. The number of cores which should be allocated to a system VM with this offering - CPU (in MHz). The CPU speed of the cores that the system VM is allocated. For example, “2000” would provide for a 2 GHz clock. - Memory (in MB). The amount of memory in megabytes that the system VM should be allocated. For example, “2048” would provide for a 2 GB RAM allocation. + CPU (in MHz). The CPU speed of the cores that the system VM is allocated. For example, "2000" would provide for a 2 GHz clock. + Memory (in MB). The amount of memory in megabytes that the system VM should be allocated. For example, "2048" would provide for a 2 GB RAM allocation. Network Rate. Allowed data transfer rate in MB per second. Offer HA. If yes, the administrator can choose to have the system VM be monitored and as highly available as possible. Storage Tags. The tags that should be associated with the primary storage used by the system VM. Host Tags. (Optional) Any tags that you use to organize your hosts CPU cap. Whether to limit the level of CPU usage even if spare capacity is available. - Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; CloudPlatform will then prompt for the subdomain's name. + Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; &PRODUCT; will then prompt for the subdomain's name. Click Add. - -
diff --git a/docs/en-US/creating-disk-offerings.xml b/docs/en-US/creating-disk-offerings.xml index d455eccc60f..12bb2aca785 100644 --- a/docs/en-US/creating-disk-offerings.xml +++ b/docs/en-US/creating-disk-offerings.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New Disk Offering To create a system service offering: - Log in with admin privileges to the CloudPlatform UI. + Log in with admin privileges to the &PRODUCT; UI. In the left navigation bar, click Service Offerings. In Select Offering, choose Disk Offering. Click Add Disk Offering. @@ -17,11 +36,9 @@ Description. A short description of the offering that can be displayed to users Custom Disk Size. If checked, the user can set their own disk size. If not checked, the root administrator must define a value in Disk Size. Disk Size. Appears only if Custom Disk Size is not selected. Define the volume size in GB. - (Optional)Storage Tags. The tags that should be associated with the primary storage for this disk. Tags are a comma separated list of attributes of the storage. For example "ssd,blue". Tags are also added on Primary Storage. CloudPlatform matches tags on a disk offering to tags on the storage. If a tag is present on a disk offering that tag (or tags) must also be present on Primary Storage for the volume to be provisioned. If no such primary storage exists, allocation from the disk offering will fail.. - Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; CloudPlatform will then prompt for the subdomain's name. + (Optional)Storage Tags. The tags that should be associated with the primary storage for this disk. Tags are a comma separated list of attributes of the storage. For example "ssd,blue". Tags are also added on Primary Storage. &PRODUCT; matches tags on a disk offering to tags on the storage. If a tag is present on a disk offering that tag (or tags) must also be present on Primary Storage for the volume to be provisioned. If no such primary storage exists, allocation from the disk offering will fail.. + Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; &PRODUCT; will then prompt for the subdomain's name. Click Add. - -
diff --git a/docs/en-US/creating-network-offerings.xml b/docs/en-US/creating-network-offerings.xml index 5bf32bec2a2..ab569200641 100644 --- a/docs/en-US/creating-network-offerings.xml +++ b/docs/en-US/creating-network-offerings.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New Network Offering To create a network offering: - Log in with admin privileges to the CloudPlatform UI. + Log in with admin privileges to the &PRODUCT; UI. In the left navigation bar, click Service Offerings. In Select Offering, choose Network Offering. Click Add Network Offering. @@ -19,12 +38,7 @@ Traffic Type. The type of network traffic that will be carried on the network Guest Type. Choose whether the guest network is isolated or shared. For a description of these terms, see Specify VLAN. (Isolated guest networks only) Indicate whether a VLAN should be specified when this offering is used - Supported Services. Select one or more of the possible network services. For some services, - you must also choose the service provider; for example, if you select Load - Balancer, you can choose the CloudPlatform virtual router or any other load - balancers that have been configured in the cloud. Depending on which - services you choose, additional fields may appear in the rest of the dialog - box.Based on the guest network type selected, you can see the following supported services: + Supported Services. Select one or more of the possible network services. For some services, you must also choose the service provider; for example, if you select Load Balancer, you can choose the &PRODUCT; virtual router or any other load balancers that have been configured in the cloud. Depending on which services you choose, additional fields may appear in the rest of the dialog box.Based on the guest network type selected, you can see the following supported services: @@ -49,32 +63,25 @@ Load Balancer - If you select Load Balancer, you can choose the CloudPlatform virtual router or any other load - balancers that have been configured in the cloud. + If you select Load Balancer, you can choose the &PRODUCT; virtual router or any other load balancers that have been configured in the cloud. Supported Supported Source NAT - If you select Source NAT, you can choose the CloudPlatform virtual router or any other Source - NAT providers that have been configured in the - cloud. + If you select Source NAT, you can choose the &PRODUCT; virtual router or any other Source NAT providers that have been configured in the cloud. Supported Supported Static NAT - If you select Static NAT, you can choose the CloudPlatform virtual router or any other Static - NAT providers that have been configured in the - cloud. + If you select Static NAT, you can choose the &PRODUCT; virtual router or any other Static NAT providers that have been configured in the cloud. Supported Supported Port Forwarding - If you select Port Forwarding, you can choose the CloudPlatform virtual router or any other - Port Forwarding providers that have been configured in - the cloud. + If you select Port Forwarding, you can choose the &PRODUCT; virtual router or any other Port Forwarding providers that have been configured in the cloud. Supported Not Supported @@ -100,13 +107,11 @@ - System Offering. If the service provider for any of the services selected in Supported Services is a virtual router, the System Offering field appears. Choose the system service offering that you want virtual routers to use in this network. For example, if you selected Load Balancer in Supported Services and selected a virtual router to provide load balancing, the System Offering field appears so you can choose between the CloudPlatform default system service offering and any custom system service offerings that have been defined by the CloudPlatform root administrator. For more information, see System Service Offerings. - Redundant router capability. (v3.0.3 and greater) Available only when Virtual Router is selected as the Source NAT provider. Select this option if you want to use two virtual routers in the network for uninterrupted connection: one operating as the master virtual router and the other as the backup. The master virtual router receives requests from and sends responses to the user’s VM. The backup virtual router is activated only when the master is down. After the failover, the backup becomes the master virtual router. CloudPlatform deploys the routers on different hosts to ensure reliability if one host is down. + System Offering. If the service provider for any of the services selected in Supported Services is a virtual router, the System Offering field appears. Choose the system service offering that you want virtual routers to use in this network. For example, if you selected Load Balancer in Supported Services and selected a virtual router to provide load balancing, the System Offering field appears so you can choose between the &PRODUCT; default system service offering and any custom system service offerings that have been defined by the &PRODUCT; root administrator. For more information, see System Service Offerings. + Redundant router capability. (v3.0.3 and greater) Available only when Virtual Router is selected as the Source NAT provider. Select this option if you want to use two virtual routers in the network for uninterrupted connection: one operating as the master virtual router and the other as the backup. The master virtual router receives requests from and sends responses to the user’s VM. The backup virtual router is activated only when the master is down. After the failover, the backup becomes the master virtual router. &PRODUCT; deploys the routers on different hosts to ensure reliability if one host is down. Conserve mode. Indicate whether to use conserve mode. In this mode, network resources are allocated only when the first virtual machine starts in the network Tags. Network tag to specify which physical network to use Click Add. - -
diff --git a/docs/en-US/creating-new-volumes.xml b/docs/en-US/creating-new-volumes.xml index 71b4f9bfd5a..995da86d487 100644 --- a/docs/en-US/creating-new-volumes.xml +++ b/docs/en-US/creating-new-volumes.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New Volume - You can add more data disk volumes to a guest VM at any time, up to the limits of your storage capacity. Both CloudPlatform administrators and users can add volumes to VM instances. When you create a new volume, it is stored as an entity in CloudPlatform, but the actual storage resources are not allocated on the physical storage device until you attach the volume. This optimization allows the CloudPlatform to provision the volume nearest to the guest that will use it when the first attachment is made. + You can add more data disk volumes to a guest VM at any time, up to the limits of your storage capacity. Both &PRODUCT; administrators and users can add volumes to VM instances. When you create a new volume, it is stored as an entity in &PRODUCT;, but the actual storage resources are not allocated on the physical storage device until you attach the volume. This optimization allows the &PRODUCT; to provision the volume nearest to the guest that will use it when the first attachment is made. - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation bar, click Storage. In Select View, choose Volumes. To create a new volume, click Add Volume, provide the following details, and click OK. @@ -16,8 +35,7 @@ Availability Zone. Where do you want the storage to reside? This should be close to the VM that will use the volume. Disk Offering. Choose the characteristics of the storage. - The new volume appears in the list of volumes with the state “Allocated.” The volume data is stored in CloudPlatform, but the volume is not yet ready for use + The new volume appears in the list of volumes with the state “Allocated.” The volume data is stored in &PRODUCT;, but the volume is not yet ready for use To start using the volume, continue to Attaching a Volume
- diff --git a/docs/en-US/creating-system-service-offerings.xml b/docs/en-US/creating-system-service-offerings.xml index 7f9bf524c78..e33d9d07767 100644 --- a/docs/en-US/creating-system-service-offerings.xml +++ b/docs/en-US/creating-system-service-offerings.xml @@ -1,13 +1,32 @@ - %BOOK_ENTITIES; ]> + + +
Creating a New System Service Offering To create a system service offering: - Log in with admin privileges to the CloudPlatform UI. + Log in with admin privileges to the &PRODUCT; UI. In the left navigation bar, click Service Offerings. In Select Offering, choose System Offering. Click Add System Service Offering. @@ -18,14 +37,14 @@ System VM Type. Select the type of system virtual machine that this offering is intended to support. Storage type. The type of disk that should be allocated. Local allocates from storage attached directly to the host where the system VM is running. Shared allocates from storage accessible via NFS. # of CPU cores. The number of cores which should be allocated to a system VM with this offering - CPU (in MHz). The CPU speed of the cores that the system VM is allocated. For example, “2000” would provide for a 2 GHz clock. - Memory (in MB). The amount of memory in megabytes that the system VM should be allocated. For example, “2048” would provide for a 2 GB RAM allocation. + CPU (in MHz). The CPU speed of the cores that the system VM is allocated. For example, "2000" would provide for a 2 GHz clock. + Memory (in MB). The amount of memory in megabytes that the system VM should be allocated. For example, "2048" would provide for a 2 GB RAM allocation. Network Rate. Allowed data transfer rate in MB per second. Offer HA. If yes, the administrator can choose to have the system VM be monitored and as highly available as possible. Storage Tags. The tags that should be associated with the primary storage used by the system VM. Host Tags. (Optional) Any tags that you use to organize your hosts CPU cap. Whether to limit the level of CPU usage even if spare capacity is available. - Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; CloudPlatform will then prompt for the subdomain's name. + Public. Indicate whether the service offering should be available all domains or only some domains. Choose Yes to make it available to all domains. Choose No to limit the scope to a subdomain; &PRODUCT; will then prompt for the subdomain's name. Click Add. diff --git a/docs/en-US/creating-vms.xml b/docs/en-US/creating-vms.xml index ea5d0f2c2a4..dd6ec79a5fc 100644 --- a/docs/en-US/creating-vms.xml +++ b/docs/en-US/creating-vms.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Creating VMs Virtual machines are usually created from a template. Users can also create blank virtual machines. A blank virtual machine is a virtual machine without an OS template. Users can attach an ISO file and install the OS from the CD/DVD-ROM. To create a VM from a template: - Log in to the CloudPlatform UI as an administrator or user. + Log in to the &PRODUCT; UI as an administrator or user. In the left navigation bar, click Instances. Click Add Instance. Select a template, then follow the steps in the wizard. (For more information about how the templates came to be in this list, see Working with Templates. @@ -20,12 +39,11 @@ To create a VM from an ISO: (XenServer) Windows VMs running on XenServer require PV drivers, which may be provided in the template or added after the VM is created. The PV drivers are necessary for essential management functions such as mounting additional volumes and ISO images, live migration, and graceful shutdown. - Log in to the CloudPlatform UI as an administrator or user. + Log in to the &PRODUCT; UI as an administrator or user. In the left navigation bar, click Instances. Click Add Instance. Select ISO Boot, and follow the steps in the wizard. Click Submit and your VM will be created and started. - (Oracle VM only) After ISO installation, the installer reboots into the operating system. Due to a known issue in OVM, the reboot will place the VM in the Stopped state. In the CloudPlatform UI, detach the ISO from the VM (so that the VM will not boot from the ISO again), then click the Start button to restart the VM. + (Oracle VM only) After ISO installation, the installer reboots into the operating system. Due to a known issue in OVM, the reboot will place the VM in the Stopped state. In the &PRODUCT; UI, detach the ISO from the VM (so that the VM will not boot from the ISO again), then click the Start button to restart the VM.
- diff --git a/docs/en-US/customizing-dns.xml b/docs/en-US/customizing-dns.xml index bf9dc419ded..c24bad895f4 100644 --- a/docs/en-US/customizing-dns.xml +++ b/docs/en-US/customizing-dns.xml @@ -1,19 +1,38 @@ - %BOOK_ENTITIES; ]> + + +
Customizing the Network Domain Name - The root administrator can optionally assign a custom DNS suffix at the level of a network, account, domain, zone, or entire CloudPlatform installation, and a domain administrator can do so within their own domain. To specify a custom domain name and put it into effect, follow these steps. + The root administrator can optionally assign a custom DNS suffix at the level of a network, account, domain, zone, or entire &PRODUCT; installation, and a domain administrator can do so within their own domain. To specify a custom domain name and put it into effect, follow these steps. Set the DNS suffix at the desired scope - At the network level, the DNS suffix can be assigned through the UI when creating a new network, as described in or with the updateNetwork command in the CloudPlatform API. - At the account, domain, or zone level, the DNS suffix can be assigned with the appropriate CloudPlatform API commands: createAccount, editAccount, createDomain, editDomain, createZone, or editZone. - At the global level, use the configuration parameter guest.domain.suffix. You can also use the CloudPlatform API command updateConfiguration. After modifying this global configuration, restart the Management Server to put the new setting into effect. + At the network level, the DNS suffix can be assigned through the UI when creating a new network, as described in or with the updateNetwork command in the &PRODUCT; API. + At the account, domain, or zone level, the DNS suffix can be assigned with the appropriate &PRODUCT; API commands: createAccount, editAccount, createDomain, editDomain, createZone, or editZone. + At the global level, use the configuration parameter guest.domain.suffix. You can also use the &PRODUCT; API command updateConfiguration. After modifying this global configuration, restart the Management Server to put the new setting into effect. - To make the new DNS suffix take effect for an existing network, call the CloudPlatform API command updateNetwork. This step is not necessary when the DNS suffix was specified while creating a new network. + To make the new DNS suffix take effect for an existing network, call the &PRODUCT; API command updateNetwork. This step is not necessary when the DNS suffix was specified while creating a new network. The source of the network domain that is used depends on the following rules. @@ -22,5 +41,4 @@ For a domain-specific network, the network domain specified for the domain is used. If none is specified, the system looks for a value in the zone and global configuration, in that order. For a zone-specific network, the network domain specified for the zone is used. If none is specified, the system looks for a value in the global configuration. -
diff --git a/docs/en-US/dates-in-usage-record.xml b/docs/en-US/dates-in-usage-record.xml index ff4658734ec..0fe430dba87 100644 --- a/docs/en-US/dates-in-usage-record.xml +++ b/docs/en-US/dates-in-usage-record.xml @@ -1,3 +1,21 @@ + +
Dates in the Usage Record Usage records include a start date and an end date. These dates define the period of time for which the raw usage number was calculated. If daily aggregation is used, the start date is midnight on the day in question and the end date is 23:59:59 on the day in question (with one exception; see below). A virtual machine could have been deployed at noon on that day, stopped at 6pm on that day, then started up again at 11pm. When usage is calculated on that day, there will be 7 hours of running VM usage (usage type 1) and 12 hours of allocated VM usage (usage type 2). If the same virtual machine runs for the entire next day, there will 24 hours of both running VM usage (type 1) and allocated VM usage (type 2). diff --git a/docs/en-US/dedicated-ha-hosts.xml b/docs/en-US/dedicated-ha-hosts.xml index e985142023b..ab50700197a 100644 --- a/docs/en-US/dedicated-ha-hosts.xml +++ b/docs/en-US/dedicated-ha-hosts.xml @@ -1,15 +1,34 @@ - %BOOK_ENTITIES; ]> + + +
Dedicated HA Hosts (v3.0.3 and greater) One or more hosts can be designated for use only by HA-enabled VMs that are restarting due to a host failure. Setting up a pool of such dedicated HA hosts as the recovery destination for all HA-enabled VMs is useful to: - Make it easier to determine which VMs have been restarted as part of the CloudPlatform high-availability function. If a VM is running on a dedicated HA host, then it must be an HA-enabled VM whose original host failed. (With one exception: It is possible for an administrator to manually migrate any VM to a dedicated HA host.). + Make it easier to determine which VMs have been restarted as part of the &PRODUCT; high-availability function. If a VM is running on a dedicated HA host, then it must be an HA-enabled VM whose original host failed. (With one exception: It is possible for an administrator to manually migrate any VM to a dedicated HA host.). Keep HA-enabled VMs from restarting on hosts which may be reserved for other purposes. The dedicated HA option is set through a special host tag when the host is created. To allow the administrator to dedicate hosts to only HA-enabled VMs, set the global configuration variable ha.tag to the desired tag (for example, "ha_host"), and restart the Management Server. Enter the value in the Host Tags field when adding the host(s) that you want to dedicate to HA-enabled VMs. If you set ha.tag, be sure to actually use that tag on at least one host in your cloud. If the tag specified in ha.tag is not set for any host in the cloud, the HA-enabled VMs will fail to restart after a crash. -
\ No newline at end of file +
diff --git a/docs/en-US/default-account-resource-limit.xml b/docs/en-US/default-account-resource-limit.xml index 0ace6348ff2..abc313f46bf 100644 --- a/docs/en-US/default-account-resource-limit.xml +++ b/docs/en-US/default-account-resource-limit.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Default Account Resource Limits You can limit resource use by accounts. The default limits are set using global configuration parameters, and they affect all accounts within a cloud. The relevant parameters are those beginning with max.account (max.account.snapshots, etc.).. To override a default limit for a particular account, set a per-account resource limit. - Log in to the CloudPlatform UI. + Log in to the &PRODUCT; UI. In the left navigation tree, click Accounts. Select the account you want to modify. The current limits are displayed. A value of -1 shows that there is no limit in place Click the Edit button @@ -18,5 +37,4 @@ editbutton.png: edits the settings. -
diff --git a/docs/en-US/default-template.xml b/docs/en-US/default-template.xml index 4f4e583f991..c4741c964e3 100644 --- a/docs/en-US/default-template.xml +++ b/docs/en-US/default-template.xml @@ -1,11 +1,30 @@ - %BOOK_ENTITIES; ]> + + +
The Default Template - CloudPlatform includes a CentOS template. This template is downloaded by the Secondary Storage VM after the primary and secondary storage are configured. You can use this template in your production deployment or you can delete it and use custom templates. + &PRODUCT; includes a CentOS template. This template is downloaded by the Secondary Storage VM after the primary and secondary storage are configured. You can use this template in your production deployment or you can delete it and use custom templates. The root password for the default template is "password". A default template is provided for each of XenServer, KVM, and vSphere. The templates that are downloaded depend on the hypervisor type that is available in your cloud. Each template is approximately 2.5 GB physical size. The default template includes the standard iptables rules, which will block most access to the template excluding ssh. diff --git a/docs/en-US/delete-templates.xml b/docs/en-US/delete-templates.xml index d3f99b930e0..48d8fd11ff8 100644 --- a/docs/en-US/delete-templates.xml +++ b/docs/en-US/delete-templates.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Deleting Templates Templates may be deleted. In general, when a template spans multiple Zones, only the copy that is selected for deletion will be deleted; the same template in other Zones will not be deleted. The provided CentOS template is an exception to this. If the provided CentOS template is deleted, it will be deleted from all Zones. diff --git a/docs/en-US/deleting-vms.xml b/docs/en-US/deleting-vms.xml index a6cc0db1e07..ab65fef1db9 100644 --- a/docs/en-US/deleting-vms.xml +++ b/docs/en-US/deleting-vms.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Deleting VMs Users can delete their own virtual machines. A running virtual machine will be abruptly stopped before it is deleted. Administrators can delete any virtual machines. To delete a virtual machine: - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation, click Instances. Choose the VM that you want to delete. Click the Destroy Instance button @@ -20,4 +39,3 @@
- diff --git a/docs/en-US/deployment-architecture-overview.xml b/docs/en-US/deployment-architecture-overview.xml index 25f082585a5..2d463790af7 100644 --- a/docs/en-US/deployment-architecture-overview.xml +++ b/docs/en-US/deployment-architecture-overview.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Deployment Architecture Overview @@ -22,4 +41,4 @@ -
\ No newline at end of file +
diff --git a/docs/en-US/deployment_architecture_overview.xml b/docs/en-US/deployment_architecture_overview.xml index 08c10829a8c..34d91d7b60e 100644 --- a/docs/en-US/deployment_architecture_overview.xml +++ b/docs/en-US/deployment_architecture_overview.xml @@ -1,17 +1,35 @@ + +
Deployment Architecture Overview - A CloudStack installation consists of two parts: the Management Server and the cloud infrastructure that it manages. When you set up and manage a CloudStack cloud, you provision resources such as hosts, storage devices, and IP addresses into the Management Server, and the Management Server manages those resources. + A &PRODUCT; installation consists of two parts: the Management Server and the cloud infrastructure that it manages. When you set up and manage a &PRODUCT; cloud, you provision resources such as hosts, storage devices, and IP addresses into the Management Server, and the Management Server manages those resources. - The minimum installation consists of one machine running the CloudStack Management Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure consisting of one host running hypervisor software). + The minimum installation consists of one machine running the &PRODUCT; Management Server and another machine to act as the cloud infrastructure (in this case, a very simple infrastructure consisting of one host running hypervisor software). - basic_deployment.png: Basic two-machine CloudStack deployment + basic_deployment.png: Basic two-machine &PRODUCT; deployment A more full-featured installation consists of a highly-available multi-node Management Server installation and up to thousands of hosts using any of several advanced networking setups. For information about deployment options, see Choosing a Deployment Architecture. diff --git a/docs/en-US/detach-move-volumes.xml b/docs/en-US/detach-move-volumes.xml index 26c241c0311..6f241d594e6 100644 --- a/docs/en-US/detach-move-volumes.xml +++ b/docs/en-US/detach-move-volumes.xml @@ -1,16 +1,35 @@ - %BOOK_ENTITIES; ]> + + +
Attaching a Volume This procedure is different from moving disk volumes from one storage pool to another. See VM Storage Migration - A volume can be detached from a guest VM and attached to another guest. Both CloudPlatform administrators and users can detach volumes from VMs and move them to other VMs. + A volume can be detached from a guest VM and attached to another guest. Both &PRODUCT; administrators and users can detach volumes from VMs and move them to other VMs. If the two VMs are in different clusters, and the volume is large, it may take several minutes for the volume to be moved to the new VM. If the destination VM is running in the OVM hypervisor, the VM must be stopped before a new volume can be attached to it. - Log in to the CloudPlatform UI as a user or admin. + Log in to the &PRODUCT; UI as a user or admin. In the left navigation bar, click Storage, and choose Volumes in Select View. Alternatively, if you know which VM the volume is attached to, you can click Instances, click the VM name, and click View Volumes. Click the name of the volume you want to detach, then click the Detach Disk button @@ -22,4 +41,3 @@ To move the volume to another VM, follow the steps in Attaching a Volume .
- diff --git a/docs/en-US/developer-getting-started.xml b/docs/en-US/developer-getting-started.xml index adfac34488d..82ef12054df 100644 --- a/docs/en-US/developer-getting-started.xml +++ b/docs/en-US/developer-getting-started.xml @@ -1,9 +1,27 @@ + +
Getting Started - To get started using the CloudStack API, you should have the following: + To get started using the &PRODUCT; API, you should have the following: - URL of the CloudStack server you wish to integrate with. + URL of the &PRODUCT; server you wish to integrate with. Both the API Key and Secret Key for an account. This should have been generated by the administrator of the cloud instance and given to you. Familiarity with HTTP GET/POST and query strings. Knowledge of either XML or JSON. diff --git a/docs/en-US/developer-guide.xml b/docs/en-US/developer-guide.xml index 77af46eb430..373ab294851 100644 --- a/docs/en-US/developer-guide.xml +++ b/docs/en-US/developer-guide.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + Using the API diff --git a/docs/en-US/developer-introduction.xml b/docs/en-US/developer-introduction.xml index d895253f5b3..f2ab1d4f37a 100644 --- a/docs/en-US/developer-introduction.xml +++ b/docs/en-US/developer-introduction.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
Introduction for Developers diff --git a/docs/en-US/developer_guide.xml b/docs/en-US/developer_guide.xml index eb174be52d0..9606bab8a16 100644 --- a/docs/en-US/developer_guide.xml +++ b/docs/en-US/developer_guide.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + + Developer Guide diff --git a/docs/en-US/disable-enable-zones-pods-clusters.xml b/docs/en-US/disable-enable-zones-pods-clusters.xml index 94bf89e4778..7d52ae7c7a9 100644 --- a/docs/en-US/disable-enable-zones-pods-clusters.xml +++ b/docs/en-US/disable-enable-zones-pods-clusters.xml @@ -1,14 +1,33 @@ - %BOOK_ENTITIES; ]> + + +
Disabling and Enabling Zones, Pods, and Clusters You can enable or disable a zone, pod, or cluster without permanently removing it from the cloud. This is useful for maintenance or when there are problems that make a portion of the cloud infrastructure unreliable. No new allocations will be made to a disabled zone, pod, or cluster until its state is returned to Enabled. When a zone, pod, or cluster is first added to the cloud, it is Disabled by default. To disable and enable a zone, pod, or cluster: - Log in to the CloudPlatform UI as administrator + Log in to the &PRODUCT; UI as administrator In the left navigation bar, click Infrastructure. In Zones, click View More. diff --git a/docs/en-US/disk-volume-usage-record-format.xml b/docs/en-US/disk-volume-usage-record-format.xml index c4b898ec447..72836982251 100644 --- a/docs/en-US/disk-volume-usage-record-format.xml +++ b/docs/en-US/disk-volume-usage-record-format.xml @@ -1,3 +1,21 @@ + +
Disk Volume Usage Record Format For disk volumes, the following fields exist in a usage record. @@ -18,4 +36,3 @@ startdate, enddate – The range of time for which the usage is aggregated; see Dates in the Usage Record
- diff --git a/docs/en-US/dns-dhcp.xml b/docs/en-US/dns-dhcp.xml index dfebbd6f4bd..4d5bf00f907 100644 --- a/docs/en-US/dns-dhcp.xml +++ b/docs/en-US/dns-dhcp.xml @@ -1,8 +1,27 @@ - %BOOK_ENTITIES; ]> + + +
DNS and DHCP The Virtual Router provides DNS and DHCP services to the guests. It proxies DNS requests to the DNS server configured on the Availability Zone. diff --git a/docs/en-US/domains.xml b/docs/en-US/domains.xml index 669b3d3e317..9d19c7e9d5e 100644 --- a/docs/en-US/domains.xml +++ b/docs/en-US/domains.xml @@ -1,10 +1,28 @@ - %BOOK_ENTITIES; ]> + + +
Domains If the LDAP server requires SSL, you need to enable it in the ldapConfig command by setting the parameters ssl, truststore, and truststorepass. Before enabling SSL for ldapConfig, you need to get the certificate which the LDAP server is using and add it to a trusted keystore. You will need to know the path to the keystore and the password. -
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java index 4efffd6caad..85c64ba06ac 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java @@ -282,7 +282,6 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { String[] userInfoTemp = userInfo.split(":"); if (userInfoTemp.length == 2) { - s_logger.debug("libvirt secret information found. id: " + userInfoTemp[0] + " secret: " + userInfoTemp[1]); LibvirtSecretDef sd = new LibvirtSecretDef(usage.CEPH, uuid); Secret s = null; @@ -302,7 +301,7 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { } catch (LibvirtException l) { s_logger.debug("Failed to define secret with: " + l.toString()); } - } + } } spd = new LibvirtStoragePoolDef(poolType.RBD, uuid, uuid, host, port, path, userInfoTemp[0], authType.CEPH, uuid); } else { diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index d966e09d058..c068cde6222 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -140,6 +140,7 @@ public enum Config { SwiftEnable( "Advanced", ManagementServer.class, Boolean.class, "swift.enable", "false", "enable swift ", null), + EventPurgeInterval("Advanced", ManagementServer.class, Integer.class, "event.purge.interval", "86400", "The interval (in seconds) to wait before running the event purge thread", null), AccountCleanupInterval("Advanced", ManagementServer.class, Integer.class, "account.cleanup.interval", "86400", "The interval (in seconds) between cleanup for removed accounts", null), AllowPublicUserTemplates("Advanced", ManagementServer.class, Integer.class, "allow.public.user.templates", "true", "If false, users will not be able to create public templates.", null), InstanceName("Advanced", AgentManager.class, String.class, "instance.name", "VM", "Name of the deployment instance.", "instanceName"), diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index f1a73de5ef6..3b07707ef82 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -254,6 +254,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura private void populateConfigValuesForValidationSet() { configValuesForValidation = new HashSet(); + configValuesForValidation.add("event.purge.interval"); configValuesForValidation.add("account.cleanup.interval"); configValuesForValidation.add("alert.wait"); configValuesForValidation.add("consoleproxy.capacityscan.interval"); diff --git a/server/src/com/cloud/server/Criteria.java b/server/src/com/cloud/server/Criteria.java index 95a1539693b..3a1f740b774 100755 --- a/server/src/com/cloud/server/Criteria.java +++ b/server/src/com/cloud/server/Criteria.java @@ -79,6 +79,8 @@ public class Criteria { public static final String NETWORKID = "networkId"; public static final String HYPERVISOR = "hypervisor"; public static final String STORAGE_ID="storageid"; + public static final String TEMPLATE_ID = "templateid"; + public static final String ISO_ID = "isoid"; public Criteria(String orderBy, Boolean ascending, Long offset, Long limit) { this.offset = offset; diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 95fc0de4231..32ed37d3e8a 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -392,7 +392,7 @@ public class ManagementServerImpl implements ManagementServer { s_logger.error("Unable to find HostAllocators"); } - String value = _configs.get("account.cleanup.interval"); + String value = _configs.get("event.purge.interval"); int cleanup = NumbersUtil.parseInt(value, 60 * 60 * 24); // 1 day. _statsCollector = StatsCollector.getInstance(_configs); diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index 98509816ba2..95eb7f65c5e 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -1066,7 +1066,7 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V if (profile.getHypervisorType() == HypervisorType.Hyperv) { buf.append(" resource=com.cloud.storage.resource.CifsSecondaryStorageResource"); } else { - buf.append(" resource=com.cloud.storage.resource.NfsSecondaryStorageResource"); + buf.append(" resource=com.cloud.storage.resource.PremiumSecondaryStorageResource"); } } else { buf.append(" resource=com.cloud.storage.resource.NfsSecondaryStorageResource"); diff --git a/server/src/com/cloud/test/DatabaseConfig.java b/server/src/com/cloud/test/DatabaseConfig.java index 6c2f44fdcf5..a6aa094c80d 100755 --- a/server/src/com/cloud/test/DatabaseConfig.java +++ b/server/src/com/cloud/test/DatabaseConfig.java @@ -247,6 +247,7 @@ public class DatabaseConfig { s_configurationComponents.put("capacity.check.period", "management-server"); s_configurationComponents.put("network.throttling.rate", "management-server"); s_configurationComponents.put("multicast.throttling.rate", "management-server"); + s_configurationComponents.put("event.purge.interval", "management-server"); s_configurationComponents.put("account.cleanup.interval", "management-server"); s_configurationComponents.put("expunge.delay", "UserVmManager"); s_configurationComponents.put("expunge.interval", "UserVmManager"); @@ -330,6 +331,7 @@ public class DatabaseConfig { s_defaultConfigurationValues.put("restart.retry.interval", "600"); s_defaultConfigurationValues.put("investigate.retry.interval", "60"); s_defaultConfigurationValues.put("migrate.retry.interval", "120"); + s_defaultConfigurationValues.put("event.purge.interval", "86400"); s_defaultConfigurationValues.put("account.cleanup.interval", "86400"); s_defaultConfigurationValues.put("system.vm.use.local.storage", "false"); s_defaultConfigurationValues.put("use.local.storage", "false"); diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 32c1aa635cd..66c5fb41e30 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2973,6 +2973,8 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager c.addCriteria(Criteria.GROUPID, cmd.getGroupId()); c.addCriteria(Criteria.FOR_VIRTUAL_NETWORK, cmd.getForVirtualNetwork()); c.addCriteria(Criteria.NETWORKID, cmd.getNetworkId()); + c.addCriteria(Criteria.TEMPLATE_ID, cmd.getTemplateId()); + c.addCriteria(Criteria.ISO_ID, cmd.getIsoId()); if (domainId != null) { c.addCriteria(Criteria.DOMAINID, domainId); @@ -3022,6 +3024,8 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager Object networkId = c.getCriteria(Criteria.NETWORKID); Object hypervisor = c.getCriteria(Criteria.HYPERVISOR); Object storageId = c.getCriteria(Criteria.STORAGE_ID); + Object templateId = c.getCriteria(Criteria.TEMPLATE_ID); + Object isoId = c.getCriteria(Criteria.ISO_ID); sb.and("displayName", sb.entity().getDisplayName(), SearchCriteria.Op.LIKE); sb.and("id", sb.entity().getId(), SearchCriteria.Op.EQ); @@ -3034,6 +3038,8 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager sb.and("hypervisorType", sb.entity().getHypervisorType(), SearchCriteria.Op.EQ); sb.and("hostIdEQ", sb.entity().getHostId(), SearchCriteria.Op.EQ); sb.and("hostIdIN", sb.entity().getHostId(), SearchCriteria.Op.IN); + sb.and("templateId", sb.entity().getTemplateId(), SearchCriteria.Op.EQ); + sb.and("isoId", sb.entity().getTemplateId(), SearchCriteria.Op.EQ); if (groupId != null && (Long) groupId == -1) { SearchBuilder vmSearch = _groupVMMapDao.createSearchBuilder(); @@ -3108,6 +3114,14 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager sc.setParameters("id", id); } + if (templateId != null) { + sc.setParameters("templateId", templateId); + } + + if (isoId != null) { + sc.setParameters("isoId", isoId); + } + if (networkId != null) { sc.setJoinParameters("nicSearch", "networkId", networkId); } diff --git a/server/test/com/cloud/agent/manager/SearchCriteria2Test.java b/server/test/com/cloud/agent/manager/SearchCriteria2Test.java deleted file mode 100755 index 763c548eb4d..00000000000 --- a/server/test/com/cloud/agent/manager/SearchCriteria2Test.java +++ /dev/null @@ -1,99 +0,0 @@ -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. -package com.cloud.agent.manager; - -import java.util.List; - -import org.apache.log4j.Logger; -import org.junit.After; -import org.junit.Before; - -import com.cloud.host.Host; -import com.cloud.host.HostVO; -import com.cloud.host.Status; -import com.cloud.host.dao.HostDao; -import com.cloud.host.dao.HostDaoImpl; -import com.cloud.utils.component.ComponentLocator; -import com.cloud.utils.component.MockComponentLocator; -import com.cloud.utils.db.DbTestUtils; -import com.cloud.utils.db.SearchCriteria2; -import com.cloud.utils.db.SearchCriteria.Op; -import com.cloud.utils.db.SearchCriteriaService; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.dao.VMInstanceDao; -import com.cloud.vm.dao.VMInstanceDaoImpl; - -import junit.framework.TestCase; - -public class SearchCriteria2Test extends TestCase { - private static final Logger s_logger = Logger.getLogger(SearchCriteria2Test.class); - - @Override - @Before - public void setUp() throws Exception { - DbTestUtils.executeScript("cleanup.sql", false, true); - MockComponentLocator locator = new MockComponentLocator("management-server"); - locator.addDao("HostDao", HostDaoImpl.class); - locator.addDao("VmInstance", VMInstanceDaoImpl.class); - s_logger.debug("Finding sample data from 2.1.12"); - DbTestUtils.executeScript("fake", false, true); - } - - public void testSearch() { - ComponentLocator locator = ComponentLocator.getCurrentLocator(); - - HostDao _hostDao = locator.inject(HostDaoImpl.class); - VMInstanceDao _vmDao = locator.inject(VMInstanceDaoImpl.class); - - - s_logger.debug("Test seraching host:"); - SearchCriteriaService sc = SearchCriteria2.create(HostVO.class); - sc.addAnd(sc.getEntity().getStatus(), Op.EQ, Status.Disconnected); - List ups = sc.list(); - for (HostVO vo : ups) { - s_logger.info("Host id: " + vo.getId() + " is Disconnected"); - } - - SearchCriteriaService sc1 = SearchCriteria2.create(VMInstanceVO.class); - sc1.addAnd(sc1.getEntity().getState(), Op.EQ, VirtualMachine.State.Running); - List vms = sc1.list(); - for (VMInstanceVO vm : vms) { - s_logger.info("Vm name:" + vm.getInstanceName()); - } - - sc1 = SearchCriteria2.create(VMInstanceVO.class); - sc1.addAnd(sc1.getEntity().getInstanceName(), Op.EQ, "s-1-TEST"); - VMInstanceVO vo = sc1.find(); - s_logger.info("SSVM name is " + vo.getInstanceName()); - - SearchCriteriaService sc3 = SearchCriteria2.create(HostVO.class, Long.class); - sc3.selectField(sc3.getEntity().getId()); - sc3.addAnd(sc3.getEntity().getStatus(), Op.EQ, Status.Disconnected); - sc3.addAnd(sc3.getEntity().getType(), Op.EQ, Host.Type.Routing); - List hostIds = sc3.list(); - for (Long id : hostIds) { - s_logger.info("Host Id is " + id); - } - } - - @Override - @After - public void tearDown() throws Exception { - } - -} diff --git a/setup/db/db/schema-303to40.sql b/setup/db/db/schema-303to40.sql index 4ce8e65d1a2..39b52651a64 100644 --- a/setup/db/db/schema-303to40.sql +++ b/setup/db/db/schema-303to40.sql @@ -84,6 +84,5 @@ ALTER TABLE `cloud`.`hypervisor_capabilities` ADD COLUMN `max_data_volumes_limit SET SQL_SAFE_UPDATES=0; UPDATE `cloud`.`hypervisor_capabilities` SET `max_data_volumes_limit`=13 WHERE `hypervisor_type`='XenServer' AND (`hypervisor_version`='6.0' OR `hypervisor_version`='6.0.2'); SET SQL_SAFE_UPDATES=1; - - +INSERT INTO `cloud`.`configuration` (`category`, `instance`, `component`, `name`, `value`, `description`) VALUES ('Advanced', 'DEFAULT', 'management-server', 'event.purge.interval', '86400', 'The interval (in seconds) to wait before running the event purge thread'); diff --git a/tools/devcloud/README b/tools/devcloud/README index 49fc0866887..ef2bcc00574 100644 --- a/tools/devcloud/README +++ b/tools/devcloud/README @@ -1,6 +1,30 @@ -This folder contains various scripts used to build the devcloud image. +Licensed to the Apache Software Foundation (ASF) under one +or more contributor license agreements. See the NOTICE file +distributed with this work for additional information +regarding copyright ownership. The ASF licenses this file +to you under the Apache License, Version 2.0 (the +"License"); you may not use this file except in compliance +with the License. You may obtain a copy of the License at -Folders: -puppet - puppet conf files and module directories for the various build phases -vagrant - basic vagrant configuration for a devcloud box (and a puppet manifest to help configure the system to be a valid vagrant box) -ubuntu_install - ubuntu installation / initial configuration + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied. See the License for the +specific language governing permissions and limitations +under the License. + +=========================================================== + +NOTE - This folder is a work in progress. The project has not determined +how to best establish a nightly DevCloud build process, or how to distribute +the image. + +This folder contains various scripts used to build the devcloud image. +devcloudsetup.sh - the origional devcloud build script (assumes an Ubuntu 12.04 VM image) + +build_vagrant_basebox.sh - a script that uses VirtualBox, VeeWee, Vagrant (patched) and puppet to create a devcloud basebox +veewee - configuration files used to build a basic Ubuntu 12.04 vagrant box via VeeWee +basebuild - The Vagrantfile and puppet module that gets applied to the basic Ubuntu 12.04 box +devcloudbox - The Vagrantfile and puppet module that is used with the [hopefully] distributed devcloud base box diff --git a/tools/devcloud/basebuild/Vagrantfile b/tools/devcloud/basebuild/Vagrantfile index eee8127cd2f..bf7f2b6099a 100644 --- a/tools/devcloud/basebuild/Vagrantfile +++ b/tools/devcloud/basebuild/Vagrantfile @@ -19,7 +19,7 @@ # under the License. Vagrant::Config.run do |config| - config.vm.box = "devcloud" + config.vm.box = "devcloudbase" # TODO: Get a URL to host the base image # config.vm.box_url = "http://domain.com/path/to/above.box" config.vm.guest = :xen diff --git a/tools/devcloud/build_vagrant_basebox.sh b/tools/devcloud/build_vagrant_basebox.sh new file mode 100644 index 00000000000..478490c65f4 --- /dev/null +++ b/tools/devcloud/build_vagrant_basebox.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Assumes that rvm is installed and you have ruby 1.9.2 installed +# Assumes that you have virtual box installed +# Assumes that you have wget installed + +mkdir ~/builddevcloud +cd ~/builddevcloud +git clone https://github.com/jedi4ever/veewee.git +#TODO: We need to get this patched version of Vagrant to the upstream project +# or implement the desired changes to Vagrant as plugin modules and +# host it within the ASF git repo +git clone https://github.com/chipchilders/vagrant.git +export rvm_trust_rvmrcs_flag=1 +cd vagrant +bundle install +rake install +cd ../veewee +bundle install +rake install +vagrant basebox define 'devcloudbase' 'ubuntu-12.04-server-i386' +wget --no-check-certificate -O ./definitions/devcloudbase/definition.rb https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/definition.rb\;hb\=HEAD +wget --no-check-certificate -O ./definitions/devcloudbase/postinstall.sh https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/postinstall.sh\;hb\=HEAD +wget --no-check-certificate -O ./definitions/devcloudbase/preseed.cfg https://git-wip-us.apache.org/repos/asf\?p\=incubator-cloudstack.git\;a\=blob_plain\;f\=tools/devcloud/veewee/preseed.cfg\;hb\=HEAD +vagrant basebox build 'devcloudbase' -f -a -n +# possibly use -r here too ^ +vagrant basebox export 'devcloudbase' -f +vagrant basebox destroy 'devcloudbase' -f +vagrant box add 'devcloudbase' 'devcloudbase.box' -f +rm -f devcloudbase.box +cd ../vagrant +mkdir devcloudbase +cd devcloudbase +mkdir puppet-devcloudinitial +mkdir puppet-devcloudinitial/files +mkdir puppet-devcloudinitial/manifests +wget --no-check-certificate -O Vagrantfile https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/Vagrantfile;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/init.pp https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/init.pp;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/Modulefile https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/Modulefile;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/files/grub https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/grub;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/files/interfaces https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/interfaces;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/files/network.conf https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/network.conf;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/files/xen-defaults https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xen-defaults;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/files/xend https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/files/xend;hb=HEAD +wget --no-check-certificate -O puppet-devcloudinitial/manifests/init.pp https://git-wip-us.apache.org/repos/asf?p=incubator-cloudstack.git;a=blob_plain;f=tools/devcloud/basebuild/puppet-devcloudinitial/manifests/init.pp;hb=HEAD +vagrant up +vagrant halt +cd .. + diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js index c2a59ea2157..345f4563dac 100644 --- a/ui/scripts/instances.js +++ b/ui/scripts/instances.js @@ -1321,7 +1321,7 @@ } } else if (jsonObj.state == 'Starting') { - allowedActions.push("stop"); + // allowedActions.push("stop"); } else if (jsonObj.state == 'Error') { allowedActions.push("destroy"); diff --git a/ui/scripts/system.js b/ui/scripts/system.js index c76be57b128..b80fa905c00 100644 --- a/ui/scripts/system.js +++ b/ui/scripts/system.js @@ -120,7 +120,8 @@ trafficType.kvmnetworklabel = dictionary['label.network.label.display.for.blank.value']; if(trafficType.vmwarenetworklabel == null || trafficType.vmwarenetworklabel == 0) trafficType.vmwarenetworklabel = dictionary['label.network.label.display.for.blank.value']; - + if(trafficType.ovmnetworklabel == null || trafficType.ovmnetworklabel == 0) + trafficType.ovmnetworklabel = dictionary['label.network.label.display.for.blank.value']; return trafficType; }; @@ -132,7 +133,8 @@ array1.push("&kvmnetworklabel=" + labels.kvmnetworklabel); if(labels.vmwarenetworklabel != dictionary['label.network.label.display.for.blank.value']) array1.push("&vmwarenetworklabel=" + labels.vmwarenetworklabel); - + if(labels.ovmnetworklabel != dictionary['label.network.label.display.for.blank.value']) + array1.push("&ovmnetworklabel=" + labels.ovmnetworklabel); $.ajax({ url: createURL('updateTrafficType' + array1.join("")), data: { @@ -409,7 +411,8 @@ { xennetworklabel: { label: 'label.xen.traffic.label', isEditable: true }, kvmnetworklabel: { label: 'label.kvm.traffic.label', isEditable: true }, - vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true } + vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true }, + ovmnetworklabel: { label: 'OVM traffic label',isEditable: true } } ], @@ -428,6 +431,7 @@ selectedPublicNetworkObj.xennetworklabel = trafficType.xennetworklabel; selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel; selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel; + selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; args.response.success({data: selectedPublicNetworkObj}); } @@ -580,7 +584,8 @@ { xennetworklabel: { label: 'label.xen.traffic.label', isEditable: true }, kvmnetworklabel: { label: 'label.kvm.traffic.label', isEditable: true }, - vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true } + vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true }, + ovmnetworklabel: { label: 'OVM traffic label', isEditable: true } } ], @@ -597,6 +602,7 @@ selectedPublicNetworkObj.xennetworklabel = trafficType.xennetworklabel; selectedPublicNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel; selectedPublicNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel; + selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; args.response.success({data: selectedPublicNetworkObj}); } @@ -737,7 +743,8 @@ { xennetworklabel: { label: 'label.xen.traffic.label', isEditable: true }, kvmnetworklabel: { label: 'label.kvm.traffic.label', isEditable: true }, - vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true } + vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true }, + ovmnetworklabel: { label: 'OVM traffic label', isEditable: true } } ], dataProvider: function(args) { @@ -752,7 +759,7 @@ selectedManagementNetworkObj.xennetworklabel = trafficType.xennetworklabel; selectedManagementNetworkObj.kvmnetworklabel = trafficType.kvmnetworklabel; selectedManagementNetworkObj.vmwarenetworklabel = trafficType.vmwarenetworklabel; - + selectedPublicNetworkObj.ovmnetworklabel = trafficType.ovmnetworklabel; args.response.success({ data: selectedManagementNetworkObj }); } }); @@ -869,7 +876,8 @@ { //updateTrafficType API xennetworklabel: { label: 'label.xen.traffic.label', isEditable: true }, kvmnetworklabel: { label: 'label.kvm.traffic.label', isEditable: true }, - vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true } + vmwarenetworklabel: { label: 'label.vmware.traffic.label', isEditable: true }, + ovmnetworklabel: { label: 'OVM traffic label', isEditable: true } } ], dataProvider: function(args) { //physical network + Guest traffic type @@ -904,6 +912,7 @@ selectedPhysicalNetworkObj["xennetworklabel"] = trafficType.xennetworklabel; selectedPhysicalNetworkObj["kvmnetworklabel"] = trafficType.kvmnetworklabel; selectedPhysicalNetworkObj["vmwarenetworklabel"] = trafficType.vmwarenetworklabel; + selectedPhysicalNetworkObj["ovmnetworklabel"] = trafficType.ovmnetworklabel; args.response.success({ actionFilter: function() {