-
Notifications
You must be signed in to change notification settings - Fork 8
Platform Deployment on OpenStack
We constantly strive to make TAP deployment easier and more resilient to physical environment differences. Currently, TAP validated prerequisites include:
- Kilo (RedHat) or Juno (Mirantis 6.0) OpenStack
- Mirantis 6.0 ships with Openstack 2014.2.1, which requires workarounds
- Tenant with at least: 128vCPU, 256GB RAM, 2TB for Root, 2TB for Volumes
- Networking (neutron) configured with dedicated 4 floating IPs (not limited to random DHCP)
- 4 NICs per machine are needed with GRE networking
- Due to extensive testing GRE networking is highly recommended
- 1 domain (internal OK)
- Ability to access the following domains (proxy OK)
*.amazonaws.com
*.bintray.com
*.cloudera.com
*.github.com
*.githubusercontent.com
*.oracle.com
*.ubuntu.com
*.zabbix.com
*.gotapaas.eu
*.bosh.io
*.docker.io
*.rvm.io
*.cloudfront.net
*.fastly.net
*.gnupg.net
*.centos.org
*.fedoraproject.org
*.python.org
*.rubygems.org
*.travis-ci.org
*.rubini.us
The detailed installation procedure for Mirantis OpenStack, along with possible problem resolutions can be found here.
- OpenStack is up and running, with Ubuntu/Centos images uploaded.
wget https://s3-us-west-1.amazonaws.com/openstack-images-dp2/centos-6-x86_64.qcow2 -O centos-6.qcow2
wget https://s3-us-west-1.amazonaws.com/openstack-images-dp2/trusty-server-cloudingimg-amd64-disk1.img -O ubuntu-trusty.img
- Log on with admin rights.
- Change default flavor setting (memory) of Openstack. (follow http://docs.openstack.org/user-guide-admin/cli_manage_flavors.html)
- Go to the identity panel and create a new project.
- In Project members, add the user account you are currently using with member and admin permissions.
- Set all quotas in the Quota tab. Minimum quotas for Trusted Analytics platform: 25 volumes, 2 TB disk size. You can set “-1” for maximum size of cluster. After creating the new project, copy the project ID and save it in any editor. You will need it later.
- Go to the Identity panel and create a new user (for example, use deploymentacc with password; e-mail address is not required) and add this user to your created project with member permissions.
- Log on to your deployment account, go to the Project > Network > Network topology tab. Open Firebug (or any other tool) and select the network element. Find the ID, which should look like this:
id_6e6058c8-4669-4b57-b787-9c19adecc3d2
- Copy the ID without "id_" prefix (ie: 6e6058c8-4669-4b57-b787-9c19adecc3d2) to a file with the project ID and copy the name of the network.
- The last thing you need is the IP address of the identity API. You can find it in Project > Compute > Access & security > API access. Copy the IP address to a file with the project ID. The IP address will look like this:
http://10.91.120.12:5000/v2.0
For the first time please follow instructions from here: https://github.com/trustedanalytics/platform-wiki/wiki/Platform-Deployment-Procedure-local-setup
git clone [email protected]:trustedanalytics/terraform-openstack-intel.git
cd terraform-openstack-intel
cp terraform.tfvars.example terraform.tfvars
You will need to create keys for CDH and Jumpbox. You can make it by using the ssh-keygen command. Use any editor you like to edit the terraform.tfvars file.
1 auth_url="{ip of API}"
2 tenant_name="{name of your project}"
3 tenant_id="{id of your project – from step 1}"
4 username="{account you created with members privileges}"
5 password="{password to account}"
6 jumpbox_public_key_path="{public jumpbox key}"
7 jumpbox_key_path="{public jumpbox key}"
8 cdh_key_path="{public jumpbox key}"
9 cdh_public_key_path="{public jumpbox key}"
10 floating_ip_pool="{name of network}"
11 network_external_id="{id of network}"
12 region="RegionOne"
13 worker_size=3 # set worker size you want to have for cloudera
14 master_size=3 # set master size you want to have for cloudera
15 ansible_repo_path="{path to terraform-openstack-intel}" # i.e. $HOME/openstack/terraform-openstack-intel/
16 ubuntu_image_name="ubuntu-trusty" #changes with every deploy
17 centos_image_name="centos-6" # changes with every deploy
18 http_proxy="{set proxy}" # comment if not needed
19 https_proxy="{set proxy}" # comment if not needed
20 dns1="{dns server}" # comment if not needed
21 dns2=”{dns server}" # comment if not needed
After you set all variables, run the following:
make update
make plan
make apply
make provision
Because OpenStack resources aren’t always available when requested, don’t panic if an error occurs while the make apply or make provision commands execute. Just run the command again.
Follow the instructions from this document: https://github.com/trustedanalytics/platform-wiki/wiki/Platform-Deployment-Procedure:-bosh-deployment