Chris Houseknecht

Author Archives: Chris Houseknecht

Ansible Galaxy: Doin’ It Right

Ansible-Galaxy-Blog-Post

Over the years many things have contributed to the success of Ansible, including the flexibility of the tool itself, and a vibrant community that has contributed nearly 1,700 modules to the Ansible project, and imported nearly 17,000 roles to Ansible Galaxy. Not sure where to start or need an example of how to automate a thing? There’s probably a module for that and a few roles on Galaxy to get you started. This is all thanks to the community!

Since its inception, the Galaxy website hasn’t really changed much. There’s been a few minor releases with bug fixes here and there, but nothing big and exciting. For much of its existence, Galaxy has been maintained by the community team to keep it humming along as an open hub for the publishing of shared Ansible roles. In this way, Galaxy helps to facilitate the community’s enthusiasm for sharing Ansible roles.

Now, we’re changing up the status quo, with some big, cool updates planned for Galaxy. The goal is to make it an even better place for the community and partners to find and share Ansible content. Today, the expanded and dedicated Galaxy team is pleased to announce the release of an Continue reading

5 Things You Can Do With AWX

5 Things you can do with AWX

As you’ve probably already heard, Red Hat announced the release of the AWX project at AnsibleFest in San Francisco. AWX is the open source project behind Red Hat® Ansible® Tower, offering developers access to the latest features, and the opportunity to directly collaborate with the Ansible Tower engineering team.

AWX is built to run on top of the Ansible project, enhancing the already powerful automation engine. AWX adds a web-based user interface, job scheduling, inventory management, reporting, workflow automation, credential sharing, and tooling to enable delegation.

Even if you’re only managing a small infrastructure, here are 5 things you can do with AWX. And we promise, they’ll make your job as a system administrator a whole lot easier:

Delegate

Central to AWX is the ability to create users, and group them into teams. You can then assign access and rules to inventory, credentials, and playbooks at an individual level or team level. This makes it possible to setup push-button access to complex automation, and control who can use it, and where they can run it.

For example, when developers need to stand up a new environment, they don’t need to add another task to your already overbooked Continue reading

Faster Builds with Ansible Container 0.9.2

Ansible Container 0.9.2

The focus for the latest release of Ansible Container is on making builds faster through the availability of pre-baked Conductor images. The release landed this week thanks to the dedication of Joshua ‘jag’ Ginsberg, Ansible’s Chief Architect, who managed to put the finishing touches on the release while at AnsibleFest San Francisco.

The Ansible Container project is dedicated to helping Ansible users re-use existing Ansible roles and playbooks to build containers, and deploy applications to OpenShift. The Conductor container is at the center of building, orchestrating, and deploying containers. It’s the engine that makes it all work, and it brings with it a copy of Ansible, a Python runtime, docker packages, and other dependencies.

The first step, before any serious work gets done by the command line tool, is standing up a Conductor container. And up until now, that meant building the image from scratch, and waiting through all the package downloading and installing. This happens at the start of a project, and repeats anytime you find yourself needing to rebuild from scratch.

With this release, the team has made available a set of pre-baked images based on several distributions that are popular within the community. These images are currently Continue reading

An Early Look at Ansible Container v0.3.0

ansible-container-blog-header.png

The Ansible Container project is targeting mid-January for its next release, and so we thought now would be a good time to check in and look at the features actively under development and anticipated to ship.

With only a glance at the roadmap page, the casual visitor may think it seems a bit smallish, having only three items. However, the items represent features that are important to the project, and require a level of effort that’s anything but small, as we’ll see.

Building container images

The first item up is an image build cache. Building container images is of course a core function of the tool, and having a caching mechanism can improve the speed at which images are built.

If you’re not familiar with container images and how they’re built, think of an image as a tall building with dozens of floors, where each floor is layered on top of the previous floor, starting with the building’s foundation, and adding one floor or layer at a time until you reach the top. In the same way, a container image is a file system built in layers.

The build process starts with a base image, say Fedora 25, Continue reading

Ansible Container 0.2.0 Release

ansible-container-blog.png

