Define tenant spec

Registered by Pengfei Ni

Define tenant spec and decide how to manage tenants.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Essential
Drafter:
Pengfei Ni
Direction:
Approved
Assignee:
Pengfei Ni
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-2
Started by
Pengfei Ni
Completed by
Pengfei Ni

Related branches

Sprints

Whiteboard

Tenant is managed by k8s thirdpartyresource.

## thirdpartyresource

Tenant thirdpartyresource is created when initilizing the cluster:

```
apiVersion: extensions/v1beta1
kind: ThirdPartyResource
metadata:
  name: tenant.stackube.kubernetes.io
description: "A specification of a Tenant"
versions:
- name: v1
```

## Tenant Object

Admins could create tenants according tenant spec

```
apiVersion: "stackube.kubernetes.io/v1"
kind: Tenant
metadata:
  name: alice
spec:
  username: "alice chen"
  password: “password”
  tenantID: “xxxx” # optional
```

- if tenantID is not provided, auth-controller will create a new tenant in openstack by username and password. It also creates a namespace in k8s with same tenant name.
- else, existing tenant is used

Gerrit topic: https://review.openstack.org/#q,topic:bp/tenant-spec,n,z

Addressed by: https://review.openstack.org/469764
    Add initial network and tenant spec

(?)

Work Items

Work items:
- provision tenant third party resource on initializing cluster: TODO
- define tenant go spec: DONE

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.