<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Christian&#39;s Blog</title>
    <link>https://www.jung-christian.de/</link>
    <description>Recent content on Christian&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Copyright 2022 by Christian Jung</copyright>
    <lastBuildDate>Mon, 28 Mar 2022 08:00:00 +0100</lastBuildDate><atom:link href="https://www.jung-christian.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>OPEN&#39;23: Streamlining Azure Resource Deployment with Ansible Automation Platform</title>
      <link>https://www.jung-christian.de/posts/2023/open23/</link>
      <pubDate>Mon, 28 Mar 2022 08:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2023/open23/</guid>
      <description>Today I was presenting a talk and live demo at OPEN&#39;23. You can now download the Slides and find all demo code on Ansible Labs.</description>
    </item>
    
    <item>
      <title>What&#39;s new in the Ansible Universe</title>
      <link>https://www.jung-christian.de/posts/2021/09/whats-new-in-the-ansible-universe/</link>
      <pubDate>Tue, 07 Sep 2021 08:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2021/09/whats-new-in-the-ansible-universe/</guid>
      <description>I recently presented the lastest updates in the Ansible Universe to the Ansible User Group/Open Source User Group in Dresden.
After a quick summary about the current status of Ansible Collections, the new Ansible execution environments were explained. We then looked at Ansible Builder to create such an execution environment. A Playbook can be executed with an execution environment by using Ansible Navigator - which also has some other great features which were quickly explained.</description>
    </item>
    
    <item>
      <title>Git Cheatsheet</title>
      <link>https://www.jung-christian.de/posts/2020/08/git-cheatsheet/</link>
      <pubDate>Wed, 14 Apr 2021 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2020/08/git-cheatsheet/</guid>
      <description>Getting started with gitThis is just a list of useful commands and practices I learned over time while using git.
Basic git workflowThe following chapters are the simple commands to get you started.
Clone a repositoryCreate a local clone:
1git clone URI Git supports different protocols, typically you use one of the below:
1# clone for GitLab, GitHub etc. via HTTPS 2git clone https://github.com/ansible/ansible.git 3# if you want to commit to a repo, it is often more efficient to use SSH 4git clone git@github.</description>
    </item>
    
    <item>
      <title>Transition to Ansible collections with the help of git submodule</title>
      <link>https://www.jung-christian.de/posts/2021/03/ansible-collections-transition/</link>
      <pubDate>Wed, 24 Mar 2021 08:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2021/03/ansible-collections-transition/</guid>
      <description>Ansible collections - a new way to package your contentWhen planning how to organize and distribute Ansible content, we have to get familiar with the (not so new) concept of Ansible collections. Ansible collections can include plugins, modules, filters, roles and more in one gzipped tar archive. Although Ansible collections are created in a very similar way to roles, a recurring question is: How do I efficiently transition to the new content structure?</description>
    </item>
    
    <item>
      <title>Ansible support in Visual Studio Code</title>
      <link>https://www.jung-christian.de/posts/2021/02/ansible-vscode/</link>
      <pubDate>Thu, 04 Feb 2021 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2021/02/ansible-vscode/</guid>
      <description>Update: Since I published this article, I learned that work has been started on a new native Ansible Extension (updated link) for Visual Studio Code.
Microsoft retired the Ansible extension for Visual Studio CodeIf you use the VSCode extension for Ansible from Microsoft, you might have noticed that it recently was retired. When looking for alternatives, I found a combination of the Red Hat YAML extension and the JSON Schemastore do the trick.</description>
    </item>
    
    <item>
      <title>CI/CD pipeline for static inventories</title>
      <link>https://www.jung-christian.de/posts/2020/07/ci-with-static-inventories/</link>
      <pubDate>Wed, 29 Jul 2020 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2020/07/ci-with-static-inventories/</guid>
      <description>It&amp;rsquo;s usually a good idea to use dynamic inventories with Ansible in large or volatile environments, including but not limited to private and public cloud or containers. There are still valid use cases to work with static inventories though.
Ansible Tower makes it easy to use an static inventory files from a source control management system like Git, Subversion or others. However, if your inventory and your playbook are not in the same project, update on launch will not have the desired affect.</description>
    </item>
    
    <item>
      <title>Ansible Tower centralized management - a security risk?</title>
      <link>https://www.jung-christian.de/posts/2020/03/tower-security/</link>
      <pubDate>Tue, 10 Mar 2020 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2020/03/tower-security/</guid>
      <description>About centralized managementAnsible is by design a decentralized management tool. Users can install Ansible on any supported operating system and run ansible-playbook to manage IT systems like servers, network devices and storages. Assuming one knows the proper credentials and has the necessary network access, any accessible device can be managed. This is great to get things started and people new to Ansible appreciate the fact of a smooth learning curve and some quick results.</description>
    </item>
    
    <item>
      <title>New role: Ansible SSA</title>
      <link>https://www.jung-christian.de/posts/2019/12/ansbile/</link>
      <pubDate>Sun, 01 Dec 2019 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2019/12/ansbile/</guid>
      <description>The future of IT automationStarting December 1st, 2019 I&amp;rsquo;m switching technologies from CloudForms to Ansible. Since the acquisition of Ansible by Red Hat, CloudForms continuously improved its integration with Ansible and Ansible Tower. This allowed me to build up Ansible expertise in the last two years, which made the transition to this new role smooth and easy.
