-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
1302 lines (809 loc) · 59.4 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
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Hugo 0.101.0" />
<title>Calgary RHCE</title>
<meta name="description" content="A linux and open source technology blog." />
<meta property="og:locale" content="en-us"/>
<meta property="og:image" content="https://calgaryrhce.ca/wp-content/uploads/2016/08/cropped-1477782_10152102853181489_71278912_n.jpg">
<meta property="og:type" content="blog"/>
<meta property="og:site_name" content="Calgary RHCE"/>
<meta property="og:title" content="Calgary RHCE"/>
<meta property="og:url" content="https://calgaryrhce.ca/"/>
<meta property="og:description" content="A linux and open source technology blog."/>
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Blog",
"name": "Calgary RHCE",
"url" : "https://calgaryrhce.ca/",
"image": "https://calgaryrhce.ca/wp-content/uploads/2016/08/cropped-1477782_10152102853181489_71278912_n.jpg",
"description": "A linux and open source technology blog."
}
</script>
<link type="text/css"
rel="stylesheet"
href="https://calgaryrhce.ca/css/print.css"
media="print">
<link type="text/css"
rel="stylesheet"
href="https://calgaryrhce.ca/css/poole.css">
<link type="text/css"
rel="stylesheet"
href="https://calgaryrhce.ca/css/hyde.css">
<style type="text/css">
.sidebar {
background-color: #990000;
}
.read-more-link a {
border-color: #990000;
}
footer a,
.content a,
.related-posts li a:hover {
color: #990000;
}
</style>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700&display=swap">
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css"
integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk="
crossorigin="anonymous" />
<link rel="apple-touch-icon-precomposed"
sizes="144x144"
href="/apple-touch-icon-144-precomposed.png">
<link rel="shortcut icon" href="/favicon.png">
<link href="https://calgaryrhce.ca/index.xml" rel="alternate" type="application/rss+xml" title="Calgary RHCE" />
</head>
<body>
<aside class="sidebar">
<div class="container">
<div class="sidebar-about">
<div class="author-image">
<img src="https://calgaryrhce.ca/wp-content/uploads/2016/08/cropped-1477782_10152102853181489_71278912_n.jpg" class="img-circle img-headshot center" alt="Profile Picture">
</div>
<h1>Calgary RHCE</h1>
<p class="lead">A linux and open source technology blog.</p>
</div>
<nav>
<ul class="sidebar-nav">
<li>
<a href="https://calgaryrhce.ca/">Home</a>
</li>
<li>
<a href="/posts/"> Posts </a>
</li><li>
<a href="/about/"> About </a>
</li>
</ul>
</nav>
<section class="social-icons">
<a href="https://ca.linkedin.com/in/andrewludwar" rel="me" title="Linkedin">
<i class="fab fa-linkedin" aria-hidden="true"></i>
</a>
<a href="https://github.com/aludwar" rel="me" title="GitHub">
<i class="fab fa-github" aria-hidden="true"></i>
</a>
<a href="https://twitter.com/andrewludwar" rel="me" title="Twitter">
<i class="fab fa-twitter" aria-hidden="true"></i>
</a>
</section>
</div>
</aside>
<main class="content container">
<div class="posts">
<article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2023-10-10-oauth-controller-api/">Using Automation Controller API with OAUTH</a>
</h1>
<div class="post-date">
<time datetime="2023-10-10T11:18:06-0600">Oct 10, 2023</time> · 5 min read
</div>
I wanted to spend some time outlining how to query the Automation Controller API using OAUTH tokens. A few customers have reached out with these questions and I noticed the documentation on it doesn’t immediately suggest the answer. So it’s time for a Solution Architect to step in! These are the common questions we’ll answer in this post:
<div class="read-more-link">
<a href="/posts/2023-10-10-oauth-controller-api/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2023-09-21-automation-metrics/">Introduction to Automation Metrics</a>
</h1>
<div class="post-date">
<time datetime="2023-09-21T15:28:04-0600">Sep 21, 2023</time> · 4 min read
</div>
Another topic that’s come up a lot over the past year or more has been around metrics. I’m sure by now you’ve heard of the Four Keys developed by Google. Now, these metrics get a lot of coverage in the spotlight, but should everyone use them? Not everyone is at Google’s level.
<div class="read-more-link">
<a href="/posts/2023-09-21-automation-metrics/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2023-09-21-graduating-automation/">Graduating with Automation Practices</a>
</h1>
<div class="post-date">
<time datetime="2023-09-21T09:20:21-0600">Sep 21, 2023</time> · 5 min read
</div>
Lately I’ve been engaged in a lot of automation discussions. Particularly around governance, standards, scale, workflows, best practices, and the list goes on. My impression is that folks are looking at establishing some of the common foundations to an automation practice and are getting farther down their DevOps & Automation journeys.
<div class="read-more-link">
<a href="/posts/2023-09-21-graduating-automation/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2022-10-26-aap-notifications/">Ansible Automation Platform Notifications for package reporting</a>
</h1>
<div class="post-date">
<time datetime="2022-10-26T13:18:38-0600">Oct 26, 2022</time> · 3 min read
</div>
I was recently asked to outline the options available to do package reporting after a patch cycle for RHEL. There was preference to try to do this in Ansible Automation Platform, consumed via an emailed report, so I’ll focus the bulk of the effort there. The specifics were to have view into what packages were installed, updated, removed, etc.
<div class="read-more-link">
<a href="/posts/2022-10-26-aap-notifications/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2022-07-07-fully-autonomous-containerized-deployment-2/">Fully Autonomous Containerized Deployment, part 2</a>
</h1>
<div class="post-date">
<time datetime="2022-07-14T05:36:31-0600">Jul 14, 2022</time> · 7 min read
</div>
Building upon the previous article, let’s review what we’ve built so far:
Deployed a self-managing container OS based on Fedora CoreOS Configured Fedora CoreOS to automatically update itself Setup intelligent health checks and automated rollbacks for any failed updates I’m going to tackle this first from an upstream approach with Fedora CoreOS, however there’s an excellent article written on this same topic for RHEL for Edge by Brian Smith that covers this incredibly well.
<div class="read-more-link">
<a href="/posts/2022-07-07-fully-autonomous-containerized-deployment-2/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/posts/2022-07-07-fully-autonomous-containerized-deployment/">Fully Autonomous Containerized Deployment, part 1</a>
</h1>
<div class="post-date">
<time datetime="2022-07-07T11:36:33-0600">Jul 7, 2022</time> · 5 min read
</div>
After a pandemic hiatus, I’m back with some renewed vigor to blogging. Over the past two years, I’ve built up several topics that have been stuck in my head and need to get put down to (digital) paper. I think I’m finally at a spot with either spare sanity or needing a purposeful distraction that keeps me from doomscrolling the news.
<div class="read-more-link">
<a href="/posts/2022-07-07-fully-autonomous-containerized-deployment/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2020/02/24/moving-from-fedora-atomic-to-fedora-coreos/">Moving from Fedora Atomic to Fedora CoreOS</a>
</h1>
<div class="post-date">
<time datetime="2020-02-24T23:52:59Z">Feb 24, 2020</time> · 3 min read
</div>
Recently the merging of Fedora Atomic and CoreOS Container Linux into what is now known as Fedora CoreOS has moved out of preview and is ready for prime time use. I’ve been running a few small container apps on a Fedora Atomic 28 VM, which is now ripe to be moved into the new replacement Fedora CoreOS.
<div class="read-more-link">
<a href="/blog/2020/02/24/moving-from-fedora-atomic-to-fedora-coreos/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/11/08/enabling-nested-virtualization-with-rhv-4-3/">Enabling nested virtualization with RHV 4.3</a>
</h1>
<div class="post-date">
<time datetime="2019-11-08T16:08:08Z">Nov 8, 2019</time> · 1 min read
</div>
To enable nested virtualization within a Red Hat Virtualization 4.3 environment, you will need to do two things. First, make sure the “vdsm-hook-nestedvt” package is present on the host hypervisor. You’ll need to restart vdsmd as well after installing.
Second, you’ll need to enable the Pass-Through Host CPU option in the virtual machine settings (under the host section).
<div class="read-more-link">
<a href="/blog/2019/11/08/enabling-nested-virtualization-with-rhv-4-3/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/09/20/ci-cd-with-ansible-tower-and-github/">CI/CD with Ansible Tower and GitHub</a>
</h1>
<div class="post-date">
<time datetime="2019-09-20T15:54:42Z">Sep 20, 2019</time> · 2 min read
</div>
Every so often I come across an interesting use-case or a really creative way to integrate different technology that I haven’t seen before. I follow a few folks on social media and blogs that do this stuff on a regular basis, one of them being Keith Tenzer. He’s put together a really interesting demo of Ansible Tower connected with GitHub and a webhook that showcases how CI/CD can be accomplished using Ansible without the need for a formal CI/CD pipeline toolset like Jenkins.
<div class="read-more-link">
<a href="/blog/2019/09/20/ci-cd-with-ansible-tower-and-github/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/09/20/red-hat-insights-a-predictive-analytics-engine-in-rhel/">Red Hat Insights – a predictive analytics engine in RHEL</a>
</h1>
<div class="post-date">
<time datetime="2019-09-20T15:35:51Z">Sep 20, 2019</time> · 1 min read
</div>
Something Engineering has been working hard on over the past couple of years is connecting Red Hat’s wealth of internal knowledge with items and issues customers face in the real world everyday. Born out of this effort was Red Hat Insights, a predictive analytics engine that analyzes, assesses, and builds automation to remediate issues found in customer environments.
<div class="read-more-link">
<a href="/blog/2019/09/20/red-hat-insights-a-predictive-analytics-engine-in-rhel/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/07/19/creating-custom-credentials-in-ansible-tower/">Creating custom credentials in Ansible Tower</a>
</h1>
<div class="post-date">
<time datetime="2019-07-19T22:20:23Z">Jul 19, 2019</time> · 4 min read
</div>
As we go further in our efforts to automate all the things with ansible, you will likely come across a need to manage some cusom credentials that do not come with a predefined type in Ansible Tower. You might be currently setting these in an environment variable, in group_vars or host_vars, or perhaps hardcoded into a playbook itself.
<div class="read-more-link">
<a href="/blog/2019/07/19/creating-custom-credentials-in-ansible-tower/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/07/19/adding-python-virtual-environments-venvs-to-ansible-tower/">Adding python virtual environments (venvs) to Ansible Tower</a>
</h1>
<div class="post-date">
<time datetime="2019-07-19T18:06:55Z">Jul 19, 2019</time> · 3 min read
</div>
As you’re developing playbooks you may find that you need to add additional python capability in order to use some modules. These are easy enough to install on a regular linux client with pip, but how does this work for Ansible Tower? Fortunately this is not too different for Ansible Tower, we’re just going to instruct Tower to add another source directory for our new venvs, and then assign these in Tower at an Organization, Project, or Job Template level.
<div class="read-more-link">
<a href="/blog/2019/07/19/adding-python-virtual-environments-venvs-to-ansible-tower/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/07/03/update-cobbler-signatures-for-rhel8/">Update cobbler signatures for RHEL8</a>
</h1>
<div class="post-date">
<time datetime="2019-07-03T22:52:03Z">Jul 3, 2019</time> · 3 min read
</div>
Cobbler is a great tool for PXE booting, I’ve been using it for years in both my personal and professional lives. Occassionally when a new OS comes out, you may find yourself needing to update cobbler’s distro signatures so it can import a new OS distribution. Thankfully, with their distro signatures being hosted on GitHub, this is really easy to do if your cobbler server isn’t able to pull the latest signatures on its own.
<div class="read-more-link">
<a href="/blog/2019/07/03/update-cobbler-signatures-for-rhel8/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/06/22/insync-google-drive-client-in-fedora-30/">InSync Google Drive client in Fedora 30</a>
</h1>
<div class="post-date">
<time datetime="2019-06-22T16:09:45Z">Jun 22, 2019</time> · 2 min read
</div>
After dropbox ended its support for linux clients, I went looking for a different cloud storage solution to sync data between my linux systems. I ended up purchasing 100GB with Google Drive (now Google One) and also purchasing a linux client that would connect to Google Drive and sync data between the cloud and my linux systems.
<div class="read-more-link">
<a href="/blog/2019/06/22/insync-google-drive-client-in-fedora-30/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/06/13/limiting-ansible-tower-inventory-with-satellite-host-groups/">Limiting Ansible Tower inventory with Satellite host groups</a>
</h1>
<div class="post-date">
<time datetime="2019-06-13T15:44:07Z">Jun 13, 2019</time> · 2 min read
</div>
When thinking about ingesting systems into Ansible Tower’s inventory, a common use-case is to intelligently filter hosts into Ansible Tower such that we’re selectively adding only the hosts we want into Tower inventory. When pairing with Red Hat Satellite, we can use Satellite’s host grouping feature combined with Ansible Tower’s Satellite 6 dynamic inventory script to apply this filtering.
<div class="read-more-link">
<a href="/blog/2019/06/13/limiting-ansible-tower-inventory-with-satellite-host-groups/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/05/07/32-bit-application-support-in-rhel7/">32-bit application support in RHEL7</a>
</h1>
<div class="post-date">
<time datetime="2019-05-07T16:17:02Z">May 7, 2019</time> · 1 min read
</div>
I recently needed to check the supportability of 32-bit applications in Red Hat Enterprise Linux. RHEL can support 32-bit applications in a 64-bit environment in the following scenarios:
https://access.redhat.com/solutions/509373 Additionally, with the multilib toolchain, one can install the 32-bit packages by specifying the architecture in the yum install command:
# yum install glibc.
<div class="read-more-link">
<a href="/blog/2019/05/07/32-bit-application-support-in-rhel7/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/05/06/connecting-ansible-tower-to-team-foundation-server/">Connecting Ansible Tower to Team Foundation Server</a>
</h1>
<div class="post-date">
<time datetime="2019-05-06T18:35:32Z">May 6, 2019</time> · 1 min read
</div>
Recently I was investigating how to connect Ansible Tower to Microsoft Team Foundation Server to source a git repo. To document this for later, I discovered that the way to do this is with an SSH key, and by turning on the SSH service on TFS. Here’s how I got it working:
<div class="read-more-link">
<a href="/blog/2019/05/06/connecting-ansible-tower-to-team-foundation-server/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/03/21/the-cloud-is-just-another-sun/">The Cloud is Just Another Sun</a>
</h1>
<div class="post-date">
<time datetime="2019-03-21T15:46:27Z">Mar 21, 2019</time> · 1 min read
</div>
I’ve enjoyed Kyle Rankin’s writing for the Linux Journal for several years now. Recently, he presented a topic at FOSDEM 2019 covering the current risk of cloud provider lock in where he draws comparison to the proprietary UNIX wars of the 90s and 00s. He highlights linux and open source software’s immense success during this time, and how everyone benefit from relief of costly proprietary vendor lock-in.
<div class="read-more-link">
<a href="/blog/2019/03/21/the-cloud-is-just-another-sun/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/02/28/ansible-workshop-materials/">Ansible Workshop Materials</a>
</h1>
<div class="post-date">
<time datetime="2019-02-28T17:24:22Z">Feb 28, 2019</time> · 2 min read
</div>
Recently we had one of the largest and most interesting meetups I think the Calgary market has seen in quite a while. We were able to run an Ansible Workshop, which is a mix of presentation and hands-on lab content. What makes these workshops different (and a reason people love them) is we get to teach a concept, then implement it in a lab.
<div class="read-more-link">
<a href="/blog/2019/02/28/ansible-workshop-materials/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/02/04/testing-the-odroid-hc2-with-open-media-vault/">Testing the ODROID-HC2 with Open Media Vault</a>
</h1>
<div class="post-date">
<time datetime="2019-02-04T22:59:18Z">Feb 4, 2019</time> · 2 min read
</div>
I’ve recently been tinkering with a few small Raspberry Pi-like boards. I’m anxious to get my hands on hardkernel’s ODROID-H2 x86 board, I think they might have hit a sweet spot for a decently spec’d, low TDP board with a decent amount of RAM and NVMe storage options. I like the NUC platform, but the H2 might be a less expensive & more capable option.
<div class="read-more-link">
<a href="/blog/2019/02/04/testing-the-odroid-hc2-with-open-media-vault/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/01/03/retro-gaming-with-retropie/">Retro gaming with RetroPie</a>
</h1>
<div class="post-date">
<time datetime="2019-01-03T22:58:42Z">Jan 3, 2019</time> · 2 min read
</div>
I’ve been using a raspberry pi for some occasional tinkering, but have finally found it a more permanent home. I recently got an itch to play some old console games and thought I’d build a RetroPie. I had all the hardware I needed, but in case you don’t there are kits available that include everything one needs to get a retro gaming system going.
<div class="read-more-link">
<a href="/blog/2019/01/03/retro-gaming-with-retropie/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/01/03/create-azure-vm-with-ansible/">Create Azure VM with Ansible</a>
</h1>
<div class="post-date">
<time datetime="2019-01-03T21:55:28Z">Jan 3, 2019</time> · 4 min read
</div>
With a little googling this task isn’t very complex, however, for those wanting to consume this information easily – this post is for you.
There’s a lot of cloud provisioning tools out there; if you’re like me and prefer to leverage your existing knowledge wherever possible you might come to the conclusion that using the same tool to provision your VMs as you do to manage them makes sense.
<div class="read-more-link">
<a href="/blog/2019/01/03/create-azure-vm-with-ansible/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2019/01/02/pci-dss-compliance-with-ansible-tower/">PCI-DSS Compliance with Ansible Tower</a>
</h1>
<div class="post-date">
<time datetime="2019-01-02T17:14:25Z">Jan 2, 2019</time> · 1 min read
</div>
Compliance scanning and remediation with Ansible is a common question that comes up. How does Ansible do this? What are its capabilities? Within the Ansible Galaxy community, there’s been some significant investment in developing ansible roles for security and compliance. I’ll show you how to download this Ansible role and make use of it within Ansible Tower.
<div class="read-more-link">
<a href="/blog/2019/01/02/pci-dss-compliance-with-ansible-tower/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2018/11/06/google-location-history-heatmap/">Google location history heatmap</a>
</h1>
<div class="post-date">
<time datetime="2018-11-06T14:55:28Z">Nov 6, 2018</time> · 1 min read
</div>
Okay, I give. I found this tool way too cool not to blog about it. Definitely the most interesting post by Lifehacker in a while. Someone has developed a tool that creates a heat map of your Google location history. Download your data from Google in JSON format, and upload to the tool.
<div class="read-more-link">
<a href="/blog/2018/11/06/google-location-history-heatmap/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2018/10/23/using-ansible-to-manage-rhv-ovirt/">Using ansible to manage RHV/oVirt</a>
</h1>
<div class="post-date">
<time datetime="2018-10-23T21:09:32Z">Oct 23, 2018</time> · 2 min read
</div>
A common task most virtualization administrators will perform is installing the guest agent(s) among their guest VMs. Ansible has a nice module that allows an administrator to automate these common tasks, such as attaching/detaching a CDROM device to a VM, rebooting several VMs, etc. Combining this with ansible’s management of Windows devices and it makes it fairly trivial to automate a mass installation of guest agents in windows.
<div class="read-more-link">
<a href="/blog/2018/10/23/using-ansible-to-manage-rhv-ovirt/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2018/10/23/importing-vms-into-rhv-from-kvm/">Importing VMs into RHV from KVM</a>
</h1>
<div class="post-date">
<time datetime="2018-10-23T16:13:33Z">Oct 23, 2018</time> · 1 min read
</div>
To import virtual machines from a KVM/libvirt hypervisor into Red Hat Virtualization, is pretty easy. RHV will handle the v2v copying for you in the background, there are just a couple prerequisite steps to take prior to importing. On the RHV hypervisor host you’re proxying the import connection through, setup passwordless SSH from the vdsm user to the root user on the source hypervisor:
<div class="read-more-link">
<a href="/blog/2018/10/23/importing-vms-into-rhv-from-kvm/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2018/10/20/troubleshooting-performance-of-vdo-and-nfs/">Troubleshooting performance of VDO and NFS</a>
</h1>
<div class="post-date">
<time datetime="2018-10-20T17:43:07Z">Oct 20, 2018</time> · 7 min read
</div>
In setting up a local virtualization environment a little while back, I thought I’d try the recently GA’d VDO capabilities in the RHEL 7.5 kernel. These include data compression and de-duplication natively in the linux kernel (through a kernel module). This was Red Hat’s efforts behind the Permabit acquisition. Considering a virtualization data store is a prime candidate for a de-duplication use-case, I was anxious to reclaim some of my storage budget 🙂 .
<div class="read-more-link">
<a href="/blog/2018/10/20/troubleshooting-performance-of-vdo-and-nfs/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2018/10/19/migrating-rhev-storage-domains/">Migrating RHEV storage domains</a>
</h1>
<div class="post-date">
<time datetime="2018-10-19T21:20:50Z">Oct 19, 2018</time> · 1 min read
</div>
Recently, I’ve been doing some troubleshooting in my virtualization environment, specifically with the NFS storage backing it. To isolate an issue I needed to migrate all the VM disks off the main data store to another one. I hadn’t performed this kind of activity before, but found it to be quite easy.
<div class="read-more-link">
<a href="/blog/2018/10/19/migrating-rhev-storage-domains/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2017/10/14/getting-the-most-performance-out-of-openstack-and-nfv/">Getting the most performance out of Openstack, and NFV</a>
</h1>
<div class="post-date">
<time datetime="2017-10-14T17:33:55Z">Oct 14, 2017</time> · 3 min read
</div>
By now, most IT staff has either had a chance to deploy OpenStack, or at least are familiar with what it is and what benefits it offers. We’ve moved past the installer race, the fragmentation of “as-a-service” components, and endless TCO calculators. The ecosystem and community has reached a maturity stage where the media and industry alike are calling OpenStack “boring“.
<div class="read-more-link">
<a href="/blog/2017/10/14/getting-the-most-performance-out-of-openstack-and-nfv/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2017/09/13/home-lab-cat6-wiring-and-rack/">Home lab, CAT6 wiring, and rack</a>
</h1>
<div class="post-date">
<time datetime="2017-09-13T18:05:48Z">Sep 13, 2017</time> · 5 min read
</div>
Between being busy with home renovations, and writing articles for work, I haven’t made much time for blogging this summer. Since it’s raining today and hampering my home renos, I’m finally getting to a post on the work I did wiring my house with CAT 6, and setting up a home lab rack in the basement.
<div class="read-more-link">
<a href="/blog/2017/09/13/home-lab-cat6-wiring-and-rack/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2017/03/21/calgary-openstack-and-other-meetup-com-groups/">Calgary OpenStack and other Meetup.com groups</a>
</h1>
<div class="post-date">
<time datetime="2017-03-21T23:33:46Z">Mar 21, 2017</time> · 1 min read
</div>
I’m a little late on this post, but last week we had an excellent presentation on OpenStack installers. Specifically, TripleO. Chris J from Red Hat gave us a good outline of TripleO’s capabilities, and kept it pretty upstream. For the presentation slide deck, see here. The group tries to keep it as vendor neutral as possible which is nice.
<div class="read-more-link">
<a href="/blog/2017/03/21/calgary-openstack-and-other-meetup-com-groups/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/12/11/grafana-influxdb-and-collectd-for-systems-monitoring-and-dashboarding/">Grafana, InfluxDB, and collectd for systems monitoring and dashboarding</a>
</h1>
<div class="post-date">
<time datetime="2016-12-11T22:48:42Z">Dec 11, 2016</time> · 5 min read
</div>
I’ve seen some pretty interesting Grafana graphs floating around the interwebs recently and finally made some time to investigate all the hype. I found a great blog post on how this technology is laid out; that blog post should be all you need to get started. I started by creating a new VM to host both my InfluxDB database, and the Grafana dashboarding service.
<div class="read-more-link">
<a href="/blog/2016/12/11/grafana-influxdb-and-collectd-for-systems-monitoring-and-dashboarding/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/11/24/network-teaming-in-rhel7/">Network teaming in RHEL7</a>
</h1>
<div class="post-date">
<time datetime="2016-11-24T22:32:26Z">Nov 24, 2016</time> · 4 min read
</div>
If you’ve adopted or are just starting to read up on the new features included in Red Hat Enterprise Linux 7, you may have come across the new networking feature called teaming. It essentially is a replacement for bonding that offers more modularity, increased link monitoring features, higher network performance, and easier management of interfaces.
<div class="read-more-link">
<a href="/blog/2016/11/24/network-teaming-in-rhel7/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/11/22/another-flawless-fedora-upgrade-experience/">Another flawless Fedora upgrade experience</a>
</h1>
<div class="post-date">
<time datetime="2016-11-22T22:04:10Z">Nov 22, 2016</time> · 1 min read
</div>
Today is Fedora 25 official release day. There are a few notable new additions for this release, I’m looking forward to trying out Wayland the most. I just wanted to pay a quick kudos to the Fedora team for another flawless upgrade experience. Job well done friends! My upgrade time was less than 30 minutes.
<div class="read-more-link">
<a href="/blog/2016/11/22/another-flawless-fedora-upgrade-experience/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/10/30/home-lab-switch-replacement/">Home lab switch replacement</a>
</h1>
<div class="post-date">
<time datetime="2016-10-30T23:48:16Z">Oct 30, 2016</time> · 4 min read
</div>
A few years back, I purged nearly all of my computer components that were kicking around the house, thus essentially abandoning my home lab. I had learned what I needed to with it, and had enough equipment at work to get done what I needed, so off it went. Old PCs, switches, cables, parts, etc.
<div class="read-more-link">
<a href="/blog/2016/10/30/home-lab-switch-replacement/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/10/27/openstack-deployment-troubles-enter-a-couple-validation-tools/">OpenStack deployment troubles? Enter a couple validation tools</a>
</h1>
<div class="post-date">
<time datetime="2016-10-28T00:34:47Z">Oct 28, 2016</time> · 2 min read
</div>
Whether you’re on your first or hundredth OpenStack deployment, any administrator will tell you that getting the initial deployment configuration correct is crucial. This gets easier with experience, but what can one do in the meantime to supplement that knowledge? Enter two tools: clapper, and the network isolation template generator.
<div class="read-more-link">
<a href="/blog/2016/10/27/openstack-deployment-troubles-enter-a-couple-validation-tools/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/10/15/upgrading-from-fedora-23-to-fedora-24/">Upgrading from Fedora 23 to Fedora 24</a>
</h1>
<div class="post-date">
<time datetime="2016-10-15T20:19:11Z">Oct 15, 2016</time> · 3 min read
</div>
For my main workstation, I’ve been running linux for about 8 or 9 years now and specifically Fedora for the past 3. I’ve tried to keep my workstation kernel around about the same version as the systems I maintain in the datacentre, typically just slightly ahead. This helps relate my workstation experience to the datacentre, and also keeps me slightly ahead of the learning curve getting experience with the new tools that come in, or figuring out workarounds prior to needing to do them in production.
<div class="read-more-link">
<a href="/blog/2016/10/15/upgrading-from-fedora-23-to-fedora-24/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/28/adding-ram-to-an-old-macbook-pro/">Adding RAM to an old macbook pro</a>
</h1>
<div class="post-date">
<time datetime="2016-09-29T01:54:01Z">Sep 29, 2016</time> · 3 min read
</div>
I’ve got an old 17″ Macbook Pro from late 2008 that’s still kicking. It’s served me a lot of good years filled with studying, scripting, exams, etc. and I’ve never had a problem with it. I mostly keep it around for testing OSX related things, and as a backup. Last year I replaced the aging 512GB HDD with a 256GB SSD which did wonders to speed it up.
<div class="read-more-link">
<a href="/blog/2016/09/28/adding-ram-to-an-old-macbook-pro/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/24/deploying-an-openstack-cluster-in-a-virtual-lab-environment/">Deploying an OpenStack cluster in a virtual lab environment</a>
</h1>
<div class="post-date">
<time datetime="2016-09-24T21:20:21Z">Sep 24, 2016</time> · 19 min read
</div>
Previously, I went through a couple OpenStack topics on installers, and deploying an undercloud as part of a virtual OpenStack deployment. Today I’ll walk through the overcloud deployment, and hopefully by the end of this post you will have had enough details to get your own deployment up and running. This particular environment is for Red Hat OpenStack Platform 8 (Liberty), but the same steps will apply to Mitaka as well.
<div class="read-more-link">
<a href="/blog/2016/09/24/deploying-an-openstack-cluster-in-a-virtual-lab-environment/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/15/ansible-at-the-calgary-rhug/">Ansible at the Calgary RHUG</a>
</h1>
<div class="post-date">
<time datetime="2016-09-16T00:17:49Z">Sep 16, 2016</time> · 2 min read
</div>
Today we had a great presentation from Greg Dekoenigsberg, the Director of Global Open Source Community Relations at Ansible (by Red Hat). With configuration management being such a top topic lately, that sentiment sure was reinforced with the number of attendees we had today – we filled the room! Greg gave the group a high-level overview of Ansible’s feature set, along with what the open source community has been seeing for use-cases, and adoption.
<div class="read-more-link">
<a href="/blog/2016/09/15/ansible-at-the-calgary-rhug/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/11/making-email-a-little-more-secure/">Making email a little more secure</a>
</h1>
<div class="post-date">
<time datetime="2016-09-12T03:52:31Z">Sep 12, 2016</time> · 2 min read
</div>
Every so often I try to make an effort to increase the security surrounding the technology I use. Its usually after I read a notable CVE bulletin, or hear of the latest hack. I’ve been wanting a more secure solution to webmail for the longest time, but knew I didn’t have many options if I enjoyed using webmail clients.
<div class="read-more-link">
<a href="/blog/2016/09/11/making-email-a-little-more-secure/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/11/filesystem-benchmarking/">Filesystem benchmarking</a>
</h1>
<div class="post-date">
<time datetime="2016-09-12T02:51:38Z">Sep 12, 2016</time> · 3 min read
</div>
Once in a while I need to do some I/O benchmarking. Either when creating a baseline for a before and after performance tuning comparison, or just because I want to see how fast my new SSD/M.2 really is. The tool I find myself going to over the years has been iozone.
<div class="read-more-link">
<a href="/blog/2016/09/11/filesystem-benchmarking/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/11/installing-openstack-setting-up-a-virtual-lab-environment/">Installing OpenStack – setting up a virtual lab environment</a>
</h1>
<div class="post-date">
<time datetime="2016-09-11T22:16:08Z">Sep 11, 2016</time> · 6 min read
</div>
When talking TripleO, there’s two concepts introduced called the “undercloud”, and the “overcloud”. These are essentially the labels for each OpenStack environment when referring to “OpenStack on OpenStack” (TripleO). The undercloud is the OpenStack server that manages and deploys the more publicly consumable overcloud servers that make up the OpenStack environment that we’re after.
<div class="read-more-link">
<a href="/blog/2016/09/11/installing-openstack-setting-up-a-virtual-lab-environment/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/09/10/comparing-openstack-installers/">Comparing OpenStack installers</a>
</h1>
<div class="post-date">
<time datetime="2016-09-10T22:12:03Z">Sep 10, 2016</time> · 3 min read
</div>
Building on a previous post, I promised I’d do a comparison of open source OpenStack installers. Choosing an installer requires more thought than most people think, as the choices are vast, and each installer offers different strengths, benefits, and trade-offs. Depending on your environment’s purpose and intended result, it would be wise to align your needs with the installers’ capabilities and limitations.
<div class="read-more-link">
<a href="/blog/2016/09/10/comparing-openstack-installers/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/08/21/getting-started-with-openstack/">Getting started with OpenStack</a>
</h1>
<div class="post-date">
<time datetime="2016-08-22T01:03:42Z">Aug 22, 2016</time> · 5 min read
</div>
So you’d like to get started with OpenStack eh? (Sorry, that’s my Canadian coming through). You may have been thinking about it for a while, evaluating the landscape, the maturity, evaluating your tolerance for new technology, and waiting for the right time to adopt. Being on the verge of adopting a new and disruptive technology is an intimidating place to be.
<div class="read-more-link">
<a href="/blog/2016/08/21/getting-started-with-openstack/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/03/16/deploying-owncloud-9-on-fedora-23/">Deploying ownCloud 9 on Fedora 23</a>
</h1>
<div class="post-date">
<time datetime="2016-03-16T23:14:21Z">Mar 16, 2016</time> · 6 min read
</div>
I’ve been playing around with server/VM provisioning lately and have come across a need to store some basic deployment files in the cloud. For me, these are things like ansible code, a home directory .tar file, among a few other personal items. With ownCloud 9 being recently released, I thought I should give it a try.
<div class="read-more-link">
<a href="/blog/2016/03/16/deploying-owncloud-9-on-fedora-23/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/02/03/ansible-pull-and-kickstart-for-one-touch-server-provisioning/">Ansible-pull and kickstart, for one-touch server provisioning</a>
</h1>
<div class="post-date">
<time datetime="2016-02-03T20:55:56Z">Feb 3, 2016</time> · 7 min read
</div>
Recently I’ve been learning and using Ansible as my configuration management tool. It came recommended by several colleagues, recently had an O’Reilly book published, and went through an aquisition. Safe to say its momentum and adoption is on a high… and so far, I’m loving using it. I find it vastly easier to setup and use than Puppet, Chef, CFengine, or SaltStack.
<div class="read-more-link">
<a href="/blog/2016/02/03/ansible-pull-and-kickstart-for-one-touch-server-provisioning/">Read More</a>
</div>
</article><article class="post">
<h1 class="post-title">
<a href="https://calgaryrhce.ca/blog/2016/01/07/how-open-source-strikes-the-right-balance-between-social-and-market-norms/">How open source strikes the right balance between social and market norms</a>
</h1>
<div class="post-date">
<time datetime="2016-01-07T20:54:27Z">Jan 7, 2016</time> · 6 min read