Certified OpenStack Administration (COA) ? Gimana cara dapetinnya?

Assalamualaikum,

Akhir-akhir ini saya sering ditanya oleh beberapa rekan baik secara langsung maupun di dunia maya, mereka banyak yang japri ke saya dan bertanya mengenai gimana sih caranya dapetin Certified OpenStack Administrator. Oh iya, mungkin bagi temen-temen yang ga tau/ ga ngerti atau malah baru pertama kali denger apa itu OpenStack mungkin bisa dilihat postingan saya sebelum-sebelumnya mengenai OpenStack. Maaf yaa bukannya saya ga mau jelasin nih hehe. Tapi postingan saya kali ini ingin lebih fokus mengarah tentang bagaimana caranya dapetin Certified OpenStack Administrator (COA).

Ya sebelumnya akan saya jelaskan mengenai apa sih itu COA? COA sendiri merupakan sertifikat yang dikeluarkan oleh Linux Foundation kepada kandidat ujian OpenStack Administration yang udah lulus. Ujian COA bisa ditempuh oleh seorang SysAdmin yang merasa telah memiliki skill dalam menjalankan administrasi cloud khususnya dengan OpenStack.

Menurut website dari openstack.org disebutkan bahwa untuk mengikuti ujian ini, diharapkan peserta setidaknya sudah memiliki pengalaman dengan OpenStack kurang lebih selama 6 bulan. Yaaa itu sih hanya rekomendasi, kalaupun temen-temen merasa sudah siap buat ujian sih ya sah-sah aja hehe. Sebenarnya ada vendor lain yang menawarkan tentang sertifikasi yang serupa dengan COA ini, mungkin temen-temen bisa mencarinya sendiri di Internet.

Terus keuntungan dari memiliki COA ini apa? ya tentunya sama dengan sertifikat Internasional yang dikeluarkan oleh lembaga lain seperti Cisco, MikroTik, Microsoft, VMware dll. yaitu kesempatan kita untuk meraih pengakuan bahwa kita eligible untuk kerja di dunia professional IT. Khususnya cloud dan OpenStack. Sedikit hal-hal yang menarik mengenai ujian COA adalah sebagai berikut :

  1. Ujiannya itu berbasis performance based test, yang artinya kita akan diminta untuk mengerjakan soal dalam bentuk praktek.
  2. Biaya ujiannya saat tulisan ini dibuat yaitu $300 USD.
  3. Trus ujiannya boleh dilakukan dimanapun dengan syarat ruangan harus memiliki akses internet dan tertutup. Steril dari gangguan orang lain hehe.
  4. Ujiannya itu ada 2 kesempatan. Jadi kalo kalian fail pada ujian pertama, kalian masih bisa mengulang secara gratis. Maksimal 1 tahun dari tanggal kalian booking ujian.
  5. Nantinya pada saat ujian, kita akan di proctorin oleh orang dari OpenStack melalui webcam, screen sharing dan sound komputer. Ya sudah pasti disini kalo ada tindakan yang mencurigakan selama ujian kita bisa dapet teguran atau mungkin bisa sampe di diskualifikasi. *serem*.
  6. Waktu ujiannya selama 2.5 jam, minimal nilai buat lulus itu 76%.
  7. Oh iya hasil ujian akan diumumkan melalui email dengan laporan nilai maksimal 3 hari dari hari kita mengambil ujian.

Apabila kalian berhasil melewati ujian dengan lancar dan kemudian dinyatakan lulus. Kalian pasti akan mendapatkan email seperti ini hehe.

Dan setelah itu, ketika kalian mengecek akun OpenStack kalian, maka kalian bisa mendownload sertifikat kalian seperti ini.

Itu sekilas info mengenai ujian COA. Tenaaang, disini saya akan bagikan mengenai sedikit tips and trik agar temen-temen yang ingin ujian bisa lulus COA.

  1. Belajarlah dengan keras.
    Banyakin latihan terus menerus, cari sumber referensi kemudian praktekan kembali hingga seluruh objective exam yang diberikan oleh OpenStack yakin telah terpelajari semua. Requirement ujiannya bisa dilihat disini https://www.openstack.org/coa/requirements/. Kalo pun kesulitan dalam belajar, kalian bisa mengikuti training OpenStack baik itu official maupun unofficial. Buat kalian nih yang ingin mengikuti training OpenStack, juga bisa daftar di ID-Networkers ini link nya http://idn.id/training/openstack-cloud-development/. InsyaAllah nanti saya langsung yang ngajarin hehe *promosi dikit yaaa hahaha*. Dan kalaupun kalian belum bisa ikut training karena mungkin ga ada waktu atau kesulitan dibiayanya, kalian juga bisa liat video di Youtube mengenai ujian dan latihan buat COA. Nih saya kasih sedikit referensi :
    Stephen Smith – Prepping for the OpenStack Administrator Exam
    The Test Takers Guide to the Certified OpenStack AdministratorNah, selain video kalian juga bisa belajar dengan membeli buku di Internet atau di ID-Networkers juga ada. Ada beberapa buku yang saya sarankan untuk dibeli bagi temen-temen yang ingin belajar.
    1. OpenStack Cloud Administration – Hugo Irwanto, ID-Networkers. Bisa dibeli disini yaaa hehe https://www.tokopedia.com/tokoidn/buku-openstack-cloud-administration
    2. Preparing for the Certified OpenStack Administrator Exam – Karya Om Matt Dorn.
    3. Certified OpenStack Administrator Study Guide – Karya Om Andrey Markelov.Btw itu bukan endorse yaa, saya sudah beli dan saya baca memang isinya mantep-mantep semua hehe. Ya intinya darimanapun resource belajar kalian yang penting bisa menunjang buat lulus ujian COA.
  2. Bayar ujian.
    Nah ini terpenting nih, ga ada artinya kalian udah belajar mati-matian tapi ga beli-beli ujian ya sama aja boong -__-“. Segera bayar ujian dan tentukan tanggal ujian kalian. Daftar dan bookingnya bisa disini http://openstack.org/coa/.
  3. Pastikan hardware yang kalian gunakan buat ujian memenuhi kebutuhannya yaa, berikut adalah requirement listnya yang saya kutip dari bukunya Om Matt Dorn.
  4. Siapkan kartu identitas diri.
    Jadi siapkanlah KTP, SIM, Paspor atau identitas yang lainnya sebelum ujian, soalnya nanti ketika ujian mau dimulai kalian akan diminta untuk menunjukan identitas diri sebagai validasi bahwa itu beneran kalian hehe.
  5. AMBIL UJIAN.
    Hehe sorry kalo capslock jebol, ya ini adalah langkah terakhir, kalo kalian merasa sudah yakin bahwa siap untuk ujian. Silahkan segera diambil. Tenaaaang kalo pun fail, kalian masih punya second shoot. Tapi inget, saranku kalo mau ambil second shoot jangan lama-lama dari ujian pertama. Soalnya soal yg akan keluar pas diujian kedua, biasanya mirip-mirip dengan yang pertama.