Ansible is an exciting technology with a huge community and I&amp;rsquo;m looking forward to do my part for its future success.</description>
    </item>
    
    <item>
      <title>Labs consolidated</title>
      <link>https://www.jung-christian.de/posts/2019/03/labs/</link>
      <pubDate>Thu, 28 Mar 2019 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2019/03/labs/</guid>
      <description>Labs SituationIn the previous years I have done a number of labs during Red Hat events like Summit, Partner Conferences or Tech Exchange. These labs have always been hosted on GitHub or GitLab for everyone to review, provide feedback and execute on their own time.
Although GitLab and GitHub provide a decent experience when reading Markdown files, there is still room for improvement. For example I often missed a search feature which indexes all lab content.</description>
    </item>
    
    <item>
      <title>What to do in Malta</title>
      <link>https://www.jung-christian.de/posts/2019/01/what-to-do/</link>
      <pubDate>Thu, 24 Jan 2019 12:05:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2019/01/what-to-do/</guid>
      <description>What to do in MaltaIn my previous post I gave some tips on how to get around in Malta. This articles focusses on ideas where to go.
Museums National Museum of Archaeology
Fort St Elmo – National War Museum
Ħaġar Qim Temples
Churches St John’s Co-Cathedral
Rotunda in Mosta
Cities Three Cities
Valletta
Mdina and Rabat
Beaches and Bays List of Beaches and Bays Markets Fish market in Marsaxlokk every Sunday</description>
    </item>
    
    <item>
      <title>Getting around in Malta</title>
      <link>https://www.jung-christian.de/posts/2019/01/getting-around/</link>
      <pubDate>Thu, 24 Jan 2019 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2019/01/getting-around/</guid>
      <description>Getting around in MaltaIn Summer 2018 I visited Malta for the first time and fell in love with this tiny island in the mediterranean sea. I often get asked how to get around in Malta and what places to visit. Here are my personal recommendations.
Public TransportMalta has a very good bus network. The number of bus stops in populated areas is very high, they usually get served very frequently and it&amp;rsquo;s fairly easy to get from A to B.</description>
    </item>
    
    <item>
      <title>Running an Ansible Tower Job from a Button</title>
      <link>https://www.jung-christian.de/posts/2019/01/tower-job/</link>
      <pubDate>Wed, 16 Jan 2019 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2019/01/tower-job/</guid>
      <description>Purpose of this documentCloudForms and ManageIQ make it easy to customize the User Interface to add additional capabilities not provided out of the box. For the end user, these Custom Buttons are integrated into the User Interface and are not distinguishable from out of the box features.
Ansible Playbooks can either used directly with the embedded Ansible feature or an external Ansible Tower Server can be configured as a provider and Job Templates configured there, can be executed.</description>
    </item>
    
    <item>
      <title>Mini Series on Ansible Buttons in CloudForms 4.6</title>
      <link>https://www.jung-christian.de/posts/2018/06/ansible-updates-46/</link>
      <pubDate>Thu, 31 May 2018 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2018/06/ansible-updates-46/</guid>
      <description>Purpose of this documentCloudForms 4.6 and ManageIQ Gaprindashvili give us some improvements in handling the embedded Ansible capabilities.
I published a mini series of articles on the official Red Hat CloudForms blog demonstrating those new features.
Ansible Custom Buttons in CloudForms (Part 1 configuring the environment)
Ansible Custom Buttons in CloudForms (Part 2 creating the button)</description>
    </item>
    
    <item>
      <title>CloudForms labs at Red Hat Summit</title>
      <link>https://www.jung-christian.de/posts/2018/04/summit/</link>
      <pubDate>Wed, 04 Apr 2018 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2018/04/summit/</guid>
      <description>I will run two labs during Red Hat Summit 2018 in San Francisco with some of my colleagues. Feel free to check the agenda and register, or just drop by and say hello.
Red Hat CloudForms with Red Hat Ansible Automation—Better togetherHave you heard about the embedded Ansible theme of Red Hat CloudForms? Keen to learn more? Join us in this lab session for hands-on exercises utilizing Red Hat Ansible Automation in CloudForms.</description>
    </item>
    
    <item>
      <title>How to delete an obsolete Appliance</title>
      <link>https://www.jung-christian.de/posts/2018/01/delete-appliance/</link>
      <pubDate>Thu, 11 Jan 2018 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2018/01/delete-appliance/</guid>
      <description>Purpose of this documentThe architecture of CloudForms or ManageIQ allows you to easily scale out by adding additional appliances when needed. This could be used to accommodate growth of the managed infrastructure, better security isolation or increased availability requirements. This can easily be done by joining an appliance to an existing region as documented in the ManageIQ or Red Hat Documentation. There is an example if you deploy CloudForms on Red Hat Virtualization.</description>
    </item>
    
    <item>
      <title>Enforce SELinux Compliance Policy with Ansible</title>
      <link>https://www.jung-christian.de/posts/2017/12/enforce-selinux-with-ansible/</link>
      <pubDate>Thu, 14 Dec 2017 12:00:00 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/12/enforce-selinux-with-ansible/</guid>
      <description>Enforce ComplianceIn a recent article about how to write a SELinux Compliance Policy you learned how to use CloudForms&amp;rsquo; and ManageIQ&amp;rsquo;s capability to perform compliance checks. This article goes one step further: Instead of just reporting compliance or non-compliance of a given virtual machine, we use the power of Ansible to enforce compliance.
