OBS Installation and Setup
Before starting OBS installation
Let's become a super user
- $ sudo su
Check "name resolution" of 'hostname'
- Each hostname (e.g. "build.pilot.tizen.org") must be saved in the /etc/HOSTNAME file like as follows.
build.pilot.tizen.org
- All hostnames must be saved in the /etc/hosts file like as follows.
······
# OBS Server(s) 192.168.0.2 build.pilot.tizen.org build frontend front fe api webui 192.168.0.3 backend.pilot.tizen.org backend be rep 192.168.0.4 storage.pilot.tizen.org storage src db
······
- NO_PROXY should be configured with hostnames like as follows if it should be used.
- # vi /etc/sysconfig/proxy
NO_PROXY="localhost, 127.0.0.1, pilot.tizen.org, build, frontend, front, fe, api, webui, backend, be, rep, storage, src, db"
- # vi /root/.curlrc
--proxy "http://192.168.0.1:8080"
--noproxy "localhost, 127.0.0.1, pilot.tizen.org, build, frontend, front, fe, api, webui, backend, be, rep, storage, src, db"
If FQDN is not available (i.e. if only short hostnames are available),
- Comment out all "search" statements like as follows.
- # vi /etc/resolv.conf
······
#search xyz.com
······
- Change "NETCONFIG_DNS_POLICY" like as follows.
- # vi /etc/sysconfig/network/config
······
#NETCONFIG_DNS_POLICY="auto"
NETCONFIG_DNS_POLICY=""
······
Install and Configure OBS
The Open Build Service (OBS) consists of servers and workers.
All OBS servers can be installed either in one computer (all-in-one server) or throughout several computers (distributed servers).
It is recommended for OBS workers to be installed on different computers from the computers in which OBS servers are installed.
OBS 2.4 Installation on openSUSE 12.3
OBS 2.5 Installation on openSUSE 13.1
Public Key Signing with OBS
- Start signing infra: https://en.opensuse.org/openSUSE:Build_Service_Signer
- Further OBS Signing Configurations
Troubleshooting
(How to solve issues during OBS installation)
Firewall setting fails
CAUSE: /etc/services file had been deleted.
- # SuSEfirewall2
SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
SuSEfirewall2: using default zone 'ext' for interface eno1
SuSEfirewall2: using default zone 'ext' for interface eno2
SuSEfirewall2: using default zone 'ext' for interface eno3
SuSEfirewall2: using default zone 'ext' for interface eno4
iptables-batch v1.4.21: invalid port/service `ssh' specified
Try `iptables-batch -h' or 'iptables-batch --help' for more information.
SuSEfirewall2: Error: iptables-batch failed, re-running using iptables
iptables v1.4.21: invalid port/service `ssh' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.21: invalid port/service `ssh' specified
Try `iptables -h' or 'iptables --help' for more information.
ip6tables-batch v1.4.21: Port "dhcpv6-client" does not resolve to anything.
Try `ip6tables-batch -h' or 'ip6tables-batch --help' for more information.
SuSEfirewall2: Error: ip6tables-batch failed, re-running using ip6tables
ip6tables v1.4.21: Port "dhcpv6-client" does not resolve to anything.
Try `ip6tables -h' or 'ip6tables --help' for more information.
ip6tables v1.4.21: invalid port/service `ssh' specified
Try `ip6tables -h' or 'ip6tables --help' for more information.
ip6tables v1.4.21: invalid port/service `ssh' specified
Try `ip6tables -h' or 'ip6tables --help' for more information.
SuSEfirewall2: Firewall rules successfully set
- # ls -al /etc/services
ls: cannot access /etc/services: No such file or directory
Solution: reinstall netcfg package
- # zypper install --force netcfg
- # SuSEfirewall2
SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
SuSEfirewall2: using default zone 'ext' for interface eno1
SuSEfirewall2: using default zone 'ext' for interface eno2
SuSEfirewall2: using default zone 'ext' for interface eno3
SuSEfirewall2: using default zone 'ext' for interface eno4
SuSEfirewall2: Firewall rules successfully set