Composable Services Within Roles

Registered by Steven Hardy

Split up our monolithic template architecture so we can cleanly encapsulate each service deployment in a separate template, and more easily select which services are deployed/enabled on a particular role.

Note this is a first step towards full composability, the requirements around user-defined additional roles will be addressed via a subsequent blueprint.

https://etherpad.openstack.org/p/tripleo-composable-services

Blueprint information

Status:
Complete
Approver:
Steven Hardy
Priority:
High
Drafter:
Steven Hardy
Direction:
Approved
Assignee:
Dan Prince
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-2
Started by
Steven Hardy
Completed by
Steven Hardy

Related branches

Sprints

Whiteboard

NOTE(shardy) - the architecture change has now been implemented, so this is being marked complete. Any remaining work to convert services to the new composable-services-format should be tracked via bugs targetted at the newton-3 milestone, thanks!

Gerrit topic: https://review.openstack.org/#q,topic:bp/composable-services-within-roles,n,z

Addressed by: https://review.openstack.org/308514
    composable neutron ml2 and ovs agent

Addressed by: https://review.openstack.org/303386
    composable neutron dhcp service

Addressed by: https://review.openstack.org/303618
    composable neutron metadata service

Addressed by: https://review.openstack.org/303562
    composable neutron l3 service

Addressed by: https://review.openstack.org/#/c/237370/
    composable glance services

Addressed by: https://review.openstack.org/#/c/295588/
    composable keystone services

Addressed by: https://review.openstack.org/#/c/259568/
   Configure ControllerServices via resource chains

Addressed by: https://review.openstack.org/310936
    Leave start/stop/restart for Keystone and Glance in charge to the role

Addressed by: https://review.openstack.org/312899
    Adds memcached as a composable service

Addressed by: https://review.openstack.org/313577
    composable heat services

Addressed by: https://review.openstack.org/313650
    Ensure manage_service and enabled are false for Pacemaker

Addressed by: https://review.openstack.org/305751
    Pass MysqlVirtualIP via EndpointMap

Addressed by: https://review.openstack.org/315035
    Dump IPs configuration as hieradata

Addressed by: https://review.openstack.org/315129
    composable neutron server

Gerrit topic: https://review.openstack.org/#q,topic:composable_manila,n,z

Addressed by: https://review.openstack.org/315658
    Composable manila tripleo-heat-templates side

Addressed by: https://review.openstack.org/310940
    Switch Cinder Api/Scheduler/Volume to composable roles

Addressed by: https://review.openstack.org/318246
    Pass enabled and manage_service to Neutron/L3 when Pacemaker

Addressed by: https://review.openstack.org/318344
    [WIP] Set glance-api bind host within role template

Addressed by: https://review.openstack.org/315051
    Composable roles within services - MongoDB

Addressed by: https://review.openstack.org/318840
    Composable Sahara services

Addressed by: https://review.openstack.org/319959
    Convert Swift proxy to composable services format

Addressed by: https://review.openstack.org/320351
    Fix inconsistency with ringbuilder/storage steps

Addressed by: https://review.openstack.org/320361
    Configure ObjectStorage services via resource chains

Addressed by: https://review.openstack.org/319873
    Configure ComputeServices via resource chains

Addressed by: https://review.openstack.org/320580
    Convert swift storage to composable services

Addressed by: https://review.openstack.org/320597
    Convert SNMP configuration to composable services format

Addressed by: https://review.openstack.org/321092
    Configure CephStorage services via resource chains

Addressed by: https://review.openstack.org/311512
    Documentation - Walkthrough

Gerrit topic: https://review.openstack.org/#q,topic:composable_service,n,z

Addressed by: https://review.openstack.org/188137
    Enable Manila integration

Addressed by: https://review.openstack.org/310421
    Composable roles within services - NTP

Addressed by: https://review.openstack.org/322858
    Configure BlockStorage services via resource chains

Addressed by: https://review.openstack.org/323436
    Composable Mistral services

Addressed by: https://review.openstack.org/312732
    Composable roles within services - Redis

Addressed by: https://review.openstack.org/304692
    Switch Ceph Monitor/OSD/Client/External to composable roles

Gerrit topic: https://review.openstack.org/#q,topic:bp/refactor-puppet-manifests,n,z

Addressed by: https://review.openstack.org/318413
    Gnocchi composable roles

Gerrit topic: https://review.openstack.org/#q,topic:composable_services,n,z

Addressed by: https://review.openstack.org/324102
    Enable nova-conductor as a composable service

Addressed by: https://review.openstack.org/326020
    Enable nova-api as a composable service

Addressed by: https://review.openstack.org/326096
    Enable nova-scheduler as a composable service

Addressed by: https://review.openstack.org/326118
    Enable nova-consoleauth as a composable service

Addressed by: https://review.openstack.org/326132
    Enable nova-vncproxy as a composable service

Addressed by: https://review.openstack.org/327709
    Split pacemaker roles into separate services

Addressed by: https://review.openstack.org/327722
    Split Sahara pacemaker roles into separate services

Addressed by: https://review.openstack.org/325625
    Remove unused Neutron parameters from roles

Addressed by: https://review.openstack.org/327306
    Move Neutron core and service plugin to base

