Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save olebowle/e748598d73e1faec2b2beb1b2dde6798 to your computer and use it in GitHub Desktop.
Save olebowle/e748598d73e1faec2b2beb1b2dde6798 to your computer and use it in GitHub Desktop.
OpenCORD devel (M-CORD)
$ echo 'cord ALL=(ALL) NOPASSWD:ALL' | sudo tee --append /etc/sudoers.d/90-cloud-init-users
$ sudo apt-get update
$ sudo apt-get install linux-generic-hwe-16.04
$ sudo apt-get upgrade
$ sudo apt autoremove
$ sudo reboot
$ echo 'cord ALL=(ALL) NOPASSWD:ALL' | sudo tee --append /etc/sudoers.d/90-cloud-init-users
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot
$ ssh-keygen
$ ssh-copy-id cord@10.20.5.x (3x)
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible git python-pip python-netaddr
$ pip install ansible-modules-hashivault
$ git clone https://gerrit.opencord.org/automation-tools
$ cd automation-tools/kubespray-installer
$ ./setup.sh -i onf 10.20.5.1 10.20.5.2 10.20.5.3
$ source setup.sh -s onf
$ wget -qO- https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
$ sudo apt-get update
$ sudo apt-get install kubectl
$ kubectl get pods # "No resources found." -> fine?
$ wget -qO- https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz | sudo tar xzf - --strip-components=1 -C /usr/local/bin/ linux-amd64/helm
$ helm init
$ kubectl create serviceaccount --namespace kube-system tiller
$ kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
$ kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
$ helm init --service-account tiller --upgrade
$ helm ls # no output -> fine?
$ sudo vim /etc/nsswitch.conf
hosts: files dns
$ mkdir ~/openstack-helm
$ cd ~/openstack-helm
$ git clone https://git.openstack.org/openstack/openstack-helm-infra.git
$ git clone https://git.openstack.org/openstack/openstack-helm.git
$ cd openstack-helm
$ sed -i 's/--remote=db:Open_vSwitch,Open_vSwitch,manager_options/--remote=db:Open_vSwitch,Open_vSwitch,manager_options --remote=ptcp:6641/' openvswitch/templates/bin/_openvswitch-db-server.sh.tpl
$ cat <<EOF > /tmp/glance-cord.yaml
---
network:
api:
ingress:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
EOF
$ cat <<EOF > /tmp/libvirt-cord.yaml
---
network:
backend: []
EOF
$ cat <<EOF > /tmp/nova-cord.yaml
---
labels:
api_metadata:
node_selector_key: openstack-helm-node-class
node_selector_value: primary
network:
backend: []
pod:
replicas:
api_metadata: 1
placement: 1
osapi: 1
conductor: 1
consoleauth: 1
scheduler: 1
novncproxy: 1
EOF
$ cat <<EOF > /tmp/neutron-cord.yaml
---
images:
tags:
neutron_server: xosproject/neutron-onos:newton
manifests:
daemonset_dhcp_agent: false
daemonset_l3_agent: false
daemonset_lb_agent: false
daemonset_metadata_agent: false
daemonset_ovs_agent: false
daemonset_sriov_agent: false
network:
backend: []
interface:
tunnel: "eth0"
pod:
replicas:
server: 1
conf:
plugins:
ml2_conf:
ml2:
type_drivers: vxlan
tenant_network_types: vxlan
mechanism_drivers: onos_ml2
ml2_type_vxlan:
vni_ranges: 1001:2000
onos:
url_path: http://onos-cord-ui.default.svc.cluster.local:8181/onos/cordvtn
username: onos
password: rocks
EOF
$ export OSH_EXTRA_HELM_ARGS_GLANCE="-f /tmp/glance-cord.yaml"
$ export OSH_EXTRA_HELM_ARGS_LIBVIRT="-f /tmp/libvirt-cord.yaml"
$ export OSH_EXTRA_HELM_ARGS_NOVA="-f /tmp/nova-cord.yaml"
$ export OSH_EXTRA_HELM_ARGS_NEUTRON="-f /tmp/neutron-cord.yaml"
$ ./tools/deployment/multinode/010-setup-client.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment