Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1518022 - [DOCS] 3.6 Manual Upgrade missing steps to configured dnsmasq.
Summary: [DOCS] 3.6 Manual Upgrade missing steps to configured dnsmasq.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Documentation
Version: 3.6.0
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: ---
: ---
Assignee: Michael Burke
QA Contact: Weihua Meng
Vikram Goyal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-27 22:40 UTC by Ryan Howe
Modified: 2018-05-09 00:28 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-03-07 15:37:03 UTC


Attachments (Terms of Use)

Description Ryan Howe 2017-11-27 22:40:16 UTC
Document URL: 
https://docs.openshift.com/container-platform/3.6/install_config/upgrading/manual_upgrades.html

Describe the issue: 
Running through the manual steps leave one with a non functional cluster. 

Suggestions for improvement: 

Add steps around what needs to be added for the dnsmasq and node dns to work. 

Additional information: 

1.
The systemd  unit file provided by the RPM is missing pre exec sections. 

https://github.com/openshift/openshift-ansible/blob/release-3.6/roles/openshift_node/tasks/systemd_units.yml

2.
node-config.yaml missing new dns configs 
https://github.com/openshift/openshift-ansible/blob/release-3.6/roles/openshift_node/templates/node.yaml.v1.j2#L3-L9


3.
Dnsmasq needs to be configured correctly. 

https://github.com/openshift/openshift-ansible/blob/release-3.6/roles/openshift_node_dnsmasq/tasks/main.yml#L29-L55

https://github.com/openshift/openshift-ansible/blob/release-3.6/roles/openshift_node_dnsmasq/tasks/network-manager.yml#L4

Comment 1 Ryan Howe 2017-11-28 16:45:01 UTC
1. Create node-dnsmasq.conf 
# cat /etc/origin/node/node-dnsmasq.conf 
server=/in-addr.arpa/127.0.0.1
server=/cluster.local/127.0.0.1


2. Add dnsmasq configs 
# cat /etc/dnsmasq.d/origin-dns.conf 
no-resolv
domain-needed
no-negcache
max-cache-ttl=1
enable-dbus
bind-interfaces
listen-address=<NODE IP ADDRESS HERE> 

# cat /etc/dnsmasq.d/origin-upstream-dns.conf 
server=<DNS SERVER 1>
server=<DNS SERVER 2> 

3. Update latest dispatcher script. 

# wget https://raw.githubusercontent.com/openshift/openshift-ansible/release-3.6/roles/openshift_node_dnsmasq/files/networkmanager/99-origin-dns.sh -O /etc/NetworkManager/dispatcher.d/99-origin-dns.sh 
# chmod 755 /etc/NetworkManager/dispatcher.d/99-origin-dns.sh 
# systemctl restart NetworkManger 

4. Update node-config.yaml adding the following lines
# grep dns /etc/origin/node/node-config.yaml 

dnsBindAddress: 127.0.0.1:53
dnsRecursiveResolvConf: /etc/origin/node/resolv.conf
dnsDomain: cluster.local
dnsIP: <NODE IP ADDRESS> 

5. Update the node systemd unit file 
#  cat /etc/systemd/system/atomic-openshift-node.service
[Unit]
Description=OpenShift Node
After=docker.service
Wants=openvswitch.service
After=ovsdb-server.service
After=ovs-vswitchd.service
Wants=docker.service
Documentation=https://github.com/openshift/origin
Requires=dnsmasq.service
After=dnsmasq.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/atomic-openshift-node
Environment=GOTRACEBACK=crash
ExecStartPre=/usr/bin/cp /etc/origin/node/node-dnsmasq.conf /etc/dnsmasq.d/
ExecStartPre=/usr/bin/dbus-send --system --dest=uk.org.thekelleys.dnsmasq /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetDomainServers array:string:/in-addr.arpa/127.0.0.1,/cluster.local/127.0.0.1
ExecStopPost=/usr/bin/rm /etc/dnsmasq.d/node-dnsmasq.conf
ExecStopPost=/usr/bin/dbus-send --system --dest=uk.org.thekelleys.dnsmasq /uk/org/thekelleys/dnsmasq uk.org.thekelleys.SetDomainServers array:string:
ExecStart=/usr/bin/openshift start node --config=${CONFIG_FILE} $OPTIONS
LimitNOFILE=65536
LimitCORE=infinity
WorkingDirectory=/var/lib/origin/
SyslogIdentifier=atomic-openshift-node
Restart=always
RestartSec=5s
TimeoutStartSec=300
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target


6. Reload systemd and restart node service. 
# systemctl daemon-reload 
# systemctl restart atomic-openshift-node dnsmaq

Comment 2 Michael Burke 2017-12-14 20:06:03 UTC
@ryan Can you help me with where these changes go in the upgrade procedure? I am not familiar with upgrade. 
Do the numbered items in Comment 1 map to the numbers in the Description?

Comment 4 Ryan Howe 2018-02-12 18:35:36 UTC
This is needed as a blue-green install will require manual upgrades.


Note You need to log in before you can comment on or make changes to this bug.