Addressed by: https://review.openstack.org/327307
    Composable Neutron Plumgrid plugin

Addressed by: https://review.openstack.org/327318
    Drop extraconfig for neutron-plumgrid.yaml

Addressed by: https://review.openstack.org/327741
    Composable neutron nuage plugin

Addressed by: https://review.openstack.org/327742
    Drop extraconfig for neutron-nuage.yaml

Gerrit topic: https://review.openstack.org/#q,topic:api,n,z

Addressed by: https://review.openstack.org/328361
    Enable nova-compute as a composable service

Addressed by: https://review.openstack.org/328471
    Composable opencontrail plugin

Addressed by: https://review.openstack.org/328472
    Drop extraconfig for neutron-opencontrail.yaml

Gerrit topic: https://review.openstack.org/#q,topic:vnc,n,z

Gerrit topic: https://review.openstack.org/#q,topic:scheduler,n,z

Addressed by: https://review.openstack.org/329686
    First iteration of libvirt as a composable service

Addressed by: https://review.openstack.org/329987
    Add Mistral password to deployment

Addressed by: https://review.openstack.org/330650
    Add Zaqar password to deployment

Gerrit topic: https://review.openstack.org/#q,topic:tripleo/nova/compute-composable,n,z

Addressed by: https://review.openstack.org/330916
    Composable roles within services - NTP

Addressed by: https://review.openstack.org/330921
    Composable roles within services - NTP - CephStorage

Addressed by: https://review.openstack.org/330923
    Composable roles within services - NTP - ObjectStorage

Addressed by: https://review.openstack.org/331528
    Composable Timezone service

Addressed by: https://review.openstack.org/331530
    Composable Timezone service - Compute

Addressed by: https://review.openstack.org/331534
    Composable Timezone service - CephStorage

Addressed by: https://review.openstack.org/331536
    Composable Timezone service - ObjectStorage

Gerrit topic: https://review.openstack.org/#q,topic:iscsi,n,z

Addressed by: https://review.openstack.org/331247
    compute: moving out iscsi bits, now in puppet-tripleo

Addressed by: https://review.openstack.org/331682
    Composable Zaqar services

Gerrit topic: https://review.openstack.org/#q,topic:ceilometer-composable-roles,n,z

Addressed by: https://review.openstack.org/332214
    Enable ceilometer-agent-compute as a composable service

Gerrit topic: https://review.openstack.org/#q,topic:timezone/cpu,n,z

Gerrit topic: https://review.openstack.org/#q,topic:tz/ceph,n,z

Gerrit topic: https://review.openstack.org/#q,topic:tz/swift,n,z

Addressed by: https://review.openstack.org/332740
    Wire NTP and Timezone services into BlockStorage nodes

Addressed by: https://review.openstack.org/333387
    Composable midonet for neutron

Addressed by: https://review.openstack.org/333556
    Add Aodh composable roles

Addressed by: https://review.openstack.org/304563
    Add cinder-backup service as role

Addressed by: https://review.openstack.org/289027
    Add support for deploying RGW on controllers. (Composable)

Addressed by: https://review.openstack.org/335429
    Move keystone::db data within service template

Addressed by: https://review.openstack.org/335430
    Move glance::db data within service template

Addressed by: https://review.openstack.org/335431
    Move cinder::db data within service template

Addressed by: https://review.openstack.org/335434
    Move heat::db data within service template

Addressed by: https://review.openstack.org/335436
    Move sahara::db data within service template

Addressed by: https://review.openstack.org/335438
    Move neutorn::db data within service template

Addressed by: https://review.openstack.org/335499
    Composable Horizon service - Controller

Addressed by: https://review.openstack.org/335561
    Move nova::db data within service template

Addressed by: https://review.openstack.org/336451
    Move ironic::db data within service template

Addressed by: https://review.openstack.org/336542
    WIP: Add global_config_settings to services' output

Addressed by: https://review.openstack.org/338551
    Convert Swift ringbuilder to composable services format

Addressed by: https://review.openstack.org/339160
    Use list_join instead of map_merge for config_settings

Gerrit topic: https://review.openstack.org/#q,topic:bug/1601850,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1601846,n,z

Addressed by: https://review.openstack.org/342961
    DO NOT MERGE testing https://review.openstack.org/#/c/188137/

Addressed by: https://review.openstack.org/345273
    Cleanup templates from the shared CephCluster config

Addressed by: https://review.openstack.org/345277
    Remove depends_on Controller nodes

Addressed by: https://review.openstack.org/349408
    Disable mistral services by default.

Addressed by: https://review.openstack.org/350497
    Disable zaqar services by default.

Gerrit topic: https://review.openstack.org/#q,topic:hiera/static,n,z

Addressed by: https://review.openstack.org/352947
    DO NOT TEST CHECKING MISTRAL SUBMISSION

Addressed by: https://review.openstack.org/357182
    [NO MERGE] Test Ceph RadosGW as replacement for Swift

Addressed by: https://review.openstack.org/364877
    Do not merge, checking composable zaqar.

Addressed by: https://review.openstack.org/389672
    Add missing zaqar endpoints for tls-everywhere environment

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.