...
Apache Ambari Management Packs addresses this issue by decoupling Ambari's core functionality (cluster management and monitoring) from stack management and definition. An Apache Ambari Management Pack (Mpack) can bundle multiple service definitions, stack definitions, stack add-on service definitions, view definitions services so that releasing these artifacts don’t enforce an Apache Ambari release. Apache Ambari Management Packs will be released as separate release artifacts and will follow its own release cadence instead of being tightly coupled with Apache Ambari releases.
Management packs are released as tarballs, however they contain a metadata file (mpack.json) that specify the contents of the management pack and actions to perform when installing the management pack.
Apache JIRA
Release Timelines
...
- Long Term Goals (Ambari 2.4+)
- Release HDP stacks as mpacks
- Build management pack processing infrastructure that will replace the stack processing infrastructure.
- Dynamic creation of stack definitions by processing management packs
- Provide a REST API adding/removing /upgrading managment packs.
Management Pack Metadata (Mpack.json)
...
Management Pack Structure
StackXYZ Management Pack Structure
stackXYZ-ambari-mpack-1.0.0.0
...
└── metainfo.xml
StackXYZ Management Pack Mpack.json
stackXYZ-ambari-mpack1.0.0.0/mpack.json
...
"source_dir": "stacks"
}
]
}
Add-On Service Management Pack Structure
myservice-ambari-mpack-1.0.0.0
...
│ └── metainfo.xml
└── mpack.json
Add-On Service Management Pack Mpack.json
myservice-ambari-mpack-1.0.0.0/mpack.json
{ "type" : "fullrelease", "name" : "myserviceambarimpack", "version": "1.0.0.0", "description" : "MyService Management Pack", "prerequisites": { "minambariversion" : "2.4.0.0", "minstackversions" : [ { "stack_name" : "HDP", "stack_version" : "2.2" }, { "stack_name" : "PHD", "stack_version" : "3.0" }, { "stack_name" : "HDF", "stack_version" : "2.0" } ] }, "artifacts": [ { "name" : "MYSERVICEcommonservice", "type" : "servicedefinition", "source_dir" : "commonservices/MYSERVICE/1.0.0", "service_name" : "MYSERVICE", "service_version" : "1.0.0" }, { "name" : "MYSERVICE1.0.0", "type" : "stackextensiondefinition", "source_dir": "customservices/MYSERVICE/1.0.0", "service_name" : "MYSERVICE", "service_version" : "1.0.0", "applicable_stacks" : [ { "stack_name" : "HDP", "stack_version" : "2.2" }, { "stack_name" : "PHD", "stack_version" : "3.0" } ] }, { "name" : "MYSERVICE2.0.0", "type" : "stackextensiondefinition", "source_dir": "customservices/MYSERVICE/2.0.0", "service_name" : "MYSERVICE", "service_version" : "2.0.0", "applicable_stacks" : [ { "stack_name" : "HDP", "stack_version" : "2.4" }, { "stack_name" : "PHD", "stack_version" : "3.4" }, { "stack_name" : "HDF", "stack_version" : "2.0" } ] } ] }
Install Management Pack
...