Skip to main content

Các tip hữu ích khi sử dụng ansible

Dưới đây là một số tip mình dùng khi sử dụng ansible.
VIM with YAML
Nếu bạn đã từng viết yaml trên VIM sẽ thấy một điều rất bực là tabsize default của VIM là 8 space. Mà syntax của yaml tabsize chỉ là 2space, nên nếu như không tinh chỉnh vim thì ta sẽ viết rất mệt. Ta chỉ cần thực hiện set tabsize thành 2 space khi file type là yaml như sau
Mở ~/.vimrc thêm vào dòng sau
autocmd FileType yaml setlocal ai ts=2 sw=2 et  
Sau đó mở yaml lên và thưởng thức
Check syntax
ansible-playbook hỗ trợ cho ta việc check syntax của toàn bộ 1 playbook
ansible-playbook --syntax-check <path-to-yaml-playbook>  
Nếu không có lỗi gì sẽ trả về tên của tập tin playbook đó
Step By Step
Ta cũng có thể chạy một playbook step by step, tới mỗi bước, ansible-playbook sẽ cho ta 3 lựa chọn: ync
  • y = Yes: Thực hiện task này
  • n = No: Không thực hiện task này
  • c = Continue: Chạy toàn bộ playbook mà không hỏi
PLAY [controller] **************************************************************  
Perform task: TASK: setup (N)o/(y)es/(c)ontinue: N

Perform task: TASK: setup (N)o/(y)es/(c)ontinue: *******************************  
Perform task: TASK: patch-cinder-ocata : Apply patch for cinder-volume Ocata (N)o/(y)es/(c)ontinue: y

Perform task: TASK: patch-cinder-ocata : Apply patch for cinder-volume Ocata (N)o/(y)es/(c)ontinue: ***

TASK [patch-cinder-ocata : Apply patch for cinder-volume Ocata] ****************  
ok: [capt-controller-1]  
ok: [capt-controller-3]  
ok: [capt-controller-2]  
Perform task: TASK: patch-cinder-ocata : file (N)o/(y)es/(c)ontinue: c

Perform task: TASK: patch-cinder-ocata : file (N)o/(y)es/(c)ontinue: ***********

Comments

Post a Comment

Popular posts from this blog

Zabbix, AWS and Auto Registration

One of the things I love the most with AWS is  auto-scaling . You choose an AMI, set some parameters and AWS will spin instances up and down whenever a threshold is breached. But with all these instances spinning up and down there are some unknowns. For example, what is the IP address of the new instance? Its host name? This can be critical when other components of your infrastructure are dependent on knowing these parameters. I had this problem when I started to use  Zabbix  as the monitoring system. At first it seemed like a complicated one, but Zabbix has a wonderful feature called  Auto Registration  which can be used exactly for this situation. I will try to show how to configure auto registration both on the client (EC2 instance running Ubuntu 14.04) and on the Zabbix server (Zabbix Server 2.4.2). Zabbix-agent Installation and Configuration Let’s start with installing zabbix-agent on the Ubuntu client: 1 2 $ sudo apt-get update $ sud...

SIPp cheatsheet

SIPp  is a free test tool and traffic generator for the SIP protocol. It uses XML format files to define test scenarios. General usage: sipp remote_host[:remote_port] [options] Some important command-line options: -sf filename Load test scenario from specified file. -inf filename Use CSV file to insert data substituted for [field0], [field1], etc into XML scenario. First line of file describes order of inserting field sets (SEQUENTIAL/RANDOM/USE). -sn name Use one of the embedded, predefined scenarios like "uac", "uas". -r rate Scenario execution rate, default value = 10 times per period, default period = 1000 ms. -rp period Scenario execution period [ms], combined with execution rate. Execution rate is combined of rate and period parameters, i.e. if period = 3500 and rate = 7 there will be 7 calls in 3.5 s. -t transport mode Set the transport mode: "u1" - UDP, one socket (default), "un" - UDP, one socket per call, other modes (...

CI/CD with CircleCI - Heroku deploy

Note In this post, we'll deploy a Flask app to Heroku. Any commit to Github, the CircleCI will be triggered and test will be performed. If the test finished successfully, the CircleCI will deploy our app to Heroku. Signup by authorizing Github First, sign up for CircleCI. We can login to CircleCI platform via Github by allowing access to the repo. At the click on "Authorize application", we'll have welcome screen with a list of our Github repositories: Installing and running locally We'll use the following source in GitHub:  circleci-heroku . Here are the steps to install and run the test: Clone the repo and  cd circleci-heroku . Setup virtualenv :  virtualenv venv  and then  source venv/bin/activate . Run  pip install -r requirements.txt  (preferably inside a virtualenv) to install the dependencies. To run the "hello" app locally: (venv) k@laptop:~/TEST/circleci-heroku$ python hello/hello_app.py * Running on http...