We’re excited to announce the release of Ansible Container 0.2.0. The last few months have been exciting. We’ve been working at a fever pitch to add new features, build examples, and resolve issues, while at the same time we’ve seen the interest level and participation rate of the project steadily grow. It’s been amazing, and we’re grateful to all those that helped by opening issues, contributing code, and spreading the word. Thank you!

Throughout this release cycle we heard from a number of users that being able to reuse existing Ansible content was critical. We focused on that, making Ansible roles a key part of this release. We came up with several enhancements that make it easy to access existing Ansible roles during the container build process. We added a feature to assist in retrofitting existing roles to be ‘container aware' and we looked to the future and imagined new ways roles could enhance the process of building and sharing containers.

Accessing Existing Roles

We heard several times that incorporating existing Ansible roles into the container build process needed to be easier. We solved this by creating a method for accessing roles from the local file system as Continue reading

Ansible Galaxy 2.0 Launches

Ansible-Galaxy-2

The BETA sticker is off, and Galaxy 2.0 is live! This is our biggest release to date, and it’s packed with some great features you’re going to love.

Here’s a quick run-down:

Organizations

There really should be a drum roll playing as you read this, because this feature has been at the top of everyone’s wish list for as long as Galaxy has been around. But here it is… Organizations now have a home in Galaxy. Yes, you can import roles into an organization!

How, you ask? Just click the import button. Really. That’s it. The role will be imported exactly as the repository appears in GitHub. If the role belongs to ‘acmeco’ in GitHub, then it will appear under ‘acmeco’ in Galaxy.

You can import any repositories from GitHub where you are a collaborator or owner. Log in as yourself, and import your roles or your organization’s roles.

Existing roles prior to Galaxy 2.0 have not been changed. To move a role from your username to an organization, delete the role and import it again.

Semantic URLs

Sharing links to your content in Galaxy now makes sense with user-friendly URLs that include GitHub username or organization and Continue reading

Ansible Galaxy 2.0 Launches

Ansible-Galaxy-2

The BETA sticker is off, and Galaxy 2.0 is live! This is our biggest release to date, and it’s packed with some great features you’re going to love.

Here’s a quick run-down:

Organizations

There really should be a drum roll playing as you read this, because this feature has been at the top of everyone’s wish list for as long as Galaxy has been around. But here it is… Organizations now have a home in Galaxy. Yes, you can import roles into an organization!

How, you ask? Just click the import button. Really. That’s it. The role will be imported exactly as the repository appears in GitHub. If the role belongs to ‘acmeco’ in GitHub, then it will appear under ‘acmeco’ in Galaxy.

You can import any repositories from GitHub where you are a collaborator or owner. Log in as yourself, and import your roles or your organization’s roles.

Existing roles prior to Galaxy 2.0 have not been changed. To move a role from your username to an organization, delete the role and import it again.

Semantic URLs

Sharing links to your content in Galaxy now makes sense with user-friendly URLs that include GitHub username or organization and Continue reading

GALAXY 2.0 – BETA RELEASE

We have been working hard on some exciting changes to Galaxy that we think you’re going to like. The changes are substantial, and we want your feedback, so today we are releasing Galaxy 2.0 in beta

Check it out and help us shape the future of Galaxy. Comments and bug reports can be filed at Galaxy Issues. Keep in mind that the beta site is purely a playground for trying out the new Galaxy. Any roles you import or remove will not be reflected in a future production Galaxy site.

What follows is a summary of some of the new features you’ll see on the beta site.

Tighter Integration with GitHub

Using your GitHub login, Galaxy now interacts directly with the GitHub API. This allows you to import all the repositories you collaborate on, including those in organizations you belong to.

To make it even better, we decoupled roles from the Galaxy username. Roles imported into Galaxy are now namespaced by GitHub user rather than Galaxy username. This gives you the flexibility of importing roles from your GitHub account or from an organization. The repo namespace in Galaxy will exactly match the GitHub namespace.

This might sound scary, Continue reading

GALAXY 2.0 – BETA RELEASE

 

