From e1035d3ef4d349e4a143a0b2e6a61d045cb16ec4 Mon Sep 17 00:00:00 2001 From: David Davis Date: Tue, 6 Dec 2016 12:23:12 -0500 Subject: [PATCH] Add blog post about deprecating nodes ref #2460 https://pulp.plan.io/issues/2460 --- .mention-bot | 2 +- _posts/2016-12-06-deprecating-nodes.md | 53 ++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 _posts/2016-12-06-deprecating-nodes.md diff --git a/.mention-bot b/.mention-bot index 0b20eb8f..7f499c22 100644 --- a/.mention-bot +++ b/.mention-bot @@ -1,5 +1,5 @@ { "userBlacklist": [ - "tomjohnson1492", + "tomjohnson1492" ] } diff --git a/_posts/2016-12-06-deprecating-nodes.md b/_posts/2016-12-06-deprecating-nodes.md new file mode 100644 index 00000000..b4f1502c --- /dev/null +++ b/_posts/2016-12-06-deprecating-nodes.md @@ -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