Jump to: navigation, search

Difference between revisions of "StarlingX/StarlingX CI/CD"

Line 26: Line 26:
 
/usr/bin/ceph-mds --cluster ceph --id controller-1 --hot-standby 0
 
/usr/bin/ceph-mds --cluster ceph --id controller-1 --hot-standby 0
 
</pre>
 
</pre>
#init folders for stx-devops
+
* init folders for stx-devops
 
<pre>
 
<pre>
 
sudo mkdir -p /mnt/mycephfs
 
sudo mkdir -p /mnt/mycephfs

Revision as of 13:11, 1 December 2019

The scalability of StarlingX is awesome, that it can be functional with only 3 nodes and scale to 100+ nodes in the future. This is perfect for devops use case. A new project might only have a few servers at the beginning and need to scale it in the future.

This wiki assumes that the user already deployed a StarlingX and wants to practice devops for their projects. It will share some BKMs and provide an example StarlingX App for such use case.

Install StarlingX

Refer to: StarlingX R2.0 Installation

CephFs Setup

DevOps App will use Cephfs for persistent volumes. It needs to setup CephFS on starlingx before install App.

  • Create Ceph user and key
ceph auth get-or-create client.stx-devops mon 'allow r' mds 'allow r, allow rw path=/stx-devops' osd 'allow rw'
  • Create Cephfs pools
ceph osd pool create fs_data 2048
ceph osd pool create fs_metadata 256
ceph fs new cephfs fs_metadata fs_data
  • Start mds manually
# on controller-0
/usr/bin/ceph-mds --cluster ceph --id controller-0 --hot-standby 0
# on controller-1
/usr/bin/ceph-mds --cluster ceph --id controller-1 --hot-standby 0
  • init folders for stx-devops
sudo mkdir -p /mnt/mycephfs
sudo mount -t ceph controller-0:6789:/ /mnt/mycephfs
sudo mkdir -p -m 777 /mnt/mycephfs/stx-devops/jenkins-master
sudo mkdir -p -m 777 /mnt/mycephfs/stx-devops/pub
sudo mkdir -p -m 777 /mnt/mycephfs/stx-devops/registry
sudo mkdir -p -m 777 /mnt/mycephfs/stx-devops/docker-io-mirror

Extend ephemeral-storage

Install StarlingX CI/CD helm chart

Setup Jenkins job for StarlingX Build

Setup Jenkins job for StarlingX test