summaryrefslogtreecommitdiffstats
path: root/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md')
-rw-r--r--docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md459
1 files changed, 0 insertions, 459 deletions
diff --git a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md b/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md
deleted file mode 100644
index 6db9c98..0000000
--- a/docs/ATTIC/3_Developer_Guides/4_X(cross)_Development_System:_User's_Guide/1_Installing_XDS /3.4.1.1_Server_Part.md
+++ /dev/null
@@ -1,459 +0,0 @@
-# Server Part
-
-Depending on your situation, you must either install the
-XDS server part or you can skip installation:
-
-- If you are a developer and plan to connect to and use an existing `xds-server`
- that is running on your local network (On-Premise) or is available from
- the Cloud (SaaS), you do not need to install the server part.
-- If you are configured for Standalone or you are an administrator
- that wants to install an On-Premise solution, you must install
- the server part.
-
-This section describes three types of server part installations:
-
-| Install type | Supported OS | Section to refer |
-|--------------|--------------|------------------|
-| Container | Linux or MacOS | [Docker Container](#docker-container) |
-| Virtual Machine | Linux, MacOS or Windows | [VirtualBox Appliance](#virtualbox-appliance) |
-| Native | Linux | [Native](#native) |
-
-## Docker Container
-
-This section describes how to install the server part (`xds-server`)
-into a
-[Docker Container](https://www.docker.com/resources/what-container)
-on a Linux-based system or a MacOS system.
-
-### Prerequisites
-
-The system on which you are installing the server part
-must meet both the following prerequisites:
-
-- You must have Docker installed on the host machine.
- For information on installing Docker, see the
- [Docker documentation](https://docs.docker.com/engine/installation/).
-
-- Aside from having Docker installed, users must be part of a
- docker
- [group](https://www.linux.com/learn/intro-to-linux/2017/12/how-manage-users-groups-linux).
- Enter the following command to display the system's groups and
- then search for and list the Docker groups:
-
- ```bash
- groups | grep docker
- ```
-
- If the users that plan on using the container are not part of the
- Docker group or the group does not exist, you must take steps.
- See the [docker post install instructions](https://docs.docker.com/install/linux/linux-postinstall/)
- for details on creating a Docker group and adding users.
-
- Following is a summary of the key commands:
-
- ```bash
- sudo groupadd docker
- sudo usermod -aG docker $USER
- # Log out and re-login so the system can re-evaluate the group membership
- # You might also need to start docker service manually
-
- sudo service docker start
- # or
- sudo systemctl start docker
- ```
-
-### Get the Container
-
-Use the following command to load the pre-built AGL
-SDK Docker image, which includes `xds-server`:
-
-```bash
-wget -O - http://iot.bzh/download/public/XDS/docker/docker_agl_worker-xds-latest.tar.xz | docker load
-```
-
-The following command lists and displays information about the image:
-
-```bash
-docker images "docker.automotivelinux.org/agl/worker-xds*"
-
-REPOSITORY TAG IMAGE ID CREATED SIZE
-docker.automotivelinux.org/agl/worker-xds 5.0 877979e534ff 3 hours ago 106MB
-```
-
-### Create and Start a New Container
-
-Running the following script creates a new Docker image and starts a new container:
-
-```bash
-# Get script
-wget -O xds-docker-create-container.sh 'https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-server.git;a=blob_plain;f=scripts/xds-docker-create-container.sh;hb=master'
-
-# Create new XDS worker container (change the -id option value if you get a port conflict error)
-bash ./xds-docker-create-container.sh -id 0
-
-# Be sure the new container is running
-docker ps | grep worker-xds
-f67079db4339 docker.automotivelinux.org/agl/worker-xds:5.0 "/usr/bin/wait_for..." About a minute ago Up 34 seconds 0.0.0.0:8000->8000/tcp,0.0.0.0:10809->10809/tcp, 0.0.0.0:2222->22/tcp agl-xds-HOSTNAME-0-USERNAME
-```
-
-In the previous example, the container exposes following ports:
-
-| Port number | Description |
-|-------------|---------------------------------------------|
-| 8000 | `xds-server`: serve XDS webapp and REST API |
-| 2222 | ssh |
-
-This container also creates the following volumes, which are shared folders between
-inside and outside Docker:
-
-| Directory on host | Directory inside docker | Comment |
-|-------------------|-------------------------|---------|
-| $HOME/xds-workspace | /home/devel/xds-workspace | XDS projects workspace location|
-| $HOME/xds-workspace/.xdt_0 | /xdt | location to store SDKs |
-| $USER_VOLUME | $USER_VOLUME | user path, see `--volume` option of `xds-docker-create-container.sh` script |
-
-#### Optional Settings
-
-When you create the container, you can use optional settings.
-This section shows minimal settings to configure the container.
-For more detailed `xds-server` configuration information including settings, see the
-"[xds-server configuration](../part-2/1_xds-server/2_config.html)" section.
-
-- **`--volume`**
-
- Adds a new shared directory using the `--volume` option (e.g.
- used with Path-Mapping folder types):
-
- ```bash
- # Create new XDS worker container and share extra '$HOME/my-workspace' directory
- bash ./xds-docker-create-container.sh --volume /my-workspace:$HOME/my-workspace
- ```
-
-- **`--id`**
-
- Changes the port used by Docker:
-
- ```bash
- # Create new XDS worker container with a different port number
- ID=3
- bash ./xds-docker-create-container.sh -id ${ID}
-
- # Check that new container is running (in example below id has been set to 3)
- docker ps | grep worker-xds
- f67079db4339 docker.automotivelinux.org/agl/worker-xds:5.0 "/usr/bin/wait_for..." About a minute ago Up 34 seconds 0.0.0.0:2225->22/tcp, 0.0.0.0:8003->8000/tcp, 0.0.0.0:10892->10809/tcp agl-xds-3
- ```
-
- <!-- section-note -->
- **WARNING:**
- Changing the container id impacts the port number used to connect to `xds-server`.
- Consequently, you might need to adjust the `xds-agent` configuration in order
- to match the correct port number.
-
- In the previous example where the container id is set to "3", the export
- port number is `8003`.
- In this case, you must define "url" in the `xds-server` configuration as follows:
-
- ```json
- {
- ...
- "xdsServers": [
- {
- "url": "http://localhost:8003"
- }
- ],
- ...
- }
- ```
-
- For more information, see the
- [xds-agent configuration](../part-2/2_xds-agent/2_config.html) section.
- <!-- end-section-note -->
-
-#### Manually Setup the Docker User ID
-
-If you are using path-mapping sharing type for your projects, you need to
-have the same user ID and group ID inside and outside Docker.
-
-By default, user, password and group names inside Docker are `devel`, `devel` and `1664`, respectively.
-
-<!-- section-note -->
-**NOTE:**
-
-If you used the `xds-docker-create-container.sh` script to create the XDS
-Docker container, the user uid/gid inside Docker has already been changed.
-<!-- end-section-note -->
-
-Use following commands to replace ID `1664` with your user and group ID:
-
-```bash
-# Set the Docker container name (e.g. agl-xds-xxx where xxx is USERNAME@MACHINENAME-IDX-NAME).
-export CONTAINER_NAME=agl-xds-seb@laptop-0-seb
-docker ps | grep -q ${CONTAINER_NAME} || echo "ERROR: No container name \"${CONTAINER_NAME}\" please set a valid CONTAINER_NAME before you continue"
-
-# Kill all processes of with the user ID `devel`. This includes the running xds-server.
-docker exec ${CONTAINER_NAME} bash -c "/bin/loginctl kill-user devel"
-
-# Change user and group IDs inside Docker to match your user and group IDs.
-docker exec ${CONTAINER_NAME} bash -c "usermod -u $(id -u) devel"
-docker exec ${CONTAINER_NAME} bash -c "groupmod -g $(id -g) devel"
-
-# Update file ownerships.
-docker exec ${CONTAINER_NAME} bash -c "chown -R devel:devel /home/devel /tmp/xds*"
-
-# Restart the devel autologin service.
-docker exec ${CONTAINER_NAME} bash -c "systemctl restart autologin"
-
-# Restart xds-server as a service. The ssh port 2222 might depend on your container ID.
-ssh -p 2222 devel@localhost -- "systemctl --user restart xds-server"
-```
-### Manually setup the Docker Password
-
-If you forget the password set for the container , you wont be able to ssh into the container and check on the files created.
-For such a time , you need to set up a new password for the container. Use the following commands to do just that:
-
-```bash
-# This will let you access the bash shell inside the container as root
-docker exec -it ${CONTAINER_NAME} /bin/bash
-
-# Change the password of the user (root or devel)
-passwd ${USER}
-```
-### Check if xds-server is Running (open XDS webapp)
-
-When the container starts up, `xds-server` automatically starts as a
-user service.
-
-If the container is running on your localhost, you can access a basic web
-application to check on `xds-server`:
-
-```bash
-xdg-open http://localhost:8000
-```
-
-From a shell prompt, you can check status, stop, and start `xds-server`
-using the following commands:
-
-```bash
-# Status XDS server
-ssh -p 2222 devel@localhost systemctl --user status xds-server.service
-
-# Stop XDS server
-ssh -p 2222 devel@localhost systemctl --user stop xds-server.service
-
-# Start XDS server
-ssh -p 2222 devel@localhost systemctl --user start xds-server.service
-
-# Get XDS server logs
-ssh -p 2222 devel@localhost journalctl --user --unit=xds-server.service --output=cat
-```
-
-`xds-server` should be up and running.
-You can now install AGL SDKs.
-See the
-"[AGL SDKs](install-sdk.html)" section for more information.
-
-## VirtualBox Appliance
-
-This section describes how to install the server part (`xds-server`)
-into a guest Virtual Machine (VM) supported by
-[VirtualBox](https://en.wikipedia.org/wiki/VirtualBox).
-VirtualBox allows the creation and management of guest virtual
-machines that run versions and derivations on many types of systems
-(e.g. Linux, Window, MacOS, and so forth).
-
-### Prerequisites
-
-The system on which you are installing the server part must have
-VirtualBox installed.
-For information on how to install VirtualBox, see the
-[VirtualBox documentation](https://www.virtualbox.org/wiki/Downloads).
-
-### Get the Appliance
-
-Use the following command to load the pre-built AGL SDK
-appliance image, which includes `xds-server`:
-
-```bash
-wget http://iot.bzh/download/public/XDS/appliance/xds-vm-debian9_latest.ova
-```
-
-### Clean the Old Appliance
-
-Only one appliance can exist on the machine.
-Consequently, you must remove any existing XDS appliance.
-Use the following commands:
-
-```bash
-# Get the virtual machine name
-VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2)
-echo ${VDS_VMNAME}
-
-# Remove the old XDS appliance
-[ -n ${VDS_VMNAME} ] && VBoxManage controlvm ${VDS_VMNAME} poweroff
-[ -n ${VDS_VMNAME} ] && VBoxManage unregistervm ${VDS_VMNAME} --delete
-```
-
-### Create and Start a New Appliance
-
-You can create a new appliance by using a provided script or by
-using the VirtualBox GUI:
-
-```bash
-# Import image into VirtualBox
-VBoxManage import ./xds-vm-debian9_latest.ova
-
-# Check import result
-VDS_VMNAME=$(VBoxManage list vms | grep xds-vm-debian | cut -d "\"" -f2)
-echo ${VDS_VMNAME}
-```
-
-Add a share folder to the appliance.
-You must use "path-mapping sharing type for projects":
-
-```bash
-# Create local share folder
-mkdir -p $HOME/xds-workspace
-
-#Add share folder to appliance
-VBoxManage sharedfolder add ${VDS_VMNAME} --name XDS-workspace --hostpath $HOME/xds-workspace
-```
-
-Use the following command to start the appliance:
-
-```bash
-# Start XDS appliance
-[ -n ${VDS_VMNAME} ] && VBoxManage startvm ${VDS_VMNAME}
-```
-
-### Appliance Settings
-
-The image exposes the following network ports, which are NAT mode:
-
-- 8000 : `xds-server` to serve XDS basic web page
-- 2222 : ssh
-
-### Check if xds-server is Running
-
-When the container in the virtual machine starts up, the `xds-server` automatically starts.
-
-To check if `xds-server` is correctly installed and running, you can access the
-XDS basic web page and refer to the instructions:
-
-```bash
-# If the container/appliance is running on your local host
-# (else replace localhost with the name or the ip of the machine running the container)
-xdg-open http://localhost:8000
-```
-
-`xds-server` should be up and running.
-You can now install AGL SDKs.
-See the
-"[AGL SDKs](install-sdk.html)" section for more information.
-
-
-## Native
-
-This section describes how to install the server part (`xds-server`) 'natively'
-on a Linux-based system.
-
-<!-- section-note -->
-**NOTE:**
-Hosts running a Linux distribution are the only hosts that support native
-installation of the server part.
-<!-- end-section-note -->
-
-### Prerequisites
-
-The system on which you are installing the server part must have
-`python3` installed, which allows `xds-server` to manage AGL SDKs.
-
-#### Installing Packages for Debian
-
-Use the following commands to install packages for
-`xds-server` on Debian-based systems:
-
-```bash
-# Set 'DISTRO' (e.g. xUbuntu_16.04, xUbuntu_16.10, xUbuntu_17.04, Debian_8.0, Debian_9.0)
-export DISTRO="xUbuntu_16.04"
-
-# Set AGL_RELEASE (e.g. AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
-export AGL_RELEASE="AGL_Master"
-
-wget -O - http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/Release.key | sudo apt-key add -
-sudo bash -c "cat >> /etc/apt/sources.list.d/AGL.list <<EOF
-deb http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/ ./
-EOF"
-
-sudo apt-get update
-sudo apt-get install agl-xds-server
-
-# Install python3
-sudo apt-get install python3
-```
-
-#### Install Packages for OpenSUSE
-
-Use the following commands to install packages for
-`xds-server` on OpenSUSE-based systems:
-
-```bash
-# Set DISTRO (openSUSE_Leap_42.3, openSUSE_Leap_15.0, openSUSE_Tumbleweed)
-export DISTRO="openSUSE_Leap_15.0"
-
-# Set AGL_RELEASE (AGL_ElectricEel, AGL_FunkyFlounder, AGL_Master)
-export AGL_RELEASE="AGL_Master"
-
-sudo zypper ar http://download.opensuse.org/repositories/isv:/LinuxAutomotive:/${AGL_RELEASE}/${DISTRO}/isv:LinuxAutomotive:${AGL_RELEASE}.repo
-
-sudo zypper ref
-sudo zypper install agl-xds-server
-
-# Install python3
-sudo zypper install python3
-```
-
-#### Configure the xds-server
-
-Configuring the `xds-server` occurs through a JSON configuration file
-named `server-config.json`.
-All fields in the JSON configuration file are optional.
-Consequently, you can skip this configuration step if you want to use
-the default settings in the JSON file.
-
-If you want to customize or alter the default configuration, see the
-"[Configuration chapter of xds-server](../part-2/1_xds-server/2_config.html)"
-section for details on the JSON configuration file.
-
-#### Start and Stop xds-server
-
-You can manage `xds-server` as a
-[systemd](https://en.wikipedia.org/wiki/Systemd) service by using
-the following commands:
-
-```bash
-# Status XDS server:
-systemctl --user status xds-server.service
-
-# Stop XDS server
-systemctl --user stop xds-server.service
-
-# Start XDS server
-systemctl --user start xds-server.service
-
-# Get XDS server logs
-systemctl --user --unit=xds-server.service --output=cat
-```
-
-To check if `xds-server` is correctly installed and running, you can access
-the XDS web interface through your browser:
-
-```bash
-xdg-open http://localhost:8000
-```
-
-Alternatively, you can use the following `curl` command:
-
-```bash
-curl http://localhost:8000/api/v1/version
-```
-