We have been working hard on some exciting changes to Galaxy that we think you’re going to like. The changes are substantial, and we want your feedback, so today we are releasing Galaxy 2.0 in beta

2015-galaxy-blog-header.png

Check it out and help us shape the future of Galaxy. Comments and bug reports can be filed at
Galaxy Issues. Keep in mind that the beta site is purely a playground for trying out the new Galaxy. Any roles you import or remove will not be reflected in a future production Galaxy site.

What follows is a summary of some of the new features you’ll see on the beta site.

Tighter Integration with GitHub

Using your GitHub login, Galaxy now interacts directly with the GitHub API. This allows you to import all the repositories you collaborate on, including those in organizations you belong to.

To make it even better, we decoupled roles from the Galaxy username. Roles imported into Galaxy are now namespaced by GitHub user rather than Galaxy username. This gives you the flexibility of importing roles from your GitHub account or from an organization. The repo namespace in Galaxy will exactly match the GitHub namespace.

This might sound Continue reading

Galaxy Release 1.1.1

We’re back again with a quick update to Galaxy. In the last release we did some cool things to make searching roles much easier. This release is a mini release focused on fixing a few bugs and adding minor enhancements we couldn’t squeeze into the last cycle.

Galaxy issues are tracked publicly at https://github.com/ansible/galaxy-issues. Here are the issues addressed in release 1.1.1:

#88 Role Data Should Show Last Modified Instead of Created Date

#86 `ansible-galaxy -r roles.txt` - Incorrect Example

#84 README.md Fails to Render When it Contains a Variable String Like

#82 "Sign in" Option Should Appear on Home Page Header

#81 Better Filter for RHEL/Centos -> EL in Platform Search

#53 Adding a Role Called "Ansible" Results in Un-named Role

#14 Add Galaxy support for Debian Jessie

#9 Periods in Role Names Cause Installs to Fail

Fuzzy Searching

As part of fixing issue #81, Better Filter for RHEL/Centos -> EL in Platform Search, we changed the way the new role filtering works. A lot of times you know what you’re looking for, and don’t want to wait for autocomplete suggestions. For example, you might be looking for a Platform value of ‘centos’. Typing Continue reading

Finding a Needle in a Galaxy of Roles

We are really excited to announce the release of Galaxy 1.1. It’s only been a few short weeks since Galaxy 1.0 debuted, and here we are again!

This time we added some powerful enhancements to make searching Ansible roles a much better experience. With over 3,500 roles in Galaxy and more being added every day, it can be a real challenge to sift through platforms, categories and descriptions to find exactly what you need. In Galaxy 1.1 we solved this problem.

Galaxy Tags

As the author of a role, you know better than we do how to describe the role and what terms users will search to discover the role. So to make describing roles better for authors and users, we replaced our limited set a categories with Galaxy Tags, allowing the author to add a list of free-form search terms to a role.

Let’s take a quick look at creating a role with Galaxy and using the new Galaxy Tags feature. We start by creating a role using the ansible-galaxy command line utility that comes installed with Ansible:

ansible-galaxy init ansible-role-myrole

 This creates the following directory structure and some supporting files for the new role:

ansible-role-myrole/
 Continue reading

A New Galaxy

Untitled_design_1

We launched Galaxy back around the beginning of 2014 with the intent of creating a place for the community to find and share Ansible roles.

Since that time some truly amazing things have happened including: tremendous growth in the Ansible community, huge successes with Tower, and the steady growth of our company to name just a few. During this time Galaxy grew as well, reaching more than 16,000 users and over 3,000 Ansible roles.

Galaxy as a web site and an application, however, changed very little since the early part of 2014. The home page looks almost exactly as it did the day we launched the site. About the only thing we changed was removing the BETA label and maybe fixing a bug or two.

Well, I’m happy to announce that this is changing. Galaxy will now get the attention it deserves - the attention our community and users deserve. Starting 4 weeks ago we officially made the decision and commitment to treat Galaxy as a product. Galaxy is now on a regular release schedule, and we have a team in place, dedicated to building Galaxy. Our first release launches today. Yay!

From this point forward Ansible is committed to making Continue reading