This example builds on the Compliance and Control policy described in the mentioned article and it is recommended to read it first.</description>
    </item>
    
    <item>
      <title>CRUD for Custom Attributes in CloudForms or ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2017/12/custom-attributes/</link>
      <pubDate>Wed, 06 Dec 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/12/custom-attributes/</guid>
      <description>Custom attributes in CloudForms and ManageIQOne of the nice features CloudForms and ManageIQ provide, is the automated discovery of the existing infrastructure. The collected information is stored in the database (often called the VMDB) and regularly updated. Sometimes we want to store additional information for specific objects as well. Although the database is not intended to be or to replace a CMDB, it is still a valid option for storing additional data.</description>
    </item>
    
    <item>
      <title>Retrieve MAC Address from SCVMM</title>
      <link>https://www.jung-christian.de/posts/2017/11/scvmm-get-mac/</link>
      <pubDate>Mon, 20 Nov 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/11/scvmm-get-mac/</guid>
      <description>Purpose of this documentTo provision Virtual Machines from CloudForms or ManageIQ by utilizing the Foreman, the MAC Address of the new system has to be specified. Due to this Bugzilla, the MAC address is unfortunately not in the VMDB right now.
I wrote a small script which uses WinRM and PowerShell to retrieve the MAC address and store it in the State Machine. How to store and retrieve variables has been documented before in the article Preserve data in ManageIQ state machines A modified version of the register_foreman script fetches the MAC address from the variable, instead of the actual Virtual Machine.</description>
    </item>
    
    <item>
      <title>Continuous Integration with CloudForms or ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2017/11/continuous-integration-with-automate/</link>
      <pubDate>Fri, 10 Nov 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/11/continuous-integration-with-automate/</guid>
      <description>Purpose of this documentCloudForms and ManageIQ have an embedded editor which allows you to write and edit Automate code. This is convenient and easy to use for smaller modifications. As soon as you want to work on larger projects, you probably want more:
history: be able to go back to previous versions of your code
branches: be able to create branches for test features or specific bug fixes
better editor: the built in HTML editor is good enough for simple coding, but eventually you might want to use a more sophisticated editor.</description>
    </item>
    
    <item>
      <title>Best Practice recommendations for Automate</title>
      <link>https://www.jung-christian.de/posts/2017/10/automate-best-practice/</link>
      <pubDate>Tue, 10 Oct 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/10/automate-best-practice/</guid>
      <description>Purpose of this documentThe idea of this document is to collaboratively collect coding style recommendations and best practices to give guidance on how to use Automate in CloudForms and ManageIQ.
The following tips are meant for guidance and should give you some hints and ideas on how to do things “the clean way”. There are always exceptions from those rules. This document does not claim to be complete but should provide some recommendations and guidance.</description>
    </item>
    
    <item>
      <title>Custom Smart State Analysis Profiles</title>
      <link>https://www.jung-christian.de/posts/2017/10/modify-ssa-profile/</link>
      <pubDate>Tue, 10 Oct 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/10/modify-ssa-profile/</guid>
      <description>About Smart State AnalysisCloudForms and ManageIQ have a feature called &amp;ldquo;Smart State Analysis&amp;rdquo; which allows them to analyse the disk of a Virtual Machine, Instance, Template or Image and retrieve data about the installed Operating System, applications, local groups and users and more. This is implemented completely without the need of additional agents and as a consequence is independent of the VM power state.
Smart State can be also sued for Containers and Hypervisors, but the following example focuses on Virtual Machines.</description>
    </item>
    
    <item>
      <title>SELinux Compliance Policy</title>
      <link>https://www.jung-christian.de/posts/2017/10/control-policy-selinux/</link>
      <pubDate>Tue, 10 Oct 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/10/control-policy-selinux/</guid>
      <description>CloudForms and ManageIQ allow the definition of Compliance Policies which can be used to verify consistency of Virtual Machines, Instances, Hypervisors and other objects, in the entire environment. Compliance Policies can trigger actions to be able to notify about non-compliance or to go one step further and enforce compliance, for example by using Ansible Playbooks to fix the problem.
