Skip to content

Commit

Permalink
Add blog post about deprecating nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
David Davis committed Dec 6, 2016
1 parent ad50982 commit e1035d3
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .mention-bot
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"userBlacklist": [
"tomjohnson1492",
"tomjohnson1492"
]
}
53 changes: 53 additions & 0 deletions _posts/2016-12-06-deprecating-nodes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
title: Deprecating Nodes
author: David Davis
tags:
- release
- platform
- 3.0
---

Nodes were introduced in Pulp in 2.1.0 and provided a way to keep multiple Pulp
servers in sync. However, maintaining Nodes in Pulp meant having to maintain a
separate codebase and given that much of the functionality of Nodes can be
acheived by running Pulp straight out of the box, we've decided to remove Nodes
in our next major release of Pulp 3.0. With Pulp 2.11, Nodes will be officially
deprecated.

In this blog post, I want to outline how users can sync content across Pulp
servers without using Nodes and how tools like cron and systemd can be used to
keep content updated across Pulp servers. I am going to illustrate a two-server
example in which I'll call one Pulp server the parent and the other the child.
However, this distinction is arbitrary as both servers are configured the same
way. The child Pulp server is simply the one we want to mirror content to.

Syncing Content to a Child Server
---------------------------------

Suppose I have an rpm repo called 'centos-base' on the parent Pulp server.
First I would want to publish that repository to make it available for the
child Pulp server to sync:

pulp-admin rpm repo publish run --repo-id centos-base

This repository should then be available via http or https. You can check its
relative url via `pulp-admin rpm repo list --repo-id centos-base --details`. In
my case, it's at "https://example.com/pulp/repos/centos-base". Now on the child
node, I can simply create and sync the repository:

pulp-admin rpm repo create --repo-id centos-base --feed https://example.com/pulp/repos/centos-base
pulp-admin rpm repo sync run --repo-id centos-base

Now the centos-base repository from my parent Pulp server has been mirrored
onto a child server.


Automatically Updating Content
------------------------------

By using cron or a systemd timer, we can keep content on the child Pulp server
up-to-date automatically. The pulp-admin sync command can be run automatically
based on your needs. For example, if we want to check for new content for our
'centos-base' repository hourly, we could create a crontab entry:

@hourly pulp-admin rpm repo sync run --repo-id centos-base

0 comments on commit e1035d3

Please sign in to comment.