-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
495 lines (409 loc) · 30.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
<link href="https://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="Hugo 0.60.1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>rushiagr</title>
<meta name="description" content="Yet another tech guy" />
<link type="text/css" rel="stylesheet" href="http://www.rushiagr.com/css/print.css" media="print">
<link type="text/css" rel="stylesheet" href="http://www.rushiagr.com/css/poole.css">
<link type="text/css" rel="stylesheet" href="http://www.rushiagr.com/css/syntax.css">
<link type="text/css" rel="stylesheet" href="http://www.rushiagr.com/css/hyde.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
<link rel="shortcut icon" href="/favicon.png">
<link href="http://www.rushiagr.com/index.xml" rel="alternate" type="application/rss+xml" title="rushiagr" />
</head>
<body class=" ">
<aside class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<a href="http://www.rushiagr.com/"><h1>rushiagr</h1></a>
<p class="lead">
Yet another tech guy
</p>
</div>
<nav>
<ul class="sidebar-nav">
<li><a href="http://www.rushiagr.com/">Home</a> </li>
<li><a href="/about/"> About </a></li><li><a href="https://github.com/rushiagr/"> Github </a></li><li><a href="https://www.linkedin.com/in/rushi-agrawal-0b799b15"> LinkedIn </a></li>
</ul>
</nav>
<p>© 2019. All rights reserved. </p>
</div>
</aside>
<main class="content container">
<div class="posts">
<article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/12/08/cassandra-server-in-10-minutes/">Cassandra server in 10 minutes</a>
</h1>
<time datetime="2016-12-08T19:05:21+0530" class="post-date">Thu, Dec 8, 2016</time>
Want to quickly find out how a Cassandra server feels? In this blog post, we'll create a single-node Cassandra cluster on an Ubuntu Xenial (16.04) system. It's not really a ‘cluster’, but you can access the Cassandra shell cqlsh and try out all of its commands. Since we are just looking for a quick start, we're installing one of the latest Cassandra versions – version 3.7. Even more, the steps here are totally scriptable, so you can just blindly paste the lines and it'll work!
<div class="read-more-link">
<a href="/blog/2016/12/08/cassandra-server-in-10-minutes/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/10/11/python-engineer-beginner-mistakes/">Python Engineer Beginner Mistakes</a>
</h1>
<time datetime="2016-10-11T17:59:46+0530" class="post-date">Tue, Oct 11, 2016</time>
I am writing Python code since 5 years, and I have worked with around 5-6 entry-level Python programmers. There is a pattern I can see in their programming practices. My hope is by reading this article there will be lesser such mistakes.
I have worked on OpenStack for over three years, which is written in Python and has a very high code quality, so I feel I am qualified enough to write this post.
<div class="read-more-link">
<a href="/blog/2016/10/11/python-engineer-beginner-mistakes/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/08/16/kubernetes-in-30-minutes-with-minikube-on-mac/">Kubernetes in 30 minutes with minikube on Mac</a>
</h1>
<time datetime="2016-08-16T17:03:53+0530" class="post-date">Tue, Aug 16, 2016</time>
Below are steps to create an express setup of Kubernetes on your Mac for quick use.
Minikube is a small setup by Kubernetes guys, which will spawn a virtual machine and have a tiny (but fully functional) Kubernetes cluster inside the VM. kubectl (pronounced ‘kube (like ‘tube’) control`) is the command line client you'll use to connect to the Kubernetes cluster (which runs inside the VM created by minikube, in case you forgot :) )
<div class="read-more-link">
<a href="/blog/2016/08/16/kubernetes-in-30-minutes-with-minikube-on-mac/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/07/20/vagrant-shared-folder-in-mac-xenial-guest/">Make Vagrant Synced folders on Ubuntu Xenial guest work on Mac</a>
</h1>
<time datetime="2016-07-20T23:18:24+0530" class="post-date">Wed, Jul 20, 2016</time>
Today I installed latest Vagrant, version 1.8.5. I was waiting for a newer release because 1.8.1 and previous versions don't work well with host-only networks for Ubuntu Xenial (16.04) guests on my Mac running El Capitan. But I faced another issue now:
mount: unknown filesystem type 'vboxsf' This is while specifying a synced folder in my Vagrantfile with this line:
config.vm.synced_folder("/Users/apple/src/myutils", "/home/ubuntu/myutils") where myutils is where I keep all my commandline shortcuts, tricks, and other shortcut-ish stuff.
<div class="read-more-link">
<a href="/blog/2016/07/20/vagrant-shared-folder-in-mac-xenial-guest/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/06/17/you-dont-need-vim-swap-files-and-how-to-get-rid-of-them/">You dont need Vim swap files. And how to get rid of them</a>
</h1>
<time datetime="2016-06-17T11:18:27+0530" class="post-date">Fri, Jun 17, 2016</time>
Estimated reading time: 5 minutes.
Almost all IDEs today have ‘autosave’ feature. That is, you don't need to explicitly save a file. The file is automatically saved as you type, so that even if your computer crashes, you don't lose data. This makes me wonder why Vim's default behavior is of using swap files. Swap files are annoying. I've seen all Vim developers, including me, struggle with swap files at one point in their life.
<div class="read-more-link">
<a href="/blog/2016/06/17/you-dont-need-vim-swap-files-and-how-to-get-rid-of-them/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting-ubuntu/">Everything you need to know about Tmux copy paste - Ubuntu</a>
</h1>
<time datetime="2016-06-16T10:59:02+0530" class="post-date">Thu, Jun 16, 2016</time>
Copying from a Tmux session is something every Tmux user struggled with once. I'm listing out all the stuff I learnt in this blog.
I tested everything on Ubuntu 14.04 Trusty Tahr, which runs Tmux version 1.8 (I have a few commands included for Tmux version 2+ also) To check your Tmux version, run tmux -V. If you have a Mac, see here.
Know about copy buffers When you do a CTRL`+`c, the stuff you copy is stored in your computer's buffer, called ‘clipboard’ from where you can paste anywhere by doing a CTRL+'v’.
<div class="read-more-link">
<a href="/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting-ubuntu/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting/">Everything you need to know about Tmux copy paste</a>
</h1>
<time datetime="2016-06-16T10:58:02+0530" class="post-date">Thu, Jun 16, 2016</time>
Copying from a Tmux session is something every Tmux user struggled with once. I'm listing out all the stuff I learnt in this blog.
I tested everything on Mac OS X El Capitan. For Ubuntu/Linux guide, see here. Mac OS X El Capitan runs Tmux version 2.1. To check your Tmux version, run tmux -V.
Know about your terminal The default terminal which comes with Mac is pretty limiting. Instead of listing the limitations (and workarounds around it), I'll just say that before you proceed, please install iTerm 2 and start using that immediately.
<div class="read-more-link">
<a href="/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/01/24/moving-from-pelican-to-hugo/">Moving from Pelican to Hugo</a>
</h1>
<time datetime="2016-01-24T21:19:26+0530" class="post-date">Sun, Jan 24, 2016</time>
I was looking for a better theme for my blog which is based on Pelican static site generator in Python, but then I happened to look at this blog written in Hugo - a Go counterpart of Pelican. The thing which caught my eye was the posts page, which is exactly how I wanted my first page to be. I've always wanted something like Paul Graham's essays page, but couldn't find anything close to it until I found this site.
<div class="read-more-link">
<a href="/blog/2016/01/24/moving-from-pelican-to-hugo/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/about/">About</a>
</h1>
<time datetime="2016-01-24T18:21:46+0530" class="post-date">Sun, Jan 24, 2016</time>
Hello! I am Rushi Agrawal.
I work as a software engineer at Amazon.
I graduated from IIT Hyderabad in 2012 with a Bachelors degree in Computer Science and Engineering. Before that, I did my schooling from my hometown Shegaon near Nagpur.
Contact me via email at [email protected], or via phone at +91 99-4518-4519.
Thank you for your time.
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/01/10/tmux-session-shortcuts/">Tmux session shortcuts</a>
</h1>
<time datetime="2016-01-10T00:00:00Z" class="post-date">Sun, Jan 10, 2016</time>
Tmux is awesome. But the session management commands are way too long for my liking. Listing all sessions is tmux list-sessions, attaching to a session mysession is tmux attach -t mysession, etc.
So I created a few functions and aliases, which can be found here.
The general idea is, all commands start with mx, which is basically a shortcut for ‘tMuX’. So mxl is to ‘l'ist tmux sessions, mxa is to ‘a'ttach to a tmux session, etc.
<div class="read-more-link">
<a href="/blog/2016/01/10/tmux-session-shortcuts/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/01/02/better-aws-command-line-interface/">A different approach to AWS CLI</a>
</h1>
<time datetime="2016-01-02T00:00:00Z" class="post-date">Sat, Jan 2, 2016</time>
For a user of Amazon Web Services, quickly viewing a dashboard of all resources is not straightforward. If using a web browser, the session won't persist for more than a day and one will have to re-authenticate every day. If using AWS CLI, then he/she might not remember the exact command (was it describe-key-pair or describe-keypair or describe-keypairs?) but even if they do, the output is a not-so-readable JSON. For viewing virtual machines, you might not want to see hundreds of lines of detail.
<div class="read-more-link">
<a href="/blog/2016/01/02/better-aws-command-line-interface/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2016/01/02/build-vm-image-using-diskimage-builder/">Build VM Images using Diskimage-builder</a>
</h1>
<time datetime="2016-01-02T00:00:00Z" class="post-date">Sat, Jan 2, 2016</time>
OpenStack has this nice tool diskimage-builderto create virtual machine images without the need of a cloud. These vm images can then be uploaded to cloud (e.g. in Glance for OpenStack cloud), and they become immediately usable. You can also create VMs in virtualbox from these images (though I don't remember exact steps to make the image work with VirtualBox. Do let me know if you get the VM working with VirtualBox/Vagrant)
<div class="read-more-link">
<a href="/blog/2016/01/02/build-vm-image-using-diskimage-builder/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/12/12/better-way-to-view-mysql-tables/">Better way to view MySQL tables</a>
</h1>
<time datetime="2015-12-12T00:00:00Z" class="post-date">Sat, Dec 12, 2015</time>
The problem You are trying to print a MySQL table with a large number of columns, with SELECT * command. You type SELECT * FROM mysql.user LIMIT 1, and your terminal becomes this. If you wanted to view more than one row, you're in a trouble :)
The solution Run MySQL with this option:
mysql --pager="less --chop-long-lines --quit-if-one-screen --no-init' This will make your table display only the rows it can in the current screen, something like this.
<div class="read-more-link">
<a href="/blog/2015/12/12/better-way-to-view-mysql-tables/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/09/14/quick-justdial-scraper/">Quick JustDial scraper</a>
</h1>
<time datetime="2015-09-14T00:00:00Z" class="post-date">Mon, Sep 14, 2015</time>
So my friend asked me to scrape data from JustDial and give it to him in an excel sheet. I thought let's give it a try. He needed name of firm, address and phone number of any JustDial URL he wants to scrape. After effectively around 4 hours of work, the below script was created.
Note that the script is dirty. You need to edit the jd_url to search any other URL.
<div class="read-more-link">
<a href="/blog/2015/09/14/quick-justdial-scraper/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/09/10/openstack-keystone-with-cassandra-database-in-devstack/">OpenStack Keystone with Cassandra Database in DevStack</a>
</h1>
<time datetime="2015-09-10T00:00:00Z" class="post-date">Thu, Sep 10, 2015</time>
Using Cassandra as backing database for OpenStack Keystone was our solution to multi-region deployment problem of OpenStack cloud. This blog post is not to discuss the problem. We are talking about how to have a development environment to play around with Keystone working with a dev Cassandra deployment.
“Just run this script and you're all set!” I've put together all commands into a script which can be found here:
https://raw.githubusercontent.com/rushiagr/keystone-cassandra/master/keystone-cassandra.sh If you have a fresh Ubuntu VM, just copy this script into that machine and execute it.
<div class="read-more-link">
<a href="/blog/2015/09/10/openstack-keystone-with-cassandra-database-in-devstack/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/07/24/apache-mod_wsgi-parallelization-notes/">Apache mod_wsgi parallelization notes</a>
</h1>
<time datetime="2015-07-24T00:00:00Z" class="post-date">Fri, Jul 24, 2015</time>
This is my notes on ‘Processes and Threading’ doc by the author of mod_wsgi module of Apache. This blog post just serves as a ‘quick refresher’, and is only useful if you have read the original document but it's been too long since you read it :)
Apache with mod_wsgi A Python application can run with multiple processes as well as multiple threads with mod_wsgi.
Prefork multiprocessing module Apache creates multiple processes, and each request is handled by one process.
<div class="read-more-link">
<a href="/blog/2015/07/24/apache-mod_wsgi-parallelization-notes/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/06/07/docker-quick-start-notes/">Docker quick start notes</a>
</h1>
<time datetime="2015-06-07T00:00:00Z" class="post-date">Sun, Jun 7, 2015</time>
Update *: Blog updated to use latest way to install docker. After reading about docker and containers, I thought let's try them out. Here are my notes. Obviously all of them are taken from Internet. Maybe this collection here will help someone start with docker faster than spending time searching all over the internet.
It assumes your base OS is Ubuntu 14.04 Trusty Tahr (when was the last time you saw the codename spelled ‘Trusty Tahr’ and not ‘Trusty’?
<div class="read-more-link">
<a href="/blog/2015/06/07/docker-quick-start-notes/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2015/06/05/cache-apt-packages-with-squid-proxy/">Cache APT packages with Squid proxy</a>
</h1>
<time datetime="2015-06-05T00:00:00Z" class="post-date">Fri, Jun 5, 2015</time>
TL;DR: Know how to install and set up Squid proxy, so that you can cache packages, and hence save bandwidth if you want to install those packages again and again. Also works if you are already behind a squid proxy.
Problem: Repetitive download. Slow. If you deal with virtual machines a lot, you might know the pain of managing packages on each one of them. Every time I had to create a new VM, I would run apt-get update (to get information about all the latest packages available for my Ubuntu system), apt-get dist-upgrade (to install latest versions of all packages already installed), and also install some packages not present in stock Ubuntu image, like git (yes, it's 2015 and Ubuntu still doesn't come pre-installed with git), ipython, bwm-ng and some others.
<div class="read-more-link">
<a href="/blog/2015/06/05/cache-apt-packages-with-squid-proxy/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/09/14/puppet-installation-from-modules/">Puppet installation from modules</a>
</h1>
<time datetime="2014-09-14T00:00:00Z" class="post-date">Sun, Sep 14, 2014</time>
A quick example of how to use Puppet to install and manage MySQL. We'll download required Puppet modules from their git repositories.
Again, everything is tried on Ubuntu (14.04).
Make sure hostname -f shows your FQDN. Then install puppet
sudo apt-get install puppet We'll use git submodules to manage different git repositories. But first, create our own repository
mkdir puppet-mysql cd puppet-mysql git init Install Puppet modules stdlib and mysql into directory modules as git submodules.
<div class="read-more-link">
<a href="/blog/2014/09/14/puppet-installation-from-modules/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/09/05/iscsi-administration-on-ubuntu-quick-start/">iSCSI administration on Ubuntu - Quick Start</a>
</h1>
<time datetime="2014-09-05T00:00:00Z" class="post-date">Fri, Sep 5, 2014</time>
This post get's you started with iSCSI administration on an Ubuntu machine. Although I have used Ubuntu Trusty (14.04) version, it should work with Precise (12.04) too, with the latest packages.
Prerequisites Make sure you have atleast a little idea of what these terms mean: iSCSI, LUN, IQN, initiator, target and portal. Google and wikipedia are your friends.
A quick summary: There are two parts of iSCSI communication - initiator and target.
<div class="read-more-link">
<a href="/blog/2014/09/05/iscsi-administration-on-ubuntu-quick-start/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/09/05/openstack-unit-testing-nuggets/">OpenStack Unit Testing Nuggets</a>
</h1>
<time datetime="2014-09-05T00:00:00Z" class="post-date">Fri, Sep 5, 2014</time>
A small post about little things I found out while running unit tests in OpenStack.
Unit-testing setup Everybody knows ./run_tests.sh is used to run the unit tests of an OpenStack project. But, you require to install dependencies before doing it. And installing dependencies might not always succeed. So make sure you install these packages before running pip install -r requirements.txt:
sudo apt-get install build-essential libssl-dev libffi-dev \ python-dev libxslt1-dev libpq-dev python-mysqldb \ libmysqlclient-dev libvirt-dev Atleast cinder and nova dependencies will get installed properly after this.
<div class="read-more-link">
<a href="/blog/2014/09/05/openstack-unit-testing-nuggets/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/08/09/amazon-ec2-api-with-openstack-developer-quick-start/">Amazon EC2 API with OpenStack - Developer Quick Start</a>
</h1>
<time datetime="2014-08-09T00:00:00Z" class="post-date">Sat, Aug 9, 2014</time>
OpenStack has support for EC2 API, that is, you can fire Amazon's API against an OpenStack cloud and it will still work. This article gets you started with using them locally against DevStack. It is more of a starter guide to a novice.
Fire a DevStack with it's default settings. See this post for more information on it.
git clone http://github.com/openstack-dev/devstack cd devstack/ ./stack.sh Source openrc
source openrc View all EC2 credentials available for the current user (here, demo user in demo tenant)
<div class="read-more-link">
<a href="/blog/2014/08/09/amazon-ec2-api-with-openstack-developer-quick-start/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/08/05/devstack-behind-proxy/">DevStack behind proxy</a>
</h1>
<time datetime="2014-08-05T00:00:00Z" class="post-date">Tue, Aug 5, 2014</time>
I have now seen some people struggling to get DevStack working behind proxy. Some, thinking it is a bug in DevStack, have actually posted patches for it too! Here, I'll tell you the simple way to get stack.sh complete succesfully from behind a proxy.
By default, devstack will clone from the ‘actual’ OpenStack git repositories, residing at git://git.openstack.org. Some people might face a problem with it, as DevStack uses git protocol to clone the repo.
<div class="read-more-link">
<a href="/blog/2014/08/05/devstack-behind-proxy/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/08/02/qcow2-mount/">Mounting QCOW2 images</a>
</h1>
<time datetime="2014-08-02T00:00:00Z" class="post-date">Sat, Aug 2, 2014</time>
Isn't it fun that even before you start a VM out of an image, you can add files to that image, see and edit the directory and file structure of that VM?
I wanted to boot a VM out of a disk-image, but how will I know out of the 256 available IPs for that VM, which one actually got assigned? I tried vnc console, but the connection was terribly flaky.
<div class="read-more-link">
<a href="/blog/2014/08/02/qcow2-mount/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/04/12/open-source-puppet-quick-start/">Open Source Puppet - Quick Start</a>
</h1>
<time datetime="2014-04-12T00:00:00Z" class="post-date">Sat, Apr 12, 2014</time>
This post aims to be your quickest guide to get started with Puppet. We'll be using the open source version of Puppet. An hour of spare time and two Ubuntu machines (physical or virtual doesn't matter) is all that is needed.
Quick Introduction Lets say you want to install and run apache server on one of the machines in your lab. On another, you want to create a new user. On a third machine, you want to install MySQL, and allow access to this machine only from the first server.
<div class="read-more-link">
<a href="/blog/2014/04/12/open-source-puppet-quick-start/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/04/03/openstack-in-an-hour-with-devstack/">OpenStack in an hour with DevStack</a>
</h1>
<time datetime="2014-04-03T00:00:00Z" class="post-date">Thu, Apr 3, 2014</time>
<p>So you found out a cool new technology “OpenStack” and want to try it real quick? Or probably you are hired in a company for your Python skills and now you are supposed to work on OpenStack in the shortest possible time? Fear not, it is not that hard to get started. <a href="http://devstack.org">DevStack</a> is your friend-in-need. No, don't click that hyperlink just yet :)</p>
<div class="read-more-link">
<a href="/blog/2014/04/03/openstack-in-an-hour-with-devstack/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/03/31/mysql-cheat-sheet/">MySQL Cheat Sheet</a>
</h1>
<time datetime="2014-03-31T00:00:00Z" class="post-date">Mon, Mar 31, 2014</time>
Databases are so important, yet almost all the time I need to work with it, I find that I have already forgotten all the syntax! So here I am writing down a quick cheat sheet to get me up and running when I'm waking up from slumber. I hope this will help atleast one other guy on this planet.
I use mostly Ubuntu, so some of the commands might be Ubuntu specific.
<div class="read-more-link">
<a href="/blog/2014/03/31/mysql-cheat-sheet/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/01/16/playing-around-with-cinder-backend/">Playing around with Cinder multi-backend</a>
</h1>
<time datetime="2014-01-16T00:00:00Z" class="post-date">Thu, Jan 16, 2014</time>
<p>With Grizzly release, Cinder got equipped with another major feature – multi-backends
with filter scheduler. So now you can have more than one storage boxes for block storage
and manage them with one Cinder deployment. Here, I'm going to test it out using our
favourite method – trying it out on DevStack!</p>
<div class="read-more-link">
<a href="/blog/2014/01/16/playing-around-with-cinder-backend/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/01/14/quick-start-linux-logical-volume-manager/">Quick Start: Linux Logical Volume Manager</a>
</h1>
<time datetime="2014-01-14T00:00:00Z" class="post-date">Tue, Jan 14, 2014</time>
While installing the latest Ubuntu OS on your computer, you will see that you can install the OS using LVM (Logical Volume Manager) utility. Ever wonder what is it? LVM (Logical Volume Manager) is that fantastic utility for storage administration. It provide the users with abilities which were not possible with raw disks. The storage is now ‘virtualized’. You can now easily create, move and extend volumes (for now, think of it as disk partitions) without bothering about data corruption.
<div class="read-more-link">
<a href="/blog/2014/01/14/quick-start-linux-logical-volume-manager/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2014/01/12/installing-openid-plugin-for-mediawiki/">Installing OpenID plugin for MediaWiki</a>
</h1>
<time datetime="2014-01-12T00:00:00Z" class="post-date">Sun, Jan 12, 2014</time>
<p>This post is about setting up your wiki such that their users access the wiki
only via an OpenID provider login (e.g. Google or Facebook login). This post assumes
MediaWiki is already installed.</p>
<div class="read-more-link">
<a href="/blog/2014/01/12/installing-openid-plugin-for-mediawiki/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2013/06/05/linux-screens-in-devstack/">Linux Screens in DevStack</a>
</h1>
<time datetime="2013-06-05T00:00:00Z" class="post-date">Wed, Jun 5, 2013</time>
<p>This blog article explains handling screens within OpenStack running as a DevStack setup. Some useful generic screen commands are also provided at the end.</p>
<div class="read-more-link">
<a href="/blog/2013/06/05/linux-screens-in-devstack/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2013/05/27/cinder-on-devstack-quick-start/">Cinder on DevStack - Quick Start</a>
</h1>
<time datetime="2013-05-27T00:00:00Z" class="post-date">Mon, May 27, 2013</time>
<p>This blog post covers all the important commands for OpenStack Cinder - The block storage project.
Although this guide is written based on DevStack, it will work with actual deployment of OpenStack
cloud also (except the DevStack/Linux specific bits).</p>
<div class="read-more-link">
<a href="/blog/2013/05/27/cinder-on-devstack-quick-start/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2013/03/20/openstack-tempest-quick-start-with-devstack/">OpenStack Tempest quick start with DevStack</a>
</h1>
<time datetime="2013-03-20T00:00:00Z" class="post-date">Wed, Mar 20, 2013</time>
<p>UPDATE(April 2014): Now when you set up DevStack, Tempest is automatically set up for you.</p>
<p>This quick start guide explains setting up Tempest with a DevStack environment
for Grizzly release. Most of the information here is taken from
<a href="http://www.joinfu.com/2012/03/testing-essex-rc1-with-devstack-and-tempest/">here</a>, the only difference being this blog post is more recent, and is based on Grizzly.</p>
<div class="read-more-link">
<a href="/blog/2013/03/20/openstack-tempest-quick-start-with-devstack/">Read More…</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="http://www.rushiagr.com/blog/2013/03/19/github-cheat-sheet/">Git(hub) Cheat Sheet</a>
</h1>
<time datetime="2013-03-19T00:00:00Z" class="post-date">Tue, Mar 19, 2013</time>
<p>I am posting my github cheat sheet here. I started writing it as soon as I started
learning Github and Git. So, some of the content here can appear quite naive.
I will try to keep this blog post as updated as I can, and if you find any
suggestion, please comment!</p>
<p>This post is just for a reference of commands. This post will be a bad way to learn
how git works. A basic understanding of git is assumed.</p>
<div class="read-more-link">
<a href="/blog/2013/03/19/github-cheat-sheet/">Read More…</a>
</div>
</article>
</div>
</main>
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-37074962-1', 'auto');
ga('send', 'pageview');
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
</body>
</html>