There are a number of examples about Compliance Policies on the official Red Hat CloudForms blog.</description>
    </item>
    
    <item>
      <title>SmartProxy Affinity</title>
      <link>https://www.jung-christian.de/posts/2017/02/smart-proxy-affinity/</link>
      <pubDate>Thu, 23 Feb 2017 12:19:49 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/02/smart-proxy-affinity/</guid>
      <description>SmartState AnalysisCloudForms and ManageIQ can collect information from the configured providers to build its internal inventory. For virtual machines or instances this includes information like the name, associated IP addresses, virtual hardware specification and many more. Additional information can be retrieved by executing a SmartState Analysis. SmartState is implemented agentless and uses temporary snapshots to analyze virtual machines and templates.
To collect the information from VMware, the VDDK library has to be installed on all applicable appliances manually.</description>
    </item>
    
    <item>
      <title>ManageIQ vs CloudForms - what&#39;s the difference</title>
      <link>https://www.jung-christian.de/posts/2017/01/manageiq-vs-cloudforms/</link>
      <pubDate>Sun, 29 Jan 2017 22:14:29 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/01/manageiq-vs-cloudforms/</guid>
      <description>Red Hat CloudForms and ManageIQ both recently launched new releases of their software. The latest release of Red Hat CloudForms is 4.2, while ManageIQ is following an alphabetical versioning schema and released Euwe.
Red Hat is following an &amp;ldquo;upstream first&amp;rdquo; policy, meaning all new features are developed in the community driven project, in this case ManageIQ. Based on the work of the upstream project, every now and then a supported Red Hat Product is created, in this case Red Hat CloudForms.</description>
    </item>
    
    <item>
      <title>Call a script from a Control Policy</title>
      <link>https://www.jung-christian.de/posts/2017/01/call-script-from-control-policy/</link>
      <pubDate>Tue, 17 Jan 2017 22:14:29 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/01/call-script-from-control-policy/</guid>
      <description>Control and Compliance PoliciesRed Hat CloudForms and ManageIQ allow users to create control and compliance policies to enforce compliance checks on the Cloud, IaaS and PaaS environment. There is Documentation available on how to create and manage Policies, so this post will skip going into further details on that.
With such a policy very powerful rules can be created and enabled. Sometimes a very simple example is all you need though.</description>
    </item>
    
    <item>
      <title>Bye Bye Flash</title>
      <link>https://www.jung-christian.de/posts/2017/01/bye-bye-flash/</link>
      <pubDate>Thu, 12 Jan 2017 18:10:50 +0100</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2017/01/bye-bye-flash/</guid>
      <description>Adobe&amp;rsquo;s Flash Plugin is well known for its security flaws and for causing browser crashes. ManageIQ got rid of Flash already in the Anand Release and replaced all relevant parts of the code with a JavaScript library to render graphs and diagrams. Finally Red Hat CloudForms 4.2 was released and is now using the same JavaScript library and does not require Flash anymore.
So the first thing I did is running the following command on all my machines:</description>
    </item>
    
    <item>
      <title>Blog relaunch</title>
      <link>https://www.jung-christian.de/posts/2016/12/blog-relaunch/</link>
      <pubDate>Wed, 21 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/12/blog-relaunch/</guid>
      <description>After using Wordpress on OpenShift Online for a long time, I decided to switch my blog platform. The new blog is using statically created HTML pages generated by Hugo. Performance of the new page should be much better. I made sure no links were broken during this transition.
At the same time I fixed some internal stuff and selected a fresh and modern design. This should also render quite nicely on mobile devices.</description>
    </item>
    
    <item>
      <title>How to setup a PostgreSQL database for ManageIQ and CloudForms</title>
      <link>https://www.jung-christian.de/posts/2016/11/setup-postgresql-database-manageiq-cloudforms/</link>
      <pubDate>Wed, 23 Nov 2016 14:44:44 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/11/setup-postgresql-database-manageiq-cloudforms/</guid>
      <description>When playing with several CloudForms and ManageIQ appliances in my lab environment, I face the problem that I quickly run out of RAM on my virtual infrastructure. I&amp;rsquo;m using a number of Intel NUC&amp;rsquo;s and although the newest models can go up to 32 GB of RAM, memory has always been my bottleneck. So I thought instead of running a PostgreSQL server in each virtual CloudForms or ManageIQ appliance, it might be more efficient to have a dedicated PostgreSQL Server for all of them.</description>
    </item>
    
    <item>
      <title>Using Tags for access control</title>
      <link>https://www.jung-christian.de/posts/2016/08/using-tags-for-access-control/</link>
      <pubDate>Thu, 25 Aug 2016 18:35:15 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/08/using-tags-for-access-control/</guid>
      <description>UPDATE 2016-10-14: A more polished version of this article can now be found on the Official Red Hat CloudForms Blog.
