{"id":524,"date":"2016-12-09T20:43:15","date_gmt":"2016-12-09T15:13:15","guid":{"rendered":"http:\/\/itechgenie.com\/myblog\/?p=524"},"modified":"2016-12-09T20:43:15","modified_gmt":"2016-12-09T15:13:15","slug":"installing-openstack-on-aws","status":"publish","type":"post","link":"https:\/\/itechgenie.com\/myblog\/2016\/12\/installing-openstack-on-aws\/","title":{"rendered":"Installing OpenStack on AWS"},"content":{"rendered":"<p>1. Prerequisites &#8211; Minimal requirements for hosting in AWS, but not limited to:<\/p>\n<ul>\n<li>Ubuntu Server 14.04.3 LTS &#8211; 64bit<\/li>\n<li>Minimum 2VCPU &#8211; Cores<\/li>\n<li>Minimum 8 GB RAM for just OpenStack (m4.large), Minimum 16 GB RAM for Sahara and clustering (m4.xlarge)<\/li>\n<li>Atleast 40 GB of diskspace<\/li>\n<\/ul>\n<p>2. Install Ubuntu if you dont have one<\/p>\n<p>3. Verify installed version using<\/p>\n<pre class=\"lang:sh decode:true \">lsb_release -d\r\nfree -m\r\ndf -h<\/pre>\n<p>4.\u00a0Update to the latest binaries<\/p>\n<pre class=\"lang:sh decode:true \">sudo apt-get update<\/pre>\n<p>5.\u00a0Create a SUDO user &#8211; alternatively you can use the \/devstack\/tools\/create-stack-user.sh to create a user after step 8<\/p>\n<pre class=\"lang:default decode:true\">sudo -i\r\nadduser stack\t\t\t\r\n\tEnter new UNIX password:\r\n\tRetype new UNIX password:\r\n\tpasswd: password updated successfully\r\n\tChanging the user information for username\r\n\tEnter the new value, or press ENTER for the default\r\n\tFull Name []:stack\r\n\tRoom Number []:\r\n\tWork Phone []:\r\n\tHome Phone []:\r\n\tOther []:\r\n\tIs the information correct? [Y\/n] Y<\/pre>\n<p>6. Add user to SUDOERs group<\/p>\n<pre class=\"lang:sh decode:true \">usermod -aG sudo stack \r\necho \"stack ALL=(ALL) NOPASSWD: ALL\" &gt;&gt; \/etc\/sudoers<\/pre>\n<p>7.\u00a0Switch to the new stack user<\/p>\n<pre class=\"lang:sh decode:true \">su - stack\r\ncheck if the user can do sudo operations without password prompts\r\nsudo ls -la \/root<\/pre>\n<p>8. Switch to user home and install GIT and checkout devstack<\/p>\n<pre class=\"lang:sh decode:true \">cd ~\r\nsudo apt-get install git\r\ngit clone https:\/\/github.com\/openstack-dev\/devstack<\/pre>\n<p>9.\u00a0Configure devstack &#8211; update local.config and move to \/devstack<\/p>\n<pre class=\"lang:sh decode:true \">cd \/devstack\r\ncp sample\/local.conf .<\/pre>\n<p>*\u00a0Update the passwords for the accounts<\/p>\n<pre class=\"lang:sh decode:true \">ADMIN_PASSWORD=St@ckNewPwd1\r\nDATABASE_PASSWORD=St@ckNewPwd1\r\nRABBIT_PASSWORD=St@ckNewPwd1\r\nSERVICE_PASSWORD=St@ckNewPwd1<\/pre>\n<p>*\u00a0If you are running on a physical machine with a static IP you can update the following property. On AWS its better to leave it commented as the local IP will be changed on each restart, unless the Elastic IP is assigned to the instance<\/p>\n<pre class=\"lang:sh decode:true \">HOST_IP=172.31.26.172<\/pre>\n<p>* And add the following line at the end of the file. These entries will add the Sahara plugin (Data Processing) in OpenStack UI<\/p>\n<pre class=\"lang:sh decode:true\">echo \"enable_plugin sahara git:\/\/github.com\/openstack\/sahara\" &gt;&gt; local.conf\r\necho \"enable_plugin sahara-dashboard git:\/\/github.com\/openstack\/sahara-dashboard\" &gt;&gt; local.conf\r\necho \"enable_plugin ceilometer git:\/\/github.com\/openstack\/ceilometer\" &gt;&gt; local.conf<\/pre>\n<p>10. Start the stack services<\/p>\n<pre class=\"lang:sh decode:true \">.\/stack.sh<\/pre>\n<p>* This takes up sometime and logs will be available at \/opt\/stack\/logs. On successful completion you will find details something similar as below.<\/p>\n<pre class=\"lang:sh decode:true\">=========================\r\nDevStack Component Timing\r\n=========================\r\nTotal runtime         1169\r\nrun_process            57\r\ntest_with_retry         3\r\napt-get-update          3\r\npip_install           299\r\nrestart_apache_server  10\r\nwait_for_service       11\r\ngit_timed             244\r\napt-get                69\r\n=========================\r\n\r\nThis is your host IP address: 172.31.26.172\r\nThis is your host IPv6 address: ::1\r\nHorizon is now available at http:\/\/172.31.26.172\/dashboard\r\nKeystone is serving at http:\/\/172.31.26.172\/identity\/\r\nThe default users are: admin and demo\r\nThe password: St@ckNewPwd1\r\nstack@ip-172-31-26-172:~\/devstack$<\/pre>\n<p>11.\u00a0To access the dashboard hit http:\/\/172.31.26.172\/dashboard in browser (with the ip as displayed in the above step). If you are running in local PC you can directly access with the above url. But if you are running on AWS, this is the internal IP and will not be available to the outside world. In this case, allow HTTP access on 80 port for the outside world and access the service with the Public IP or DNS hostname allocated to your instance. This in my case http:\/\/54.23.123.43\/dashboard.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. Prerequisites &#8211; Minimal requirements for hosting in AWS, but not limited to: Ubuntu Server 14.04.3 LTS &#8211; 64bit Minimum 2VCPU &#8211; Cores Minimum 8 GB RAM for just OpenStack (m4.large), Minimum 16 GB RAM for Sahara and clustering (m4.xlarge) Atleast 40 GB of diskspace 2. Install Ubuntu if you dont have one 3. Verify &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/itechgenie.com\/myblog\/2016\/12\/installing-openstack-on-aws\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Installing OpenStack on AWS&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[101],"tags":[75,76,103,82,102,53,84],"class_list":["post-524","post","type-post","status-publish","format-standard","hentry","category-aws","tag-amazon","tag-aws","tag-installation","tag-open-source","tag-openstack","tag-tips-tricks","tag-web-services"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2HHtz-8s","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/posts\/524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/comments?post=524"}],"version-history":[{"count":3,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/posts\/524\/revisions"}],"predecessor-version":[{"id":527,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/posts\/524\/revisions\/527"}],"wp:attachment":[{"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/media?parent=524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/categories?post=524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itechgenie.com\/myblog\/wp-json\/wp\/v2\/tags?post=524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}