Version R2 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot. For up-to-date documentation, see the latest version.
OpenStack deployment management
OpenStack Multi-Cluster Deployment Management with Nephio
	Prerequisites
- Openstack Cluster Management (master)
- 4 VCPU 4 NODES
 - 8GB RAM
 - Kubernetes version 1.24+
 
 - Openstack Cluster Edge n
- 2 VCPU 1 NODE
 - 4GB RAM
 - Kubernetes version 1.24+
 
 - KPT beta releases
 
Automatic Installation of the management cluster
- 
Change ansible variables to reflect your cluster and run the installation script
- Add the following to test-infra\e2e\provision\playbooks\roles\bootstrap\tasks\prep-gitea.yml
 
 
- name: Create PersistentVolume
kubernetes.core.k8s:
context: "{{ k8s.context }}"
state: present
definition:
    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: data-gitea-postgresql-0
    spec:
    capacity:
        storage: 10Gi
    volumeMode: Filesystem
    accessModes:
        - ReadWriteOnce
    storageClassName: standard
    hostPath:
        path: /tmp/
namespace: "{{ gitea.k8s.namespace }}"
- name: Create PersistentVolumeClaim
kubernetes.core.k8s:
context: "{{ k8s.context }}"
state: present
definition:
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: data-gitea-postgresql-0
    spec:
    storageClassName: standard
    accessModes:
        - ReadWriteOnce
    resources:
        requests:
        storage: 10Gi
namespace: "{{ gitea.k8s.namespace }}"
- name: Create PersistentVolume
kubernetes.core.k8s:
context: "{{ k8s.context }}"
state: present
definition:
    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: data-gitea-0
    spec:
    capacity:
        storage: 10Gi
    volumeMode: Filesystem
    accessModes:
        - ReadWriteOnce
    storageClassName: standard
    hostPath:
        path: /tmp/
namespace: "{{ gitea.k8s.namespace }}"
- name: Create PersistentVolumeClaim
kubernetes.core.k8s:
context: "{{ k8s.context }}"
state: present
definition:
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: data-gitea-0
    spec:
    storageClassName: standard
    accessModes:
        - ReadWriteOnce
    resources:
        requests:
        storage: 10Gi
namespace: "{{ gitea.k8s.namespace }}"
- Override the default Ansible values and run the installation script in test-infra\e2e\provision\install_sandbox.sh by
 
ANSIBLE_CMD_EXTRA_VAR_LIST="k8s.context='kubernetes-admin@cluster.local' kind.enable=false host_min_vcpu=4 host_min_cpu_ram=8" ./install_sandbox.sh
Manual Installation of the management cluster using kpt
TDB (manual install of kpt, porch, configsync, nephio-webui, capi, metallb)
Manual Installation of the Edge cluster using kpt
kpt pkg get https://github.com/nephio-project/nephio-packages.git/nephio-configsync@v1.0.1
Change nephio-configsync/rootsync.yaml and point spec.git.repo to the edge git repository
 spec:
   sourceFormat: unstructured
   git:
    repo: <http url of your edge repo>
     branch: main
     auth: none
Deploy the modified configsync
kpt live init nephio-configsync
kpt live apply nephio-configsync --reconcile-timeout=5m
Configure Management Cluster to manage Edge Cluster
Get a GitHub token if your repository is private, or allow Porch to make modifications.
Register the edge repository using kpt cli or nephio web-ui.
GITHUB_USERNAME=<Github Username>
GITHUB_TOKEN=<GitHub Token>
kpt alpha repo register \
  --namespace default \
  --repo-basic-username=${GITHUB_USERNAME} \
  --repo-basic-password=${GITHUB_TOKEN} \
  --create-branch=true \
  --deployment=true \
  <http url of your edge repo>
Deploy packages to the edge clusters
Using the web-ui add a new deployment with destination the edge cluster.