stoney cloud: OpenLDAP directory data organisation

From stoney cloud
Revision as of 12:08, 18 August 2018 by Michael (Talk | contribs)


Jump to: navigation, search

Abstract

This document describes the stoney cloud (OpenStack) relevant OpenLDAP directory data organisation.

Introduction

Data Organisation

LDAP Entries (Draft)

dn: ou=iaas,ou=services,o=stepping-stone,c=ch
objectclass: top
objectclass: organizationalUnit
ou: iaas
 
dn: ou=domains,ou=iaas,ou=services,o=stepping-stone,c=ch 
objectclass: top
objectclass: organizationalUnit
ou: domains
description: The sub tree for the domains (resellers) of the OpenStack based stoney cloud 4.0 service.
 
dn: uid=2000000,ou=domains,ou=iaas,ou=services,o=stepping-stone,c=ch
objectclass: top
objectclass: sstIaaSDomains (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000000
sstDomainID: b01822477be64c09950022486300c59c
sstDomainName: stepping stone GmbH
sstDomainDescription: 2000000 - stepping stone GmbH
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToResellerUID: 2000000
sstBelongsToCustomerUID: 3723426
sstBelongsToPersonUID: 1000000
 
dn: ou=projects,ou=iaas,ou=services,o=stepping-stone,c=ch 
objectclass: top
objectclass: organizationalUnit
ou: projects
description: The sub tree for the projects (tenants) of the OpenStack based stoney cloud 4.0 service.
 
dn: uid=5000001,ou=projects,ou=iaas,ou=services,o=stepping-stone,c=ch
objectclass: top
objectclass: sstIaaSProjects (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000001
sstProjectID: 5a3a4fd5d6e94a87815131be42d8e6d9
sstProjectName: stepping stone GmbH - Base Project
sstProjectDescription: 2000000/3723426 - stepping stone GmbH
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToDomainID: b01822477be64c09950022486300c59c
<s>sstBelongsToDomainUID: 2000000</s>
sstBelongsToResellerUID: 2000000
sstBelongsToCustomerUID: 3723426
sstBelongsToPersonUID: 1000000
 
dn: uid=5000002,ou=projects,ou=iaas,ou=services,o=stepping-stone,c=ch
objectclass: top
objectclass: sstIaaSProjects (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000002
sstProjectID: 9ecb5bfdd4564f6ca52bba1e869eeea4
sstProjectName: stepping stone GmbH - Base Project
sstProjectDescription: stepping stone GmbH - Second Project
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToDomainID: b01822477be64c09950022486300c59c
<s>sstBelongsToDomainUID: 2000000</s>
sstBelongsToResellerUID: 2000000
sstBelongsToCustomerUID: 3723426
sstBelongsToPersonUID: 1000000

Per Project:

sstNetworkHostnameFormat: sst-internal-%03d (string)
sstNetworkHostnameNextFreeNumber: 1 (int)
objectclass: sstHostnameDefinitionObjectClass
objectclass: sstOpenStackProject
objectclass: sstOpenStackDomain

To set the attribute sstNetworkHostnameFormat correctly, please read the Customer VM Naming Convention page first!

Questions

  • Should we have a configuraton sub tree with sane default values?
  • Should we store the current values in the LDAP (CPU, RAM, ...)?
  • Will we store the network configuraton in the LDAP?
    • If yes, how will we store the additional networks in the LDAP (shared network)?
  • How will we make sure, not to bill the IPv4 netwoks, belonging to a reseller and/or customer?
    • For example Fence IT AG?
  • Will we have both sstBelongsToDomainID and sstBelongsToDomainUID or just one or the other?