Monthly Archives: April 2016

docker-machine – Adim 2

docker-machine windows ve Mac OSX gibi isletim sistemleri uzerinden birden fazla Docker Host’u manage etmek icin kullanilan bir binary.

Ben Mac OSX kullanicisiyim ve makinemde Docker Toolbox kurulu ki icersinde  docker-machine iceriyor , yok ise edinin kendisi ek olarak Linux ve Windows icinde mevcut.

docker-machine tek bir noktadan networkunuzdeki docker host’lari yonetebildigi gibi Digital Ocean , Openstack ve diger cloud provider’lardaki kaynak havuzunuzda docker host’lar hazirlayabilir ve yonetebilirsiniz.

Bu makalede generic driver kullanarak hali hazirda uzerinde ubuntu kurulu bir VM i sisteme tanitacagim (hatta oncesinde uzerinde Docker da kurulmus yani existing docker host’u ekliyoruz)

Simdi asil amacim docker-machine ile docker host’lari yonetmekten cok karsilastigim hatalar ve cozumleri belirtmek.

Herkes yaratarak baslar , biz silerek baslayalim ama oncesinde bir listeleyelim ne var diye ….

vahric:.ssh vahricmuhtaryan$ docker-machine ls

NAME       ACTIVE   DRIVER    STATE     URL                        SWARM   DOCKER    ERRORS

docker01   –        generic   Running   tcp://10.111.21.210:2376           Unknown   Unable to query docker version: Unable to read TLS config: open /Users/vahricmuhtaryan/.docker/machine/machines/docker01/server.pem: no such file or directory

docker02   –        generic   Running   tcp://10.111.21.210:2376           Unknown   Unable to query docker version: Unable to read TLS config: open /Users/vahricmuhtaryan/.docker/machine/machines/docker02/server.pem: no such file or directory

Sonra silelim Read the rest of this entry

Biri debug mi dedi :) yok yok ben print kullaniyorum

🙂 Evet zaten birsey yazabildigimiz yok birde yalandan debug edecegiz diye dosyayi acip oraya print yok bu fonksiyonu cagirmis obur dosyaya print, cok cilgin oluyor : )

Diyeceksiniz ki IDE lerde zaten var bu is , yukaridan debug dugmesine tikliyorsunuz , sonra sol a iki top koyuyorsunuz , alta bir console geliyor muthis ama sunucu tarafinda birde sizin olmayan kodu , script’leri debug etmek istiyorsaniz Python Debugger -pdb- cok guzel …

Su anda en favori komutum su ; -m parametresi ile pdb modulunu yukluyoruz ve birinci satirdan itibaren adim adim ilermeye baslayabiliriz.


vahric:self_class vahricmuhtaryan$ python -m pdb file1.py 
> /Users/vahricmuhtaryan/PycharmProjects/self_class/file1.py(7)<module>()
-> class Eskiversionclass:
(Pdb) 

Read the rest of this entry

Python six module 1.5.2 cause project creation Openstack with Ansible

Issue is : Getting an error when try to create project with ansible in Openstack

Error is :  fatal: [localhost]: FAILED! => {“changed”: false, “failed”: true, “invocation”: {“module_name”: “os_project”}, “parsed”: false}

This is what version Ubuntu i have 

noroot@acc:~/ansible$ lsb_release -a

No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 14.04.3 LTS

Release: 14.04

Codename: trusty

Solution is : remove six.py from /usr/lib/python2.7/dist-packages/ , download 1.10.0 from pypi and put the six.py

VM

Class Kemige Dayaninca :)

Uzun zamandir su OOP dir class dir , self dir , __init__ dir , constructer , inheritance , instance  derken bir turlu ilgilenememistim , simdi bir kod incelemesi sirasinda ihtiyac oldu , iyikide olmus, bir yerden baslamak gerekiyordu.

Burada class nedir, oop nedirden bahsetmeyecegim , sanki eristigimiz bir foknsiyon gibi class a erismek , self kullanimi ve constructer ornegi olacak.

Oncelikle dokumanlari okurken belki yanlis bir baslangic olabilir ama python da eski ve yeni version class tanimlamasi gibi birsey var. Yeni version dedigimiz class i yaratmak icin artik varsayili olarak inheritance yapmak gerekiyor.

Inheritance aslinda Windows kullanicilarininda bildigi gibi ustten ilgili dosya haklarini almanin class uyarlamasi gibi birsey, burada haklari almiyorsunuzda degerleri veya attribute leri aliyorsunuz , bir nevi klonlama , kopyalamada diyebiliriz.

En basitinden class ornegi ;

class Eskiversionclass:
    # pass burada ne yazicagimizi bilmedigimizden kod hata vermesin diye
    # kullanilan placeholder
    pass

class Yeniversion(object):
    pass

Simdir burada once __init__ e bir goz atalim , aslinda __init__ bir constructer veya constructer method’u degil , yani diyemeyiz ki __init__ == constructer .

Read the rest of this entry