Ya itulah sedikit cerita mengenai Exam Certified OpenStack Administrator. Semoga kalian semua yang mencoba ambil ujian ini bisa lulus dengan nilai yang memuaskan.

Terima kasih,

Salam.

Instalasi Devstack Pada Ubuntu 14.04 Server

Instalasi Devstack Pada Ubuntu 14.04 Server

Harap perhatikan simbol user root (#) dan simbol user biasa ($)

STEP 1 – Buat User

adduser stack

STEP 2 – Mengatur User Stack dapat Menjalankan Service Sudo

nano /etc/sudoers

stack ALL=(ALL:ALL)ALL

STEP 3 – Login Sebagai User Stack

Logout dulu, cara logoutnya tinggal ketik perintah

$ exit

Sampai halaman loginnya lagi

STEP 5 – Update Repository

Jadi, jika internet yang kamu pakai tidak stabil saya sarankan ganti repository yang ada di Indonesia aja (lokal repositori) karena keseringan pada saat update repository suka internetnya 0Kbps terus, jadi disini kita ganti aja repository ubuntunya yang tadinya punya ubuntu, jadi punya repo ITB aja, caranya

$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak $ sudo nano /etc/apt/sources.list

Kemudian paste list repositori di bawah ini pada file /etc/apt/sources.list

deb ftp://ftp.itb.ac.id/pub/ubuntu trusty main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-updates main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-security main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-backports main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-proposed main restricted universe multiverse

Update repositori

$ sudo apt-get update

STEP 6 – Install Aplikasi Pendukung

$ sudo apt-get install git python-pip

STEP 7 – Clone Repository Devstack

$ cd /home/stack $ git clone https://git.openstack.org/openstack-dev/devstack #kalau berhenti lanjut ke nomor 5.1, kalau berhasil langsung ke nomor 6

STEP 7.1 – Download Repository Devstack (Skip step ini, jika step 7 berhasil)

$ sudo apt-get install zip unzip $ wget https://github.com/openstack-dev/devstack/archive/master.zip $ unzip master.zip ## lanjut ke nomor 6.1

STEP 8 – Copy File local.conf (lewati step ini, jika download menggunakan wget pada step 7.1)

$ cd devstack $ cp samples/local.conf . $ nano local.conf

STEP 8.1 – Copy File local.conf (lewati step ini, jika menggunakan git clone pada step 7)

$ cd devstack-master $ cp samples/local.conf . $ vi local.conf

STEP 9 – Ubah Bagian Authentication

[[local|localrc]] … ADMINPASSWORD=passwordku DATABASEPASSWORD=$ADMINPASSWORD RABBITPASSWORD=$ADMINPASSWORD SERVICEPASSWORD=$ADMIN_PASSWORD

STEP 10 – Agar SSH Tidak Timeout

$ screen $ screen -dmS devstack

(untuk masuk ke session ssh lagi)

$ screen -x devstack

STEP 11 – Instalasi Devstack

$ ./stack.sh


### ERROR TROUBLESHOOTING

jika terdapat error seperti berikut ini

— 2017-01-30 20:10:25.223 | [ERROR] /home/stack/devstack/functions-common:1066 Failed to update apt repos, we’re dead now 2017-01-30 20:10:26.243 | Error on exit 2017-01-30 20:10:26.244 | ./stack.sh: line 488: generate-subunit: command not found —

cara penyelesaiannya seperti berikut ini

$ sudo rm /var/lib/apt/lists/lock $ sudo apt-get update


jika pada saat clone atau download devstack menggunakan user root, maka berikut cara penyelesaiannya

$ sudo chown stack:stack devstack -R* ##jika menggunakan git clone (nomor 7)* $ sudo chown stack:stack devstack-master -R ##jika menggunakan wget (nomor 7.1)


jika pada saat menjalankan perintah ./stack.sh kemudian pertengahan gagal dalam proses update, biasanya karena koneksi tidak stabil, dan devstack akan otomatis membatalkan proses instalasi jika kurang lebih 15 menit tidak dapat koneksi internet.

Jadi cara penyelesaiannya kita pancing koneksi internetnya bisa dengan cara speedtest


jika terdapat output seperti dibawah ini

2017-02-01 17:34:57.138 | warning: expected SRV RR, found RR type 1

tungguin aja, karena itu sebenernarnya normal, muncul seperti itu karena pada saat cloning, ada beberapa perintah yang tidak sesuai, tapi tidak terlalu penting, jadi tungguin aja.

Dan kalau lama di situ, karena lagi cloning (download) service openstacknya, dan tidak terlihat outputnya, jadi tungguin aja, dan cek juga koneksi internetnya.

##karena terkadang repository dari ubuntunya tidak stabil (sering terputus koneksinya), jadi lebih baik ganti repositorynya ke repository ITB (menurutku repository terbaik saat ini buat ubuntu, repo ITB hehe)

$ sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak $ sudo nano /etc/apt/sources.list

deb ftp://ftp.itb.ac.id/pub/ubuntu trusty main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-updates main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-security main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-backports main restricted universe multiverse deb ftp://ftp.itb.ac.id/pub/ubuntu trusty-proposed main restricted universe multiverse

$ sudo apt-get update

Role Based Access Control (RBAC) pada Openstack

Role Based Access Control (RBAC) pada Openstack

RBAC ini mempunyai fungsi yaitu mengatur hak akses siapa aja yg bisa pakai opsi-opsi tertentu pada dashboard di openstack.

Paham nda hehe?? jadi gini penjelasannya lagi, misalkan lu nda mau user lain, selain user admin bisa buat instances di VM, nah untuk itu kita harus mengatur policy RBAC ini.

Beberapa yg perlu di perhatikan untuk mengatur RBAC :

  • Kita diharuskan manual mengedit-nya via console pada node controller, dan sampai saat ini (yg saya tau) belum ada plugin/add-ons untuk mengedit via dashboard atau gui. (kalo misalkan ada komentar dong hehe)
  • File yang di edit yaitu file policy.json, yg terletak tiap masing2 services pada openstack
    contoh, untuk mengatur hak akses buat user, dll (termasuk kedalam service identity/keystone) berarti file policy.json-nya ada di direktori /etc/keystone/policy.json
  • Karena file tersebut ber-format json, maka ketika sudah selesai di edit file tersebut, kita hanya perlu menyimpan saja (tidak perlu restart service/system), dan nanti policy tersebut akan otomatis ter-load.
  • Jangan lupa backup sebelum mengedit file policy.json-nya.
  • RBAC memungkinkan membatasi hak akses mulai dari per-project, user, role, domain, group, dll

Oke sekarang saya coba jelaskan cara mengedit file policy.json-nya. Misalkan sekarang saya buka file policy milik service compute (nova) yg berada di /etc/nova/policy.json

vi /etc/nova/policy.json

Role Based Access Control (RBAC) pada Openstack

  • label, biasanya di baris paling atas, di pisahkan oleh 1 baris, dan symbol titik2 (:) berada di luar name-nya itu adalah pemanggil atau sebagai label. – Maksudnya misalkan pada data  isadmin:True or projectid:%(projectid)s  bisa dipersingkat menggunakan label  adminor_owner , jadi lebih mudah ditulis dan juga di ingat.
  • function, nah ini adalah fungsi2 yang dapat di atur hak aksesnya, sesuai role, dll yg di inginkan.
  • *name *(pada baris pemanggil), ini hanyalah variable yg berisi data, ini bisa di tentukan namanya sesuai keinginan kita.
  • *data *(pada baris pemanggil), berisi atribut policies yg kita tentukan (semua atribut yg bisa digunakan bisa lihat di bawah) – dalam 1 name, bisa menggunakan banyak attribute dengan cara di pisahkan dengan menggunakan script or
  • service, nama service openstack-nya.
  • action, aksi yg akan dilakukan oleh function tersebut.

Berikut beberapa list atribut yang bisa di gunakan :

  • contoh, “compute:get”: “”,
  • ! – contoh, “compute:get”: “!“,
  • not contoh, “compute:get”: “not role:admin“,
  • role contoh, “compute:get”: “role:admin“,
  • rule: contoh, “compute:get”: “rule:adminorowner“,
  • is_admin:True
  • userid:%(userid)s
  • userid:%(target.token.userid)s
  • userid:%(target.credential.userid)s
  • projectid:%(projectid)s
  • tenantid:%(tenantid)s
  • field:networks:shared=True
  • field:firewalls:shared=True
  • field:firewall_policies:shared=True
  • field:subnetpools:shared=True
  • field:address_scopes:shared=True
  • field:networks:router:external=True
  • *dan lain-lain *(akan di update, jika ketemu lagi hehe)

Cara Membuat Role View Only

Kita buat project baru lagi agar role view only dapat terpisah dengan project admin, caranya yaitu

  1. Buka dashboard (login sebagai admin), kemudian klik identity > projects > create project > dan tulis nama project-nya (contoh-nya, member)
    Role Based Access Control (RBAC) pada Openstack
  2. Buat role baru, dengan cara pergi ke identity > roles > create role > tulis nama role-nya (contoh: view_only)
    Role Based Access Control (RBAC) pada Openstack
  3. Buat user baru dengan role viewonly, dengan cara pergi ke identity > users > create user > tulis nama user, password, project (member), role (viewonly).
    Role Based Access Control (RBAC) pada Openstack
  4. Disini kita akan atur rbac pada service nova, neutron, cinder, dan glance. Backup terlebih dahulu file policy.json pada tiap servicenya. Dan berikut function2 yg harus di edit pada file policy.json pada masing2 service-nya

vi /etc/nova/policy.json

“adminorowner”: “isadmin:True or role:member“, … “compute:get”: “rule:adminorowner or role:viewonly”, “compute:getall”: “rule:adminorowner or role:viewonly”, “compute:getinstancemetadata”: “rule:adminorowner or role:viewonly”, “compute:getallinstancemetadata”: “rule:adminorowner role:viewonly”, “compute:getallinstancesystemmetadata”: “rule:adminorowner or role:viewonly”, “compute:getdiagnostics”: “rule:adminorowner or role:viewonly”, “compute:getinstancediagnostics”: “rule:adminorowner or role:viewonly”, “compute:getvncconsole”: “rule:adminorowner or role:viewonly”, “compute:getconsoleoutput”: “rule:adminorowner or role:viewonly”, … “computeextension:consoleoutput”: “rule:adminorowner or role:viewonly”, “computeextension:consoles”: “rule:adminorowner or role:viewonly”, “computeextension:extendedstatus”: “rule:adminorowner or role:viewonly”, “computeextension:flavorextraspecs:show”: “rule:adminorowner or role:viewonly”, “computeextension:keypairs:index”: “rule:adminorowner or role:viewonly”, “computeextension:keypairs:show”: “rule:adminorowner or role:viewonly”, “computeextension:quotas:show”: “rule:adminorowner or role:viewonly”, “computeextension:serverusage”: “rule:adminorowner or role:viewonly”, “computeextension:simpletenantusage:show”: “rule:adminorowner or role:viewonly”, “computeextension:volumeattachments:show”: “rule:adminorowner or role:viewonly”, “computeextension:availabilityzone:list”: “rule:adminorowner or role:viewonly”, … “oscomputeapi:servers:detail”: “rule:adminorowner or role:viewonly”, “oscomputeapi:servers:index”: “rule:adminorowner or role:viewonly”, “oscomputeapi:servers:show”: “rule:adminorowner or role:viewonly”, … “oscomputeapi:os-certificates:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-consoles:index”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-consoles:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-console-output”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-remote-consoles”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-extended-status”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-extended-availability-zone”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-flavor-extra-specs:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:ips:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-keypairs”: “rule:adminorowner or role:viewonly”, “oscomputeapi:limits”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-quota-sets:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-server-usage”: “rule:adminorowner or role:viewonly”, “oscomputeapi:server-metadata:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-simple-tenant-usage:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-volumes-attachments:show”: “rule:adminorowner or role:viewonly”, “oscomputeapi:os-availability-zone:list”: “rule:adminorowner or role:viewonly”,


vi /etc/neutron/policy.json

“adminormember”: “isadmin:True or role:member“, … “createsubnet”: “rule:adminormember”, … “updatesubnet”: “rule:adminormember”, “deletesubnet”: “rule:adminormember”, … “createsubnetpool”: “rule:adminormember”, … “updatesubnetpool”: “rule:adminormember”, … “deletesubnetpool”: “rule:adminormember”, … “createaddressscope”: “rule:adminormember”, … “updateaddressscope”: “rule:adminormember”, … “deleteaddressscope”: “rule:adminormember”, … “createnetwork”: “rule:adminormember”, … “createrouter”: “rule:adminormember”, … “deleterouter”: “rule:adminormember”, …


vi /etc/cinder/policy.json

“adminorowner”: “isadmin:True or role:member“, “projectrule”: “projectid:%(projectid)s”, “default”: “rule:adminorowner or rule:projectrule”, … “volume:create”: “rule:adminorowner”, … “volume:get”: “rule:adminorowner or role:viewonly”, “volume:getall”: “rule:adminorowner or role:viewonly”, “volume:getvolumemetadata”: “rule:adminorowner or role:viewonly”, … “volume:getsnapshot”: “rule:adminorowner or role:viewonly”, “volume:getallsnapshots”: “rule:adminorowner or role:viewonly”, … “volumeextension:quotas:show”: “rule:adminorowner or role:viewonly”, … “volume:accepttransfer”: “rule:adminorowner”, … “backup:create” : “rule:adminorowner”, … “backup:get”: “rule:adminorowner or role:viewonly”, “backup:getall”: “rule:adminorowner or role:viewonly”, … “snapshotextension:snapshotactions:updatesnapshotstatus”: “rule:adminorowner”, …


vi /etc/glance/policy.json

“adminormember”: “isadmin:True or role:member“, … “addimage”: “rule:adminormember”, “deleteimage”: “rule:adminormember”, “getimage”: “rule:adminormember or role:viewonly”, “getimages”: “rule:adminormember or role:viewonly”, “modifyimage”: “rule:adminormember”, … “copyfrom”: “rule:adminormember”, … “downloadimage”: “rule:adminormember”, “uploadimage”: “rule:adminormember”, … “deleteimagelocation”: “rule:adminormember”, “getimagelocation”: “rule:adminormember or role:viewonly”, “setimagelocation”: “rule:adminormember”, … “addmember”: “rule:adminormember”, “deletemember”: “rule:adminormember”, “getmember”: “rule:adminormember or role:viewonly”, “getmembers”: “rule:adminormember or role:viewonly”, “modifymember”: “rule:adminormember”, … “deactivate”: “rule:adminormember”, “reactivate”: “rule:adminormember”, … “getmetadefnamespace”: “rule:adminormember or role:viewonly”, “getmetadefnamespaces”:”rule:adminormember or role:viewonly”, “modifymetadefnamespace”:”rule:adminormember”, “addmetadefnamespace”:”rule:adminormember”, … “getmetadefobject”:”rule:adminormember or role:viewonly”, “getmetadefobjects”:”rule:adminormember or role:viewonly”, “modifymetadefobject”:”rule:adminormember”, “addmetadefobject”:”rule:adminormember”, … “listmetadefresourcetypes”:”rule:adminormember or role:viewonly”, “getmetadefresourcetype”:”rule:adminormember or role:viewonly”, “addmetadefresourcetypeassociation”:”rule:adminormember”, … “getmetadefproperty”:”rule:adminormember or role:viewonly”, “getmetadefproperties”:”rule:adminormember or role:viewonly”, “modifymetadefproperty”:”rule:adminormember”, “addmetadefproperty”:”rule:adminormember”, … “getmetadeftag”:”rule:adminormember or role:viewonly”, “getmetadeftags”:”rule:adminormember or role:viewonly”, “modifymetadeftag”:”rule:adminormember”, “addmetadeftag”:”rule:adminormember”, “addmetadeftags”:”rule:adminor_member”,

Konfigurasi Manila Pada Openstack Mitaka

Assalamualaikum kawan semua, kembali lagi pada postingan saya yang sempat terbengkalai kosong dari post hehe. Tapi semuanya itu terbayar dengan pengalaman ngerjain sebuah project yang akan saya ceritakan pada postingan yang lain. Disini saya akan kembali memberikan tutorial berupa sedikit ilmu tentang bagaimana caranya mengkonfigurasi service shared file system menggunakan manila pada Openstack Mitaka. Agar memudahkan konfigurasi saya akan menjelaskan sedikit tentang apa itu Manila dan kegunaannya. Jadi, Manila itu adalah service yang berfungsi untuk memberikan layanan sharing file. Contohnya dalam sebuah openstack itu terdapat 2 user guest yang menginginkan adanya 1 buah folder dalam block storage yang dapat di-share untuk masing-masing instance mereka. Nah, dengan Manila inilah maka folder yang terdapat pada sebuah space block storage dapt di-share untuk kedua belah pihak user. Untuk konfigurasinya, disini saya berasumsi telah memiliki sebuah system openstack dengan 1 node controller, 1 node compute, 1 node block storage dan 1 node object storage. Berikut adalah langkah bagaimana melakukan konfigurasinya :

  1. Buatlah sebuah node baru untuk service manila ini.
  2. Selanjutnya konfigurasikan langkah dibawah ini pada node controller :
    1. Buat database terlebih dahulu untuk service.
      $ mysql -u root -p
      CREATE DATABASE manila;
      GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' \
        IDENTIFIED BY 'MANILA_DBPASS';
      GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' \
        IDENTIFIED BY 'MANILA_DBPASS';

      Gantilah MANILA_DBPASS dengan password database manila yang anda inginkan.

    2. Gunakan credentials admin.
      $ . admin-openrc.sh
    3. Buat user credentials untuk manila.
      $ openstack user create --domain default --password-prompt manila
    4. Tambahkan role admin kedalam user manila.
      $ openstack role add --project service --user manila admin
    5. Buat pula service entity manila dan manilav2.
      $ openstack service create --name manila \
        --description "OpenStack Shared File Systems" share
      $ openstack service create --name manilav2 \
        --description "OpenStack Shared File Systems" sharev2
    6. Trus kita buat service API endpoint manila.
      $ openstack endpoint create --region RegionOne \
        share public http://controller:8786/v1/%\(tenant_id\)s
      $ openstack endpoint create --region RegionOne \
        share internal http://controller:8786/v1/%\(tenant_id\)s
      $ openstack endpoint create --region RegionOne \
        share admin http://controller:8786/v1/%\(tenant_id\)s
      $ openstack endpoint create --region RegionOne \
        sharev2 public http://controller:8786/v2/%\(tenant_id\)s
      $ openstack endpoint create --region RegionOne \
        sharev2 internal http://controller:8786/v2/%\(tenant_id\)s
      $ openstack endpoint create --region RegionOne \
        sharev2 internal http://controller:8786/v2/%\(tenant_id\)s
    7. Selanjutnya install paket manila untuk node controller :
      # apt-get install manila-api manila-scheduler \
        python-manilaclient
    8. Jika sudah, konfigurasi manila dengan mengedit file /etc/manila/manila.conf dan lakukan edit seperti langkah dibawah ini :
      • Pada bagian database tambahkan seperti ini.
        [database]
        ...
        connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila

        Ubahlah MANILA_DBPASS dengan password database manila anda masing-masing.

      • Dibagian [DEFAULT] tambahkan seperti ini.
        [DEFAULT]
        ...
        rpc_backend = rabbit
        default_share_type = default_share_type
        rootwrap_config = /etc/manila/rootwrap.conf
        auth_strategy = keystone
        my_ip = IP_CONTROLLER

        Ubahlah IP_CONTROLLER dengan ip management node controller.

      • Pada bagian [oslo_messaging_rabbit], tambahkan konfiguasi RabbitMQ seperti ini.
        [oslo_messaging_rabbit]
        ...
        rabbit_host = controller
        rabbit_userid = openstack
        rabbit_password = RABBIT_PASS
      • Konfigurasikan pula identity access pada bagian [keystone_authtoken], tambahkan seperti ini.
        [keystone_authtoken]
        ...
        memcached_servers = controller:11211
        auth_uri = http://controller:5000
        auth_url = http://controller:35357
        auth_type = password
        project_domain_name = default
        user_domain_name = default
        project_name = service
        username = manila
        password = MANILA_PASS

        Ubahlah MANILA_PASS dengan password identity user manila anda.

      • Tambah pula konfigurasi lock path seperti dibawah [oslo_concurrency], seperti ini.
        [oslo_concurrency]
        ...
        lock_path = /var/lib/manila/tmp
    9. Sinkronisasikan database manila.
      # su -s /bin/sh -c "manila-manage db sync" manila
    10. Selanjutnya silahkan restart service manila pada node controller.
      # service manila-scheduler restart
      # service manila-api restart
  3. Konfigurasi manila pada node shared file :
    1. Install paket-paket yang dibutuhkan.
      # apt-get install manila-share python-pymysql
    2. Kemudian edit file /etc/manila/manila.conf
      • Pada bagian database tambahkan seperti ini.
        [database]
        ...
        connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila

        Ubahlah MANILA_DBPASS dengan password database manila anda masing-masing.

      • Dibagian [DEFAULT] tambahkan seperti ini.
        [DEFAULT]
        ...
        rpc_backend = rabbit
        default_share_type = default_share_type
        rootwrap_config = /etc/manila/rootwrap.conf
        auth_strategy = keystone
        my_ip = IP_CONTROLLER

        Ubahlah IP_CONTROLLER dengan ip management node controller.

      • Dibagian [DEFAULT] tambahkan seperti ini.
        [DEFAULT]
        ...
        rpc_backend = rabbit
        default_share_type = default_share_type
        rootwrap_config = /etc/manila/rootwrap.conf
        auth_strategy = keystone
        my_ip = IP_CONTROLLER

        Ubahlah IP_CONTROLLER dengan ip management node controller.

      • Pada bagian [oslo_messaging_rabbit], tambahkan konfiguasi RabbitMQ seperti ini.
        [oslo_messaging_rabbit]
        ...
        rabbit_host = controller
        rabbit_userid = openstack
        rabbit_password = RABBIT_PASS
      • Konfigurasikan pula identity access pada bagian [keystone_authtoken], tambahkan seperti ini.
        [keystone_authtoken]
        ...
        memcached_servers = controller:11211
        auth_uri = http://controller:5000
        auth_url = http://controller:35357
        auth_type = password
        project_domain_name = default
        user_domain_name = default
        project_name = service
        username = manila
        password = MANILA_PASS

        Ubahlah MANILA_PASS dengan password identity user manila anda.

      • Tambah pula konfigurasi lock path seperti dibawah [oslo_concurrency], seperti ini.
        [oslo_concurrency]
        ...
        lock_path = /var/lib/manila/tmp
  4. Nah, kemudian untuk melanjutkan langkahnya kita membutuhkan sebuah node baru yang nantinya berfungsi sebagai share storage. Jadi silahkan jalankan sebuah node baru dengan nama storage node dan tambahkan sebuah harddisk kosong baru.
    1. Jika sudah jalankan dan install paket-paketnya.
      # apt-get install lvm2 nfs-kernel-server
    2. Disini saya asumsikan disk baru yang telah saya tambahkan memiliki directory /dev/sdc. Kita buat sebuah partisi baru dengan jenis LVM pada /dev/sdc.
      # pvcreate /dev/sdc
      Physical volume "/dev/sdc" successfully created
    3. Trus bikin manila volume group.
      # vgcreate manila-volumes /dev/sdc
      Volume group "manila-volumes" successfully created
    4. Buka file /etc/lvm/lvm.conf dan edit seperti ini.
      1. Dibagian devices tambahkan disk yang udah kita buat ta
        devices {
        ...
        filter = [ "a/sdb/", "a/sdc", "r/.*/"]
      2. Edit file /etc/manila/manila.conf dan ubah seperti ini dibagian DEFAULTdan LVM.
        [DEFAULT]
        ...
        enabled_share_backends = lvm
        enabled_share_protocols = NFS,CIFS
        [lvm]
        share_backend_name = LVM
        share_driver = manila.share.drivers.lvm.LVMShareDriver
        driver_handles_share_servers = False
        lvm_share_volume_group = manila-volumes
        lvm_share_export_ip = IP_MANAGEMENT

        Ubah IP_MANAGEMENT dengan IP address management pada node storage.

    5. Kemudian restart service manila pada node manila.
      $ service manila-share restart
  5. Terakhir adalah verifikasi service.
    1. Pada node controller gunakan admin credentials.
      $ . admin-openrc
    2. Kita lihat manila service list, jika seperti dibawah ini berarti udah benar dan konfigurasi telah selesai.
      $ manila service-list
      +----+------------------+-------------+------+---------+-------+----------------------------+
      | Id | Binary           | Host        | Zone | Status  | State | Updated_at                 |
      +----+------------------+-------------+------+---------+-------+----------------------------+
      | 1  | manila-scheduler | controller  | nova | enabled | up    | 2016-10-06T20:17:28.000000 |
      | 2  | manila-share     | storage@lvm | nova | enabled | up    | 2016-10-06T20:17:29.000000 |
      +----+------------------+-------------+------+---------+-------+----------------------------+

Itulah sedikit ilmu yang dapat saya share, jika ada pertanyaan tanyakan saja pada komentar dibawah ini. Terima kasih. Wassalamualaikum.

Tutorial Install dan Konfigurasi Openstack : Launch Instance

pada bagian ini kita akan membuat jaringan virtual, yang diperlukan untuk mendukung launch sebuah instance.
Jaringan opsi 1 mencakup satu jaringan provider (eksternal), dengan satu instance yang digunakan.

Jaringan opsi 2 mencakup satu jaringan provider dengan satu instance yang digunakan dan satu jaringan self-service (private) dengan satu instance yang digunakan.
pada bagian ini kita akan launch menggunakan command-line interface (CLI) pada controller node. 

understanding how it works !

kali ini kita akan membuat jaringan virtual. disini ada 2 pilihan, jika kamu ingin menggunakan opsi 1, kamu hanya perlu membuat jaringan provider.
tapi, jika kamu menggunakan opsi 2, kamu harus membuat jaringan provider dan self-service (project).

lalu apa perbedaan Opsi pertama dan Opsi kedua ? mari kita liat

#LAB 58 Membuat jaringan Public network (external)

Sebelum launch instance, kamu harus membuat infrastruktur jaringan virtual.
Untuk opsi jaringan 1, instance menggunakan jaringan provider (eksternal) yang terhubung ke jaringan infrastruktur fisik melalui layer-2 (bridging/switching).
Jaringan ini mencakup server DHCP yang menyediakan alamat IP untuk instance.
Admin atau user istimewa lainnya harus membuat jaringan ini, karena mereka terhubung langsung ke infrastruktur jaringan fisik.
pada bagian controller node, source admin credentials untuk mendapatkan access admin-only CLI commands:

$ source admin-openrc.sh

lalu, buat jaringan terlebih dahulu, ketikkan perintah berikut:

$ neutron net-create public –shared –provider:physical_network public \
  –provider:network_type flat

–shared option : mengijinkan semua projects untuk menggunakan virtual network.

–provider:physical_network public dan –provider:network_type flat connect flat virtual network ke flat (native/untagged) public physical network pada interface eth1 menggunakan informasi dari file berikut:

[ml2]
tenant_network_types = vxlan

[ml2_type_vxlan]
vni_ranges = 1:1000

sebelum kita membuat subnet public, ada baikknya kita check default gateway bridge, dengan cara :

traceroute google.com

jangan lupa dengan subnet, oke sekarang kita buat dulu:

$ neutron subnet-create public PUBLIC_NETWORK_CIDR –name public \
  –allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS\
  –dns-nameserver DNS_RESOLVER –gateway PUBLIC_NETWORK_GATEWAY

ganti PUBLIC_NETWORK_CIDR dengan subnet pada public physical network di CIDR notation.
ganti START_IP_ADDRESS dan END_IP_ADDRESS dengan range pertama dan IP address terakhir dari range subnet yang kamu inginkan untuk alokasi instances.
range harus tidak termasuk aktif IP address.
ganti DNS_RESOLVER dengan IP address dari DNS resolver. yang ada pada /etc/resolv.conf 
ganti PUBLIC_NETWORK_GATEWAY dengan gateway IP address pada public physical network, 
contoh :
oke saya akan kasi perempumaan, agar kita dapat lebih memahami konfigurasi kali ini, semisal, public network menggunakan 192.168.222.0/24 dengan gateway 192.168.222.1. dengan range IP address dari 192.168.222.100 sampai 192.168.222.200. dan semua instances menggunakan 8.8.4.4 sebagai DNS resolver.

$ neutron subnet-create public 192.168.222.0/24 –name public \
  –allocation-pool start=192.168.222.100,end=192.168.222.200 \
  –dns-nameserver 8.8.4.4 –gateway 192.168.222.1

#LAB 59 Membuat jaringan Private network(Internal)kita buat dulu jaringan privatenya, dengan cara mengetikan perintah berikut:

$ neutron net-create private


sekarang, buat subnet jaringan internalnya, dengan cara mengetikkan perintah berikut :

$neutron subnet-create private PRIVATE_NETWORK_CIDR –name private \
  –dns-nameserver DNS_RESOLVER –gateway PRIVATE_NETWORK_GATEWAY

ganti PRIVATE_NETWORK_CIDR  dengan subnet yang ingin kamu gunakan pada private network, kamu dapat menggunakan ip address secara bebas, walaupun saya sangat merekomendasikan settingan network RFC 1918.

ganti DNS_RESOLVER dengan IP address DNS resolver. yang biasanya berapad pada etc/resolv.conf
ganti PRIVATE_NETWORK_GATEWAY dengan gateway yang kamu inginkan pada privete (internal) network ini, yang biasanya menggunakan “.1”.

nah sekarang saya akan memberikan contoh, disini saya akan menggunakan
private network 172.16.1.0/24 dengan gateway 172.16.1.1. dengan range 172.16.1.2 sampai 172.16.1.254. dan semua instance menggunkan 8.8.4.4 sebagai DNS resolver.

$ neutron subnet-create private 172.16.1.0/24 –name private \
  –dns-nameserver 8.8.4.4 –gateway 172.16.1.1

oke semoga penjelasnya dari saya diatas dapat dimengerti, hehe

#LAB 60 Membuat virtual router

oke pada bagian ini kita akan membuat virtual router, sebelumnya kita harus tau bahwa
Jaringan self-service itu terhubung ke jaringan provider menggunakan router virtual, yang biasanya melakukan NAT dua arah. nah fungsi virtual router ini adalah untuk menghubungkan antara network public dengan network private, nah interface router ini terhubung ke network private sedangan gatewaynya kita gunakan untuk network public,

sekarang waktunya untuk nge-LAB

pertama, pada ‘controller node’, dapatkan akses kredensial admin untuk mendapatkan akses ke commands CLI admin-only:

$ source admin-openrc.sh

kedua, tambahkan: external option ke public provider network:

$ neutron net-update public –router:external


ketiga, source demo credentials untuk mendapatkan access ke user-only CLI commands:

$ source demo-openrc.sh

lalu, buatlah neutron router:

$ neutron router-create router


kemudian, tambah private network subnet sebagai pada interface router:

$ neutron router-interface-add router private


dan yang terakhir set gateway pada public network di router:

$ neutron router-gateway-set router public


#LAB 62 Verifikasi Operasi

saya menyarankan kamu untuk verifikasi operasi ini dan memperbaiki masalah yang ada sebelum melanjutkan. karena pengalaman, saat kamu skip, beberapa service yang mengalami masalah akan lebih sulit untuk ditroubleshot,  jadi saya sangat sarankan untuk step by step memverifikasi semua yang telah kita lakukan, langkah-langkah dibawah ini menggunakan range alamat IP dari contoh pembuatan jaringan dan subnet.

pertama, pada ‘controller node’, gunakan akses kredensial admin untuk mendapatkan akses ke commands CLI admin-only:

$ source admin-openrc.sh

kedua daftarkan namespace jaringan. kamu akan melihat salah satu namespace qrouter dan dua namespace qdhcp .

$ ip netns


daftarkan port pada router untuk menentukan alamat IP gateway di jaringan provider:

$ neutron router-port-list router

last step, ping IP address dari controller node / host yang ada pada public physical network, seperti compute, swift, swift2, cinder:

$ ping -c 4 192.168.222.101

berikut verifikasi dengan dashboard (horizon)



LAB 63 Generate a key pair

Kebanyakan images cloud mendukung public key authentication daripada otentikasi password konvensional. Sebelum meluncurkan sebuah instance, Anda harus menambahkan public key untuk layanan Compute.
Source demo tenant credentials:

$ source demo-openrc.sh

Generate dan add key pair:

$ ssh-keygen -q -N “”
$ nova keypair-add –pub-key ~/.ssh/id_rsa.pub mykey

verifikasi keypair lewat CLI:

$ nova keypair-list

verifikasi lewat dashboard

LAB 64 menambah rules ke default security group:
nah sekarang, kita akan allow 2 protokol, yaitu ICMP dan SSH (untuk remote), oke ikuti langkah berikut:

Allow ICMP (ping):

$ nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0


Allow akses secure shell (SSH):

$ nova secgroup-add-rule default tcp 22 22 0.0.0.0/0

verifikasi lewat dashboard :

Instalasi Openstack Liberty – Ubuntu 14.04 LTS – Part 18.0

NOTE : Screenshoot sedang proses

Assalamualaikum…

Pada postingan sebelumnya, kita sudah membuat dan menjalankan sebuah instance atau vm di openstack, kali inii saya akan menambahkan block storage atau cinder kedalam instanece yang sudah dibuat, pada part ini saya tidak menggunakan dashboard untuk membuat , melainkan menggunakan cli di node controller, untuk part sebelumnya silakan cek link dibawah ini.

Part Sebelumnya:

  • Instalasi Openstack Liberty – Ubuntu 14.04 LTS – Part 17.0
  • kita langsung saja nge-lab cara menambahkan block storage ke instance

    LAB 65 – Membuat Volume – Node Controller

    sekarang kita akan membuat sebuah volume terlebih dahulu, yang nantinya volume ini akan digunakan instance

    STEP 1 – Konfigurasi
    kita load terlebih dahulu admin-openrc.sh

    $ source admin-openrc.sh

    setelah itu kita buat volume dengan ukuran 1GB

    $ cinder create –display-name volume1 1

    lalu cek volume yang tadi di buat

    $ cinder list

    kemudian kita tambahkan volume tadi ke instance

    $ nova volume-attach INSTANCE_NAME VOLUME_ID

    > ganti INSTANCE_NAME dengan nama instance-nya
    > ganti VOLUME ID dengan id volume yang tadi dibuat

    STEP 2 – Verifikasi
    lalu kita lihat list dari volume-nya

    $ nova volume-list

    setelah itu lihat remote public-instance dengan ssh, dan lakukan fdisk untuk melihat kalau di instance sudah ada volume /dev/vdb

    $ sudo fdisk -l


    LAB 67 – Membuat Template dengan Heat – Node Controller

    pada lab ini kita akan membuat template untuk men-describe stack. Sebelum memulai silahkan lihat Template Guide untuk mempelajari bahasa yang digunakan oleh template. Langsung saja kita mulai konfigurasinya

    STEP 1 – Konfigurasi
    Pertama kita buat template nya terlebih dulu dengan nama vschool-template.yml

    # nano vschool-template.yml

    lalu tambahkan konfigurasi berikut

    heat_template_version: 2015-10-15
    description: Launch a basic instance using the “m1.tiny“ flavor and one network.
    parameters:
      ImageID:
        type: string
        description: Image to use for the instance.
      NetID:
        type: string
        description: Network ID to use for the instance.
    resources:
      server:
        type: OS::Nova::Server
        properties:
          image: { get_param: ImageID }
          flavor: m1.tiny
          networks:
          – network: { get_param: NetID }
    outputs:
      instance_name:
        description: Name of the instance.
        value: { get_attr: [ server, name ] }
      instance_ip:
        description: IP address of the instance.
        value: { get_attr: [ server, first_address ] }


    kemudian sekarang kita buat stack-nya, sebelum nya kita load admin-openrc.sh nya dulu

    $ source admin-openrc.sh

    lalu kita lihat list network nya

    $ neutron net-list

    setelah itu kita konfigurasi NET_ID environment variable untuk mencerminkan ID di network. Contoh disini menggunakan public network

    $ export NET_ID=$(neutron net-list | awk ‘/ public / { print $2 }’)

    lalu buat stack menggunakan cirros instance yang sudah ada di public network

    $ heat stack-create -f demo-template.yml -P “ImageID=cirros;NetID=$NET_ID” stack

    STEP 2 – Verifikasi
    sekarang kita verifikasi template nya

    $ heat stack-list

    lalu kita lihat nama dan IP address dari instance yang sudah dibuat

    $ heat output-show –all stack
    $ nova list

    jika ingin menghapus stack yang tadi sudah dibuat, berikut perintahnya

    $ heat stack-delete stack

    Sampai disini tutorial Instalasi Openstack Liberty pada Ubuntu 14.04 LTS, semoga bermanfaat untuk yang membacanya, silahkan tanyakan ke saya jika ada trouble selama proses instalasi.

    Nun walqalami wama yasthurun
    Wassalamualaikum…

    Instalasi Openstack Liberty – Ubuntu 14.04 LTS – Part 18.0

    NOTE : Screenshoot sedang proses

    Assalamualaikum…

    Pada postingan sebelumnya, kita sudah membuat dan menjalankan sebuah instance atau vm di openstack, kali inii saya akan menambahkan block storage atau cinder kedalam instanece yang sudah dibuat, pada part ini saya tidak menggunakan dashboard untuk membuat , melainkan menggunakan cli di node controller, untuk part sebelumnya silakan cek link dibawah ini.

    Part Sebelumnya:

  • Instalasi Openstack Liberty – Ubuntu 14.04 LTS – Part 17.0
  • kita langsung saja nge-lab cara menambahkan block storage ke instance

    LAB 65 – Membuat Volume – Node Controller

    sekarang kita akan membuat sebuah volume terlebih dahulu, yang nantinya volume ini akan digunakan instance

    STEP 1 – Konfigurasi
    kita load terlebih dahulu admin-openrc.sh

    $ source admin-openrc.sh

    setelah itu kita buat volume dengan ukuran 1GB

    $ cinder create –display-name volume1 1

    lalu cek volume yang tadi di buat

    $ cinder list

    kemudian kita tambahkan volume tadi ke instance

    $ nova volume-attach INSTANCE_NAME VOLUME_ID

    > ganti INSTANCE_NAME dengan nama instance-nya
    > ganti VOLUME ID dengan id volume yang tadi dibuat

    STEP 2 – Verifikasi
    lalu kita lihat list dari volume-nya

    $ nova volume-list

    setelah itu lihat remote public-instance dengan ssh, dan lakukan fdisk untuk melihat kalau di instance sudah ada volume /dev/vdb

    $ sudo fdisk -l


    LAB 67 – Membuat Template dengan Heat – Node Controller

    pada lab ini kita akan membuat template untuk men-describe stack. Sebelum memulai silahkan lihat Template Guide untuk mempelajari bahasa yang digunakan oleh template. Langsung saja kita mulai konfigurasinya

    STEP 1 – Konfigurasi
    Pertama kita buat template nya terlebih dulu dengan nama vschool-template.yml

    # nano vschool-template.yml

    lalu tambahkan konfigurasi berikut

    heat_template_version: 2015-10-15
    description: Launch a basic instance using the “m1.tiny“ flavor and one network.
    parameters:
      ImageID:
        type: string
        description: Image to use for the instance.
      NetID:
        type: string
        description: Network ID to use for the instance.
    resources:
      server:
        type: OS::Nova::Server
        properties:
          image: { get_param: ImageID }
          flavor: m1.tiny
          networks:
          – network: { get_param: NetID }
    outputs:
      instance_name:
        description: Name of the instance.
        value: { get_attr: [ server, name ] }
      instance_ip:
        description: IP address of the instance.
        value: { get_attr: [ server, first_address ] }


    kemudian sekarang kita buat stack-nya, sebelum nya kita load admin-openrc.sh nya dulu

    $ source admin-openrc.sh

    lalu kita lihat list network nya

    $ neutron net-list

    setelah itu kita konfigurasi NET_ID environment variable untuk mencerminkan ID di network. Contoh disini menggunakan public network

    $ export NET_ID=$(neutron net-list | awk ‘/ public / { print $2 }’)

    lalu buat stack menggunakan cirros instance yang sudah ada di public network

    $ heat stack-create -f demo-template.yml -P “ImageID=cirros;NetID=$NET_ID” stack

    STEP 2 – Verifikasi
    sekarang kita verifikasi template nya

    $ heat stack-list

    lalu kita lihat nama dan IP address dari instance yang sudah dibuat

    $ heat output-show –all stack
    $ nova list

    jika ingin menghapus stack yang tadi sudah dibuat, berikut perintahnya

    $ heat stack-delete stack

    Sampai disini tutorial Instalasi Openstack Liberty pada Ubuntu 14.04 LTS, semoga bermanfaat untuk yang membacanya, silahkan tanyakan ke saya jika ada trouble selama proses instalasi.

    Nun walqalami wama yasthurun
    Wassalamualaikum…

    Instalasi Openstack Liberty – Ubuntu 14.04 LTS – Part 17.0

    Assalamualaikum…

    Pada postingan kali ini, kita masuk ke lab membuat dan menjalankan sebuah instance atau vm di openstack, di part ini saya tidak menggunakan dashboard untuk membuat vm, melainkan menggunakan cli di node controller, untuk part sebelumnya silakan cek link dibawah ini.

    Part Sebelumnya:

    Oke untuk itu kita langsung saja lanjut nge-lab nya, sekarang kita sudah sampai hingga lab 63 dengan pembahasan instalasi instance.

    LAB 63 – Menjalankan Instance di Public Network – Node Controller

    Lakukan langkah-langkah dibawah ini pada node controller, kita akan mencoba menjalankan sebuah instance pada lab kali ini, sebelum itu kita akan mengkonfigurasi kebutuhan flavor, nama image, network, security group, key, dan nama instance.

    petama kita load admin-openrc.sh

    $ source admin-openrc.sh

    kemudian kita check flavor nya

    $ nova flavor-list

    kita akan menggunakan m1.tiny untuk instance-nya, jadi m1.tiny ini adalah spesifikasi untuk instance-nya, untuk m1.tiny prosessor hanya 1core, 1GB RAM, 1GBStorage. ini bisa kita konfigurasi sesuai kemauan kita.
    setelah kita sudah check flavor-nya, sekarang kita check image yang tersedia

    $ nova image-list

    kita akan menggunakan image cirros
    lalu check juga network-nya

    $ neutron net-list

    setelah itu kita check list security groups nya

    $ nova secgroup-list

    sekarang kita buat instance-nya

    $ nova boot –flavor m1.tiny –image cirros –nic net-id=PUBLIC_NET_ID \
      –security-group default –key-name vschoolkey vschool-instance

    > ganti PUBLIC_NET_ID dengan ID dari public network
    > ganti juga vschoolkey dengan keypair yang anda buat
    setelah itu check status instance-nya

    $ nova list

    maka kalian akan melihat status nya berubah jadi ACTIVE dari BUILD. itu menandakan bahwa prosess-nya behasil

    kemudian kita akan mengakses instance-nya menggunakan virtual console, disini kita mengunakan VNC (Virtual Network Computing), silahkan ikuti perintah berikut

    pertama kita minta sesi VNC untuk instance yang dipublic dulu
    $ nova get-vnc-console public-instance novnc


    lalu kita copy-kan url nya, dan buka di web browser.

    setelah itu kita masukan username dan password instance yang sudah dibuat
    login dengan username cirros dan password nya cubswin;)
    kemudian lakukan ping untuk mengetahui jika instance sudah terhubung internet

    $ ping 192.168.55.1

    sekarang kita akan meremote instance yang ada di public network
    pertama kita verifikasi koneksi dari node controller ke instance.

    $ ping -c 4 192.168.55.100

    lalu kita akses instance tersebut dengan menggunakan SSH dari node controller

    $ ssh cirros@192.168.55.100

    LAB 64 – Menjalankan Instance di Private Network – Node Controller

    Lakukan langkah-langkah dibawah ini pada node controller, kita akan mencoba menjalankan sebuah instance pada lab kali ini, sebelum itu kita akan mengkonfigurasi kebutuhan flavor, nama image, network, security group, key, dan nama instance.

    pertama kita load demo-openrc.sh

    $ source demo-openrc.sh 

    lalu kita litah list flavor-nya

    $ nova flavor-list

    kita akan menggunakan m1.tiny untuk instance-nya, jadi m1.tiny ini adalah spesifikasi untuk instance-nya, untuk m1.tiny prosessor hanya 1core, 2GB RAM, 30GBStorage.
    setelah kita sudah check flavor-nya, sekarang kita check image yang tersedia

    $ nova image-list

    kita akan menggunakan image cirros
    lalu check juga network-nya

    $ neutron net-list

    setelah itu kita check list security groups nya

    $ nova secgroup-list

    sekarang kita buat instance-nya

    $ nova boot –flavor m1.tiny –image cirros –nic net-id=PRIVATE_NET_ID \  –security-group default –key-name mykey private-instance

    > ganti PRIVATE_NET_ID dengan ID dari private network
    > ganti vschoolkey dengan keypair yang dibuat tadi
    setelah itu check status instance-nya

    $ nova list

    maka kalian akan melihat status nya berubah jadi ACTIVE dari BUILD. itu menandakan bahwa prosess-nya behasil

    kemudian kita akan mengakses instance-nya menggunakan virtual console, disini kita mengunakan VNC (Virtual Network Computing), silahkan ikuti perintah berikut
    pertama kita minta sesi VNC untuk instance yang dipublic dulu

    $ nova get-vnc-console private-instance novnc

    lalu kita copy-kan url nya, dan buka di web browser.

    setelah itu kita masukan username dan password instance yang sudah dibuat
    login dengan username cirros dan password nya cubswin;)
    kemudian lakukan ping untuk mengetahui jika instance sudah terhubung internet

    $ ping 192.168.55.1

    sekarang kita akan meremote instance yang ada di private network,
    pertama kita buat floating IP address terlebih dahulu. berikut perintahnya

    $ neutron floatingip-create public

    kemudian kita tambahkan floating IP tersebuh kedalam instance yang ada di private network

    $ nova floating-ip-associate private-instance 192.168.55.167

    192.168.55.167 adalah ip public
    setelah itu kita check status penambahan floating IP-nya telah berhasil

    $ nova list

    lalu kita verifikasi koneksi dari node controller ke instance.

    $ ping -c 4 192.168.55.167

    lalu kita akses instance tersebut dengan menggunakan SSH dari node controller

    $ ssh cirros@192.168.55.167

    pada part kali ini cukup sampai di membuat instace pada public network dan private network. kita lanjut di part selanjutnya tentang cara memasukan cinder atau block storage ke dalam instance yang sudah jadi.

    Nun walqalami wama yasthurun
    Wassalamualaikum…