Most systems are using Access Control LIsts (ACL) to manage user access to objects. Common examples are ACL&amp;rsquo;s for file systems, LDAP, Web Servers and many more. Who ever had to create ACL rules and maintain them knows how complicated this can be. To make access control easy again, CloudForms and ManageIQ are using tags.</description>
    </item>
    
    <item>
      <title>Create Cobbler PXE/TFTP Records during VM Provisioning</title>
      <link>https://www.jung-christian.de/posts/2016/08/create-cobbler-pxetftp-records-during-vm-provisioning/</link>
      <pubDate>Wed, 17 Aug 2016 14:46:11 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/08/create-cobbler-pxetftp-records-during-vm-provisioning/</guid>
      <description>Red Hat Satellite 5.x is using Cobbler to manage DHCP and TFTP configuration files. A while back, we posted an article on how to use Cobbler Provisioning via CloudForms 2.0. Since the original post was written for CloudForms 2.0 in 2013, it&amp;rsquo;s probably time for an update.
I rewrote the script and uploaded it to Github.
To add a Cobbler system record during provisioning, an additional step in the provisioning state machine is necessary.</description>
    </item>
    
    <item>
      <title>Add an additional network interface on RHEV virtual machines</title>
      <link>https://www.jung-christian.de/posts/2016/08/add-an-additional-network-interface-on-rhev-virtual-machines/</link>
      <pubDate>Fri, 05 Aug 2016 15:30:05 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/08/add-an-additional-network-interface-on-rhev-virtual-machines/</guid>
      <description>Similar to the previous post on how to add additional disks for existing virtual machines running on RHEV, this article describes how to add additional network interfaces to virtual machines running in RHEV.
The implementation follows the same concept:
use a dynamic drop down list to make the selection of available networks available to the user
specify the name of the new interface
create a button to call the action</description>
    </item>
    
    <item>
      <title>Add an additional disk on RHEV virtual machines</title>
      <link>https://www.jung-christian.de/posts/2016/08/add-an-additional-disk-on-rhev-virtual-machines/</link>
      <pubDate>Fri, 05 Aug 2016 15:25:41 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/08/add-an-additional-disk-on-rhev-virtual-machines/</guid>
      <description>I was working on a script to add additional disks to existing virtual machines running on Red Hat Enterprise Virtualization (RHEV). I did find some code original written by Eduardo Minguez which I just polished a little bit. Thanks to him I published the full code on Github under the terms of the GPL.
There are actually multiple steps to build a user friendly way for adding the virtual disk:</description>
    </item>
    
    <item>
      <title>Orchestrating OpenShift Enterprise with ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2016/06/orchestrating-openshift-enterprise-with-manageiq/</link>
      <pubDate>Fri, 03 Jun 2016 09:18:15 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/06/orchestrating-openshift-enterprise-with-manageiq/</guid>
      <description>A nice post on how to scale OpenShift Applications with ManageIQ OpenShift Enterprise with ManageIQ).</description>
    </item>
    
    <item>
      <title>How to provision Azure workloads with CloudForms</title>
      <link>https://www.jung-christian.de/posts/2016/02/how-to-provision-azure-workloads-with-cloudforms/</link>
      <pubDate>Mon, 22 Feb 2016 10:21:15 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/02/how-to-provision-azure-workloads-with-cloudforms/</guid>
      <description>Just found this very good video demonstration on how to provision workloads on Microsoft Azure with CloudForms.
Check out the site for other good video demonstrations too.</description>
    </item>
    
    <item>
      <title>Memory errors when provisioning VM from template in RHEV</title>
      <link>https://www.jung-christian.de/posts/2016/02/memory-errors-when-provisioning-vm-from-template-in-rhev/</link>
      <pubDate>Wed, 10 Feb 2016 08:29:09 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2016/02/memory-errors-when-provisioning-vm-from-template-in-rhev/</guid>
      <description>If you&amp;rsquo;re provisioning from a template which is stored in RHEV, you might ran into the following error (found in evm.log):
