diff --git a/docs/en-US/about-regions.xml b/docs/en-US/about-regions.xml new file mode 100644 index 00000000000..432faeb6c5e --- /dev/null +++ b/docs/en-US/about-regions.xml @@ -0,0 +1,49 @@ + + +%BOOK_ENTITIES; +]> + + +
+ About Regions + To increase reliability of the cloud, you can optionally group resources into multiple geographic regions. + A region is the largest available organizational unit within a &PRODUCT; deployment. + A region is made up of several availability zones, where each zone is roughly equivalent to a datacenter. + Each region is controlled by its own cluster of Management Servers, running in one of the zones. + The zones in a region are typically located in close geographical proximity. + Regions are a useful technique for providing fault tolerance and disaster recovery. + By grouping zones into regions, the cloud can achieve higher availability and scalability. + User accounts can span regions, so that users can deploy VMs in multiple, widely-dispersed regions. + Even if one of the regions becomes unavailable, the services are still available to the end-user through VMs deployed in another region. + And by grouping communities of zones under their own nearby Management Servers, the latency of communications within the cloud is reduced + compared to managing widely-dispersed zones from a single central Management Server. + + + Usage records can also be consolidated and tracked at the region level, creating reports or invoices for each geographic region. + + + + + + region-overview.png: Nested structure of a region. + + Regions are visible to the end user. When a user starts a guest VM, the user must select a region for their guest. + Users might also be required to copy their private templates to additional regions to enable creation of guest VMs using their templates in those regions. +
\ No newline at end of file diff --git a/docs/en-US/about-zones.xml b/docs/en-US/about-zones.xml index 5385df05088..8f6cd06e6d9 100644 --- a/docs/en-US/about-zones.xml +++ b/docs/en-US/about-zones.xml @@ -23,7 +23,12 @@ -->
About Zones - A zone is the largest organizational unit within a &PRODUCT; deployment. A zone typically corresponds to a single datacenter, although it is permissible to have multiple zones in a datacenter. The benefit of organizing infrastructure into zones is to provide physical isolation and redundancy. For example, each zone can have its own power supply and network uplink, and the zones can be widely separated geographically (though this is not required). + A zone is the second largest organizational unit within a &PRODUCT; deployment. A zone + typically corresponds to a single datacenter, although it is permissible to have multiple + zones in a datacenter. The benefit of organizing infrastructure into zones is to provide + physical isolation and redundancy. For example, each zone can have its own power supply and + network uplink, and the zones can be widely separated geographically (though this is not + required). A zone consists of: One or more pods. Each pod contains one or more clusters of hosts and one or more primary storage servers. @@ -46,5 +51,6 @@ How many primary storage servers to place in each cluster and total capacity for the storage servers. How much secondary storage to deploy in a zone. - When you add a new zone, you will be prompted to configure the zone’s physical network and add the first pod, cluster, host, primary storage, and secondary storage. + When you add a new zone using the &PRODUCT; UI, you will be prompted to configure the zone’s physical network + and add the first pod, cluster, host, primary storage, and secondary storage.
diff --git a/docs/en-US/added-API-commands-4-1.xml b/docs/en-US/added-API-commands-4-1.xml index aa5529e41ff..0beb104cfe0 100644 --- a/docs/en-US/added-API-commands-4-1.xml +++ b/docs/en-US/added-API-commands-4-1.xml @@ -19,7 +19,7 @@ under the License. -->
- Added API Commands in 4.1-incubating + Added API Commands in 4.1 createEgressFirewallRules (creates an egress firewall rule on the guest network.) @@ -65,5 +65,10 @@ getUser (This API can only be used by the Admin. Get user details by using the API Key.) + addRegion (Add a region) + removeRegion (Delete a region) + updateRegion (Modify attributes of a region) + listRegions (List regions) +
diff --git a/docs/en-US/changed-apicommands-4.1.xml b/docs/en-US/changed-apicommands-4.1.xml index 13553fdf336..1667aafaa22 100644 --- a/docs/en-US/changed-apicommands-4.1.xml +++ b/docs/en-US/changed-apicommands-4.1.xml @@ -19,7 +19,7 @@ under the License. -->
- Changed API Commands in 4.1-incubating + Changed API Commands in 4.1 @@ -232,9 +232,21 @@ listZones - The following request parameters is added: securitygroupenabled + The following request parameter is added: securitygroupenabled + + createAccount + The following new request parameters are added: accountid, userid + + + createUser + The following new request parameter is added: userid + + + createDomain + The following new request parameter is added: domainid + diff --git a/docs/en-US/cloud-infrastructure-concepts.xml b/docs/en-US/cloud-infrastructure-concepts.xml index 7a7098a4b47..2ba228aa4dd 100644 --- a/docs/en-US/cloud-infrastructure-concepts.xml +++ b/docs/en-US/cloud-infrastructure-concepts.xml @@ -23,7 +23,8 @@ --> - Cloud Infrastructure Concepts + Cloud Infrastructure Concepts + diff --git a/docs/en-US/images/region-overview.png b/docs/en-US/images/region-overview.png new file mode 100644 index 00000000000..528445c9d89 Binary files /dev/null and b/docs/en-US/images/region-overview.png differ diff --git a/docs/en-US/provisioning-steps-overview.xml b/docs/en-US/provisioning-steps-overview.xml index daf2cfc9d9b..5fb61963b4b 100644 --- a/docs/en-US/provisioning-steps-overview.xml +++ b/docs/en-US/provisioning-steps-overview.xml @@ -26,12 +26,13 @@ After the Management Server is installed and running, you can add the compute resources for it to manage. For an overview of how a &PRODUCT; cloud infrastructure is organized, see . To provision the cloud infrastructure, or to scale it up at any time, follow these procedures: - Add a zone. See . - Add more pods (optional). See . - Add more clusters (optional). See . - Add more hosts (optional). See . - Add primary storage. See . - Add secondary storage. See . + Define regions (optional). See . + Add a zone to the region. See . + Add more pods to the zone (optional). See . + Add more clusters to the pod (optional). See . + Add more hosts to the cluster (optional). See . + Add primary storage to the cluster. See . + Add secondary storage to the zone. See . Initialize and test the new cloud. See . When you have finished these steps, you will have a deployment with the following basic structure: diff --git a/docs/en-US/provisioning-steps.xml b/docs/en-US/provisioning-steps.xml index 8777b02df13..04ece13938e 100644 --- a/docs/en-US/provisioning-steps.xml +++ b/docs/en-US/provisioning-steps.xml @@ -23,8 +23,9 @@ --> Steps to Provisioning Your Cloud Infrastructure - This section tells how to add zones, pods, clusters, hosts, storage, and networks to your cloud. If you are unfamiliar with these entities, please begin by looking through . + This section tells how to add regions, zones, pods, clusters, hosts, storage, and networks to your cloud. If you are unfamiliar with these entities, please begin by looking through . + diff --git a/docs/en-US/region-add.xml b/docs/en-US/region-add.xml new file mode 100644 index 00000000000..a8919949d4b --- /dev/null +++ b/docs/en-US/region-add.xml @@ -0,0 +1,128 @@ + + +%BOOK_ENTITIES; +]> + + + +
+ Adding Regions (optional) + Grouping your cloud resources into geographic regions is an optional step when provisioning the cloud. + For an overview of regions, see . +
+ The First Region: The Default Region + If you do not take action to define regions, then all the zones in your cloud will be + automatically grouped into a single default region. This region is assigned the region + ID of 1. + You can change the name or URL of the default region by using the API command updateRegion. For example: + http://<IP_of_Management_Server>:8080/client/api?command=updateRegion&id=1&name=Northern&endpoint=http://<region_1_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D +
+
+ Adding a Region + Use these steps to add a second region in addition to the default region. + + Each region has its own &PRODUCT; instance. Therefore, the first step of creating a new region + is to install the Management Server software, on one or more nodes, in the + geographic area where you want to set up the new region. Use the steps in the + Installation guide. When you come to the step where you set up the database, use + the additional command-line flag -r <region_id> to set a + region ID for the new region. The default region is automatically assigned a + region ID of 1, so your first additional region might be region 2. + cloud-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> + + By the end of the installation procedure, the Management Server should have been started. Be sure that the Management Server installation was successful and complete. + Add region 2 to region 1. Use the API command addRegion. (For information about how to make an API call, see the Developer's Guide.) + http://<IP_of_region_1_Management_Server>:8080/client/api?command=addRegion&id=2&name=Western&endpoint=http://<region_2_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + + Now perform the same command in reverse, adding region 1 to region 2. + http://<IP_of_region_2_Management_Server>:8080/client/api?command=addRegion&id=2&name=Western&endpoint=http://<region_1_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + + Copy the account, user, and domain tables from the region 1 database to the region 2 database. + In the following commands, it is assumed that you have set the root password on the + database, which is a &PRODUCT; recommended best practice. Substitute your own MySQL + root password. + + First, run this command to copy the contents of the database: + # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql + + Then run this command to put the data onto the region 2 database: + # mysql -u root -p<mysql_password> -h <region2_db_host> cloud < region1.sql + + + + Remove project accounts. Run these commands on the region 2 database: + mysql> delete from account where type = 5; + + Set the default zone as null: + mysql> update account set default_zone_id = null; + + Restart the Management Servers in region 2. + +
+
+ Adding Third and Subsequent Regions + To add the third region, and subsequent additional regions, the steps are similar to those for adding the second region. + However, you must repeat certain steps additional times for each additional region: + + Install &PRODUCT; in each additional region. Set the region ID for each region during the database setup step. + cloud-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id> + Once the Management Server is running, add your new region to all existing regions by + repeatedly calling the API command addRegion. For example, if you were adding + region 3: + http://<IP_of_region_1_Management_Server>:8080/client/api?command=addRegion&id=3&name=Eastern&endpoint=http://<region_3_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + +http://<IP_of_region_2_Management_Server>:8080/client/api?command=addRegion&id=3&name=Eastern&endpoint=http://<region_3_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + Repeat the procedure in reverse to add all existing regions to the new region. For example, + for the third region, add the other two existing regions: + http://<IP_of_region_3_Management_Server>:8080/client/api?command=addRegion&id=1&name=Northern&endpoint=http://<region_1_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + +http://<IP_of_region_3_Management_Server>:8080/client/api?command=addRegion&id=2&name=Western&endpoint=http://<region_2_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + Copy the account, user, and domain tables from any existing region's database to the new + region's database. + In the following commands, it is assumed that you have set the root password on the + database, which is a &PRODUCT; recommended best practice. Substitute your own MySQL + root password. + + First, run this command to copy the contents of the database: + # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql + + Then run this command to put the data onto the new region's database. For example, for region + 3: + # mysql -u root -p<mysql_password> -h <region3_db_host> cloud < region1.sql + + + + Remove project accounts. Run these commands on the region 2 database: + mysql> delete from account where type = 5; + + Set the default zone as null: + mysql> update account set default_zone_id = null; + + Restart the Management Servers in the new region. + +
+
+ Deleting a Region + To delete a region, use the API command removeRegion. Repeat the call to remove the region from all other regions. For example, to remove the 3rd region in a three-region cloud: + http://<IP_of_region_1_Management_Server>:8080/client/api?command=removeRegion&id=3&name=Eastern&endpoint=http://<region_3_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D + +http://<IP_of_region_2_Management_Server>:8080/client/api?command=removeRegion&id=3&name=Eastern&endpoint=http://<region_3_IP_address_here>:8080/client&apiKey=miVr6X7u6bN_sdahOBpjNejPgEsT35eXq-jB8CG20YI3yaxXcgpyuaIRmFI_EJTVwZ0nUkkJbPmY3y2bciKwFQ&signature=Lxx1DM40AjcXU%2FcaiK8RAP0O1hU%3D +
+
\ No newline at end of file