-
Notifications
You must be signed in to change notification settings - Fork 442
OBS Appliance
We are building an OBS appliance so you can run OBS on a couple of platforms. They are the most prominent way people install OBS.
Among the images we build are Hybrid ISOs and images for VMware, VirtualBox, etc. Our appliances are based on openSUSE LEAP 15.1. You can find more information about them on our website.
All these images are built and configured via KIWI. We have one main OBS-Appliance and a couple of OBS-Appliance-* packages that are branched from OBS-Appliance. Each package branch has a slightly adjusted configuration to build the different image types.
That way we keep the differences between our OBS Appliances minimal and also ensure that changes are applied to appliances.
We will use virt-manager
to run the downloaded image. Make sure you have libvirt
and virt-manager
installed. Make sure the libvirtd.service
is up and running. On a machine with openSUSE Tumbleweed you should:
sudo zypper install libvirt virt-manager
sudo systemctl enable libvirtd --now
Make sure your user is part of the libvirt
group, otherwise virt-manager
needs to be started with root rights, which is usually not a good idea. You can do the following to achieve this:
- Check for the existence of the libvirt group ->
sudo getent group | grep libvirt
- Incase it does not exist ->
sudo groupadd --system libvirt
- Now add your user to the group ->
sudo usermod -a -G libvirt $(whoami)
- Restart the libvirtd.service ->
sudo systemctl restart libvirtd.service
- Navigate to the download subdirectory. It should be one of these:
- Download the
.qcow2
image:- e.g.:
curl -s http://download.opensuse.org/repositories/OBS:/Server:/2.10:/Staging/images/obs-server.x86_64-2.10.11-qcow2-Build1.17.qcow2
- e.g.:
- Open virt-manager in your console:
virt-manager
- Import the image:
- Click
File | New Virtual Machine | Import existing disk image | Browse Local | Browse
. - Select the
.qcow2
file you have downloaded. - Choose the operating system:
openSUSE Unknown
, and clickForward
. - In "Memory and CPU settings" stay with the defaults and click
Forward
. - Click
Finish
.
- Click
You should see a new window with a text console booting a system. It takes a while until you finally see the last output welcoming you to Open Build Services (OBS) Appliance.
- Install VirtualBox
- Navigate to the download subdirectory. It should be one of these:
- Download the
.vdi
image. - Run the image in VirtualBox.
- Enable Virtual Network as
Bridged Adapter
.
In order to make it easier to access the virtual machine (whichever you chose), we will enable its ssh daemon.
- In the terminal open inside the virtual machine, log in as root with de default password provided in the appliance:
- Login:
root
- Password:
opensuse
- Login:
- Enable the sshd service:
systemctl enable sshd --now
- Retrieve the ip of your virtual machine:
ip a | grep inet | grep eth0
- Try to enter the virtual machine from your local machine:
ssh root@IP_VIRTUAL_MACHINE
Once you access via SSH, you can find the Rails project in /srv/www/obs/api
.
Inside the Virtual Machine, you can run any command, access the code (/srv/www/obs/api/), run tests, etc. However, if you need to test the WebUI, you can do it from the outside.
- Open the browser on your machine (outside the Virtual Machine).
- The output suggests accessing the WebUI via
https://localhost
, to do so, use the Virtual Machine IP instead.
It can take a few seconds to respond for the first time.
- Development Environment Overview
- Development Environment Tips & Tricks
- Spec-Tips
- Code Style
- Rubocop
- Testing with VCR
- Authentication
- Authorization
- Autocomplete
- BS Requests
- Events
- ProjectLog
- Notifications
- Feature Toggles
- Build Results
- Attrib classes
- Flags
- The BackendPackage Cache
- Maintenance classes
- Cloud uploader
- Delayed Jobs
- Staging Workflow
- StatusHistory
- OBS API
- Owner Search
- Search
- Links
- Distributions
- Repository
- Data Migrations
- next_rails
- Ruby Update
- Rails Profiling
- Installing a local LDAP-server
- Remote Pairing Setup Guide
- Factory Dashboard
- osc
- Setup an OBS Development Environment on macOS
- Run OpenQA smoketest locally
- Responsive Guidelines
- Importing database dumps
- Problem Statement & Solution
- Kickoff New Stuff
- New Swagger API doc
- Documentation and Communication
- GitHub Actions
- How to Introduce Software Design Patterns
- Query Objects
- Services
- View Components
- RFC: Core Components
- RFC: Decorator Pattern
- RFC: Backend models