1MIQ(MiqProvisionRedhat#&amp;lt;wbr&amp;gt;&amp;lt;/wbr&amp;gt;provision_error) [[Ovirt::Error]: [Cannot edit VM. Physical Memory Guaranteed cannot exceed Memory Size.]] encountered during phase [customize_destination] This happens if the template is using more memory than your provisioned VM. For example, the template is using 4 GB of memory, but you&amp;rsquo;re trying to deploy a VM which is only using 2 GB.</description>
    </item>
    
    <item>
      <title>Create Snapshots for a Service in OpenStack</title>
      <link>https://www.jung-christian.de/posts/2015/12/create-snapshots-for-a-service-in-openstack/</link>
      <pubDate>Thu, 17 Dec 2015 16:30:23 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/12/create-snapshots-for-a-service-in-openstack/</guid>
      <description>Based on the script to create snapshots for OpenStack instances, this version provides similar functionality for service items.
It iterates through the list of instances belonging to a specific service and creates a snapshot for each instance. The complete method can be found on Github.
This can be called from a custom button associated to service items.</description>
    </item>
    
    <item>
      <title>Create Snapshots in OpenStack</title>
      <link>https://www.jung-christian.de/posts/2015/12/create-snapshots-in-openstack/</link>
      <pubDate>Thu, 17 Dec 2015 16:16:01 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/12/create-snapshots-in-openstack/</guid>
      <description>One of my first experiments using the Ruby fog library. ManageIQ or CloudForms can currently not create snapshots for OpenStack instances.
With a custom button and a method available on Github, you can easily add this functionality. The snapshot name and snapshot ID will be stored in custom attributes of the instance, so they show up in the Web UI (after a reload).</description>
    </item>
    
    <item>
      <title>Execute commands with RbVmomi</title>
      <link>https://www.jung-christian.de/posts/2015/12/execute-commands-with-rbvmomi/</link>
      <pubDate>Thu, 17 Dec 2015 13:40:39 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/12/execute-commands-with-rbvmomi/</guid>
      <description>One way to execute remote commands on a running VMware VM is by using RbVmomi. It&amp;rsquo;s a Ruby wrapper for VMware&amp;rsquo;s SOAP API.
RvVmomi is not installed on the appliance by default, but can be easily added:
1gem install rbvmomi To make this work, the VMware Tools have to be installed and running inside the virtual machine. You also need the credentials to log into the virtual machine.
An example method on how to use this library can be found on my Github page.</description>
    </item>
    
    <item>
      <title>Sharing information between service catalog items</title>
      <link>https://www.jung-christian.de/posts/2015/12/sharing-information-between-service-catalog-items/</link>
      <pubDate>Thu, 17 Dec 2015 08:45:18 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/12/sharing-information-between-service-catalog-items/</guid>
      <description>In case of a deployment of an multi tiered application, it is often necessary to store information which was generated while provisioning the first VM, so it can be retrieved during provisioning of the following VMs.
A simple example could be a service catalog bundle consisting of one DB VM and two application servers. The two application servers have to be configured to use the previously created DB.
One way to store and retrieve this information, is to use the parent miq_request object.</description>
    </item>
    
    <item>
      <title>The definite guide to CloudForms and ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2015/10/the-definite-guide-to-cloudforms-and-manageiq/</link>
      <pubDate>Mon, 05 Oct 2015 10:32:46 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/10/the-definite-guide-to-cloudforms-and-manageiq/</guid>
      <description>If you&amp;rsquo;re looking for a good book about CloudForms and ManageIQ, check this one out.
CloudForms &amp;amp; ManageIQ Automation How-To Guide
It has all the gory details about Automate and probably everything else you would ever want to know. And in the true spirit of Open Source it&amp;rsquo;s hosted on GitHub to make this even better over time.</description>
    </item>
    
    <item>
      <title>Install all available updates via Satellite 6</title>
      <link>https://www.jung-christian.de/posts/2015/09/install-all-available-updates-via-satellite-6/</link>
      <pubDate>Fri, 11 Sep 2015 10:24:38 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/09/install-all-available-updates-via-satellite-6/</guid>
      <description>Red Hat Satellite 6 is a great tool to manage your RHEL virtual machines. In some scenarios you would like to be able to install all available updates for a given system from CloudForms or ManageIQ. I created a small script to accomplish this task.
To use this script, it is necessary to upgrade your Satellite Server to version 6.1.1 or later. Earlier versions do not expose the necessary API calls.</description>
    </item>
    
    <item>
      <title>Manage VM snapshots in RHEV/oVirt with ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2015/06/manage-vm-snapshots-in-rhevovirt-with-manageiq/</link>
      <pubDate>Wed, 17 Jun 2015 08:50:28 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/06/manage-vm-snapshots-in-rhevovirt-with-manageiq/</guid>
      <description>One feature which is still missing in ManageIQ or CloudForms is the capability to create, roll back and delete snapshots in RHEV or oVirt.
I wrote three scripts to accomplish these tasks and made them available on Github.
Download the namespace cjung, zip and import it into the appliance by clicking &amp;ldquo;Automate, Import/Export&amp;rdquo; and upload the zip file. There is a YAML export of some simple example dialogs which can be used when designing the custom buttons.</description>
    </item>
    
    <item>
      <title>Check provisioning state in ManageIQ with Foreman</title>
      <link>https://www.jung-christian.de/posts/2015/06/check-provisioning-state-in-manageiq-with-foreman/</link>
      <pubDate>Wed, 10 Jun 2015 10:10:39 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/06/check-provisioning-state-in-manageiq-with-foreman/</guid>
      <description>If you&amp;rsquo;re using The Foreman for provisioning VMs, you might want the state machine to proceed only if the puppet run was completed successfully. I wrote a script which checks the puppet state of a given VM via Foreman&amp;rsquo;s API. It can be found on Github.
To make this script work, the hostid of the provisioned VM has to be stored as an provisioning option. The following line in the script, retrieves the hostid:</description>
    </item>
    
    <item>
      <title>Delete VM from Foreman during retirement</title>
      <link>https://www.jung-christian.de/posts/2015/06/delete-vm-from-foreman-during-retirement/</link>
      <pubDate>Tue, 02 Jun 2015 14:09:18 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/06/delete-vm-from-foreman-during-retirement/</guid>
      <description>ManageIQ is covering the full life cycle of a virtual machine or service. This includes the eventual retirement of resources. If you&amp;rsquo;re using my script to register a virtual machine in Foreman, you might want to delete the Foreman records during retirement.
A wrote a little script to do that, which can be found on GitHub.
To use the script, you can either re-use one of the existing states of the VM Retirement state machine, or add an additional one.</description>
    </item>
    
    <item>
      <title>How to provision VMs with Foreman and ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2015/04/how-to-provision-vms-with-foreman-and-manageiq/</link>
      <pubDate>Thu, 30 Apr 2015 11:51:24 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/04/how-to-provision-vms-with-foreman-and-manageiq/</guid>
      <description>The Foreman is a very powerful tool for system management. Red Hat&amp;rsquo;s new version of Satellite is also using Foreman as one of its core components. It&amp;rsquo;s only consequent to setup both tools so they can benefit from each other.
While Foreman is the better tool for deployment and configuration management, ManageIQ acting as an open hybrid cloud management platform has the better understanding of the multiple cloud and virtualization environments.</description>
    </item>
    
    <item>
      <title>Preserve data in ManageIQ state machines</title>
      <link>https://www.jung-christian.de/posts/2015/03/preserve-data-in-manageiq-state-machines/</link>
      <pubDate>Mon, 30 Mar 2015 12:37:37 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/03/preserve-data-in-manageiq-state-machines/</guid>
      <description>A state machine in ManageIQ or CloudForms can be used to describe a sequence of tasks executed during specific actions. A state machine offers logic for retries, error handling and can be easily created and optimised to accomplish complex tasks.
For quite some time there was a limitation in the state machine, if variables had to be carried between different stages (Bugzilla #1044175). It worked fine, until a state had to be re-executed (retry) which caused the &amp;ldquo;collect&amp;rdquo; feature to loose the data.</description>
    </item>
    
    <item>
      <title>How to use CloudInit in CloudForms or ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2015/01/how-to-use-cloudinit-in-cloudforms-or-manageiq/</link>
      <pubDate>Wed, 28 Jan 2015 13:30:04 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/01/how-to-use-cloudinit-in-cloudforms-or-manageiq/</guid>
      <description>CloudForms/ManageIQ and RHEV both support CloudInit.
In CloudForms the configuration is hidden in Infrastructure, PXE. Navigate to &amp;ldquo;Customization Templates&amp;rdquo; on the left hand accordion and create a new template (I used the folder &amp;ldquo;RHEL-6&amp;rdquo; for my testing). When creating the temlate select &amp;ldquo;CloudInit&amp;rdquo; in the &amp;ldquo;Type&amp;rdquo; drop down list.
Now you can add your raw CloudInit configuration into the text area.
Note: Your script has to start with this first line: #cloud-config</description>
    </item>
    
    <item>
      <title>How to import qcow images into RHEV</title>
      <link>https://www.jung-christian.de/posts/2015/01/how-to-import-qcow-images-into-rhev/</link>
      <pubDate>Wed, 14 Jan 2015 10:19:50 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2015/01/how-to-import-qcow-images-into-rhev/</guid>
      <description>Red Hat is providing KVM/QCOW2 images on the support portal for easy access and use in virtualized or cloud environments. The images are stripped down and cloud-init enabled so they can be used for example in OpenStack, RHEV/ovirt or plain KVM. CloudForms/ManageIQ provides support for managing cloud-init templates and the combination of those technologies dramatically simplifies template management.
To use such an image on RHEV, you have to first import it.</description>
    </item>
    
    <item>
      <title>External authentication in ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2014/12/external-authentication-in-manageiq/</link>
      <pubDate>Thu, 11 Dec 2014 06:16:35 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/12/external-authentication-in-manageiq/</guid>
      <description>ManageIQ and CloudForms provide multiple methods to authenticate users.
Database: All users and groups are managed in the internal database.
LDAP/LDAPS: Users are authenticated via an external system and group information can optionally be retrieved too. This is useful if you already have an enterprise directory like LDAP or Microsoft ActiveDirectory
Amazon: Use AWS to authenticate users
External: Beginning with CloudForms 3.1 and ManageIQ Anand you can also authenticate and retrieve user/group information via an external system.</description>
    </item>
    
    <item>
      <title>What you see is what you get</title>
      <link>https://www.jung-christian.de/posts/2014/12/what-you-see-is-what-you-get/</link>
      <pubDate>Thu, 04 Dec 2014 17:31:15 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/12/what-you-see-is-what-you-get/</guid>
      <description>You order this:
What you ordered And you get this:
And what you got </description>
    </item>
    
    <item>
      <title>Videos ManageIQ community event</title>
      <link>https://www.jung-christian.de/posts/2014/11/videos-manageiq-community-event/</link>
      <pubDate>Mon, 03 Nov 2014 03:10:50 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/11/videos-manageiq-community-event/</guid>
      <description>The videos of the first ManageIQ community event have been uploaded to the ManageIQ youtube channel. This does also include a recording of my talk about user stories from the field.</description>
    </item>
    
    <item>
      <title>ManageIQ at LinuxCon</title>
      <link>https://www.jung-christian.de/posts/2014/10/manageiq-at-linuxcon/</link>
      <pubDate>Tue, 14 Oct 2014 11:34:37 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/10/manageiq-at-linuxcon/</guid>
      <description>In my presentation Taming Hybrid Clouds I will talk about ManageIQ and how it can be used to solve today&amp;rsquo;s cloud management challenges.
Slides are now available for download: ManageIQ at LinuxCon 2014</description>
    </item>
    
    <item>
      <title>LinuxCon</title>
      <link>https://www.jung-christian.de/posts/2014/10/linuxcon/</link>
      <pubDate>Mon, 13 Oct 2014 07:27:37 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/10/linuxcon/</guid>
      <description>This week I&amp;rsquo;m attending LinuxCon Europe in Düsseldorf. I will also present ManageIQ at this event on Wednesday.
Sponsors Introduction </description>
    </item>
    
    <item>
      <title>Google’s iron grip on Android: Controlling open source by any means necessary | Ars Technica</title>
      <link>https://www.jung-christian.de/posts/2014/08/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary-ars-technica/</link>
      <pubDate>Fri, 29 Aug 2014 07:18:21 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/08/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary-ars-technica/</guid>
      <description>http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/
A good summary why Google isn&amp;rsquo;t as open as they want people to believe. I&amp;rsquo;m not saying Apple is any better.</description>
    </item>
    
    <item>
      <title>ManageIQ</title>
      <link>https://www.jung-christian.de/posts/2014/07/manageiq/</link>
      <pubDate>Mon, 21 Jul 2014 03:03:53 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/07/manageiq/</guid>
      <description>I&amp;rsquo;m very happy that CloudForms finally was released as OpenSource. It took the guys a bit more than a year to accomplish this important milestone. From my experience, this is a rather short time frame considering how much work has to be done.
I remember talking with some of the ManageIQ people shortly after Red Hat&amp;rsquo;s acquisition, arguing that this will never happen. In this case I&amp;rsquo;m glad we proved them wrong.</description>
    </item>
    
    <item>
      <title>We are all friends</title>
      <link>https://www.jung-christian.de/posts/2014/07/we-are-all-friends/</link>
      <pubDate>Tue, 15 Jul 2014 02:37:22 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/07/we-are-all-friends/</guid>
      <description>As it turns out, our government is not happy about being spied on by their friends over the ocean. But apparently it&amp;rsquo;s ok to spy on on your own people.
What can we do? First of all, we need a wake up call.</description>
    </item>
    
    <item>
      <title>RHEL7 was released</title>
      <link>https://www.jung-christian.de/posts/2014/07/rhel7-was-released/</link>
      <pubDate>Thu, 10 Jul 2014 14:48:15 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/07/rhel7-was-released/</guid>
      <description>RHEL7 was finally released. CentOS released its 7th release too.
This is the first visible result of the closer collaboration between Red Hat and the CentOS project.</description>
    </item>
    
    <item>
      <title>Say what?</title>
      <link>https://www.jung-christian.de/posts/2014/06/say-what/</link>
      <pubDate>Wed, 25 Jun 2014 17:10:27 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/06/say-what/</guid>
      <description>One of my all time favorites when it comes to translation bugs in RHEL/Fedora. I intentionally never reported this as a bug and hope it&amp;rsquo;s still in RHEL 7. Haven&amp;rsquo;t tried it yet though.
To reproduce
1touch /.autorelabel&amp;lt;/blockquote&amp;gt; and reboot.
SELinux Relabeling </description>
    </item>
    
    <item>
      <title>Spelling</title>
      <link>https://www.jung-christian.de/posts/2014/06/spelling/</link>
      <pubDate>Wed, 25 Jun 2014 16:55:40 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/06/spelling/</guid>
      <description>Not a fake. German is a difficult language. For projectors too.
Spelling error </description>
    </item>
    
    <item>
      <title>Useless Error Message</title>
      <link>https://www.jung-christian.de/posts/2014/06/error/</link>
      <pubDate>Wed, 25 Jun 2014 16:46:02 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/06/error/</guid>
      <description>I don&amp;rsquo;t remember what I did in Eclipse, but it must have been bad. There is only one option anyway&amp;hellip;
Eclipse error message </description>
    </item>
    
    <item>
      <title>Hello world</title>
      <link>https://www.jung-christian.de/posts/2014/06/hello-world-2/</link>
      <pubDate>Wed, 25 Jun 2014 16:42:17 +0000</pubDate>
      
      <guid>https://www.jung-christian.de/posts/2014/06/hello-world-2/</guid>
      <description>This is my first blog entry. Since everybody seems to post on social media these days and I&amp;rsquo;m not a big fan of Google+ or Facebook, I thought, let&amp;rsquo;s try http://openshift.com and create my own blog there.
It seems to be easy, cheep and straight forward.
Let&amp;rsquo;s see, if I actually find some time to fill this blog with real content.</description>
    </item>
    
  </channel>
</rss>
