Install via Openstack-helm¶
Overview¶
This document specifies procedure for installing tacker service with OpenStack-helm. The goal of OpenStack-helm is to provide a collection of Helm charts that simply, resiliently, and flexibly deploy OpenStack and related services on Kubernetes.
Pre-Requisites for Tacker installation with openstack-helm¶
Pre-requisite for tacker installation are below:
Clone OpenStack-helm and openstack-helm-infra code in home directory.
$ git clone https://opendev.org/openstack/openstack-helm.git $ git clone https://opendev.org/openstack/openstack-helm-infra.git $ cd openstack-helm
Setup Kubernetes.
Please refer to install dependencies of Kubernetes Installation [1].
Create namespace with name openstack and provide label to node.
$ kubectl create ns openstack $ kubectl label node <node-name> openstack-control-plane=enabled
Setup OpenStack.
Please refer to install following dependencies of OpenStack Installation:
Here you can see how to install OpenStack and it’s dependencies using openstack-helm.
Note
Barbican must be installed. Although not documented in Deploy OpenStack [4], you must install Barbican using similar procedure. Execute the following script to install Barbican.
$ cd ~/openstack-helm
$ ./tools/deployment/component/barbican/barbican.sh
Install Tacker¶
Tacker installation with OpenStack-helm will use script tacker.sh.
Use script tacker.sh to install tacker.
$ cd ~/openstack-helm $ ./tools/deployment/component/tacker/tacker.sh
Validate tacker-conductor and tacker-server pods are running and deployment status of helm release is deployed.
$ kubectl get pods -A | grep tacker openstack tacker-conductor-654fc7478-wt242 1/1 Running 0 58m openstack tacker-db-init-nxd7c 0/1 Completed 0 58m openstack tacker-db-sync-kmf27 0/1 Completed 0 58m openstack tacker-ks-endpoints-hbwnh 0/3 Completed 0 58m openstack tacker-ks-service-7t8pm 0/1 Completed 0 58m openstack tacker-ks-user-8blcj 0/1 Completed 0 58m openstack tacker-rabbit-init-tlbj8 0/1 Completed 0 58m openstack tacker-server-55fcdfdc5d-gj844 1/1 Running 0 58m $ helm ls -A | grep tacker tacker openstack 1 2024-01-05 13:02:43.337535539 +0000 UTC deployed tacker-0.1.2 v1.0.0s
Validate Tacker api is working properly.
$ TACKER_SERVER_POD=tacker-server-55fcdfdc5d-gj844 $ kubectl exec -n openstack -it $TACKER_SERVER_POD \ -- curl -i -X POST -H "Content-Type: application/json" \ -d '{"auth":{"identity":{"methods":["password"],"password":{"user":{"domain":{"name":"default"},"name":"admin","password":"password"}}},"scope":{"project":{"domain":{"name":"default"},"name":"admin"}}}}' \ http://keystone-api.openstack.svc.cluster.local:5000/v3/auth/tokens Defaulted container "tacker-server" out of: tacker-server, init (init) HTTP/1.1 201 CREATED Date: Mon, 08 Jan 2024 11:22:50 GMT Server: Apache Content-Length: 7264 X-Subject-Token: gAAAAABlm9sKwC-dJi_yWI8ea7HmEM-Xv3RisrODnAc6Qebqhg9OOuCPBcddk5P8qdSyIAJnMOZwVYgXyYPXLIwr7Zrn5eCCnYJ-YxnVS6nj_8DQLExTFfiFRrwz93LeULzLTKLmjWoo8QslBpk1cuz-uXf7rtny784duFjhUAOjoDYfv16aebI Vary: X-Auth-Token x-openstack-request-id: req-425da814-d3c7-4e7f-ad2f-ec19159fcbb0 Content-Type: application/json $ TOKEN=gAAAAABlm9sKwC-dJi_yWI8ea7HmEM-Xv3RisrODnAc6Qebqhg9OOuCPBcddk5P8qdSyIAJnMOZwVYgXyYPXLIwr7Zrn5eCCnYJ-YxnVS6nj_8DQLExTFfiFRrwz93LeULzLTKLmjWoo8QslBpk1cuz-uXf7rtny784duFjhUAOjoDYfv16aebI
API request to the Tacker API endpoint for retrieving list vnf instances.
$ kubectl get pods -A -o wide | grep tacker-server openstack tacker-server-55fcdfdc5d-gj844 1/1 Running 0 15d 192.168.219.119 master <none> <none> $ curl -X GET http://192.168.219.119:9890/vnflcm/v2/vnf_instances -H "X-Auth-Token:$TOKEN" -H "Version: 2.0.0" []