Difference between revisions of "stoney cloud: OpenLDAP directory data organisation"

From stoney cloud
Jump to: navigation, search
[checked revision][checked revision]
Line 8: Line 8:
 
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the [https://www.stoney-cloud.com/ stoney cloud] service.
 
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the [https://www.stoney-cloud.com/ stoney cloud] service.
  
== IaaS (Infrastructure as a Service ==
+
== IaaS (Infrastructure as a Service) ==
 
The subtree ou=iaas,ou=service,dc=stoney-cloud,dc=org contains all the OpenStack based stoney cloud service data. The following LDIF shows the '''iaas''' entry for the stoney cloud service:
 
The subtree ou=iaas,ou=service,dc=stoney-cloud,dc=org contains all the OpenStack based stoney cloud service data. The following LDIF shows the '''iaas''' entry for the stoney cloud service:
 
  dn: ou=iaas,ou=services,dc=stoney-cloud,dc=org
 
  dn: ou=iaas,ou=services,dc=stoney-cloud,dc=org
Line 16: Line 16:
  
 
=== Domains (resellers) ===
 
=== Domains (resellers) ===
<source lang="text">
 
dn: ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: organizationalUnit
 
ou: domains
 
description: The sub tree for the domains (resellers) of the OpenStack based stoney cloud service.
 
</source>
 
  
<source lang="text">
+
dn: ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org  
dn: uid=4000000,ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org
+
objectclass: top
objectclass: top
+
objectclass: organizationalUnit
objectclass: sstIaaSDomains (or just sstIaaS?)
+
ou: domains
objectclass: sstProvisioning
+
description: The sub tree for the domains (resellers) of the OpenStack based stoney cloud service.
objectclass: sstRelationship
+
uid: 5000000
+
sstDomainID: b01822477be64c09950022486300c59c
+
sstDomainName: Reseller Ltd.
+
sstDomainDescription: 4000000 - Reseller Ltd.
+
sstIsActive: TRUE
+
sstProvisioningMode: add
+
sstProvisioningExecutionDate: 0
+
sstProvisioningState: 0
+
sstBelongsToResellerUID: 4000000
+
sstBelongsToCustomerUID: 4000001
+
sstBelongsToPersonUID: 4000002
+
  
dn: ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
+
==== Domain (reseller) example ====
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,dc=stoney-cloud,dc=org
+
dn: uid=4000000,ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org
objectclass: top
+
objectclass: top
objectclass: sstIaaSProjects (or just sstIaaS?)
+
objectclass: sstIaaSDomains (or just sstIaaS?)
objectclass: sstProvisioning
+
objectclass: sstProvisioning
objectclass: sstRelationship
+
objectclass: sstRelationship
uid: 5000001
+
uid: 5000000
sstProjectID: 5a3a4fd5d6e94a87815131be42d8e6d9
+
sstDomainID: b01822477be64c09950022486300c59c
sstProjectName: Reseller Ltd. - Base Project
+
sstDomainName: Reseller Ltd.
sstProjectDescription: 4000000/4000001 - Reseller Ltd.
+
sstDomainDescription: 4000000 - Reseller Ltd.
sstIsActive: TRUE
+
sstIsActive: TRUE
sstProvisioningMode: add
+
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
+
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
+
sstProvisioningState: 0
sstBelongsToDomainID: b01822477be64c09950022486300c59c
+
sstBelongsToResellerUID: 4000000
<s>sstBelongsToDomainUID: 4000000</s>
+
sstBelongsToCustomerUID: 4000001
sstBelongsToResellerUID: 4000000
+
sstBelongsToPersonUID: 4000002
sstBelongsToCustomerUID: 4000001
+
 
sstBelongsToPersonUID: 4000002
+
=== Projects (tenants) ===
 +
 
 +
dn: ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: organizationalUnit
 +
ou: projects
 +
description: The sub tree for the projects (tenants) of the OpenStack based stoney cloud service.
 +
 
 +
==== Project (tenant) examples ====
 +
 
 +
dn: uid=5000001,ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: sstIaaSProjects (or just sstIaaS?)
 +
objectclass: sstProvisioning
 +
objectclass: sstRelationship
 +
uid: 5000001
 +
sstProjectID: 5a3a4fd5d6e94a87815131be42d8e6d9
 +
sstProjectName: Reseller Ltd. - Base Project
 +
sstProjectDescription: 4000000/4000001 - Reseller Ltd.
 +
sstIsActive: TRUE
 +
sstProvisioningMode: add
 +
sstProvisioningExecutionDate: 0
 +
sstProvisioningState: 0
 +
sstBelongsToDomainID: b01822477be64c09950022486300c59c
 +
<s>sstBelongsToDomainUID: 4000000</s>
 +
sstBelongsToResellerUID: 4000000
 +
sstBelongsToCustomerUID: 4000001
 +
sstBelongsToPersonUID: 4000002
 +
 
 +
dn: uid=5000002,ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: sstIaaSProjects (or just sstIaaS?)
 +
objectclass: sstProvisioning
 +
objectclass: sstRelationship
 +
uid: 5000002
 +
sstProjectID: 9ecb5bfdd4564f6ca52bba1e869eeea4
 +
sstProjectName: Reseller Ltd. - Base Project
 +
sstProjectDescription: Reseller Ltd. - Second Project
 +
sstIsActive: TRUE
 +
sstProvisioningMode: add
 +
sstProvisioningExecutionDate: 0
 +
sstProvisioningState: 0
 +
sstBelongsToDomainID: b01822477be64c09950022486300c59c
 +
<s>sstBelongsToDomainUID: 4000000</s>
 +
sstBelongsToResellerUID: 4000000
 +
sstBelongsToCustomerUID: 4000001
 +
sstBelongsToPersonUID: 4000002
  
dn: uid=5000002,ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
 
objectclass: top
 
objectclass: sstIaaSProjects (or just sstIaaS?)
 
objectclass: sstProvisioning
 
objectclass: sstRelationship
 
uid: 5000002
 
sstProjectID: 9ecb5bfdd4564f6ca52bba1e869eeea4
 
sstProjectName: Reseller Ltd. - Base Project
 
sstProjectDescription: Reseller Ltd. - Second Project
 
sstIsActive: TRUE
 
sstProvisioningMode: add
 
sstProvisioningExecutionDate: 0
 
sstProvisioningState: 0
 
sstBelongsToDomainID: b01822477be64c09950022486300c59c
 
<s>sstBelongsToDomainUID: 4000000</s>
 
sstBelongsToResellerUID: 4000000
 
sstBelongsToCustomerUID: 4000001
 
sstBelongsToPersonUID: 4000002
 
</source>
 
  
 
Per Project:
 
Per Project:

Revision as of 12:27, 18 August 2018

Abstract

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

Introduction

This document describes the OpenLDAP directory data organisation for the stoney cloud service.

Data Organisation

The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the stoney cloud service.

IaaS (Infrastructure as a Service)

The subtree ou=iaas,ou=service,dc=stoney-cloud,dc=org contains all the OpenStack based stoney cloud service data. The following LDIF shows the iaas entry for the stoney cloud service:

dn: ou=iaas,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: iaas

Domains (resellers)

dn: ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org 
objectclass: top
objectclass: organizationalUnit
ou: domains
description: The sub tree for the domains (resellers) of the OpenStack based stoney cloud service.

Domain (reseller) example

dn: uid=4000000,ou=domains,ou=iaas,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstIaaSDomains (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000000
sstDomainID: b01822477be64c09950022486300c59c
sstDomainName: Reseller Ltd.
sstDomainDescription: 4000000 - Reseller Ltd.
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002

Projects (tenants)

dn: ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org 
objectclass: top
objectclass: organizationalUnit
ou: projects
description: The sub tree for the projects (tenants) of the OpenStack based stoney cloud service.

Project (tenant) examples

dn: uid=5000001,ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstIaaSProjects (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000001
sstProjectID: 5a3a4fd5d6e94a87815131be42d8e6d9
sstProjectName: Reseller Ltd. - Base Project
sstProjectDescription: 4000000/4000001 - Reseller Ltd.
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToDomainID: b01822477be64c09950022486300c59c
sstBelongsToDomainUID: 4000000
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002
dn: uid=5000002,ou=projects,ou=iaas,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstIaaSProjects (or just sstIaaS?)
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 5000002
sstProjectID: 9ecb5bfdd4564f6ca52bba1e869eeea4
sstProjectName: Reseller Ltd. - Base Project
sstProjectDescription: Reseller Ltd. - Second Project
sstIsActive: TRUE
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToDomainID: b01822477be64c09950022486300c59c
sstBelongsToDomainUID: 4000000
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002


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?